MCS-51單片微型計(jì)算機(jī)及其應(yīng)用:第8章 單片微機(jī)系統(tǒng)功能擴(kuò)展_第1頁(yè)
MCS-51單片微型計(jì)算機(jī)及其應(yīng)用:第8章 單片微機(jī)系統(tǒng)功能擴(kuò)展_第2頁(yè)
MCS-51單片微型計(jì)算機(jī)及其應(yīng)用:第8章 單片微機(jī)系統(tǒng)功能擴(kuò)展_第3頁(yè)
MCS-51單片微型計(jì)算機(jī)及其應(yīng)用:第8章 單片微機(jī)系統(tǒng)功能擴(kuò)展_第4頁(yè)
MCS-51單片微型計(jì)算機(jī)及其應(yīng)用:第8章 單片微機(jī)系統(tǒng)功能擴(kuò)展_第5頁(yè)
已閱讀5頁(yè),還剩137頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、作業(yè)講解3機(jī)器周期2us,定時(shí)分別為2ms和400us,計(jì)算初值:400us定時(shí),X=256-400/2=56=38H,400us*5=2ms;每次定時(shí)中斷后,P1.1取反;定時(shí)中斷5次后P1.0取反.根據(jù)題意,利用定時(shí)器0,設(shè)置為定時(shí)方式3,利用TL0作為定時(shí)計(jì)數(shù)器 作業(yè)講解3初始化:設(shè)置參數(shù)和中斷入口地址設(shè)置ORG0000HAJMPMAINORG000BHAJMPINTT0MAIN:MOVR0,#05H;保存中斷次數(shù)MOVTMOD,#03H;T0方式3,定時(shí)器中斷MOVTL0,#38H;TL0定時(shí)400usSETBTR0;開啟定時(shí)器TL0CLRTR1SETBET0;開定時(shí)器TL0中斷SET

2、BEA;開啟中斷總開關(guān)SJMP$;中斷等待中斷服務(wù)子程序:INTT0:MOVTL0,#38H;TL0定時(shí)400us重置CPLP1.1;400us定時(shí)到,p1.1輸出變反DJNZR0,RETURN;2ms定時(shí)未到,不作處理MOVR0,#05H;2ms定時(shí)到,重置5次CPLP1.0; 2ms定時(shí)到,p1.0輸出變反RETURN:RETIEND作業(yè)講解3作業(yè)講解31、不加以說(shuō)明;2、用A作為計(jì)數(shù)寄存器;3、中斷入口地址標(biāo)號(hào)與寄存器和常用標(biāo)識(shí)符相同;4、分別用兩個(gè)中斷;5、用一個(gè)中斷定時(shí)200us,可簡(jiǎn)化,不需要定時(shí)100us,然后兩個(gè)都需要循環(huán);6、方式3下,TF1給定時(shí)器0使用;7、定時(shí)400us

3、,5次后得到2ms,但是用定時(shí)器來(lái)完成5次,不合適。因?yàn)閮蓚€(gè)不同步,需要硬件配合。第8章 單片微機(jī)系統(tǒng)功能擴(kuò)展8.1 系統(tǒng)擴(kuò)展概述8.2 常用擴(kuò)展器件簡(jiǎn)介8.3 存儲(chǔ)器的擴(kuò)展8.4 I/O擴(kuò)展8.5 串行標(biāo)準(zhǔn)接口的擴(kuò)展8.6 按鍵、鍵盤及其接口8.7 顯示及顯示器接口8.1 系統(tǒng)擴(kuò)展概述8.1.1 最小應(yīng)用系統(tǒng)(a) 8051/8751最小系統(tǒng)結(jié)構(gòu)圖;(b) 8031最小系統(tǒng)結(jié)構(gòu)圖圖8.1 MCS51單片機(jī)最小化系統(tǒng) 8.1.2 單片機(jī)系統(tǒng)擴(kuò)展的內(nèi)容與方法 1單片機(jī)的三總線結(jié)構(gòu) 圖8.2 MCS51單片機(jī)的三總線結(jié)構(gòu)形式 總線定義:主機(jī)與各外部擴(kuò)展的部器件之間的連接線。總線分為:地址總線,數(shù)據(jù)

4、總線和控制總線8051單片機(jī)地址總線:P2.7P2.0(高八位),P0.7P0.0(低八位)。 數(shù)據(jù)總線:P0.7P0.0(與低八位地址總線復(fù)用)??刂瓶偩€信號(hào)主要有:ALE(低八位地址鎖存信號(hào)) /PSEN(外部程序存貯器讀信號(hào)) /RD(外部數(shù)據(jù)存貯器讀信號(hào)) /WR(外部數(shù)據(jù)存貯器寫信號(hào)) 2系統(tǒng)擴(kuò)展的內(nèi)容與方法 (1) 系統(tǒng)的擴(kuò)展一般有以下幾方面的內(nèi)容: 外部程序存儲(chǔ)器的擴(kuò)展。 外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展。 輸入/輸出接口的擴(kuò)展。 管理功能器件的擴(kuò)展(如定時(shí)器/計(jì)數(shù)器、鍵盤/顯示器、中斷優(yōu)先級(jí)編碼器等)。 (2) 系統(tǒng)擴(kuò)展的基本方法:一般來(lái)講,所有與計(jì)算機(jī)擴(kuò)展連接芯片的外部引腳線都可以歸屬為

5、三總線結(jié)構(gòu)。擴(kuò)展連接的一般方法實(shí)際上是三總線對(duì)接。要保證單片機(jī)和擴(kuò)展芯片協(xié)調(diào)一致地工作,即要共同滿足其工作時(shí)序。8.2 常用擴(kuò)展器件簡(jiǎn)介表8.1 常用的擴(kuò)展器件表8.1 常用的擴(kuò)展器件8.2.1 8D鎖存器74LS373圖8.3 74LS373結(jié)構(gòu)示意圖 圖8.4 74LS373用作地址鎖存器 8.2.2 3-8譯碼器74LS138圖8.8 74LS138引腳圖 表8.2 74LS138的譯碼邏輯關(guān)系 8.3 存儲(chǔ)器的擴(kuò)展8.3.1 存儲(chǔ)器擴(kuò)展概述 1MCS-51單片機(jī)的擴(kuò)展能力 根據(jù)MCS-51單片機(jī)總線寬度(16位),在片外可擴(kuò)展的存儲(chǔ)器最大容量為64 KB,地址為0000HFFFFH。

