第7章 存儲器與IO_第1頁
第7章 存儲器與IO_第2頁
第7章 存儲器與IO_第3頁
第7章 存儲器與IO_第4頁
第7章 存儲器與IO_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)本章分為五節(jié),主要介紹: 7.1 存儲器的擴展存儲器的擴展7.5 顯示器及鍵盤接口顯示器及鍵盤接口7.2 輸入輸入/輸出及其控制方式輸出及其控制方式 7.3 并行接口的擴展并行接口的擴展7.4 8279接口芯片接口芯片第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.1 存儲器的擴展 7.1.1 7.1.1 程序存儲器的擴展程序存儲器的擴展 一、擴展總線一、擴展總線第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 74LS373是有輸出三態(tài)門的電平允許是有輸出三態(tài)門的電平允許8D鎖存鎖存器。當器。當G(使能端)為高電平時,鎖存器的數(shù)據(jù)(使能端)

2、為高電平時,鎖存器的數(shù)據(jù)輸出端輸出端Q的狀態(tài)與數(shù)據(jù)輸入端的狀態(tài)與數(shù)據(jù)輸入端D相同(透明的)。相同(透明的)。當當G端從高電平返回到低電平時(下降沿后),端從高電平返回到低電平時(下降沿后),輸入端的數(shù)據(jù)就被鎖存在鎖存器中,數(shù)據(jù)輸入輸入端的數(shù)據(jù)就被鎖存在鎖存器中,數(shù)據(jù)輸入端端D的變化不再影響的變化不再影響Q端輸出。端輸出。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)二、片外二、片外ROMROM操作時序操作時序 進行進行ROMROM的擴展,其擴展方法較為簡單容易,這的擴展,其擴展方法較為簡單容易,這是由單片機的優(yōu)良擴展性能決定的。單片機的地址是由單片機的優(yōu)良擴展性能決定的。單片機的地址總線為

3、總線為1616位,擴展的片外位,擴展的片外ROMROM的最大容量為的最大容量為64KB64KB,地,地址為址為0000H0000HFFFFHFFFFH。擴展的片外。擴展的片外RAMRAM的最大容量也為的最大容量也為64KB64KB,地址為,地址為0000H0000HFFFFHFFFFH。由于由于80C5180C51采用不同的控制信號和指令采用不同的控制信號和指令 ,盡管盡管ROMROM與與RAMRAM的地址是重疊的地址是重疊的,也不會發(fā)生混亂。的,也不會發(fā)生混亂。80C5180C51對對片內(nèi)和片外片內(nèi)和片外ROMROM的訪問的訪問使用相同的指令,兩使用相同的指令,兩者的選擇是由硬件實現(xiàn)的。者的

4、選擇是由硬件實現(xiàn)的。 芯片選擇現(xiàn)在芯片選擇現(xiàn)在多采用線選法,地址譯碼法用的漸少。多采用線選法,地址譯碼法用的漸少。ROMROM與與RAMRAM共享數(shù)據(jù)總線和地址總線。共享數(shù)據(jù)總線和地址總線。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)訪問片外訪問片外ROM的時序的時序 :80C51系列單片機的系列單片機的CPU在訪問片外在訪問片外ROM的一個機器周期內(nèi),的一個機器周期內(nèi),信號信號ALE出現(xiàn)兩次(正脈沖),出現(xiàn)兩次(正脈沖),ROM選通信號也兩次有效,選通信號也兩次有效,這說明這說明在一個機器周期內(nèi),在一個機器周期內(nèi),CPU兩次訪問片外兩次訪問片外ROM,也即在,也即在一個機器周期內(nèi)可以處理

5、兩個字節(jié)的指令代碼一個機器周期內(nèi)可以處理兩個字節(jié)的指令代碼,所以在,所以在80C51系列單片機指令系統(tǒng)中有很多單周期雙字節(jié)指令。系列單片機指令系統(tǒng)中有很多單周期雙字節(jié)指令。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)三、三、ROMROM芯片及擴展方法芯片及擴展方法 1 1、EPROMEPROM存儲器及擴展存儲器及擴展常用的芯片有常用的芯片有27322732、27642764、2712827128、2725627256、2751227512等等 。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)EPROM存儲器擴展電路:存儲器擴展電路:第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)2、E

6、EPROM存儲器及擴展存儲器及擴展 常用的常用的EEPROM芯片有芯片有2864、2817等等 。123456789101112131428272625242322212019181716152864AVccWENCA8A9A11OEA10CEI/O7I/O6I/O5I/O4I/O3NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.1.2 7.1.2 數(shù)據(jù)存儲器的擴展數(shù)據(jù)存儲器的擴展一、一、RAM擴展原理擴展原理擴展擴展RAM和擴展和擴展ROM類似,由類似,由P2口提供高口提供高8位地址,位地址,P0口分時口分時地作為低

7、地作為低8位地址線和位地址線和8位雙向數(shù)據(jù)總線。位雙向數(shù)據(jù)總線。外部外部RAM讀時序為讀時序為:第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)外部外部RAM寫寫時序為:時序為:第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)二、二、RAM擴展方法擴展方法1、數(shù)據(jù)存儲器、數(shù)據(jù)存儲器常用的數(shù)據(jù)存儲器常用的數(shù)據(jù)存儲器SRAM芯片有芯片有6116626462256等。等。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)2、數(shù)據(jù)存儲器擴展電路、數(shù)據(jù)存儲器擴展電路第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.2 輸入/輸出及其控制方式原始數(shù)據(jù)或現(xiàn)場信息要利用輸入設(shè)備輸入到單片機原始數(shù)據(jù)或現(xiàn)場信息要

