輸入輸出端口_第1頁
輸入輸出端口_第2頁
輸入輸出端口_第3頁
輸入輸出端口_第4頁
輸入輸出端口_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第7章 單片機的系統(tǒng)擴展 1學習目標掌握51單片機擴展總線的結構及組成掌握并行總線的邏輯與時序掌握并行總線擴展的地址譯碼方法掌握51單片機擴展存儲器的方法掌握51單片機擴展I/O接口的方法27.1 51單片機擴展總線基礎 單片機集成了CPU、I/O接口、存儲器、定時器和中斷系統(tǒng)等計算機的基本部件,外加電源、復位和時鐘等輔助電路即構成一個能夠正常工作的最小系統(tǒng)。 3 然而,51單片機的片上資源終歸有限,針對某些應用可能需要擴展,如增加存儲器容量和輸入輸出端口數量,增加ADC和DAC等。 4MCS51 P2,P0 RD WR外部程序存 貯 器擴展RAM并行I/O接口串行I/O接口A/D轉換D/A轉

2、換定時器計數器并行I/O設 備串行I/O設 備模擬量輸 入模擬量輸 出數據總線和地址總線PSENPSEN、RD 和WR等信號構成了控制總線。5 為減少引腳數量,擴展總線中的數據總線和地址總線低8位采用了分時復用技術,即P0口分時傳送地址總線信號的低8位(A0-A7)和數據總線信號(D0-D7).7.1.1 單片機擴展總線的結構和組成6從P0口中分離出地址總線低8位地址信號 一般采用外接一個鎖存器的方法來實現。751系列單片機的擴展總線信號包括: 地址總線信號 A0-A15; 數據總線信號 D0-D7; 控制總線信號 ALE、EA、PSEN、RD 和WR.891.訪問外部程序存儲器模式2.訪問外

3、部數據存儲器或數據端口模式(讀XRAM) 3.訪問外部數據存儲器或數據端口模式(寫XRAM)7.1.2 擴展總線的邏輯關系和時序分析10訪問外部程序存儲器模式11訪問外部數據存儲器或數據端口模式(讀XRAM)12訪問外部數據存儲器或數據端口模式(寫XRAM)13所謂地址空間分配是把64KB的尋址空間通過地址譯碼的方法分成若干個頁面,不同的存儲器芯片占用不同的頁面,I/O端口與存儲器芯片一般也占用不同的頁面。7.1.3 總線擴展的地址譯碼方法 64KB1KB1KB存儲器 芯片I/O端口14低位地址線用來選擇頁內單元,稱為頁內地址;高位地址線用于選擇頁面,稱為選頁(片)地址。0000 0111 0

4、000 00000000 0111 0111 11110000 0111 1111 11111KB (一頁).15地址譯碼時,選頁地址用于產生頁面選擇信號,頁內地址用于產生頁內單元選擇信號。16I/O端口擴展時要直接產生端口選擇信號。17地址譯碼的方法通常有三種:全地址譯碼部分地址譯碼線選譯碼。181.全地址譯碼 所有的地址線都參與譯碼,每個存儲單元或端口與一個確定的地址一一對應。 所有的選頁地址線參與選頁地址譯碼; 所有的頁內地址線參與頁內單元的譯碼(存儲器芯片自身功能)。19例:若頁面的大小為8KB,64KB的存儲空間分成8頁,則頁內地址應為13位,即A0-A12;其余地址為選頁地址,即

5、A13-A15,全地址譯碼要求所有選頁地址都參與選頁譯碼,產生8個頁面選擇信號。202. 部分地址譯碼 只有部分地址參與譯碼,一個存儲單元或端口與多個地址對應。 部分地址譯碼法可以簡化譯碼電路的設計。 213. 線選譯碼 線選譯碼是部分地址譯碼的特殊形式,即直接用地址線來選通存儲器芯片或端口,一個存儲單元或端口與多個地址對應。22 例如,不用譯碼電路,僅用高位地址線就可以把64KB的存儲空間劃分為不同的區(qū)域。 23地址空間分配 總線驅動能力 電平的匹配 控制時序和邏輯的匹配 速度的協調狀態(tài)信號的處理 7.1.4 擴展時應該考慮的問題2451系列單片機采用總線擴展方式可以實現:存儲器擴展;輸入/