6、片外可擴(kuò)展的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分別為64 KB。 2擴(kuò)展的一般方法 存儲(chǔ)器芯片與單片機(jī)擴(kuò)展連接具有共同的規(guī)律。不論何種存儲(chǔ)器芯片,其引腳都呈三總線結(jié)構(gòu),與單片機(jī)連接都是三總線對(duì)接。 存儲(chǔ)器芯片的控制線:ALE(低八位地址鎖存信號(hào)) /PSEN(外部程序存貯器讀信號(hào)) /RD(外部數(shù)據(jù)存貯器讀信號(hào)) /WR(外部數(shù)據(jù)存貯器寫信號(hào)) 存儲(chǔ)器芯片的數(shù)據(jù)線:數(shù)據(jù)線的數(shù)目由芯片的字長(zhǎng)決定。8位字長(zhǎng)的芯片數(shù)據(jù)線有8根。存儲(chǔ)器芯片的數(shù)據(jù)線與單片機(jī)的數(shù)據(jù)總線(P0.0P0.7)按由低位到高位的順序順次相接。 存儲(chǔ)器芯片的地址線:地址線的數(shù)目由芯片的容量決定。容量(Q)與地址線數(shù)目(N)滿足關(guān)系式:Q=2N

7、。存儲(chǔ)器芯片的地址線與單片機(jī)的地址總線(A0A15)按由低位到高位的順序順次相接。8K存貯器:13根地址線A0A12 (如8K EPROM 2764, 8K RAM 6264)16K存貯器:14根地址線A0A13(如16K EPROM 27128)32K存貯器:15根地址總線A0A14(如32 EPROM27256)64K存貯器:16根地址總線A0A15(如64K EPROM 27512) 對(duì)存儲(chǔ)器芯片訪問(wèn)時(shí),片選信號(hào)必須有效,即選中存儲(chǔ)器芯片。片選信號(hào)線與單片機(jī)系統(tǒng)的譯碼輸出相接后,就決定了存儲(chǔ)器芯片的地址范圍。一般單片機(jī)的剩余高位地址線的譯碼及譯碼輸出與存儲(chǔ)器芯片的片選信號(hào)線的連接,這是存

8、儲(chǔ)器擴(kuò)展連接的關(guān)鍵問(wèn)題。3、線選法片選信號(hào)的產(chǎn)生用P2.7 、P2.6、 P2.5作片選信號(hào),其它十三位 (P2.4P2.0,P0.7P0.0)作為地址線。1)P2.7有效時(shí)的地址范圍2)P2.6有效時(shí)的地址范圍0110 0000 0000 0000 0111 1111 1111 1111地址范圍為6000H7FFFH(8K范圍)1010 0000 0000 0000 1011 1111 1111 1111地址范圍為A000HBFFFH(8K范圍) )P2.5有效時(shí)的地址范圍 地址范圍為C000HDFFFH(8K范圍) 用P2.7,P2.6作片選信號(hào),其它十四位(P2.5P2.0,P0.7P0

9、.0) 作為地址線 1)P2.7有效時(shí)的地址范圍 地址范圍為4000H7FFFH(16K范圍 ) 2)P2.6有效時(shí)的地址范圍 地址范圍為8000HBFFFH(16K范圍)P2.7作片選信號(hào),其它十五位(P2.6P2.0,P0.7P0.0) 作為地址線地址范圍為0000H7FFFH(32K范圍) 4、譯碼法片選信號(hào)的產(chǎn)生 通常采用 P2.7 P2.6 P2.5 與三八譯碼器74LS138產(chǎn)生片選信號(hào)P2.7(C)P2.6(B)P2.5(A)片選信號(hào) 地址范圍 000/Y00000H1FFFH (8K)001/Y12000H3FFFH (8K)010/Y24000H5FFFH (8K)011/Y

10、36000H7FFFH (8K)100/Y48000H9FFFH (8K)101/Y5A000HBFFFH (8K)110/Y6C000HDFFFH (8K)111/Y7E000HFFFFH (8K)8.3.2 程序存儲(chǔ)器的擴(kuò)展8.3.2.1程序存貯器擴(kuò)展概述1、 地址選擇多采用簡(jiǎn)易的線選法。2、 程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器共用地址總線與數(shù)據(jù)總線。3、 8051訪問(wèn)外部程序存儲(chǔ)器時(shí),所使用的控制信號(hào)有:ALE:低8位地址鎖存控制;/PSEN:外部程序存儲(chǔ)器“讀取”控制。 4、擴(kuò)展電路芯片EPROM典型系列芯片:2716(2K*8)2732(4K*8)27256(32K*8)/OE:讀選通信號(hào)/PS

11、EN/CE:片選信號(hào)線地址鎖存器:因?yàn)镻0口是分時(shí)提供低8位地址和數(shù)據(jù)信息, 所以必須用鎖存器把地址鎖存住。 以下三個(gè)地址鎖存器管腳互不兼容。74LS373:帶三態(tài)緩沖輸出的8D鎖存器,鎖存控制端G直接接ALE8282:帶三態(tài)緩沖輸出的8D鎖存器,鎖存控制端STB直接接ALE74LS273:帶清除端的8D鎖存器,鎖存控制端接ALE的反相器5、P2口即使沒(méi)有全部占用,但空余的幾根已不宜作通用I/O線。8.3.2.2 程序存儲(chǔ)器擴(kuò)展舉例1、不用片外譯碼器的單片程序存儲(chǔ)器的擴(kuò)展 例1 試用EPROM2764構(gòu)成8031的最小系統(tǒng)。 2764是8K8位程序存儲(chǔ)器,芯片的地址引腳線有13條,順次和單片機(jī)

12、的地址線A0A12相接。由于不采用地址譯碼器,所以高3位地址線A13、A14、A15不接,故有23=8個(gè)重疊的8 KB地址空間。因只用一片2764,其片選信號(hào)CE可直接接地(常有效)。其連接電路如圖 所示。圖所示連接電路的8個(gè)重疊的地址范圍為00000000000000000001111111111111,即0000H1FFFH;00100000000000000011111111111111,即2000H3FFFH;01000000000000000101111111111111,即4000H5FFFH;01100000000000000111111111111111,即6000H7FFFH

13、;10000000000000001001111111111111,即8000H9FFFH;10100000000000001011111111111111,即A000HBFFFH;11000000000000001101111111111111,即C000HDFFFH;11100000000000001111111111111111,即E000HFFFFH。2、 采用線選法的多片程序存儲(chǔ)器的擴(kuò)展 例2 使用兩片2764擴(kuò)展16 KB的程序存儲(chǔ)器,采用線選法選中芯片。擴(kuò)展連接圖如圖4.12所示。以P2.7作為片選,當(dāng)P2.7=0時(shí),選中2764(1);當(dāng)P2.7=1時(shí),選中2764(2)。因兩