8、利用輸入設(shè)備輸入到單片機中,單片機對輸入的數(shù)據(jù)進行處理加工后,還要輸中,單片機對輸入的數(shù)據(jù)進行處理加工后,還要輸出給輸出設(shè)備。出給輸出設(shè)備。常用的輸入設(shè)備常用的輸入設(shè)備有鍵盤、開關(guān)及各有鍵盤、開關(guān)及各種傳感器等,常用的輸出設(shè)備有種傳感器等,常用的輸出設(shè)備有LED(或(或LCD)顯)顯示器、微型打印機及各種執(zhí)行機構(gòu)等。示器、微型打印機及各種執(zhí)行機構(gòu)等。 80C51單片機內(nèi)部有四個并行口和一個串行口,對單片機內(nèi)部有四個并行口和一個串行口,對于簡單的于簡單的I/O設(shè)備可以直接連接。當系統(tǒng)較為復雜時,設(shè)備可以直接連接。當系統(tǒng)較為復雜時,往往要借助往往要借助I/O接口電路接口電路(簡稱(簡稱I/O接口)

9、完成單片接口)完成單片機與機與I/O設(shè)備的連接。現(xiàn)在,許多設(shè)備的連接。現(xiàn)在,許多I/O接口已經(jīng)系列接口已經(jīng)系列化、標準化,并具有可編程功能?;?、標準化,并具有可編程功能。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)單片機與單片機與I/O設(shè)備的關(guān)系:設(shè)備的關(guān)系:7.2.1 7.2.1 輸入輸入/ /輸出接口的功能輸出接口的功能第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)I/O接口的功能是:接口的功能是:2、對輸入設(shè)備的三態(tài)緩沖、對輸入設(shè)備的三態(tài)緩沖 外設(shè)傳送數(shù)據(jù)時要占用總線,不傳送數(shù)據(jù)時必須對外設(shè)傳送數(shù)據(jù)時要占用總線,不傳送數(shù)據(jù)時必須對總線呈高阻狀態(tài)。利用總線呈高阻狀態(tài)。利用I/O接口的

10、三態(tài)緩沖功能,可接口的三態(tài)緩沖功能,可以以實現(xiàn)實現(xiàn)I/O設(shè)備與數(shù)據(jù)總線的隔離設(shè)備與數(shù)據(jù)總線的隔離,便于其它設(shè)備的,便于其它設(shè)備的總線掛接??偩€掛接。1、對單片機輸出的數(shù)據(jù)鎖存、對單片機輸出的數(shù)據(jù)鎖存 鎖存數(shù)據(jù)線上瞬間出現(xiàn)的數(shù)據(jù)鎖存數(shù)據(jù)線上瞬間出現(xiàn)的數(shù)據(jù),以解決單片機與,以解決單片機與I/O設(shè)備的速度協(xié)調(diào)問題。設(shè)備的速度協(xié)調(diào)問題。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)3、信號轉(zhuǎn)換、信號轉(zhuǎn)換 信號類型(數(shù)字與模擬、電流與電壓)、信號電平信號類型(數(shù)字與模擬、電流與電壓)、信號電平(高與低、正與負)、信號格式(并行與串行)等的(高與低、正與負)、信號格式(并行與串行)等的轉(zhuǎn)換。轉(zhuǎn)換。4、時

11、序協(xié)調(diào)、時序協(xié)調(diào) 不同的不同的I/O設(shè)備定時與控制邏輯是不同的設(shè)備定時與控制邏輯是不同的,并與,并與CPU的時序往往是不一致的,這就需要的時序往往是不一致的,這就需要I/O接口進行接口進行時序的協(xié)調(diào)。時序的協(xié)調(diào)。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)一、無條件傳送一、無條件傳送 適用于對適用于對簡單的簡單的I/O設(shè)備設(shè)備(如開關(guān)、(如開關(guān)、LED顯示器、顯示器、繼電器等)的操作,或者繼電器等)的操作,或者I/O設(shè)備的定時固定或已設(shè)備的定時固定或已知的場合。知的場合。7.2.2 7.2.2 單片機與單片機與I/O設(shè)備的數(shù)據(jù)傳送方式設(shè)備的數(shù)據(jù)傳送方式 二、查詢狀態(tài)傳送二、查詢狀態(tài)傳送

12、效率低效率低。三、中斷傳送方式三、中斷傳送方式 效率大大提高效率大大提高。四、直接存儲器存?。ㄋ?、直接存儲器存取(DMA)方式)方式 適于適于高速外設(shè)以及成組交換數(shù)據(jù)高速外設(shè)以及成組交換數(shù)據(jù)的場合的場合 。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.3 并行接口的擴展 7.3.1 并行輸入并行輸入/輸出口的簡單擴展輸出口的簡單擴展第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.3.2 7.3.2 可編程接口可編程接口81558155的擴展的擴展一、一、81558155的引腳及結(jié)構(gòu)的引腳及結(jié)構(gòu)第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)二、二、8155的內(nèi)部編址的內(nèi)部編址內(nèi)部內(nèi)部

13、RAM地址地址為:為:00HFFH。內(nèi)部內(nèi)部端口地址端口地址為:為: 000-命令命令/狀態(tài)寄存器狀態(tài)寄存器 001-A口口 010-B口口 011-C口口 100-計數(shù)器低計數(shù)器低8位位 101-計數(shù)器高計數(shù)器高6位及計數(shù)位及計數(shù) 器方式設(shè)置位器方式設(shè)置位第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)三、工作方式設(shè)置及狀態(tài)字格式三、工作方式設(shè)置及狀態(tài)字格式1、方式設(shè)置、方式設(shè)置PA:A口數(shù)據(jù)傳送方向設(shè)置位??跀?shù)據(jù)傳送方向設(shè)置位。0-輸入;輸入;1-輸出。輸出。 PB:B口數(shù)據(jù)傳送方向設(shè)置位??跀?shù)據(jù)傳送方向設(shè)置位。0-輸入;輸入;1-輸出。輸出。 PC1、PC2:C口工作方式設(shè)置位??诠ぷ鞣?/p>

14、式設(shè)置位。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)IEA:A口的中斷允許設(shè)置位??诘闹袛嘣试S設(shè)置位。0-禁止;禁止;1-允許。允許。IEB:B口的中斷允許設(shè)置位。口的中斷允許設(shè)置位。0-禁止;禁止;1-允許。允許。TM2、TM1:計數(shù)器工作方式設(shè)置位。:計數(shù)器工作方式設(shè)置位。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)2、狀態(tài)字格式、狀態(tài)字格式INTRX:中斷請求標志。:中斷請求標志。INTRX =1,表示,表示A或或B口有中斷口有中斷請求;請求;INTRX=0,表示,表示A或或B口無中斷請求。口無中斷請求。BFX:口緩沖器空:口緩沖器空/滿標志。滿標志。BFX=1,表示口緩沖器已

15、裝滿,表示口緩沖器已裝滿數(shù)據(jù),可由外設(shè)或單片機取走;數(shù)據(jù),可由外設(shè)或單片機取走;BFX=0,表示口緩沖器為空,表示口緩沖器為空,可以接受外設(shè)或單片機發(fā)送數(shù)據(jù)。可以接受外設(shè)或單片機發(fā)送數(shù)據(jù)。INTEX:口中斷允許:口中斷允許/禁止標志。禁止標志。INTEX=1,表示允許口中,表示允許口中斷;斷;INTEX=0,表示禁止口中斷。,表示禁止口中斷。TIMER:計數(shù)器計滿標志。:計數(shù)器計滿標志。 TIMER=1, 表示計數(shù)器的原表示計數(shù)器的原計數(shù)初值已計滿回零;計數(shù)初值已計滿回零; TIMER=0, 表示計數(shù)器尚未計滿。表示計數(shù)器尚未計滿。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)四、計數(shù)器輸出