6、輸出端口擴展;功能部件(如定時器、計數器、鍵盤、顯示器等)的擴展;A/D和的D/A擴展;257.2 51單片機存儲器的擴展 7.2.1 存儲器基礎知識 7.2.2 程序存儲器的擴展 7.2.3 數據存儲器的擴展 7.2.4 存儲器綜合擴展舉例261.半導體存儲器的分類 7.2.1存儲器基礎知識 272.常用EPROM介紹 EPROM的電路結構主要包括: 地址譯碼器存儲矩陣和輸出緩沖器。28常用的EPROM芯片 型 號性 能2716273227642712827256容量/bit2KB84KB88KB816KB832KB8讀寫時間/ns350250250250250封裝DIP24DIP24DIP

7、28DIP28DIP2829EPROM芯片引腳圖 ( 2764 )303.常用SRAM介紹 ( 6264 )31常用的SRAM芯片型 號 性 能6116626462256容量/ bit2KB88KB832KB8讀寫時間/ns200200200工作電壓/V555典型工作電流/mA35408典型維持電流/mA5205封裝DIP24DIP28DIP2832SRAM芯片引腳圖 ( 6264 )333.EEPROM簡介 Electrically Erasable Programmable ROM 相同容量的EEPROM和EPROM的引腳是兼容的。型 號2816A28172817A2864A存儲容量2KB

8、82KB82KB88KB834程序存儲器的擴展主要考慮以下幾個問題:地址線的連接數據線的連接控制信號的連接譯碼電路的設計7.2.2 程序存儲器的擴展 35例7-1 若單片機為8031,試采用2764擴展8KB的程序存儲器。擴展存儲器地址范圍.doc36例7-2 若單片機為8031,試采用2764擴展32KB的程序存儲器。擴展存儲器地址范圍.doc37 擴展外部數據存儲器與擴展外部程序存儲器的設計方法基本一樣,但所用的控制信號不同,片外數據存儲器的讀/寫由單片機的 RD (P3.7)和 WR (P3.6)信號控制,而讀片外程序存儲器的信號為 PSEN.7.2.3 數據存儲器的擴展 38例7-4

9、若單片機為8031,試采用SRAM芯片把外部數據存儲器擴展為32KB。 分析:由于沒有指定SRAM的具體型號,外部數據存儲器擴展為32KB有多種設計方案。方案一:62256 的存儲容量為32KB,可以采用1片62256來設計。方案二:62128的存儲容量為16KB,可以采用2片62128來設計。方案三:6264的存儲容量為8KB,可以用4片6264來設計。方案四:6116的存儲容量為2KB,可以用16片6116來設計方案五:可以用1片62128和2片6264來設計。方案六:可以用1片62128和8片6264來設計。 采用大容量的SRAM芯片會使使用的芯片數量減少,譯碼電路的復雜性降低,從而提高

10、電路的可靠性。因此方案一和方案二是比較合理的設計方案。 39例7-4 采用一片62256擴展32KB外部數據存儲器。擴展存儲器地址范圍.doc40擴展存儲器地址范圍.doc例7-4 采用兩片62128擴展32KB外部數據存儲器。41例7-5 若單片機為8031,請用1片2764擴展8KB程序存儲器,用1片62256擴展32KB外部數據存儲器。 7.2.4 存儲器綜合擴展 42擴展存儲器地址范圍?43擴展EPROM地址譯碼方式?部分地址譯碼44擴展RAM地址譯碼方式?線選譯碼457.3 51單片機并行IO端口的擴展 7.3.1 簡單I/O端口擴展 7.3.2 采用專用芯片擴展I/O端口 7.3.

