单片机系统扩展课件_第1页
单片机系统扩展课件_第2页
单片机系统扩展课件_第3页
单片机系统扩展课件_第4页
单片机系统扩展课件_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

單

片

機

系統擴展

SingleChipMicrocomputer1.實訓目的(1)掌握擴展片外RAM的方法及使用。(2)熟悉8155可編程介面晶片的內部組成。(3)掌握8155初始化的方法及I/O口的使用。(4)瞭解8155內部定時器和RAM的編程使用。(5)認識片外RAM及8155相關地址的確定。實訓6片外RAM對信號燈的控制及可編程I/O口的應用2.實訓設備與器件實訓設備:單片機開發系統、微機。實訓器件:組合教具。3.實訓程式參考程式1:對片外RAM寫入數據並輸出,控制P1口的亮滅狀態。

ORG0000H MOVDPTR,#1000H;指向片外RAM的首地址

MOVA,#0FEH;設置第一個要送入的數據

MOVR1,#08H;設迴圈次數WRITE:MOVX@DPTR,A;向RAM中寫入數據

INCDPTR;片外RAM地址加1 CLRCY RLA;更新數據

DJNZR1,WRITE;8次未送完,繼續寫入,否則順序執行下一條指令

MOVR1,#08H;再次設置迴圈次數START:MOVDPTR,#1000H;指向第一個數據單元1000HREAD:MOVXA,@DPTR;讀出數據到A累加器

MOVP1,A;送P1口點亮發光二極體

LCALLDELAY;延時一段時間

INCDPTR;更新地址

DJNZR1,READ;連續讀出8個數據,送P1口顯示

SJMPSTART;8個數據讀完,繼續從第一個數據單元開始。 END注:延時副程式參見第4章。參考程式2:對8155初始化,使I/O口控制LED的顯示情況。

ORG0000HMOVDPTR,#4400H;指向8155命令寄存器

MOVA,#03HMOVX@DPTR,A;寫入控制字。A口、B口為輸出,C口為輸入。

INCDPTR ;指向8155A口

MOVA,#00HMOVX@DPTR,A;向A口寫入00H,輸出選中所有8個LED。

INCDPTR ;指向8155B口

MOVA,#OFFHMOVX@DPTR,A;向B口寫入某個字型碼,輸出點亮8個LED。

SJMP$END4.實訓分析與總結分析參考程式2,我們注意到,對擴展I/O口晶片8155的寫操作也是MOVX@DPTR,A,與片外RAM的使用方法相同,讀操作也是一樣,因此這就要求片外RAM和擴展I/O口的地址不能衝突,在擴展連接時,二者要統一考慮,統一編址。

在實際應用中,不僅要擴展RAM和I/O口,當單片機內部用於存放程式、表格的程式記憶體容量不夠時,也需要擴展。對這三者的擴展方法、常用晶片和使用方法是本章重點討論的內容。問題的提出在單片機應用系統的設計中,往往出現RAM,ROM或者I/O口不夠的情況,怎麼辦?ROM的擴展

RAM的擴展並行I/O口的擴展6.1程式記憶體ROM的擴展8051有片內ROM的容量:4K片外最大可擴展64KROM。有關的管腳:EA片內資源可用來擴展的記憶體晶片:EPROM:2716(2K*8),2732,2764,27256等EEPROM:2816(2K*8),2864,28128等還要用到鎖存器晶片:例74LS373。EPROM擴展實例

----在8031單片機上擴展4KBEPROM...D7Q7373D0Q0G控制線A11A8A7A0

2732O7O0OECE``````P2.3P2.0P0.78031P0.0ALEPSEN``````12根地址線8根數據線讀外部程式記憶體時序ALEPSEN注意:上述時序是在取指令過程中自動產生一個機器週期送地址取出指令地址範圍的確定取決於CE(片選)和地址線的接法,本例中CE接地。請確定地址範圍(教材P141)試根據電路圖,確定其中EPROM的地址範圍。注意:實訓電路中CE的連接,當同時擴展多片ROM時,可採用解碼法或線選法來分別選中晶片,每個晶片分配的地址範圍不同。6.2數據記憶體RAM的擴展8031片內RAM的容量:128B片外最大可擴展64KRAM。片內資源可用來擴展的記憶體晶片:SRAM6116,6264,62256等也要用到鎖存器晶片:例74LS373。認識晶片實訓電路圖舉一反三——RAM的擴展6264RAM的地址範圍可與2764ROM的相同因為不同的指令訪問——將產生不同的控制信號ROM:MOVC指令及取指令操作——有效,、無效RAM:MOVX——