14、根線(A13、A14)未用,故兩個(gè)芯片各有22=4個(gè)重疊的地址空間。它們分別為圖8.12 用兩片2764 EPROM的擴(kuò)展連接圖 左片:000000000000000000001111111111111,即0000H1FFFH; 001000000000000000011111111111111,即2000H3FFFH; 010000000000000000101111111111111,即4000H5FFFH; 011000000000000000111111111111111,即6000H7FFFH;右片:100000000000000001001111111111111,即8000H9F

15、FFH; 101000000000000001011111111111111,即A000HBFFFH; 110000000000000001101111111111111,即C000HDFFFH; 111000000000000001111111111111111,即E000HFFFFH。 3 采用地址譯碼器的多片程序存儲(chǔ)器的擴(kuò)展 例3 要求用2764芯片擴(kuò)展8031的片外程序存儲(chǔ)器,分配的地址范圍為0000H3FFFH。 本例要求的地址空間是唯一確定的,所以要采用全譯碼方法。由分配的地址范圍知:擴(kuò)展的容量為16 KB,2764為8 K8位,故需要兩片。第1片的地址范圍應(yīng)為0000H1FFFH

16、;第2片的地址范圍應(yīng)為2000H3FFFH。 由地址范圍確定譯碼器的連接。為此畫出譯碼關(guān)系圖如下:8.3.3 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展一、數(shù)據(jù)存貯器的擴(kuò)展概述1、 數(shù)據(jù)存儲(chǔ)器的/OE、/WE信號(hào)線分別為輸出允許和寫允許 控制端,由單片機(jī)的/RD和/WR信號(hào)控制。2、 訪問(wèn)片外擴(kuò)展數(shù)據(jù)存儲(chǔ)器僅可用下面4條寄存器間址指令.MOVXA,RiMOVXA,DPTRMOVXRi,AMOVXDPTR,A3、 典型系列芯片:2114(2K*4),6116(2K*8),6264(8K*8) 二數(shù)據(jù)存儲(chǔ)器芯片圖8.14 常用靜態(tài)RAM芯片的引腳圖圖8.15 iRAM芯片的引腳圖 三數(shù)據(jù)存儲(chǔ)器的擴(kuò)展舉例例4 采用2114芯

17、片在8031片外擴(kuò)展1 KB數(shù)據(jù)存儲(chǔ)器。圖8.16 用兩片2114 EPROM的擴(kuò)展連接圖 8.3.4 兼有片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的擴(kuò)展舉例舉例:片外擴(kuò)展16K字節(jié)數(shù)據(jù)存儲(chǔ)器和16K字節(jié)程序存儲(chǔ)器1、線選法 2、譯碼法 分析兩種存儲(chǔ)器及各芯片的地址范圍 0100 0000 0000 0000 -0101 1111 1111 1111IC0:程序存儲(chǔ)器空間:IC1:程序存儲(chǔ)器空間:0010 0000 0000 0000 -0011 1111 1111 1111IC0:0000H-1FFFH(Y0) IC1:2000H-3FFFH(Y1)IC2:0000H-1FFFH(Y0) IC3:40

18、00H-5FFFH(Y2)8.4 I/O 擴(kuò) 展8.4.1 I/O口擴(kuò)展概述 1MCS-51單片機(jī)I/O口擴(kuò)展性能 單片機(jī)應(yīng)用系統(tǒng)中的I/O口擴(kuò)展方法與單片機(jī)的I/O口擴(kuò)展性能有關(guān)。 (1) 在MCS-51單片機(jī)應(yīng)用系統(tǒng)中,擴(kuò)展的I/O口采取與數(shù)據(jù)存儲(chǔ)器相同的尋址方法。所有擴(kuò)展的I/O口或通過(guò)擴(kuò)展I/O口連接的外圍設(shè)備均與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址。任何一個(gè)擴(kuò)展I/O口,根據(jù)地址線的選擇方式不同,占用一個(gè)片外RAM地址,而與外部程序存儲(chǔ)器無(wú)關(guān)。 (2) 利用串行口的移位寄存器工作方式(方式0),也可擴(kuò)展I/O口,這時(shí)所擴(kuò)展的I/O口不占用片外RAM地址。 (3) 擴(kuò)展 I/O口的硬件相依性。在單片

19、機(jī)應(yīng)用系統(tǒng)中,I/O口的擴(kuò)展不是目的,而是為外部通道及設(shè)備提供一個(gè)輸入、輸出通道。因此,I/O口的擴(kuò)展總是為了實(shí)現(xiàn)某一測(cè)控及管理功能而進(jìn)行的。例如連接鍵盤、顯示器、驅(qū)動(dòng)開關(guān)控制、開關(guān)量監(jiān)測(cè)等。這樣,在I/O口擴(kuò)展時(shí),必須考慮與之相連的外部硬件電路特性,如驅(qū)動(dòng)功率、電平、干擾抑制及隔離等。 (4) 擴(kuò)展I/O口的軟件相依性。根據(jù)選用不同的I/O口擴(kuò)展芯片或外部設(shè)備時(shí),擴(kuò)展I/O口的操作方式不同,因而應(yīng)用程序應(yīng)有不同,如入口地址、初始化狀態(tài)設(shè)置、工作方式選擇等。 2I/O口擴(kuò)展方法 根據(jù)擴(kuò)展并行I/O口時(shí)數(shù)據(jù)線的連接方式,I/O口擴(kuò)展可分為總線擴(kuò)展方法、串行口擴(kuò)展方法。 (1) 總線擴(kuò)展方法。擴(kuò)展

20、的并行I/O芯片,其并行數(shù)據(jù)輸入線取自MCS-51單片機(jī)的P0口。這種擴(kuò)展方法只分時(shí)占用P0口,并不影響P0口與其它擴(kuò)展芯片的連接操作,不會(huì)造成單片機(jī)硬件的額外開銷。因此,在MCS-51單片機(jī)應(yīng)用系統(tǒng)的I/O擴(kuò)展中廣泛采用這種擴(kuò)展方法。 (2) 串行口擴(kuò)展方法。這是MCS-51單片機(jī)串行口在方式0工作狀態(tài)下所提供的I/O口擴(kuò)展功能。串行口方式0為移位寄存器工作方式,因此接上串入并出的移位寄存器可以擴(kuò)展并行輸出口,而接上并入串出的移位寄存器則可擴(kuò)展并行輸入口。這種擴(kuò)展方法只占用串行口,而且通過(guò)移位寄存器的級(jí)聯(lián)方法可以擴(kuò)展多數(shù)量的并行I/O口。對(duì)于不使用串行口的應(yīng)用系統(tǒng),可使用這種方法。但由于數(shù)據(jù)