11、3 采用串行通訊方式擴展I/O端口46 常用的并行I/O端口擴展方法主要有簡單擴展、專用接口芯片擴展和串行擴展三種。 簡單擴展就是用74LS377、74LS373、74LS244、74LS245等鎖存器、三態(tài)門或雙向緩沖器構造一個簡單的輸入/輸出端口; 專用接口芯片擴展是采用8155、8255等專用接口芯片來擴展輸入/輸出端口; 串行擴展是采用串行通訊的方式擴展并行輸入/輸出端口。47擴展時需要注意以下幾點: 擴展的并行I/O端口和外部數據存儲器統(tǒng)一編址,采用相同的控制信號,相同的尋址方式和相同的指令(MOVX). 系統(tǒng)中所有并行I/O口擴展芯片均應按照“輸入三態(tài)、輸出鎖存”的原則與總線相連。

12、 注意P0口的負載能力。481.采用鎖存器擴展簡單的8位輸出端口7.3.1 簡單I/O端口擴展 49訪問外部數據存儲器或數據端口模式(寫XRAM)50地址譯碼方式?端口地址?51MOV DPTR, #7FFFHMOV A,#dataMOVX DPTR,A522.用三態(tài)門擴展8位并行輸入端口53訪問外部數據存儲器或數據端口模式(讀XRAM)54MOV DPTR, #0BFFFHMOVX A, DPTR55MOV DPTR , #0BFFFHMOVX A , DPTR3.采用鎖存器擴展選通輸入的8位并行口 564.簡單I/O接口擴展應用574.不用總線信號擴展I/O端口端口地址多少?地址譯碼方式?

13、58CLRP3.2MOVP1, #6CHCLRP3.0SETBP3.0向U2對應的端口輸出數據6CH的程序段:59 常用的并行擴展芯片有8255A和8155. 8255A可以外擴三個8位的并行輸入/輸出端口; 8155可以外擴256Bytes靜態(tài)RAM、一個可編程的14位減法計數器、兩個8位并行I/O端口和一個6位并行I/O端口。7.3.2 使用專用芯片擴展I/O端口 601. 8155的內部結構 61表7-11 8155內部RAM和I/O端口寄存器編址 名 稱 地 址 名 稱 地 址內部RAM 00H FFHPB口寄存器010命令字寄存器(僅寫) 000PC口寄存器011狀態(tài)字寄存器(僅讀)

14、 000定時器/計數器低字節(jié)寄存器100PA口寄存器 001定時器/計數器高字節(jié)寄存器1012. 8155的RAM和I/O端口地址編碼 62表7-12 8155操作控制邏輯 633. 8155的命令字 644. 8155的狀態(tài)字 655. 8155的定時器/計數器 666. 8155與51單片機的接口方法 8155擴展端口地址67例:定義A口和C口為輸入口, B口為輸出口,寫出初始化程序,并向B端口輸出數據9BH.8155命令字:02HTM2 TM1 IEB IEAPC2 PC1 PB PA 0 0 0 0 0 0 1 0;初始化程序MOVDPTR,#4000HMOVA,#02HMOVXDPT

15、R,A;向B端口輸出數據9BHMOVDPTR,#4002HMOVA,#9BHMOVXDPTR,A681.用74LS165擴展并行輸入口 7.3.3 采用串行通訊方式擴展并行I/O端口 P3.0 (RXD): 數據引腳P3.1 (TXD): 輸出同步移位脈沖S/ L (Shift/ Load): 0并行輸出; 1移位.692.用74LS164擴展并行輸出口 707.4 單片機串行擴展總線接口技術 7.4.1 SPI串行總線 7.4.2 IIC總線71 SPI是Serial Peripheral interface的縮寫,顧名思義就是串行外圍設備接口。SPI是一種高速的、全雙工、同步的串行總線接口,主要應用在 EEPROM、FLASH、實時時鐘、AD轉換器和D/A轉換器等芯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論