16、模式四、計數(shù)器輸出模式 計數(shù)器是一個計數(shù)器是一個14位的減法計數(shù)器,它能對輸入的脈沖進行計數(shù),位的減法計數(shù)器,它能對輸入的脈沖進行計數(shù),在到達最后一個計數(shù)值時,輸出一個矩形波或脈沖。在到達最后一個計數(shù)值時,輸出一個矩形波或脈沖。裝入計數(shù)長度寄存器的值為裝入計數(shù)長度寄存器的值為2H3FFFH。15、14兩位用于規(guī)定兩位用于規(guī)定計數(shù)器的輸出方式計數(shù)器的輸出方式 。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)五、選通五、選通I/O的組態(tài)的組態(tài)對對8155命令字的命令字的PC2PC1位編程,使位編程,使A或或B口工作在選通口工作在選通方式時,方式時,C口的口的PC0PC5就被定義就被定義為為A或或

17、B口選通口選通I/O方式方式的應答和控制線。的應答和控制線。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)選通方式的組態(tài)邏輯選通方式的組態(tài)邏輯 :第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)六、六、8155芯片與單片機的接口芯片與單片機的接口 80C51單片機可以單片機可以與與8155直接連接直接連接而不需要附加任何電路。而不需要附加任何電路。使系統(tǒng)增加使系統(tǒng)增加256字節(jié)的字節(jié)的RAM,22位位I/O線及一個計數(shù)器。線及一個計數(shù)器。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 8155中中RAM地址地址因因P2.7(A15)=0 及及P2.0(A8)=0,故可選為,故可選為01

18、111110 00000000B(7E00H) 01111110 11111111B(7EFFH);); I/O端口的地址端口的地址為:為:7F00H7F05H。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)若若A口、口、 B口定義為基本輸入方式,計數(shù)器作為方口定義為基本輸入方式,計數(shù)器作為方波發(fā)生器,對波發(fā)生器,對80C31輸入脈沖進行輸入脈沖進行24分頻(但需要分頻(但需要注意注意8155的計數(shù)最高頻率約為的計數(shù)最高頻率約為4MHZ),則),則8155 I/O口初始化程序如下:口初始化程序如下: START: MOV DPTR,#7F04H ;計數(shù)寄存器低;計數(shù)寄存器低8位位 MOV

19、A,#18H ;計數(shù)器初值;計數(shù)器初值#18H(24D) MOVX DPTR,A ;計數(shù)器寄存器低;計數(shù)器寄存器低8位賦值位賦值 INC DPTR;指向計數(shù)器寄存器高;指向計數(shù)器寄存器高6位及方式位位及方式位 MOV A,#40H ;計數(shù)器為連續(xù)方波方式;計數(shù)器為連續(xù)方波方式 MOVX DPTR,A;計數(shù)寄存器高;計數(shù)寄存器高6位賦值位賦值 MOV DPTR,#7F00H ;命令寄存器;命令寄存器 MOV A,#0C2H;設(shè)命令字;設(shè)命令字 MOVX DPTR,A;送命令字;送命令字第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.4 8279接口芯片由由80C51系列單片機構(gòu)成的小型測控系

20、統(tǒng)或智能儀系列單片機構(gòu)成的小型測控系統(tǒng)或智能儀表中,常常需要擴展顯示器和鍵盤以實現(xiàn)人機對話表中,常常需要擴展顯示器和鍵盤以實現(xiàn)人機對話功能。功能。8279芯片在擴展顯示器和鍵盤時功能強、使芯片在擴展顯示器和鍵盤時功能強、使用方便。用方便。8279是是Intel公司為公司為8位微處理器設(shè)計的通用鍵盤位微處理器設(shè)計的通用鍵盤/顯顯示器接口芯片,其示器接口芯片,其功能是:接收來自鍵盤的輸入數(shù)功能是:接收來自鍵盤的輸入數(shù)據(jù)并作預處理;完成數(shù)據(jù)顯示的管理和數(shù)據(jù)顯示器據(jù)并作預處理;完成數(shù)據(jù)顯示的管理和數(shù)據(jù)顯示器的控制的控制。單片機應用系統(tǒng)采用。單片機應用系統(tǒng)采用8279管理鍵盤和顯示管理鍵盤和顯示器,軟件

21、器,軟件編程極為簡單,顯示穩(wěn)定,且減少了主機編程極為簡單,顯示穩(wěn)定,且減少了主機的負擔。的負擔。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.4.1 82797.4.1 8279的結(jié)構(gòu)的結(jié)構(gòu)第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器將雙向三態(tài)將雙向三態(tài)8位內(nèi)部數(shù)據(jù)總線位內(nèi)部數(shù)據(jù)總線D0D7與與系統(tǒng)總線相連,用于傳送系統(tǒng)總線相連,用于傳送CPU與與8279之間的命令和之間的命令和狀態(tài)。狀態(tài)。控制和定時寄存器控制和定時寄存器用于寄存鍵盤和顯示器的工作方用于寄存鍵盤和顯示器的工作方式,鎖存操作命令,通過譯碼器產(chǎn)生相應的控制信式,鎖存操作命令,通過譯碼器產(chǎn)生相應的控

22、制信號,使號,使8279的各個部件完成相應的控制功能。的各個部件完成相應的控制功能。定時器定時器包含一些計數(shù)器,其中有一個可編程的包含一些計數(shù)器,其中有一個可編程的5位位計數(shù)器(計數(shù)值在計數(shù)器(計數(shù)值在231間),對間),對CLK輸入的時鐘信輸入的時鐘信號進行分頻,號進行分頻,產(chǎn)生產(chǎn)生100 KHz的內(nèi)部定時信號的內(nèi)部定時信號(此時(此時掃描時間為掃描時間為5.1ms,消抖時間為,消抖時間為10.3ms)。外部輸入)。外部輸入時鐘信號周期不小于時鐘信號周期不小于500ns。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 掃描計數(shù)器掃描計數(shù)器有兩種輸出方式:有兩種輸出方式:一是編碼方式一是編碼