21、的輸入輸出采用串行移位的方法,傳輸速度較慢。 3I/O口擴(kuò)展用芯片兩大類:通用I/O口芯片,選用Intel公司的芯片,其接口最為簡(jiǎn)捷可靠,如8255、8155等。8255可編程通用并行接口 8155帶256字節(jié)RAM和14位定時(shí)/計(jì)數(shù)器的可編程并行接口TTL、CMOS鎖存器、緩沖器電路芯片,具有體積小、成本低、配置靈活的特點(diǎn)。一般在擴(kuò)展8位輸入或輸出口時(shí)十分方便??梢宰鳛镮/O擴(kuò)展的TTL芯片有: 74LS373、74LS277、74LS244、74LS273、74LS367等。8255A芯片的內(nèi)部結(jié)構(gòu)圖 8.4.2 8255可編程并行I/O口 擴(kuò)展1芯片引腳及其內(nèi)部結(jié)構(gòu) (1) 數(shù)據(jù)總線緩沖

22、器:是一個(gè)8位的雙向三態(tài)驅(qū)動(dòng)器,用于與單片機(jī)的數(shù)據(jù)總線相連。 (2) 讀/寫控制邏輯:根據(jù)單片機(jī)的地址信息(A1、A0)與控制信息(RD、WR、RESET),控制片內(nèi)數(shù)據(jù)、CPU控制字、外設(shè)狀態(tài)信息的傳送。 (3) 控制電路:根據(jù)CPU送來(lái)的控制字使所管I/O口按一定方式工作。對(duì)C口甚至可按位實(shí)現(xiàn)置位或復(fù)位??刂齐娐贩譃閮山M:A組控制電路控制A口及C口的高4位(PC7PC4),B組控制電路控制B口及C口的低4位(PC3PC0)。 (4) 三個(gè)并行I/O端口:A口可編程為8位輸入,或8位輸出,或雙向傳送;B口可編程為8位輸入,或8位輸出,但不能雙向傳送;C口分為兩個(gè)4位口,用于輸入或輸出,也可用

23、作A口、B口的狀態(tài)控制信號(hào)。 8255A芯片的引腳圖 表8.3 8255芯片的引腳信號(hào)說(shuō)明續(xù)表 CS: 片選信號(hào),低電平有效D0D7: 數(shù)據(jù)線/RD : 讀信號(hào)/WR : 寫信號(hào)A1 A0 : 地址線,通道選擇信號(hào)端,與/CS,/RD,/WR的信號(hào)端組合,用來(lái)控制PA、PB、PC三個(gè)通道口和控制字端口及其功能選擇。它通常與地址總線的最低位A0,A1相連。端口地址/CSA1A0選中端口000PA口001PB口010PC口011控制口(控制寄存器)PA0PA7:I/O口(PA口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入鎖存功能。PB0PB7:I/O口(PB口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能。PC0PC7

24、:I/O口(PC口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能。作為輸入/輸出口可在“方式字”控制下分成兩個(gè)4位端口,作為PA口和PB口選通方式操作時(shí)的狀態(tài)控制信號(hào),可作按位置位/復(fù)位操作。VCC :+5VGND:地28255的操作方式1) 讀/寫控制邏輯操作選擇 表8.4 8255的口操作狀態(tài) 組合功能表見書中P217,表8.72)三種基本操作方式方式0:基本輸入/輸出方式方式1:選通輸入/輸出方式方式2:雙向傳送方式(僅PA口有)3) 8255A的編程控制字方式選擇控制字8255A的操作方式: 通過(guò)軟件編程將方式選擇控制字寫入8255A的控制字寄存器,選擇操作方式。 PC口按位置位/復(fù)位控制字

25、8255的PC通道中的任一位,均可通過(guò)軟件編程使指定的位單獨(dú)實(shí)現(xiàn)置位/復(fù)位操作。控制字格式見圖b 不論哪一種控制字均通過(guò)向控制口寄存器寫入來(lái)實(shí)現(xiàn)。通過(guò)寫入內(nèi)容的特征位來(lái)區(qū)分。3、8051配置8255的硬件接口書中P219確定端口地址設(shè)隨機(jī)地址信號(hào)為“0”。則: PA口地址:4000H PB口地址:4001H PC口地址:4002H 控制地址:4003H設(shè)隨機(jī)地址信號(hào)為“1。則: PA口地址:5FFCH PB口地址:5FFDH PC口地址:5FFEH 控制地址:5FFFH 假設(shè)8255 PA口基本輸入,PB口基本輸出,PC7PC4基本輸出, PC3PC0基本輸入。則工作方式控制字為:1001 0

26、001 (91H)MOV DPTR,#4003H;控制寄存器地址(或5FFFH)MOV A,#91H;控制字MOVX DPTR,A ;控制字寫入控制寄存器假設(shè)PC口用于位置位/復(fù)位方式,且要求PC5位置位,則8255的PC口置位/復(fù)位的控制字為00001011B=0BHMOV DPTR,#4003H;控制寄存器地址(5FFFH)MOV A,#0BH;控制字MOVX DPTR,A ;控制字寫入控制寄存器工作方式控制字與置位/復(fù)位控制字同用一個(gè)地址“11”,8255根據(jù)控制字的特征位把它們分別送入對(duì)應(yīng)的控制寄存器。 4. 8255A的三種工作方式1).方式0基本的輸入/輸出方式。外設(shè)的I/O數(shù)據(jù)可

27、在8255A的各端口得到鎖存和緩沖。MCS-51可對(duì)8255A進(jìn)行數(shù)據(jù)的無(wú)條件傳送 例如:從口線讀入一組開關(guān)狀態(tài),向端口輸出數(shù)字量,控制一組指示燈的亮、滅。不需要聯(lián)絡(luò)信號(hào),基本功能為:(1)具有兩個(gè)8位端口(A、B)和兩個(gè)4位端口(C的上半部分和下半部分)。(2)任一個(gè)端口都可以設(shè)定為輸入或輸出,各端口的輸入、輸出可構(gòu)成16種組合。(3)數(shù)據(jù)輸出鎖存,輸入不鎖存。2). 方式1 選通輸入/輸出工作方式。A口和B口通常用于I/O數(shù)據(jù)傳送,C口用作A口和B口的聯(lián)絡(luò)線,以中斷方式傳送數(shù)據(jù)。 方式1輸入 控制聯(lián)絡(luò)信號(hào)如圖9-5所示,STB*與IBF構(gòu)成了一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),聯(lián)絡(luò)信號(hào)的功能如下圖:STB*