無效,/有效

MOVXA,@DPTR;讀操作,產生低電平信號MOVX@DPTR,A;寫操作,產生低電平信號試確定圖中的EEPROM晶片2864是作為程式記憶體還是數據記憶體使用?——看控制線

讀/寫外部數據記憶體時序PSEN一個機器週期ALE一個機器週期RD/WR訪問ROM,取出MOVX指令訪問RAM讀/寫數據送地址注意:上述紅色線時序是在執行MOVX指令情況下6.3並行I/O口的擴展

常用的擴展方法有:

簡單的I/O口擴展可編程I/O口晶片利用串行口擴展並行口51單片機有4組並口P0-P3,為什麼還要擴展I/O口?擴展I/O口與外部RAM統一編址使用同樣的指令MOVX訪問——控制匯流排RD/WR擴展I/O口與外部RAM統一編址使用同樣的指令MOVX訪問——控制匯流排RD/WR擴展I/O口與外部RAM統一編址使用同樣的指令MOVX訪問——控制匯流排RD/WR擴展I/O口與外部RAM統一編址使用同樣的指令MOVX訪問——控制匯流排RD/WR擴展I/O口與外部RAM統一編址使用同樣的指令MOVX訪問——控制匯流排RD/WR擴展I/O口與外部RAM統一編址使用同樣的指令MOVX訪問——控制匯流排RD/WR擴展I/O口與外部RAM統一編址使用同樣的指令MOVX訪問——控制匯流排RD/WR簡單I/O口擴展用並行口擴展I/O口

選擇TTL電路或MOS電路即能組成簡單的擴展I/O口。如:用8位三態緩衝器74LS244可擴展輸入口;用8D鎖存器74LS273、74LS373、74LS377

等可組成輸出口。簡單I/O擴展介面口地址的確定及編程應用因為74LS273和74LS244都是在P2.0為0時被選通,所以二者地址都可以為FEFFH。兩個晶片的地址雖然相同,但可以通過讀寫操作來區別編程應用如下:MOVDPTR,#0FEFFH;指向口地址MOVXA,@DPTR;指向74LS244讀入數據,檢測按鍵MOVX@DPTR,A;指向74LS273輸出數據,驅動LEDSJMP$

可編程I/0晶片的使用可編程I/O晶片是指晶片功能可由指令來確定,即需要對其編程。常用的I/O口晶片有8255和8155。8155的結構和技術性能在8155內部具有:(1)256位元組的靜態RAM(2)三個通用的輸入/輸出口(3)一個14位的可編程定時/計數器(4)地址鎖存器和數據匯流排MCS-51單片機與8155的介面與操作做片外RAM使用:CE=0,IO/M=0做擴展I/O口使用:CE=0,IO/M=1片內RAM——0000H~00FFH命令/狀態寄存器:0400HPA:0401HPB:0402HPC:0403H設置8155工作方式TM2TM1IEBIEAPC2PC1PBPA控制字(只寫不讀)PBPA(A/B口方式):0—輸入,1—輸出PC2PC100方式1:A、B口基本I/O,C口輸入11方式2:A、B口基本I/O,C口輸出01方式3:A口選通I/O,B口基本I/O10方式4:A、B口選通I/OIEBIEA(A/B口中斷):0—禁止中斷,1—允許中斷TM2TM1

00:空操作

01:停止計數

10:計滿後停止

11:開始計數計數器方式設置8155工作方式示例

在實訓電路板中,擴展了8155用於連接8個LED顯示和鍵盤為此需設置A、B口為基本輸出方式,C口為基本輸入方式。設置方法:MOVDPTR,#CWR;設CWR為命令寄存器的地址。MOVA,#03H;A、B口為基本輸出方式,C口;為基本輸入方式MOVX@DPTR,A ;寫控制字NOTE:在使用8155前必須設置好工作方式,否則將無法正常工作。P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A11A10A9A8A7A6A5A4A3A2A1A00000000000000000000000010.0.0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论