23、方式,計數(shù)器,計數(shù)器以二進制方式計數(shù),以二進制方式計數(shù),4位計數(shù)狀態(tài)從掃描線位計數(shù)狀態(tài)從掃描線SL3SL0 輸出,輸出,經(jīng)外部譯碼器可以產(chǎn)生經(jīng)外部譯碼器可以產(chǎn)生16位的鍵盤和顯示器掃描信號;位的鍵盤和顯示器掃描信號;另另一種是譯碼方式一種是譯碼方式,掃描計數(shù)器的低兩位經(jīng)內(nèi)部譯碼后從,掃描計數(shù)器的低兩位經(jīng)內(nèi)部譯碼后從SL3SL0 輸出,直接作為鍵盤和顯示器的掃描信號。輸出,直接作為鍵盤和顯示器的掃描信號?;厮途彌_器、鍵盤消抖及控制回送緩沖器、鍵盤消抖及控制完成對鍵盤的自動完成對鍵盤的自動掃描以搜索閉合鍵,鎖存掃描以搜索閉合鍵,鎖存RL7RL0的鍵輸入信息,的鍵輸入信息,消除鍵的抖動,將鍵輸入數(shù)據(jù)

24、寫入內(nèi)部先進先出存消除鍵的抖動,將鍵輸入數(shù)據(jù)寫入內(nèi)部先進先出存儲器(儲器(FIFO RAM)。)。RL7RL0為回送信號線作為鍵為回送信號線作為鍵盤的檢測輸入線,由回送緩沖器緩沖并鎖存,當某一鍵閉盤的檢測輸入線,由回送緩沖器緩沖并鎖存,當某一鍵閉合時,附加的移位狀態(tài)合時,附加的移位狀態(tài)SHIFT、控制狀態(tài)、控制狀態(tài)CNTL及掃描碼及掃描碼和回送信號拼裝成一個字節(jié)的和回送信號拼裝成一個字節(jié)的“鍵盤數(shù)據(jù)鍵盤數(shù)據(jù)”送入送入8279內(nèi)部內(nèi)部的的FIFO(先進先出)(先進先出)RAM。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 鍵盤的數(shù)據(jù)格式為鍵盤的數(shù)據(jù)格式為: 在傳感器矩陣方式和選通方式時,回

25、送線在傳感器矩陣方式和選通方式時,回送線RL7RL0的內(nèi)的內(nèi)容被直接送往相應的容被直接送往相應的FIFO RAM。輸入數(shù)據(jù)即為。輸入數(shù)據(jù)即為RL7RL0。數(shù)據(jù)格式為。數(shù)據(jù)格式為 : 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)FIFO/傳感器傳感器RAM是具有雙功能的是具有雙功能的88 RAM在鍵盤或選通方式時在鍵盤或選通方式時,它作為,它作為FIFO RAM,依,依先進先出的規(guī)則輸入或讀出,其狀態(tài)存放在先進先出的規(guī)則輸入或讀出,其狀態(tài)存放在FIFO/傳感器傳感器RAM狀態(tài)寄存器中。只要狀態(tài)寄存器中。只要FIFO RAM不空,狀態(tài)邏輯將置中斷請求不空,狀態(tài)邏輯將置中斷請求IRQ=1;在傳感

26、器矩陣方式,在傳感器矩陣方式,作為傳感器作為傳感器RAM,當檢,當檢測出傳感器矩陣的開關(guān)狀態(tài)發(fā)生變化時,中斷測出傳感器矩陣的開關(guān)狀態(tài)發(fā)生變化時,中斷請求信號請求信號IRQ=1。在外部譯碼掃描方式時,可。在外部譯碼掃描方式時,可對對88矩陣開關(guān)的狀態(tài)進行掃描,在內(nèi)部譯碼矩陣開關(guān)的狀態(tài)進行掃描,在內(nèi)部譯碼掃描方式時,可對掃描方式時,可對48矩陣開關(guān)的狀態(tài)進行掃矩陣開關(guān)的狀態(tài)進行掃描。描。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)顯示顯示RAM用來存儲顯示數(shù)據(jù),容量是用來存儲顯示數(shù)據(jù),容量是168位位在顯示過程中,存儲的在顯示過程中,存儲的顯示數(shù)據(jù)顯示數(shù)據(jù)輪流從顯示輪流從顯示寄存器輸出。顯示寄

27、存器輸出分成兩組,即寄存器輸出。顯示寄存器輸出分成兩組,即OUTA0OUTA3和和OUTB0OUTB3,兩組可,兩組可以單獨送數(shù),也可以組成一個以單獨送數(shù),也可以組成一個8位的字節(jié)輸出,位的字節(jié)輸出,該輸出與位選掃描線該輸出與位選掃描線SL0SL3配合就可以實現(xiàn)配合就可以實現(xiàn)動態(tài)掃描顯示。動態(tài)掃描顯示。顯示地址寄存器顯示地址寄存器用來寄存用來寄存CPU讀讀/寫顯示寫顯示RAM的地址,可以設(shè)置為每次讀出或?qū)懭牒笞詣舆f的地址,可以設(shè)置為每次讀出或?qū)懭牒笞詣舆f增。增。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.4.2 82797.4.2 8279的引腳定義的引腳定義 DB7DB0為雙向外部數(shù)

28、據(jù)總線為雙向外部數(shù)據(jù)總線 ; 為片選信號線,低電平有效;為片選信號線,低電平有效; 和和 為讀和寫選通信號線;為讀和寫選通信號線;IRQ為中斷請求輸出線。為中斷請求輸出線。RL7RL0為鍵盤回送線。為鍵盤回送線。SL3SL0為掃描輸出線。為掃描輸出線。OUTB3OUTB0、OUTA3OUTA0為顯示寄存器數(shù)據(jù)輸出線。為顯示寄存器數(shù)據(jù)輸出線。RESET為復位輸入線。為復位輸入線。 SHIFT為換檔鍵輸入線。為換檔鍵輸入線。CNTL/STB為控制為控制/選通輸入線。選通輸入線。CLK為外部時鐘輸入線。為外部時鐘輸入線。 為顯示器消隱控制線為顯示器消隱控制線 。1234567891011121314

29、1516171819204039383736353433323130292827262524232221RL2RL3CLKIRQRL4RL5RL6RL7RESETRDWRDB0DB1DB2DB3DB4DB5DB6DB7GNDVCCRL1RL0CNTL/STBSHIFTSL3SL2SL1SL0OUTB0OUTB1OUTB2OUTB3OUTA0OUTA1OUTA2OUTA3BDCSA08279CSRDWRBD第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.4.3 7.4.3 8279的操的操作命令作命令第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)一、顯示器和鍵盤方式設(shè)置命令一、顯示器和鍵盤