28、:選通輸入,是由輸入外設(shè)送來(lái)的輸入信號(hào)。IBF:輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入 8255A的輸入鎖存器,它由STB*信號(hào)的下降沿置 位,由信號(hào)的上升沿使其復(fù)位INTR:中斷請(qǐng)求信號(hào),高電平有效。由8255A輸出, 向單片機(jī)發(fā)中斷請(qǐng)求。INTE A:A口中斷允許,由PC4控制, INTE B:B口中斷允許,由PC2控制。A口的方式1輸入工作方式見圖9-6。 方式1輸出 如圖9-7所示。OBF*與ACK*構(gòu)成了一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),各信號(hào)的功能如下:OBF*:輸出緩沖器滿信號(hào),8255A給外設(shè)的聯(lián)絡(luò)信號(hào),外設(shè)可以將數(shù)據(jù)取走。ACK*:外設(shè)的響應(yīng)信號(hào),外設(shè)已將數(shù)據(jù)取走。INTR*:中斷請(qǐng)求信號(hào)

29、。表示該數(shù)據(jù)已被外設(shè)取走, 請(qǐng)求單片機(jī)繼續(xù)輸出下一個(gè)數(shù)據(jù)。INTE A:中斷允許,由PC6控制。INTE B:中斷允許,由PC2控制。B口的方式1輸出如圖9-8所示:3).方式2只有A口才能設(shè)定為方式2。圖9-9為方式2工作示意圖。在方式2下,PA7PA0為雙向I/O總線。 當(dāng)輸入時(shí),PA7PA0受STBA*和IBFA控制,其工作過(guò)程和方式1輸入時(shí)相同; 當(dāng)輸出時(shí),PA7PA0受OBFA*、ACKA*控制,其工作過(guò)程和方式1輸出時(shí)相同。4. MCS-51單片機(jī)和8255A的接口1).硬件接口電路 如圖9-10是8031擴(kuò)展1片8255A的電路圖。74LS373是地址鎖存器,P0.1、P0.0經(jīng)

30、74LS373與8255A的地址線A1、A0連接; P0.7經(jīng)74LS373與片選端相連,其他地址線懸空。2).端口地址確定圖9-10中8255A各端口寄存器的地址為:A口: FF7CHB口: FF7DHC口: FF7EH控制寄存器: FF7FH 3).軟件編程例 要求8255A工作在方式0,且A口作為輸入,B口、C口作為輸出,MOV A,#90H ;控制字送AMOVDPTR,#0FF7FH ;控制寄存器地址DPTRMOVX DPTR,A ;方式控制字控制寄存器MOVDPTR,#0FF7CH ;A口地址DPTRMOVX A,DPTR ;從A口讀數(shù)據(jù)MOV DPTR,#0FF7DH ;B口地址D

31、PTRMOV A,#DATA1 ;要輸出的數(shù)據(jù)DATA1AMOVX DPTR,A ;將DATA1送B口輸出MOV DPTR,#0FF7EH ;C口地址DPTRMOV A,#DATA2 ;DATA2AMOVX DPTR,A ;將數(shù)據(jù)DATA2送C口輸出例 對(duì)端口C的置位/復(fù)位。把PC5置位,控制字為0BH MOV R1,#7FH ;控制口地址R1 MOV A,#0BH ;控制字AMOVX R1,A ;控制字控制口,PC5=1把PC5復(fù)位,控制字為0AHMOV R1,#7FH ;控制口地址R1 MOV A,#0AH ;控制字AMOVX R1,A ;控制字控制口,PC5=08.4.3 用74LSTT

32、L電路擴(kuò)展并行I/O口 利用74LS273和74LS244,將P0口擴(kuò)展成簡(jiǎn)單的輸入、輸出口的電路。 74LS273輸出端接8個(gè)LED發(fā)光二極管,以顯示8個(gè)按鈕開關(guān)狀態(tài),某位低電平時(shí)二極管發(fā)光。 74LS244是緩沖驅(qū)動(dòng)器,擴(kuò)展輸入口,接8個(gè)按鈕開關(guān)。 74LS273和74LS244的工作受8031的P2.0、RD*、WR*三條控制線控制。電路的工作原理如下: 當(dāng)P2.0=0,WR*=0(RD*=)選中寫74LS273, 8031通過(guò)P0口輸出數(shù)據(jù)到74LS273,; 當(dāng)P2.0=0,RD*=0(WR*=1)時(shí)選中讀74LS244, 某開關(guān)按下時(shí)則對(duì)應(yīng)位輸入為“0”。輸出程序段:MOV A,#

33、data ;數(shù)據(jù)AMOV DPTR,#0FEFFH;I/O地址DPTRMOVX DPTR,A ;WR*為低,數(shù)據(jù)經(jīng)74LS273口輸出輸入程序段: MOV DPTR,#0FEFFH ;I/O地址DPTR MOVX A,DPTR;RD*為低,74LS244口 ;數(shù)據(jù)讀入內(nèi)部RAM例 編寫程序把按鈕開關(guān)狀態(tài)通過(guò)圖9-20中的發(fā)光二極管顯示出來(lái)。程序如下:DDIS:MOV DPTR,#0FEFFH ;輸入口地址DPTRLP:MOVX A,DPTR ;按鈕開關(guān)狀態(tài)讀入A中MOVX DPTR,A ;A中數(shù)據(jù)送輸出口SJMP LP ;反復(fù)連續(xù)執(zhí)行8.4.4. 用MCS-51的串行口擴(kuò)展并行口1 用74LS

34、165擴(kuò)展并行輸入口例 從16位擴(kuò)展口讀入5組數(shù)據(jù)(每組二個(gè)字節(jié)),并把它們轉(zhuǎn)存到內(nèi)部RAM 20H開始的單元中。MOV R7,#05H ;設(shè)置讀入組數(shù)MOV R0,#20H ;設(shè)置內(nèi)部RAM數(shù)據(jù)區(qū)首址START: CLR P1.0;并行置入數(shù)據(jù),S/L*=0 SETB P1.0;允許串行移位,S/L*=1 MOV R1,#02H;設(shè)置每組字節(jié)數(shù),即外擴(kuò) ;74LS165的個(gè)數(shù)RXDAT: MOV SCON,#10H ;設(shè)串口方式0,允許接收,啟動(dòng)MOV A,SBUF;讀入數(shù)據(jù)MOV R0,A;送至RAM緩沖區(qū)INC R0;指向下一個(gè)地址DJNZ R1,RXDATA ;未讀完一組數(shù)據(jù),繼續(xù)DJ

