概述
在由單片機構成的實際測控系統中,最小套用系統往往不能滿足要求,因此在
系統設計時首先要解決系統擴展問題。
主要擴展
單片機的系統擴展主要有程式存儲器(ROM)擴展,數據存儲器(RAM)擴展以及I/O口的擴展。
外擴的
程式存儲器與單片機內部的程式存儲器
統一編址,採用相同的指令,常用晶片有EPROM和EEPROM,擴展時P0口分時地作為數據線和低位
地址線,需要
鎖存器晶片,控制線主要有ALE、。
擴展的數據
存儲器RAM和單片機內部RAM在邏輯上是分開的,二者分別編址,使用不同的
數據傳送指令。常用的晶片有SRAM和DRAM以及
鎖存器晶片,控制線主要採用ALE、、。
常用的可程式I/O晶片有8255和8155。用8255擴展並行I/O口時需要
鎖存器,8155則不用。對擴展I/O口的定址採用與外部RAM相同的指令,因此在設計電路時要注意合理分配地址。8255和8155的工作方式是通過對命令控制字的編程來實現的,在使用時首先要有初始化程式。
MCS-51單片機有很強的擴展功能,外圍擴展電路、擴展晶片和擴展方法都非常典型、規範。
發展
單片機的最小套用系統 (1) 8051/8751最小套用系統,由於最小套用系統 集成度的限制, 集成度的限制,這種最小套用系統只能用作一 些小型的控制單元。其套用特點是: 些小型的控制單元。其套用特點是: 口線均可供用戶使用。 (1)全部 口線均可供用戶使用。 全部I/O口線均可供用戶使用 ( 2) 內部存儲器容量有限 ( 只有 ) 內部存儲器容量有限( 只有4KB地址空 地址空 間)。 (3)套用系統開發具有特殊性。 套用系統開發具有特殊性。
(2) 8031是片內無程式存儲器的單片機晶片,因 是片內無程式存儲器的單片機晶片, 是片內無程式存儲器的單片機晶片 其最小套用系統應在片外擴展EPROM。 此,其最小套用系統應在片外擴展 。 圖為用8031外接程式存儲器構成的最小系統。 外接程式存儲器構成的最小系統。
兩種類型
並行擴展的兩種類型: (1)並行匯流排擴展採用三匯流排方式: 採用三匯流排方式: DB -AB -CB -(2)並行 口擴展並行I/O口擴展 數據與互動信息均由I/O口來完成 數據與互動信息均由口來完成
1.MCS-51單片機的片外匯流排結構 . 單片機的片外匯流排結構 MCS-51系列單片機片外引腳可以構成如圖所 系列單片機片外引腳可以構成如圖所 示的三匯流排結構: 示的三匯流排結構: 地址匯流排、 地址匯流排(AB) 數據匯流排、數據匯流排(DB) 控制匯流排、控制匯流排(CB) 所有外部晶片都通過這三組匯流排進行擴展。 所有外部晶片都通過這三組匯流排進行擴展。
2. MCS-51單片機並行 口的擴展 單片機並行I/O口的擴展 單片機並行 問題的提出: 問題的提出:
當不擴展外部存儲器時,有P0 ~ P3四個連線埠可 四個連線埠可 以作為I/O口用 當擴展外部存儲器時,由於P0與 口用; 以作為 口用;當擴展外部存儲器時,由於 與 P2口被匯流排占用,只有 與 P3連線埠可以作為 口被匯流排占用, 連線埠可以作為I/O 口被匯流排占用 只有P1 連線埠可以作為 口用。無論哪種情況, 口用。無論哪種情況,這幾個連線埠都難以滿足大部 分套用系統的要求。因此並行I/O的擴展是一項常分套用系統的要求。因此並行的擴展是一項常 見的技術問題。
擴展方法
由於51單片機系統的外部數據存儲器與是統一 ,由於單片機系統的外部數據存儲器與I/O是統一 單片機系統的外部數據存儲器與 編址的,訪問外部數據存儲器的指令與訪問I/O口的 編址的,訪問外部數據存儲器的指令與訪問 口的 指令是一樣的,因此可以將外部64K數據存儲空間的 指令是一樣的,因此可以將外部 數據存儲空間的 一部分地址作為擴展I/O口的地址空間 口的地址空間。 一部分地址作為擴展 口的地址空間。 需要注意的是: 需要注意的是:儘管片外程式存儲器與片外數據 存儲器的地址可以重疊( 存儲器的地址可以重疊(因為分屬不同的邏輯空間與 物理空間),但片外數據存儲器地址與擴展I/O口地 ),但片外數據存儲器地址與擴展 物理空間),但片外數據存儲器地址與擴展 口地 址是互相排斥的, 址是互相排斥的,即某一地址分配給了外部數據存儲 就不能再分配給擴展I/O口 ,反之亦然!