30、方式設(shè)置命令D7 D6 D5=000 是鍵盤是鍵盤/顯示方式命令特征字。顯示方式命令特征字。D4 D3=DD 為顯示器方式設(shè)置位。為顯示器方式設(shè)置位。D2 D1 D0 =KKK 為鍵盤工作方式設(shè)置位。為鍵盤工作方式設(shè)置位。8279 可外接可外接8位或位或16位位 LED 顯示器,顯示器的每顯示器,顯示器的每一位對應一個一位對應一個8位的顯示器緩沖單元。位的顯示器緩沖單元。左端輸入左端輸入方方式較為簡單,顯示緩沖器式較為簡單,顯示緩沖器RAM地址地址015分別對應分別對應于顯示器的于顯示器的0位位(左左)15位位(右右)。CPU依次從依次從0地址或地址或某一地址開始將段數(shù)據(jù)寫入顯示緩沖器。某一地

31、址開始將段數(shù)據(jù)寫入顯示緩沖器。右端輸入右端輸入方式方式是移位,輸入數(shù)據(jù)總是寫入右端的顯示緩沖器,是移位,輸入數(shù)據(jù)總是寫入右端的顯示緩沖器,數(shù)據(jù)寫入顯示緩沖器后,原來緩沖器的內(nèi)容左移一數(shù)據(jù)寫入顯示緩沖器后,原來緩沖器的內(nèi)容左移一個字節(jié)。個字節(jié)。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)內(nèi)部譯碼內(nèi)部譯碼的掃描方式時,掃描信號由的掃描方式時,掃描信號由SL3SL0輸出,僅能提供輸出,僅能提供4選選1掃描線。掃描線。外部譯碼外部譯碼工作方式時,內(nèi)部計數(shù)器作二進制工作方式時,內(nèi)部計數(shù)器作二進制計數(shù),計數(shù),4位二進制計數(shù)器的計數(shù)狀態(tài)從掃描線位二進制計數(shù)器的計數(shù)狀態(tài)從掃描線SL3SL0輸出,并在外部進

32、行譯碼??蔀殒I盤輸出,并在外部進行譯碼??蔀殒I盤/顯示器提供顯示器提供16選選1掃描線。掃描線。雙鍵互鎖雙鍵互鎖工作方式時,鍵盤中同時有兩個以工作方式時,鍵盤中同時有兩個以上的鍵被按下,任何一個鍵的編碼信息均不能上的鍵被按下,任何一個鍵的編碼信息均不能進入進入FIFO RAM,直至僅剩下一個鍵閉合時,直至僅剩下一個鍵閉合時,該鍵的編碼信息方能進入該鍵的編碼信息方能進入FIFO RAM。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)N鍵輪回鍵輪回工作方式時工作方式時, 如有多個鍵按下,鍵盤如有多個鍵按下,鍵盤掃描能夠根據(jù)發(fā)現(xiàn)它們的順序,依次將它們掃描能夠根據(jù)發(fā)現(xiàn)它們的順序,依次將它們的狀態(tài)送入

33、的狀態(tài)送入FIFO RAM。傳感器矩陣傳感器矩陣工作方式,是指片內(nèi)的去抖動邏工作方式,是指片內(nèi)的去抖動邏輯被禁止掉,傳感器的開關(guān)狀態(tài)直接輸入到輯被禁止掉,傳感器的開關(guān)狀態(tài)直接輸入到FIFO RAM中。因此,傳感器開關(guān)的閉合或斷中。因此,傳感器開關(guān)的閉合或斷開均可使開均可使IRQ馬上為馬上為1,向,向CPU快速申請中斷??焖偕暾堉袛唷5?章 存儲器擴展與IO接口單片機原理與接口技術(shù)二、時鐘編程命令二、時鐘編程命令D7D6D5=001 為時鐘編程命令特征位。為時鐘編程命令特征位。8279的內(nèi)部定時信號是由外部輸入時鐘經(jīng)分頻的內(nèi)部定時信號是由外部輸入時鐘經(jīng)分頻后產(chǎn)生的,分頻系數(shù)由時鐘編程命令確定。后

34、產(chǎn)生的,分頻系數(shù)由時鐘編程命令確定。D4D0 用來設(shè)定對用來設(shè)定對CLK端輸入時鐘的分頻次端輸入時鐘的分頻次數(shù)數(shù)N,N=231。利用這條命令,可以將來自。利用這條命令,可以將來自CLK引腳的外部輸入時鐘分頻,以取得引腳的外部輸入時鐘分頻,以取得100KHz的內(nèi)部時鐘信號。例如的內(nèi)部時鐘信號。例如CLK輸入時鐘輸入時鐘頻率為頻率為2MHz,獲得,獲得100KHz的內(nèi)部時鐘信號,的內(nèi)部時鐘信號,則需要則需要20分頻。分頻。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)三、讀三、讀FIFO /傳感器傳感器RAM命令命令 D7D6D5=010 為該命令的特征位。為該命令的特征位。D2D0(AAA)為

35、起始地址。)為起始地址。D4(AI)為多)為多次讀出時的地址自動增量標志,次讀出時的地址自動增量標志,D3無用。在鍵無用。在鍵掃描方式中,掃描方式中,AIAAA均被忽略,均被忽略,CPU總是按先總是按先進先出的規(guī)律讀鍵輸入數(shù)據(jù),直至輸入鍵全部進先出的規(guī)律讀鍵輸入數(shù)據(jù),直至輸入鍵全部讀出為止。在傳感器矩陣方式中,若讀出為止。在傳感器矩陣方式中,若AI=1,則,則CPU從起始地址開始依次讀出,每讀出一個數(shù)從起始地址開始依次讀出,每讀出一個數(shù)據(jù)地址自動加據(jù)地址自動加1;AI=0,CPU僅讀出一個單元僅讀出一個單元的內(nèi)容。的內(nèi)容。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 四、讀顯示四、讀顯示R

36、AM命令命令 D7D6D5=011為該命令的特征位。為該命令的特征位。D3D0(AAAA)用來尋址顯示)用來尋址顯示RAM的的16個存?zhèn)€存儲單元,儲單元,AI為自動增量標志,若為自動增量標志,若AI=1,則每次,則每次讀出后地址自動加讀出后地址自動加1。五、寫顯示五、寫顯示RAM命令命令 D7 D6 D5=100為該命令的特征位。為該命令的特征位。D4(AI)為自動增量標志,)為自動增量標志,D3D0(AAAA)為起始地址,數(shù)據(jù)寫入按左端輸入或右端輸入為起始地址,數(shù)據(jù)寫入按左端輸入或右端輸入方式操作。若方式操作。若AI=1,則每次寫入后地址自動加,則每次寫入后地址自動加1,直至所有顯示,直至所