35、NZ R7,START;5組數(shù)據(jù)未讀完重新并行置入 ;對(duì)數(shù)據(jù)進(jìn)行處理WAIT: JNB RI,WAIT ;未接收完一幀,循環(huán)等待CLR RI ;清RI標(biāo)志,準(zhǔn)備下次接收2 用74LS164擴(kuò)展并行輸出口.74LS164:8位串入并出移位寄存器。 圖9-22是利用74LS164擴(kuò)展二個(gè)8位并行輸出口的接口電路。例 編寫將內(nèi)部RAM單元30H、31H的內(nèi)容經(jīng)串行口 由74LS164并行輸出子程序。START: MOV R7,#02H;設(shè)置要發(fā)送的字節(jié)個(gè)數(shù) MOV R0,#30H;設(shè)置地址指針 MOV SCON,#00H ;設(shè)置串行口為方式0SEND: MOV A,R0 MOV SBUF,A ;啟動(dòng)

36、串行口發(fā)送過(guò)程WAIT: JNB TI,WAIT ;1幀數(shù)據(jù)未發(fā)完,循環(huán)等待 CLR TI INC R0 ;取下一個(gè)數(shù) DJNZ R7,SEND ;未完,發(fā)完從子程序返回 RET8.5 串行標(biāo)準(zhǔn)接口的擴(kuò)展8.5.1 為什么要進(jìn)行串行口擴(kuò)展1、 單片機(jī)的串行口以TTL電平傳送數(shù)據(jù)信息,其抗干擾能力 較差,只能在幾米的范圍內(nèi)傳輸數(shù)據(jù)信息。2、為提高串行通訊的可靠性,增大串行通訊的距離,采用標(biāo)準(zhǔn)串行接口,重新定義信號(hào)電平,使“1”和“0”的信號(hào)電平之差增大,克服信號(hào)電平在傳輸線上的衰減,增強(qiáng)抗干擾能力,提高可靠性,實(shí)現(xiàn)較遠(yuǎn)距離的信息通信。標(biāo)準(zhǔn)串行接口:RS-232、RS-422A、RS-485等標(biāo)準(zhǔn)

37、。 1. 電氣特性(1)采取不平衡傳輸方式,是為點(diǎn)對(duì)點(diǎn)(即只用一對(duì)收、 發(fā)設(shè)備)通信而設(shè)計(jì)的;(2)采用負(fù)邏輯。(3)適用于傳送距離不大于15m,速度不高于20kb/s的本 地設(shè)備之間通信的場(chǎng)合。RS-232是由美國(guó)電子工業(yè)協(xié)會(huì)(EIA)于1962年制定的標(biāo)準(zhǔn)。8.5.2 RS-232C標(biāo)準(zhǔn)串行口定義數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間的串行接口標(biāo)準(zhǔn)。2、RS-232C的電平轉(zhuǎn)換RS-232C采用負(fù)邏輯,邏輯“1”:-5V -15V 邏輯“0”:+5V +15VMCS-51采用TTL正邏輯:邏輯“1”:3.6V 邏輯“0”:0.3V3、電平轉(zhuǎn)換常用芯片傳輸驅(qū)動(dòng)器MC1488,輸入

38、為TTL電平,輸出為RS-232C電平傳輸接收器MC1489,輸入為RS-232C電平,輸出為TTL電平管腳書中P2434、連接方式 2計(jì)算機(jī) 或終端 3 72 計(jì)算機(jī) 或終端7發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)接收數(shù)據(jù)接收數(shù)據(jù)信號(hào)地書中P244,8051與RS-232C硬件接口圖 MAX232芯片是Maxim公司生產(chǎn)的低功耗、單電源、雙RS-232發(fā)送/接收器,可實(shí)現(xiàn)TTL到EIA的雙向電平轉(zhuǎn)換。其引腳排列如下圖所示。 EIA RS-232C與單片機(jī)系統(tǒng)的接口 RS-232C與單片機(jī)系統(tǒng)的接口電路如圖下所示。MAX232外圍的4個(gè)電解電容Cl, C2, C3, C4,是內(nèi)部電源轉(zhuǎn)換所需電容,其取值均為1F/2

39、5V,C5為0.1F的去耦電容。MAX232的引腳T1IN, T2IN, R1OUT, R2OUT為接TTL/CMOS電平的引腳,引腳T1OUT, T2OUT, R1IN, R2IN為接RS-232C電平的引腳。 所以,T1IN, T2IN引腳應(yīng)與MCS-51的串行發(fā)送引腳TXD相連接。R1OUT, R2OUT應(yīng)與MCS-51的串行接收引腳RXD相連接。T1OUT, T2OUT應(yīng)與PC機(jī)的接收端RD相連接。R1IN, R2IN應(yīng)與PC的發(fā)送端TD相連接。 8.5.3 RS-422A標(biāo)準(zhǔn)串行口 1、主要技術(shù)指標(biāo)(1)全雙工方式;RS-232C是利用傳輸信號(hào)線與公共地之間的電壓差傳輸信號(hào);RS-4

40、22A利用信號(hào)導(dǎo)線之間的信號(hào)電壓差,其標(biāo)準(zhǔn)是雙端線傳送信號(hào)。(2)最大傳輸速度可達(dá)10Mbit/s,此時(shí)最大傳送距離為300M。 如果采用較低的傳輸速率,例如 90000波特率時(shí),最大距離可達(dá) 1200M。 2、常用芯片驅(qū)動(dòng)器75174:將串行輸出的TTL電平轉(zhuǎn)換成標(biāo)準(zhǔn)的RS-422A電平;接收器75175:將RS-422A接口信號(hào)還原成TTL電平信號(hào)3、接線方式書中P246,RS-422A接口電平轉(zhuǎn)換電路8.5.4 RS-485標(biāo)準(zhǔn)接口RS-485是RS-422A的變型,它與RS-422A的區(qū)別在于:RS-422A為全雙工,采用兩對(duì)平衡差分信號(hào)線;而RS-485為半雙工,采用一對(duì)平衡差分信號(hào)

41、線。RS-485對(duì)于多站互連是十分方便的。RS-485標(biāo)準(zhǔn)允許最多并聯(lián)32臺(tái)驅(qū)動(dòng)器和32臺(tái)接收器。1. 電氣特性 RS-485的信號(hào)傳輸采用兩線間的電壓來(lái)表示邏輯“1”和邏輯“0”,由于收發(fā)方需要兩根傳輸線。數(shù)據(jù)采用差分傳輸,所以干擾抑制性好。又因無(wú)接地問(wèn)題,所以傳輸距離可達(dá)1200米,傳輸速率可達(dá)10Mbit/s。總線兩端接匹配電阻(1000左右),驅(qū)動(dòng)器負(fù)載為54。驅(qū)動(dòng)器輸出電平在1.5V以下時(shí)為邏輯“1”,在1.5V以上時(shí)為邏輯“0”。接收器輸入電平在0.2V以下時(shí)為邏輯“1”,在0.2V以上為邏輯“0”。普通的PC機(jī)一般不帶RS-485接口,因此要使用RS-232/RS-485轉(zhuǎn)換器。