37、有顯示RAM全部寫完。全部寫完。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 六、六、 顯示器寫禁止顯示器寫禁止/消隱命令消隱命令 D7 D6 D5=101為該命令的特征位。該命令為該命令的特征位。該命令用以禁止寫用以禁止寫A組和組和B組顯示組顯示RAM。在雙在雙4位顯示器使用時,即位顯示器使用時,即OUTA3OUTA0和和OUTB3OUTB0獨立地獨立地作為兩個半字節(jié)輸出時,可改寫顯示作為兩個半字節(jié)輸出時,可改寫顯示RAM中的低半字節(jié)而不影響高半字節(jié)的狀態(tài),中的低半字節(jié)而不影響高半字節(jié)的狀態(tài),反之亦可改寫高半字節(jié)而不影響低半字節(jié)。反之亦可改寫高半字節(jié)而不影響低半字節(jié)。D1、D0位是消隱顯

38、示器特征位,要消隱兩位是消隱顯示器特征位,要消隱兩組顯示器,必須使之同時為組顯示器,必須使之同時為1,為,為0時則恢時則恢復顯示。復顯示。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 七、清除命令七、清除命令 D7 D6 D5=110為該命令的特征位。為該命令的特征位。CPU將清除命將清除命令寫入令寫入8279,使顯示緩沖器呈初態(tài)(暗碼),該命,使顯示緩沖器呈初態(tài)(暗碼),該命令同時也能清除輸入標志和中斷請求標志。令同時也能清除輸入標志和中斷請求標志。D4 D3 D2(CDCDCD)用來設(shè)定清除顯示)用來設(shè)定清除顯示RAM的的方式。方式。D1(CF)=1為清除為清除FIFO RAM的狀態(tài)標

39、志,的狀態(tài)標志,F(xiàn)IFO RAM被置成空狀態(tài)(無數(shù)據(jù)),并復位中斷請求被置成空狀態(tài)(無數(shù)據(jù)),并復位中斷請求線線IRQ時,傳感器時,傳感器 RAM的讀出地址也被置成的讀出地址也被置成0。D0(CA)是總清的特征位,它兼有)是總清的特征位,它兼有CD和和CF 的聯(lián)的聯(lián)合效用。當合效用。當CA =1時,對顯示時,對顯示RAM的清除方式仍的清除方式仍由由D3D2編碼確定。編碼確定。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)八、結(jié)束中斷八、結(jié)束中斷/錯誤方式設(shè)置命令錯誤方式設(shè)置命令D7 D6 D5=101為該命令的特征位。此命令用來結(jié)為該命令的特征位。此命令用來結(jié)束傳感器束傳感器RAM的中斷請求

40、。的中斷請求。D4(E)=0 為結(jié)束中斷命令。在傳感器工作方式為結(jié)束中斷命令。在傳感器工作方式中使用。每當傳感器狀態(tài)出現(xiàn)變化時,掃描檢測中使用。每當傳感器狀態(tài)出現(xiàn)變化時,掃描檢測電路就將其狀態(tài)寫入傳感器電路就將其狀態(tài)寫入傳感器RAM,并啟動中斷邏,并啟動中斷邏輯使輯使IRQ變高,向變高,向CPU請求中斷,并且禁止寫入請求中斷,并且禁止寫入傳感器傳感器RAM。此時,若傳感器。此時,若傳感器RAM讀出地址的讀出地址的自動增量特征位未設(shè)置(自動增量特征位未設(shè)置(AI=0),則中斷請求),則中斷請求IRQ在在CPU第一次從傳感器第一次從傳感器RAM讀出數(shù)據(jù)時就被讀出數(shù)據(jù)時就被清除。若清除。若AI=1,

41、則,則CPU對傳感器對傳感器RAM讀出并不讀出并不能清除能清除IRQ,而必須通過給,而必須通過給8279寫入結(jié)束中斷寫入結(jié)束中斷/設(shè)設(shè)置出錯方式命令才能使置出錯方式命令才能使IRQ變低。變低。 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)D4(E)=1 為特定錯誤方式命令。在為特定錯誤方式命令。在8279已被設(shè)定為鍵盤掃描已被設(shè)定為鍵盤掃描N鍵輪回方式后,如果鍵輪回方式后,如果CPU給給8279又寫入結(jié)束中斷又寫入結(jié)束中斷/錯誤方式命令錯誤方式命令(E=1),則),則8279將以一種特定的錯誤方式將以一種特定的錯誤方式工作。這種方式的特點是:在工作。這種方式的特點是:在8279消抖周消抖周

42、期內(nèi),如果發(fā)現(xiàn)多個按鍵同時按下,則期內(nèi),如果發(fā)現(xiàn)多個按鍵同時按下,則FIFO狀態(tài)字中的錯誤特征位狀態(tài)字中的錯誤特征位S/E將置將置1,并,并產(chǎn)生中斷請求信號和阻止寫入產(chǎn)生中斷請求信號和阻止寫入FIFO RAM。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.5 顯示器及鍵盤接口7.5.1 、七段顯示器的原理一、七段顯示器的原理第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)二、顯示方式及接口二、顯示方式及接口 1、靜態(tài)顯示、靜態(tài)顯示并行輸出:第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)串行輸出:第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) 2、動態(tài)顯示、動態(tài)顯示第7章 存儲器擴展與

43、IO接口單片機原理與接口技術(shù) DIS:MOV R0,#79H ;顯示數(shù)據(jù)緩沖區(qū)首地址送;顯示數(shù)據(jù)緩沖區(qū)首地址送R0 MOV R3,#01H ;使顯示器最右邊位亮;使顯示器最右邊位亮 MOV A,R3 ; LD0:MOV DPTR,#7F01H;數(shù)據(jù)指針指向;數(shù)據(jù)指針指向A口口 MOVX DPTR,A ;送掃描值;送掃描值 INC DPTR ;數(shù)據(jù)指針指向;數(shù)據(jù)指針指向B口口 MOV A,R0 ;取欲顯示的數(shù)據(jù);取欲顯示的數(shù)據(jù) ADD A,#0DH ;加上偏移量;加上偏移量 MOVC A,A+PC ;取出字型碼;取出字型碼 MOVX DPTR,A ;送顯示;送顯示 ACALL DL1 ;調(diào)用延時