42、對(duì)于單片機(jī)可以通過(guò)芯片MAX485來(lái)完成TTL/RS-485的電平轉(zhuǎn)換。2. 電平轉(zhuǎn)換在RS-422A標(biāo)準(zhǔn)中所用的驅(qū)動(dòng)器和接收器芯片,在 RS-485中均可以使用。除了RS-422A電平轉(zhuǎn)換中所列舉的驅(qū)動(dòng)器和接收器外,還有收發(fā)器SN75176芯片,該芯片集成了一差分驅(qū)動(dòng)器和一差分接收器 ,如圖13-9所示。RS-485點(diǎn)對(duì)點(diǎn)遠(yuǎn)程通訊電路如圖13-10所示。圖13-16給出了其RS- 485雙機(jī)通訊接口電路。將1臺(tái)IBM-PC機(jī)和若干臺(tái)MCS-51單片機(jī)構(gòu)成的小型分布式測(cè)控系統(tǒng),如圖13-20所示。1臺(tái)PC機(jī)與數(shù)臺(tái)8031單片機(jī)進(jìn)行多機(jī)通訊的RS-485串行通訊接口電路如圖13-21所示。主控計(jì)

43、算機(jī)RS232串口RXDTXDRTSMAX232RS232-TTL轉(zhuǎn)換主控臺(tái)單片機(jī)TXDRXDSN75176DIRORE/DESN75176DIRORE/DESN75176DIRORE/DESN75176DIRORE/DEABABABAB學(xué)生機(jī)學(xué)生機(jī)學(xué)生機(jī) 學(xué)生機(jī)學(xué)生機(jī)學(xué)生機(jī) 學(xué)生機(jī)學(xué)生機(jī)學(xué)生機(jī) 學(xué)生機(jī)學(xué)生機(jī)學(xué)生機(jī) 主控計(jì)算機(jī)主控臺(tái)8.6 按鍵、鍵盤及其接口8.6.1 鍵輸入過(guò)程與軟件結(jié)構(gòu)圖 MCS51單片機(jī)鍵輸入過(guò)程 8.6.2 鍵盤接口和鍵輸入軟件中應(yīng)解決的幾個(gè)問(wèn)題 1消除鍵抖動(dòng)鍵穩(wěn)定鍵按下前沿抖動(dòng)前沿抖動(dòng)圖 鍵合斷時(shí)的電壓抖動(dòng)圖 消除鍵抖動(dòng)電路 2鍵編碼及鍵值 (1) 用鍵盤連接的I/O

44、線的二進(jìn)制組合表示鍵碼。例如用4行、4列線構(gòu)成的16個(gè)鍵的鍵盤,可使用一個(gè)8位I/O口線的高、低4位口線的二進(jìn)制數(shù)的組合表示16個(gè)鍵的編碼,如圖 (a)所示。各鍵相應(yīng)的鍵值為88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。這種鍵值編碼軟件較為簡(jiǎn)單直觀,但離散性大,不便安排散轉(zhuǎn)程序的入口地址。 (2) 順序排列鍵編碼。如圖 (b)所示。這種方法,鍵值的形成要根據(jù)I/O線的狀態(tài)作相應(yīng)處理。鍵碼可按下式形成:鍵碼=行首鍵碼+列號(hào)圖 行列式鍵盤的編碼與鍵值 (a) 二進(jìn)制組合編碼;(b) 順序排列編碼 3鍵盤的監(jiān)測(cè)方法 對(duì)

45、于計(jì)算機(jī)應(yīng)用系統(tǒng),鍵盤掃描只是CPU工作的一部分,鍵盤處理只是在有鍵按下時(shí)才有意義。對(duì)是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。8.6.3 獨(dú)立式按鍵1獨(dú)立式按鍵接口結(jié)構(gòu)圖 獨(dú)立式按鍵的接口電路示意圖中斷方式查詢方式 2獨(dú)立式按鍵的軟件結(jié)構(gòu) 下面是查詢方式的鍵盤程序。K0K7為功能程序入口地址標(biāo)號(hào),其地址間隔應(yīng)能容納JMP指令字節(jié),PROM0PROM7分別為每個(gè)按鍵的功能程序。設(shè)I/O為P1口。START:MOV A,#0FFH ; MOV P1,A ;置P1口為輸入狀態(tài) MOV A,P1 ;鍵狀態(tài)輸入 JNB ACC.0,K0 ;檢測(cè)0號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.1,K1

46、 ;檢測(cè)1號(hào)鍵是否按下,按下轉(zhuǎn)JNB ACC.2,K2 ;檢測(cè)2號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.3,K3 ;檢測(cè)3號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.4,K4 ;檢測(cè)4號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.5,K5 ;檢測(cè)5號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.6,K6 ;檢測(cè)6號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.7,K7 ;檢測(cè)7號(hào)鍵是否按下,按下轉(zhuǎn) JMP START ;無(wú)鍵按下返回,再順次檢測(cè)K0:AJMP PROM0K1:AJMP PROM1 K7:AJIMP PROM7;入口地址表 PROM0: ;0號(hào)鍵功能程序 JMP START ;0號(hào)鍵功能程序執(zhí)行完返回PROM1:

47、;0號(hào)鍵功能程序 JMP START ;1號(hào)鍵功能程序執(zhí)行完返回 ;7號(hào)鍵功能程序PROM7: JMP START ;7號(hào)鍵功能程序執(zhí)行完返回8.6.4 行列式鍵盤 行列式鍵盤又叫矩陣式鍵盤。用I/O口線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。例如44的行列結(jié)構(gòu)可組成16個(gè)鍵的鍵盤。因此,在按鍵數(shù)量較多時(shí),可以節(jié)省I/O口線。 1行列式鍵盤的接口及原理 行列式鍵盤的接口方法有許多,例如直接接口于單片機(jī)的I/O口上;利用擴(kuò)展的并行I/O接口;用串行口擴(kuò)展并行I/O口接口;利用一種可編程的鍵盤、顯示接口芯片8279進(jìn)行接口等。其中,利用擴(kuò)展的并行I/O接口方法方便靈活,在單片機(jī)應(yīng)用系統(tǒng)中比較常用。