44、子程序;調(diào)用延時子程序 INC R0 ;指向下一個顯示段數(shù)據(jù)地址;指向下一個顯示段數(shù)據(jù)地址 MOV A,R3 ; JB ACC.5,ELD1 ;掃描到第六個顯示器否;掃描到第六個顯示器否? RL A ;未到,掃描碼左移;未到,掃描碼左移1位位 MOV R3,A AJMP LD0 ELD1:RET第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)DSEG:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,40H,00H DL1:MOV R7,#02H ;延時;延時1ms子程序子程序 DL:MOV R6,

45、#0FFH DL6:DJNZ R6,DL6 DJNZ R7,DL RET 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.5.2 鍵盤及其接口鍵盤及其接口 按鍵在閉合和斷開時,觸點會存在抖動現(xiàn)象:按鍵在閉合和斷開時,觸點會存在抖動現(xiàn)象: 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)一、一、 獨立式按鍵及其接口獨立式按鍵及其接口 芯片內(nèi)有上拉電阻芯片內(nèi)有上拉電阻 芯片內(nèi)無上拉電阻芯片內(nèi)無上拉電阻 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)隨機掃描程序(也可以用定時掃描或中斷掃描)如下:隨機掃描程序(也可以用定時掃描或中斷掃描)如下:SMKEY:ORL P1,#0FFH ;置;置P1

46、口為輸入方式口為輸入方式 MOV A,P1 ;讀;讀P1口信息口信息 JNB ACC.0,P0F ;0號鍵按下,轉(zhuǎn)號鍵按下,轉(zhuǎn)0號鍵處理號鍵處理 JNB ACC.1,P1F ;1號鍵按下,轉(zhuǎn)號鍵按下,轉(zhuǎn)1號鍵處理號鍵處理 JNB ACC.7,P7F ;7號鍵按下,轉(zhuǎn)號鍵按下,轉(zhuǎn)7號鍵處理號鍵處理 LJMP SMKEY P0F:LJMP PROG0 P1F:LJMP PROG1 P7F:LJMP PROG7 PROG0: LJMP SMKEY PROG1: LJMP SMKEY PROG7: LJMP SMKEY第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)二、矩陣式鍵盤及其接口二、矩陣式鍵盤

47、及其接口判有無鍵按下;判有無鍵按下;判按下的是哪一鍵;判按下的是哪一鍵;鍵處理。鍵處理。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)SMKEY:MOV P1,#0FH ;置;置P1口高口高4位為位為“0”、低、低4位為輸入狀態(tài)位為輸入狀態(tài) MOV A,P1 ;讀;讀P1口口 ANL A,0FH ;屏蔽高;屏蔽高4位位 CJNE A,0FH,HKEY ;有鍵按下,轉(zhuǎn);有鍵按下,轉(zhuǎn)HKEY SJMP SMKEY ;無鍵按下轉(zhuǎn)回;無鍵按下轉(zhuǎn)回HKEY:LCALL DELAY10 ;延時;延時10ms,去抖,去抖 MOV A,P1 ; ANL A,0FH ; CJNE A,0FH,WKEY ;確認

48、有鍵按下,轉(zhuǎn)判哪一鍵按下;確認有鍵按下,轉(zhuǎn)判哪一鍵按下 SJMP SMKEY ; 是抖動轉(zhuǎn)回是抖動轉(zhuǎn)回WKEY:MOV P1,1110 1111B ;置掃描碼,檢測;置掃描碼,檢測P1.4列列 MOV A,P1 ; ANL A,0FH ; CJNE A,0FH,PKEY ;P1.4列(列(Y0)有鍵按下,轉(zhuǎn)鍵處理)有鍵按下,轉(zhuǎn)鍵處理第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) MOV P1,1101 1111B ;置掃描碼,檢測;置掃描碼,檢測P1.5列列 MOV A,P1 ; ANL A,0FH ; CJNE A,0FH,PKEY ;P1.5列(列(Y1)有鍵按下,轉(zhuǎn)鍵處理)有鍵按下,轉(zhuǎn)

49、鍵處理 MOV P1,1011 1111B ;置掃描碼,檢測;置掃描碼,檢測P1.6列列 MOV A,P1 ; ANL A,0FH ; CJNE A,0FH,PKEY ;P1.6列(列(Y2)有鍵按下,轉(zhuǎn)鍵處理)有鍵按下,轉(zhuǎn)鍵處理 MOV P1,0111 1111B ;置掃描,檢測;置掃描,檢測P1.7列列 MOV A,P1 ; ANL A,0FH ; CJNE A,0FH,PKEY ;P1.7列(列(Y3)有鍵按下,轉(zhuǎn)鍵處理)有鍵按下,轉(zhuǎn)鍵處理 LJMP SMKEY ; PKEY: ;鍵處理;鍵處理第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)線反轉(zhuǎn)法示例程序線反轉(zhuǎn)法示例程序 :SMKEY

50、:MOV P1,#0FH ;置;置P1口高口高4位為位為“0”、低、低4位為輸入狀態(tài)位為輸入狀態(tài) MOV A,P1 ;讀;讀P1口口 ANL A,0FH ;屏蔽高;屏蔽高4位位 CJNE A,0FH,HKEY ;有鍵按下,轉(zhuǎn);有鍵按下,轉(zhuǎn)HKEY SJMP SMKEY ;無鍵按下轉(zhuǎn)回;無鍵按下轉(zhuǎn)回HKEY:LCALL DELAY10 ;延時;延時10ms,去抖,去抖 MOV A,P1 ; ANL A,0FH ; MOV B,A ;行線狀態(tài)在;行線狀態(tài)在B的低的低4位位 CJNE A,0FH,WKEY ;確認有鍵按下,轉(zhuǎn)判哪一鍵按下;確認有鍵按下,轉(zhuǎn)判哪一鍵按下 SJMP SMKEY ; 是抖動

51、轉(zhuǎn)回是抖動轉(zhuǎn)回WKEY:MOV P1,0F0H ;置;置P1口高口高4位為輸入、低位為輸入、低4位為位為“0” MOV A,P1 ; ANL A,0F0H ;屏蔽低;屏蔽低4位位 ORL A,B ;列線狀態(tài)在高;列線狀態(tài)在高4位,與行線狀態(tài)合成于位,與行線狀態(tài)合成于B中中 ;鍵處理;鍵處理第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)鍵處理鍵處理。鍵處理是根據(jù)所按鍵散轉(zhuǎn)進入相應的功能。鍵處理是根據(jù)所按鍵散轉(zhuǎn)進入相應的功能程序。為了散轉(zhuǎn)的方便,通常應先得到按下鍵的鍵程序。為了散轉(zhuǎn)的方便,通常應先得到按下鍵的鍵號。鍵號是鍵盤的每個鍵的編號,可以是號。鍵號是鍵盤的每個鍵的編號,可以是10進制或進制