48、圖 8155擴(kuò)展I/O口組成的行列式鍵盤 行線PC0-PC3輸入狀態(tài),列線PA0-PA7為輸出狀態(tài);按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端;讀取PC0-PC3的狀態(tài)可知道有無(wú)鍵按下;判斷哪一個(gè)鍵按下?由列線逐列置低電平后,檢查行輸入狀態(tài)確定。鍵盤進(jìn)行掃描:逐列檢查鍵盤狀態(tài)的過(guò)程 2、鍵盤的工作方式 編程掃描方式(查詢方式、定時(shí)掃描方式)和中斷掃描方式編程掃描方式:利用CPU的工作空余,調(diào)用鍵盤掃描子程序,響應(yīng)鍵輸入要求,在執(zhí)行鍵功能程序時(shí),CPU不再響應(yīng)鍵輸入要求。判斷鍵盤上有無(wú)鍵按下。PA口輸出全掃描字“0”時(shí),讀PC口狀態(tài),若PC0-PC3全為“1”,則鍵盤無(wú)鍵按下,若

49、不全為“1”,則有鍵按下。去除鍵的抖動(dòng)影響。在判斷有鍵按下后,軟件延時(shí)一段時(shí)間,一般為10ms左右,在判斷鍵盤狀態(tài),如果仍有鍵按下狀態(tài),則認(rèn)為有一個(gè)確定的鍵被按下,否則按鍵抖動(dòng)處理。 掃描鍵盤,得到按下的鍵值。鍵值用十六進(jìn)制數(shù)碼表示, X為任意值,而二進(jìn)制“0”所在位置恰為行列號(hào)。FEXEFDXEFBXEF7XEEFXEDFXEBFXE7FXEFEXDFDXDFBXDF7XDEFXDDFXDBFXD7FXDFEXBFDXBFBXBF7XBEFXBDFXBBFXB7FXBFEX7FDX7FBX7F7X7EFX7DFX7BFX77FX7 判別閉合的鍵是否釋放,等鍵釋放后進(jìn)行鍵功能操作。鍵掃描子程序

50、框圖圖 鍵盤掃描子程序流程框圖有鍵按下否調(diào)用6 ms延時(shí)子程序開 始有鍵按下否判斷閉合鍵,鍵碼入棧保存閉合鍵釋放否鍵碼 A返 回YYYNNN調(diào)用12 ms延時(shí)子程序 中斷工作方式 計(jì)算機(jī)應(yīng)用系統(tǒng)工作時(shí),并不經(jīng)常需要鍵輸入。但無(wú)論是查詢工作方式還是定時(shí)掃描工作方式,CPU經(jīng)常處于空掃描狀態(tài)。為了提高CPU的效率,可采用中斷工作方式。這種工作方式是當(dāng)鍵盤上有鍵按下時(shí),向CPU發(fā)一個(gè)中斷請(qǐng)求信號(hào),CPU響應(yīng)中斷后,在中斷服務(wù)程序中掃描鍵盤,執(zhí)行鍵功能程序。中斷服務(wù)程序中應(yīng)完成鍵識(shí)別、消除抖動(dòng)、排除多次執(zhí)行鍵功能操作等功能,可參考查詢工作方式鍵盤程序。8.7 顯示及顯示器接口8.7.1 LED顯示器結(jié)

51、構(gòu)與原理圖 七段顯示塊管腳與結(jié)構(gòu)圖 怎樣點(diǎn)亮共陰極LED顯示器 使共陰極字位控制端(COM)為低電平即可點(diǎn)亮共陰極LED顯示器;當(dāng)某發(fā)光二極管的陽(yáng)極為高電平時(shí),此二極管點(diǎn)亮。怎樣點(diǎn)亮共陽(yáng)極LED顯示器 使共陽(yáng)極字位控制端(COM)為高電平即可點(diǎn)亮共陽(yáng)極LED顯示器。當(dāng)某發(fā)光二極管的陰極為低電平時(shí),此二極管點(diǎn)亮。 Dp g fedcba字形字形碼 D7 D6 D5D4D3D2D1D0 0 0 11111103FH 0 0 0001101O6H 0 1 01101125BH 0 1 00111134FH 0 1 100110466H 0 1 10110156DH 0 1 11110167DH 0

52、0 000111707H 0 1 1 1111187FH 0 1 10111196FH 1 0 1111110.BFH 共陰極選碼表 七段LED的段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“滅”00HFFHA77H88HB7CH83H8.7.2 LED顯示器與顯示方式圖 N位LED顯示器 1LED靜態(tài)顯示

53、方式 LED工作在靜態(tài)顯示方式下,共陰極接地或共陽(yáng)極接+5 V;每一位的段選線(ag、dp)與一個(gè)8位并行I/O口相連,如圖所示。該圖表示了一個(gè)4位靜態(tài)LED顯示器電路,顯示器的每一位可獨(dú)立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。由于每一位由一個(gè)8位輸出口控制段選碼,故在同一時(shí)刻各位可以顯示不同的字符。 N位靜態(tài)顯示器要求有N8根I/O口線,占用I/O口線較多。故在位數(shù)較多時(shí)往往采用動(dòng)態(tài)顯示方式。2LED動(dòng)態(tài)顯示方式圖 8位LED動(dòng)態(tài)顯示器電路 所有位的段選線并接在一個(gè)I/O口上,共陰極端或共陽(yáng)極端分別由相應(yīng)的I/O口線進(jìn)行位控制。顯示方式:1、從段選線I/O口上

54、按位次分別送顯示字符的段選碼;2、在位選控制口也按相應(yīng)的次序分別選通相應(yīng)的顯示位;3、選通位就顯示相應(yīng)字符,并保持幾毫秒的延時(shí);4、未選通位不顯示字符(保持熄滅);5、分時(shí)輪流選通數(shù)碼管的公共端,使得各個(gè)數(shù)碼管輪流導(dǎo)通,循環(huán)進(jìn)行;6、由于數(shù)碼管的余輝及人眼的視覺(jué)殘留,所以感覺(jué)所有數(shù)碼管是同時(shí)點(diǎn)亮的。8.7.3 鍵盤、顯示器組合接口舉例1、利用單片機(jī)通過(guò)擴(kuò)展的8255,控制8255的PA,PB口,使6個(gè)LED分別顯示1,2,3,4,5,6控制寄存器地址:0C003H(/CS接Y6) PA口地址:0C000H PB口地址:0C001H PC口地址:0C002H工作方式控制字:80H(PA,PB輸出)MOVDPTR,#0C003HMOVA,#80HMOVXDPTR,A 各端口地址及8255的初始化LED動(dòng)態(tài)顯示方式(PA口控制“段”,PB口控制“位”)8位LED動(dòng)態(tài)顯示器電路 8255PA口PA7PA6PA5PA4PA3PA2PA1PA0顯示字型顯示MC1413A7A6A5A4A3A2A1LED共陰dpabcdefg110011110CFH11001001092H2字型表分析位控制:8255 MC1413 LED 輸出

溫馨提示

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

評(píng)論

0/150

提交評(píng)論