52、或16進制。鍵號一般通過鍵盤掃描程序取得的鍵值求進制。鍵號一般通過鍵盤掃描程序取得的鍵值求出。鍵值是各鍵所在行號和列號的組合碼。出。鍵值是各鍵所在行號和列號的組合碼。如圖所如圖所示接口電路中的鍵示接口電路中的鍵“9”所在行號為所在行號為2,所在列號為,所在列號為1,鍵值可以表示為鍵值可以表示為“21H”(也可以表示為(也可以表示為12H,表,表示方法并不是唯一的,要根據(jù)具體按鍵的數(shù)量及接示方法并不是唯一的,要根據(jù)具體按鍵的數(shù)量及接口電路而定)。口電路而定)。根據(jù)鍵值中行號和列號信息就可以根據(jù)鍵值中行號和列號信息就可以計算出鍵號,如:計算出鍵號,如: 鍵號所在行號鍵號所在行號鍵盤列數(shù)所在列號,鍵

53、盤列數(shù)所在列號, 即即2419 根據(jù)鍵號就可以方便地通過散轉(zhuǎn)進入相應鍵的功能程序。根據(jù)鍵號就可以方便地通過散轉(zhuǎn)進入相應鍵的功能程序。第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)7.5.3 鍵盤和顯示器接口示例鍵盤和顯示器接口示例 一、一、8155的鍵盤及顯示接口的鍵盤及顯示接口第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) KD1:MOV A,#00000011B;8155初始化:初始化:PA、PB為基本輸出,為基本輸出,PC為輸入為輸入 MOV DPTR,#7F00H ; MOVX DPTR,A ; KEY1:ACALL KS1 ;查有無鍵按下;查有無鍵按下 JNZ LK1 ;有,轉(zhuǎn)鍵

54、掃描;有,轉(zhuǎn)鍵掃描 ACALL DIS ;調(diào)顯示子程序;調(diào)顯示子程序 AJMP KEY1 ; LK1: ACALL DIS ;鍵掃描;鍵掃描 ACALL DIS ;兩次調(diào)顯示子程序,延時;兩次調(diào)顯示子程序,延時12ms ACALL KS1 ; JNZ LK2 ; ACALL DIS ;調(diào)顯示子程序;調(diào)顯示子程序 AJMP KEY1 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) LK2:MOV R2,#0FEH ;從首列開始;從首列開始 MOV R4,#00H ;首列號送;首列號送R4 LK4:MOV DPTR,#7F01H ; MOV A,R2 ; MOVX A,DPTR ; INC DP

55、TR ; INC DPTR ;指向;指向C口口 MOVX DPTR,A ; JB ACC.0,LONE ;第;第0行無鍵按下,轉(zhuǎn)查第行無鍵按下,轉(zhuǎn)查第1行行 MOV A,#00H ;第;第0行有鍵按下,該行首鍵號送行有鍵按下,該行首鍵號送A AJMP LKP ;轉(zhuǎn)求鍵號;轉(zhuǎn)求鍵號 LONE: JB ACC.1,LTWO ;第;第1行無鍵按下,轉(zhuǎn)查第行無鍵按下,轉(zhuǎn)查第2行行 MOV A,#08H ;第;第1行有鍵按下,該行首鍵號送行有鍵按下,該行首鍵號送A AJMP LKP ;轉(zhuǎn)求鍵號;轉(zhuǎn)求鍵號LTWO: JB ACC.2,NEXT ;第;第2行無鍵按下,轉(zhuǎn)查下一列行無鍵按下,轉(zhuǎn)查下一列 MOV

56、 A,#10H ;第;第2行有鍵按下,該行首鍵號送行有鍵按下,該行首鍵號送A LKP: ADD A,R4 ;求鍵號。鍵號行首鍵號列號;求鍵號。鍵號行首鍵號列號 PUSH ACC ;保護鍵號;保護鍵號 LK3: ACALL DIS ;等待鍵釋放;等待鍵釋放 ACALL KS1 ; JNZ LK3 ; POP ACC ; RET ;鍵掃描結(jié)束。此時;鍵掃描結(jié)束。此時A的內(nèi)容為按下鍵的鍵號的內(nèi)容為按下鍵的鍵號 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù) NEXT:INC R4 ;指向下一列;指向下一列 MOV A,R2 ; JNB ACC.5,KND ;判;判6列掃描完沒有。列掃描完沒有。 R

57、L A ;未完,掃描字對應下一列;未完,掃描字對應下一列 MOV R2,A ; AJMP LK4 ;轉(zhuǎn)下一列掃描;轉(zhuǎn)下一列掃描KND: AJMP KEY1 ;掃完,轉(zhuǎn)入新一輪掃描;掃完,轉(zhuǎn)入新一輪掃描KS1: MOV DPTR,#7F01H ;查有無鍵按下子程序。先指向;查有無鍵按下子程序。先指向A口口 MOV A,#00H ; MOVX DPTR,A ;送掃描字;送掃描字“00H” INC DPTR ; INC DPTR ;指向;指向C口口 MOVX A,DPTR ; CPL A ;變正邏輯;變正邏輯 ANL A,#0FH ;屏蔽高位;屏蔽高位 RET ;子程序出口,;子程序出口,A的內(nèi)容非

58、的內(nèi)容非0則有鍵按下則有鍵按下第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)二、二、8279的鍵盤及顯示接口的鍵盤及顯示接口 第7章 存儲器擴展與IO接口單片機原理與接口技術(shù)初始化程序如下:初始化程序如下: INIT:MOV DPTR,#7FFFH ;置;置8279命令命令/狀態(tài)口地址狀態(tài)口地址 MOV A,#0D1H ;置清顯示命令字;置清顯示命令字 MOVX DPTR,A ;送清顯示命令;送清顯示命令 WEIT:MOVX A,DPTR ;讀狀態(tài);讀狀態(tài) JB ACC.7,WEIT ;等待清顯示;等待清顯示RAM結(jié)束結(jié)束 MOV A,#34H ;置分頻系數(shù),晶振;置分頻系數(shù),晶振12MHz MOVX DPTR,A ;送分頻系數(shù);送分頻系數(shù) MOV A,#00H ;置鍵盤;置

溫馨提示

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

評論

0/150

提交評論