




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、作業(yè)講解3機器周期2us,定時分別為2ms和400us,計算初值:400us定時,X=256-400/2=56=38H,400us*5=2ms;每次定時中斷后,P1.1取反;定時中斷5次后P1.0取反。根據(jù)題意,利用定時器0,設置為定時方式3,利用TL0作為定時計數(shù)器 作業(yè)講解3初始化:設置參數(shù)和中斷入口地址設置ORG0000HAJMPMAINORG000BHAJMPINTT0MAIN:MOVR0,#05H;保存中斷次數(shù)MOVTMOD,#03H;T0方式3,定時器中斷MOVTL0,#38H;TL0定時400usSETBTR0;開啟定時器TL0CLRTR1SETBET0;開定時器TL0中斷SET
2、BEA;開啟中斷總開關(guān)SJMP$;中斷等待作業(yè)講解3中斷服務子程序:INTT0:MOVTL0,#38H;TL0定時400us重置CPLP1.1;400us定時到,p1.1輸出變反DJNZR0,RETURN;2ms定時未到,不作處理MOVR0,#05H;2ms定時到,重置5次CPLP1.0; 2ms定時到,p1.0輸出變反RETURN:RETIEND第8章 單片微機系統(tǒng)功能擴展8.1 系統(tǒng)擴展概述8.2 常用擴展器件簡介8.3 存儲器的擴展8.4 I/O擴展8.5 串行標準接口的擴展8.6 按鍵、鍵盤及其接口8.7 顯示及顯示器接口8.8 A/D轉(zhuǎn)換器接口8.9 D/A轉(zhuǎn)換器接口8.1 系統(tǒng)擴展
3、概述8.1.1 最小應用系統(tǒng)(a) 8051/8751最小系統(tǒng)結(jié)構(gòu)圖;(b) 8031最小系統(tǒng)結(jié)構(gòu)圖圖8.1 MCS51單片機最小化系統(tǒng) 8.1.2 單片機系統(tǒng)擴展的內(nèi)容與方法 1單片機的三總線結(jié)構(gòu) 圖8.2 MCS51單片機的三總線結(jié)構(gòu)形式 總線定義:主機與各外部擴展的部器件之間的連接線??偩€分為:地址總線,數(shù)據(jù)總線和控制總線8051單片機地址總線:P2.7P2.0(高八位),P0.7P0.0(低八位)。 數(shù)據(jù)總線:P0.7P0.0(與低八位地址總線復用)??刂瓶偩€信號主要有:ALE(低八位地址鎖存信號) /PSEN(外部程序存貯器讀信號) /RD(外部數(shù)據(jù)存貯器讀信號) /WR(外部數(shù)據(jù)存
4、貯器寫信號) 2系統(tǒng)擴展的內(nèi)容與方法 (1) 系統(tǒng)的擴展一般有以下幾方面的內(nèi)容: 外部程序存儲器的擴展。 外部數(shù)據(jù)存儲器的擴展。 輸入/輸出接口的擴展。 管理功能器件的擴展(如定時器/計數(shù)器、鍵盤/顯示器、中斷優(yōu)先級編碼器等)。 (2) 系統(tǒng)擴展的基本方法:一般來講,所有與計算機擴展連接芯片的外部引腳線都可以歸屬為三總線結(jié)構(gòu)。擴展連接的一般方法實際上是三總線對接。要保證單片機和擴展芯片協(xié)調(diào)一致地工作,即要共同滿足其工作時序。8.2 常用擴展器件簡介表8.1 常用的擴展器件表8.1 常用的擴展器件8.2.1 8D鎖存器74LS373圖8.3 74LS373結(jié)構(gòu)示意圖 圖8.4 74LS373用作
5、地址鎖存器 8.2.2 3-8譯碼器74LS138圖8.8 74LS138引腳圖 表8.2 74LS138的譯碼邏輯關(guān)系 8.3 存儲器的擴展8.3.1 存儲器擴展概述 1MCS-51單片機的擴展能力 根據(jù)MCS-51單片機總線寬度(16位),在片外可擴展的存儲器最大容量為64 KB,地址為0000HFFFFH。 片外可擴展的程序存儲器與數(shù)據(jù)存儲器分別為64 KB。 2擴展的一般方法 存儲器芯片與單片機擴展連接具有共同的規(guī)律。不論何種存儲器芯片,其引腳都呈三總線結(jié)構(gòu),與單片機連接都是三總線對接。 存儲器芯片的控制線:ALE(低八位地址鎖存信號) /PSEN(外部程序存貯器讀信號) /RD(外部
6、數(shù)據(jù)存貯器讀信號) /WR(外部數(shù)據(jù)存貯器寫信號) 存儲器芯片的數(shù)據(jù)線:數(shù)據(jù)線的數(shù)目由芯片的字長決定。8位字長的芯片數(shù)據(jù)線有8根。存儲器芯片的數(shù)據(jù)線與單片機的數(shù)據(jù)總線(P0.0P0.7)按由低位到高位的順序順次相接。 存儲器芯片的地址線:地址線的數(shù)目由芯片的容量決定。容量(Q)與地址線數(shù)目(N)滿足關(guān)系式:Q=2N。存儲器芯片的地址線與單片機的地址總線(A0A15)按由低位到高位的順序順次相接。8K存貯器:13根地址線A0A12 (如8K EPROM 2764, 8K RAM 6264)16K存貯器:14根地址線A0A13(如16K EPROM 27128)32K存貯器:15根地址總線A0A1
7、4(如32 EPROM27256)64K存貯器:16根地址總線A0A15(如64K EPROM 27512) 對存儲器芯片訪問時,片選信號必須有效,即選中存儲器芯片。片選信號線與單片機系統(tǒng)的譯碼輸出相接后,就決定了存儲器芯片的地址范圍。一般單片機的剩余高位地址線的譯碼及譯碼輸出與存儲器芯片的片選信號線的連接,這是存儲器擴展連接的關(guān)鍵問題。3、線選法片選信號的產(chǎn)生用P2.7 、P2.6、 P2.5作片選信號,其它十三位 (P2.4P2.0,P0.7P0.0)作為地址線。1)P2.7有效時的地址范圍2)P2.6有效時的地址范圍0110 0000 0000 0000 0111 1111 1111 1
8、111地址范圍為6000H7FFFH(8K范圍)1010 0000 0000 0000 1011 1111 1111 1111地址范圍為A000HBFFFH(8K范圍) )P2.5有效時的地址范圍 地址范圍為C000HDFFFH(8K范圍) 用P2.7,P2.6作片選信號,其它十四位(P2.5P2.0,P0.7P0.0) 作為地址線 1)P2.7有效時的地址范圍 地址范圍為4000H7FFFH(16K范圍 ) 2)P2.6有效時的地址范圍 地址范圍為8000HBFFFH(16K范圍)P2.7作片選信號,其它十五位(P2.6P2.0,P0.7P0.0) 作為地址線地址范圍為0000H7FFFH(
9、32K范圍) 4、譯碼法片選信號的產(chǎn)生 通常采用 P2.7 P2.6 P2.5 與三八譯碼器74LS138產(chǎn)生片選信號P2.7(C)P2.6(B)P2.5(A)片選信號 地址范圍 000/Y00000H1FFFH (8K)001/Y12000H3FFFH (8K)010/Y24000H5FFFH (8K)011/Y36000H7FFFH (8K)100/Y48000H9FFFH (8K)101/Y5A000HBFFFH (8K)110/Y6C000HDFFFH (8K)111/Y7E000HFFFFH (8K)8.3.2 程序存儲器的擴展8.3.2.1程序存貯器擴展概述1、 地址選擇多采用簡易
10、的線選法。2、 程序存儲器與數(shù)據(jù)存儲器共用地址總線與數(shù)據(jù)總線。3、 8051訪問外部程序存儲器時,所使用的控制信號有:ALE:低8位地址鎖存控制;/PSEN:外部程序存儲器“讀取”控制。 4、擴展電路芯片EPROM典型系列芯片:2716(2K*8)2732(4K*8)27256(32K*8)/OE:讀選通信號/PSEN/CE:片選信號線地址鎖存器:因為P0口是分時提供低8位地址和數(shù)據(jù)信息, 所以必須用鎖存器把地址鎖存住。 以下三個地址鎖存器管腳互不兼容。74LS373:帶三態(tài)緩沖輸出的8D鎖存器,鎖存控制端G直接接ALE8282:帶三態(tài)緩沖輸出的8D鎖存器,鎖存控制端STB直接接ALE74LS
11、273:帶清除端的8D鎖存器,鎖存控制端接ALE的反相器5、P2口即使沒有全部占用,但空余的幾根已不宜作通用I/O線。8.3.2.2 程序存儲器擴展舉例1、不用片外譯碼器的單片程序存儲器的擴展 例1 試用EPROM2764構(gòu)成8031的最小系統(tǒng)。 2764是8K8位程序存儲器,芯片的地址引腳線有13條,順次和單片機的地址線A0A12相接。由于不采用地址譯碼器,所以高3位地址線A13、A14、A15不接,故有23=8個重疊的8 KB地址空間。因只用一片2764,其片選信號CE可直接接地(常有效)。其連接電路如圖 所示。圖所示連接電路的8個重疊的地址范圍為000000000000000000011
12、11111111111,即0000H1FFFH;00100000000000000011111111111111,即2000H3FFFH;01000000000000000101111111111111,即4000H5FFFH;01100000000000000111111111111111,即6000H7FFFH;10000000000000001001111111111111,即8000H9FFFH;10100000000000001011111111111111,即A000HBFFFH;11000000000000001101111111111111,即C000HDFFFH;111000
13、00000000001111111111111111,即E000HFFFFH。2、 采用線選法的多片程序存儲器的擴展 例2 使用兩片2764擴展16 KB的程序存儲器,采用線選法選中芯片。擴展連接圖如圖4.12所示。以P2.7作為片選,當P2.7=0時,選中2764(1);當P2.7=1時,選中2764(2)。因兩根線(A13、A14)未用,故兩個芯片各有22=4個重疊的地址空間。它們分別為圖8.12 用兩片2764 EPROM的擴展連接圖 左片:000000000000000000001111111111111,即0000H1FFFH; 001000000000000000011111111
14、111111,即2000H3FFFH; 010000000000000000101111111111111,即4000H5FFFH; 011000000000000000111111111111111,即6000H7FFFH;右片:100000000000000001001111111111111,即8000H9FFFH; 101000000000000001011111111111111,即A000HBFFFH; 110000000000000001101111111111111,即C000HDFFFH; 111000000000000001111111111111111,即E000HFFF
15、FH。 3 采用地址譯碼器的多片程序存儲器的擴展 例3 要求用2764芯片擴展8031的片外程序存儲器,分配的地址范圍為0000H3FFFH。 本例要求的地址空間是唯一確定的,所以要采用全譯碼方法。由分配的地址范圍知:擴展的容量為16 KB,2764為8 K8位,故需要兩片。第1片的地址范圍應為0000H1FFFH;第2片的地址范圍應為2000H3FFFH。 由地址范圍確定譯碼器的連接。為此畫出譯碼關(guān)系圖如下:8.3.3 數(shù)據(jù)存儲器的擴展一、數(shù)據(jù)存貯器的擴展概述1、 數(shù)據(jù)存儲器的/OE、/WE信號線分別為輸出允許和寫允許 控制端,由單片機的/RD和/WR信號控制。2、 訪問片外擴展數(shù)據(jù)存儲器僅
16、可用下面4條寄存器間址指令.MOVXA,RiMOVXA,DPTRMOVXRi,AMOVXDPTR,A3、 典型系列芯片:2114(2K*4),6116(2K*8),6264(8K*8) 二數(shù)據(jù)存儲器芯片圖8.14 常用靜態(tài)RAM芯片的引腳圖圖8.15 iRAM芯片的引腳圖 三數(shù)據(jù)存儲器的擴展舉例例4 采用2114芯片在8031片外擴展1 KB數(shù)據(jù)存儲器。圖8.16 用兩片2114 EPROM的擴展連接圖 8.3.4 兼有片外程序存儲器和片外數(shù)據(jù)存儲器的擴展舉例舉例:片外擴展16K字節(jié)數(shù)據(jù)存儲器和16K字節(jié)程序存儲器1、線選法 2、譯碼法 分析兩種存儲器及各芯片的地址范圍 0100 0000 0
17、000 0000 -0101 1111 1111 1111IC0:程序存儲器空間:IC1:程序存儲器空間:0010 0000 0000 0000 -0011 1111 1111 11118.4 I/O 擴 展8.4.1 I/O口擴展概述 1MCS-51單片機I/O口擴展性能 單片機應用系統(tǒng)中的I/O口擴展方法與單片機的I/O口擴展性能有關(guān)。 (1) 在MCS-51單片機應用系統(tǒng)中,擴展的I/O口采取與數(shù)據(jù)存儲器相同的尋址方法。所有擴展的I/O口或通過擴展I/O口連接的外圍設備均與片外數(shù)據(jù)存儲器統(tǒng)一編址。任何一個擴展I/O口,根據(jù)地址線的選擇方式不同,占用一個片外RAM地址,而與外部程序存儲器無
18、關(guān)。 (2) 利用串行口的移位寄存器工作方式(方式0),也可擴展I/O口,這時所擴展的I/O口不占用片外RAM地址。 (3) 擴展 I/O口的硬件相依性。在單片機應用系統(tǒng)中,I/O口的擴展不是目的,而是為外部通道及設備提供一個輸入、輸出通道。因此,I/O口的擴展總是為了實現(xiàn)某一測控及管理功能而進行的。例如連接鍵盤、顯示器、驅(qū)動開關(guān)控制、開關(guān)量監(jiān)測等。這樣,在I/O口擴展時,必須考慮與之相連的外部硬件電路特性,如驅(qū)動功率、電平、干擾抑制及隔離等。 (4) 擴展I/O口的軟件相依性。根據(jù)選用不同的I/O口擴展芯片或外部設備時,擴展I/O口的操作方式不同,因而應用程序應有不同,如入口地址、初始化狀態(tài)
19、設置、工作方式選擇等。 2I/O口擴展方法 根據(jù)擴展并行I/O口時數(shù)據(jù)線的連接方式,I/O口擴展可分為總線擴展方法、串行口擴展方法。 (1) 總線擴展方法。擴展的并行I/O芯片,其并行數(shù)據(jù)輸入線取自MCS-51單片機的P0口。這種擴展方法只分時占用P0口,并不影響P0口與其它擴展芯片的連接操作,不會造成單片機硬件的額外開銷。因此,在MCS-51單片機應用系統(tǒng)的I/O擴展中廣泛采用這種擴展方法。 (2) 串行口擴展方法。這是MCS-51單片機串行口在方式0工作狀態(tài)下所提供的I/O口擴展功能。串行口方式0為移位寄存器工作方式,因此接上串入并出的移位寄存器可以擴展并行輸出口,而接上并入串出的移位寄存
20、器則可擴展并行輸入口。這種擴展方法只占用串行口,而且通過移位寄存器的級聯(lián)方法可以擴展多數(shù)量的并行I/O口。對于不使用串行口的應用系統(tǒng),可使用這種方法。但由于數(shù)據(jù)的輸入輸出采用串行移位的方法,傳輸速度較慢。 3I/O口擴展用芯片兩大類:通用I/O口芯片,選用Intel公司的芯片,其接口最為簡捷可靠,如8255、8155等。8255可編程通用并行接口 8155帶256字節(jié)RAM和14位定時/計數(shù)器的可編程并行接口TTL、CMOS鎖存器、緩沖器電路芯片,具有體積小、成本低、配置靈活的特點。一般在擴展8位輸入或輸出口時十分方便??梢宰鳛镮/O擴展的TTL芯片有: 74LS373、74LS277、74L
21、S244、74LS273、74LS367等。8255A芯片的內(nèi)部結(jié)構(gòu)圖 8.4.2 8255可編程并行I/O口 擴展1芯片引腳及其內(nèi)部結(jié)構(gòu) (1) 數(shù)據(jù)總線緩沖器:是一個8位的雙向三態(tài)驅(qū)動器,用于與單片機的數(shù)據(jù)總線相連。 (2) 讀/寫控制邏輯:根據(jù)單片機的地址信息(A1、A0)與控制信息(RD、WR、RESET),控制片內(nèi)數(shù)據(jù)、CPU控制字、外設狀態(tài)信息的傳送。 (3) 控制電路:根據(jù)CPU送來的控制字使所管I/O口按一定方式工作。對C口甚至可按位實現(xiàn)置位或復位??刂齐娐贩譃閮山M:A組控制電路控制A口及C口的高4位(PC7PC4),B組控制電路控制B口及C口的低4位(PC3PC0)。 (4)
22、 三個并行I/O端口:A口可編程為8位輸入,或8位輸出,或雙向傳送;B口可編程為8位輸入,或8位輸出,但不能雙向傳送;C口分為兩個4位口,用于輸入或輸出,也可用作A口、B口的狀態(tài)控制信號。 8255A芯片的引腳圖 表8.3 8255芯片的引腳信號說明續(xù)表 CS: 片選信號,低電平有效D0D7: 數(shù)據(jù)線/RD : 讀信號/WR : 寫信號A1 A0 : 地址線,通道選擇信號端,與/CS,/RD,/WR的信號端組合,用來控制PA、PB、PC三個通道口和控制字端口及其功能選擇。它通常與地址總線的最低位A0,A1相連。端口地址/CSA1A0選中端口000PA口001PB口010PC口011控制口(控制
23、寄存器)PA0PA7:I/O口(PA口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入鎖存功能。PB0PB7:I/O口(PB口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能。PC0PC7:I/O口(PC口)8位數(shù)據(jù)輸出鎖存/緩沖而輸入緩沖功能。作為輸入/輸出口可在“方式字”控制下分成兩個4位端口,作為PA口和PB口選通方式操作時的狀態(tài)控制信號,可作按位置位/復位操作。VCC :+5VGND:地28255的操作方式1) 讀/寫控制邏輯操作選擇 表8.4 8255的口操作狀態(tài) 組合功能表見書中P219,表8.72)三種基本操作方式方式0:基本輸入/輸出方式方式1:選通輸入/輸出方式方式2:雙向傳送方式(僅PA口有)3) 8
24、255A的編程控制字方式選擇控制字8255A的操作方式: 通過軟件編程將方式選擇控制字寫入8255A的控制字寄存器,選擇操作方式。 PC口按位置位/復位控制字 8255的PC通道中的任一位,均可通過軟件編程使指定的位單獨實現(xiàn)置位/復位操作??刂谱指袷揭妶Db 不論哪一種控制字均通過向控制口寄存器寫入來實現(xiàn)。通過寫入內(nèi)容的特征位來區(qū)分。3、8051配置8255的硬件接口書中P222確定端口地址設隨機地址信號為“0”。則: PA口地址:4000H PB口地址:4001H PC口地址:4002H 控制地址:4003H設隨機地址信號為“1。則: PA口地址:5FFCH PB口地址:5FFDH PC口地址
25、:5FFEH 控制地址:5FFFH 假設8255 PA口基本輸入,PB口基本輸出,PC7PC4基本輸出, PC3PC0基本輸入。則工作方式控制字為:1001 0001 (91H)MOV DPTR,#4003H;控制寄存器地址(或5FFFH)MOV A,#91H;控制字MOVX DPTR,A ;控制字寫入控制寄存器假設PC口用于位置位/復位方式,且要求PC5位置位,則8255的PC口置位/復位的控制字為00001011B=0BHMOV DPTR,#4003H;控制寄存器地址(5FFFH)MOV A,#0BH;控制字MOVX DPTR,A ;控制字寫入控制寄存器工作方式控制字與置位/復位控制字同用
26、一個地址“11”,8255根據(jù)控制字的特征位把它們分別送入對應的控制寄存器。 4、 8255A工作方式簡介PA口具有3種工作方式PB口具有兩種工作方式PC口具有方式0、位置位/復位和應答控制三種功能(1)工作方式0(基本的輸入/輸出方式)均可選定本方式。這種工作方式不需要任何選通信號。 A口、B口及C口的兩個4位口中任何一個端口都可以由程序設定為輸入或輸出。輸出信號具有鎖存功能,輸入信號PA口是鎖存的,PB口PC口為緩沖的 PC口的按位操作是一種控制操作而不是數(shù)據(jù)傳送。(2)工作方式1(選通的輸入或輸出)需要PC口作聯(lián)絡應答信號和中斷請求線 在這種工作方式下,A、B、C三個口分為兩組。A組包括
27、A口 和C口的高4位,A口可由編程設定為輸入口或輸出口,C口的高4位則用來作為A口輸入/輸出操作的控制和同步信號;B組包括B口和C口的低4位,B口可由編程設定為輸入口或輸出口,C口的低4位則用來作為B口輸入/輸出操作的控制和同步信號。 A口和B口的輸入數(shù)據(jù)或輸出數(shù)據(jù)都被鎖存。(3)工作方式2 只有PA口有此方式,因為需要占用5位PC口線作聯(lián)絡應答信號。 實質(zhì)上是方式1輸入和輸出兩種操作的組合。 例 試對連接圖中的8255A編程,使其各口工作于方式0,A口作輸入,B口作輸出,C口高4位作輸出,C口的低4位作輸入。 由方式選擇控制字的格式與 定義可確定出滿足要求的方式控制字應為91H(100100
28、01B)。對8255A編寫程序?qū)?1H寫入它的控制寄存器,初始化程序為MOV DPTR,#FF7FH ;DPTR作地址指針,指向控制口MOV A,91H MOVX DPTR,A 因為圖中擴展電路未使用高位地址線,所以端口地址也可使用8位。 例 試按上述連接圖中擴展電路,寫出自8255A的B口輸出單片機中R7內(nèi)容與自8255的A口輸入數(shù)據(jù)到單片機R3的程序。 使用8位地址,8255A的A、B、C口及控制口地址分別為7CH、7DH、7EH、7FH。則實現(xiàn)所要求功能的程序為MOV R0,#7FH ;R0作地址指針,指向控制口MOV A,#91HMOVX R0,A ;方式控制字送控制寄存器MOV R0
29、,#7DH ;R0指向B口MOV A,R7 ;MOVX R0,A ;R7的內(nèi)容輸出到B口DEC R0 ;使R0指向A口MOVX A,R0 ;從A口輸入數(shù)據(jù)到累加器AMOV R3,A ;把輸入數(shù)據(jù)送存到R3中8.5 按鍵、鍵盤及其接口8.5.1 鍵輸入過程與軟件結(jié)構(gòu)圖 MCS51單片機鍵輸入過程 8.5.2 鍵盤接口和鍵輸入軟件中應解決的幾個問題 1消除鍵抖動鍵穩(wěn)定鍵按下前沿抖動前沿抖動圖 鍵合斷時的電壓抖動圖 消除鍵抖動電路 2鍵編碼及鍵值 (1) 用鍵盤連接的I/O線的二進制組合表示鍵碼。例如用4行、4列線構(gòu)成的16個鍵的鍵盤,可使用一個8位I/O口線的高、低4位口線的二進制數(shù)的組合表示16
30、個鍵的編碼,如圖 (a)所示。各鍵相應的鍵值為88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。這種鍵值編碼軟件較為簡單直觀,但離散性大,不便安排散轉(zhuǎn)程序的入口地址。 (2) 順序排列鍵編碼。如圖 (b)所示。這種方法,鍵值的形成要根據(jù)I/O線的狀態(tài)作相應處理。鍵碼可按下式形成:鍵碼=行首鍵碼+列號圖 行列式鍵盤的編碼與鍵值 (a) 二進制組合編碼;(b) 順序排列編碼 3鍵盤的監(jiān)測方法 對于計算機應用系統(tǒng),鍵盤掃描只是CPU工作的一部分,鍵盤處理只是在有鍵按下時才有意義。對是否有鍵按下的信息輸入方式有中斷方式與查詢
31、方式兩種。8.5.3 獨立式按鍵1獨立式按鍵接口結(jié)構(gòu)圖 獨立式按鍵的接口電路示意圖中斷方式查詢方式 2獨立式按鍵的軟件結(jié)構(gòu) 下面是查詢方式的鍵盤程序。K0K7為功能程序入口地址標號,其地址間隔應能容納JMP指令字節(jié),PROM0PROM7分別為每個按鍵的功能程序。設I/O為P1口。START:MOV A,#0FFH ; MOV P1,A ;置P1口為輸入狀態(tài) MOV A,P1 ;鍵狀態(tài)輸入 JNB ACC.0,K0 ;檢測0號鍵是否按下,按下轉(zhuǎn) JNB ACC.1,K1 ;檢測1號鍵是否按下,按下轉(zhuǎn)JNB ACC.2,K2 ;檢測2號鍵是否按下,按下轉(zhuǎn) JNB ACC.3,K3 ;檢測3號鍵是否
32、按下,按下轉(zhuǎn) JNB ACC.4,K4 ;檢測4號鍵是否按下,按下轉(zhuǎn) JNB ACC.5,K5 ;檢測5號鍵是否按下,按下轉(zhuǎn) JNB ACC.6,K6 ;檢測6號鍵是否按下,按下轉(zhuǎn) JNB ACC.7,K7 ;檢測7號鍵是否按下,按下轉(zhuǎn) JMP START ;無鍵按下返回,再順次檢測K0:AJMP PROM0K1:AJMP PROM1 K7:AJIMP PROM7;入口地址表 PROM0: ;0號鍵功能程序 JMP START ;0號鍵功能程序執(zhí)行完返回PROM1: ;0號鍵功能程序 JMP START ;1號鍵功能程序執(zhí)行完返回 ;7號鍵功能程序PROM7: JMP START ;7號鍵功能
33、程序執(zhí)行完返回8.5.4 行列式鍵盤 行列式鍵盤又叫矩陣式鍵盤。用I/O口線組成行、列結(jié)構(gòu),按鍵設置在行列的交點上。例如44的行列結(jié)構(gòu)可組成16個鍵的鍵盤。因此,在按鍵數(shù)量較多時,可以節(jié)省I/O口線。 1行列式鍵盤的接口及原理 行列式鍵盤的接口方法有許多,例如直接接口于單片機的I/O口上;利用擴展的并行I/O接口;用串行口擴展并行I/O口接口;利用一種可編程的鍵盤、顯示接口芯片8279進行接口等。其中,利用擴展的并行I/O接口方法方便靈活,在單片機應用系統(tǒng)中比較常用。圖 8155擴展I/O口組成的行列式鍵盤 行線PC0-PC3輸入狀態(tài),列線PA0-PA7為輸出狀態(tài);按鍵設置在行、列線交點上,行
34、、列線分別連接到按鍵開關(guān)的兩端;讀取PC0-PC3的狀態(tài)可知道有無鍵按下;判斷哪一個鍵按下?由列線逐列置低電平后,檢查行輸入狀態(tài)確定。鍵盤進行掃描:逐列檢查鍵盤狀態(tài)的過程 2、鍵盤的工作方式 編程掃描方式(查詢方式、定時掃描方式)和中斷掃描方式編程掃描方式:利用CPU的工作空余,調(diào)用鍵盤掃描子程序,響應鍵輸入要求,在執(zhí)行鍵功能程序時,CPU不再響應鍵輸入要求。判斷鍵盤上有無鍵按下。PA口輸出全掃描字“0”時,讀PC口狀態(tài),若PC0-PC3全為“1”,則鍵盤無鍵按下,若不全為“1”,則有鍵按下。去除鍵的抖動影響。在判斷有鍵按下后,軟件延時一段時間,一般為10ms左右,在判斷鍵盤狀態(tài),如果仍有鍵按
35、下狀態(tài),則認為有一個確定的鍵被按下,否則按鍵抖動處理。 掃描鍵盤,得到按下的鍵值。鍵值用十六進制數(shù)碼表示, X為任意值,而二進制“0”所在位置恰為行列號。FEXEFDXEFBXEF7XEEFXEDFXEBFXE7FXEFEXDFDXDFBXDF7XDEFXDDFXDBFXD7FXDFEXBFDXBFBXBF7XBEFXBDFXBBFXB7FXBFEX7FDX7FBX7F7X7EFX7DFX7BFX77FX7 判別閉合的鍵是否釋放,等鍵釋放后進行鍵功能操作。鍵掃描子程序框圖圖 鍵盤掃描子程序流程框圖有鍵按下否調(diào)用6 ms延時子程序開 始有鍵按下否判斷閉合鍵,鍵碼入棧保存閉合鍵釋放否鍵碼 A返 回
36、YYYNNN調(diào)用12 ms延時子程序 中斷工作方式 計算機應用系統(tǒng)工作時,并不經(jīng)常需要鍵輸入。但無論是查詢工作方式還是定時掃描工作方式,CPU經(jīng)常處于空掃描狀態(tài)。為了提高CPU的效率,可采用中斷工作方式。這種工作方式是當鍵盤上有鍵按下時,向CPU發(fā)一個中斷請求信號,CPU響應中斷后,在中斷服務程序中掃描鍵盤,執(zhí)行鍵功能程序。中斷服務程序中應完成鍵識別、消除抖動、排除多次執(zhí)行鍵功能操作等功能,可參考查詢工作方式鍵盤程序。8.6 顯示及顯示器接口8.6.1 LED顯示器結(jié)構(gòu)與原理圖 七段顯示塊管腳與結(jié)構(gòu)圖 怎樣點亮共陰極LED顯示器 使共陰極字位控制端(COM)為低電平即可點亮共陰極LED顯示器;
37、當某發(fā)光二極管的陽極為高電平時,此二極管點亮。怎樣點亮共陽極LED顯示器 使共陽極字位控制端(COM)為高電平即可點亮共陽極LED顯示器。當某發(fā)光二極管的陰極為低電平時,此二極管點亮。 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 0 000111707H 0 1 1 1111187FH 0 1 10111196FH 1 0 1111110.BFH 共陰極選
38、碼表 七段LED的段選碼顯示字符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“滅”00HFFHA77H88HB7CH83H8.6.2 LED顯示器與顯示方式圖 N位LED顯示器 1LED靜態(tài)顯示方式 LED工作在靜態(tài)顯示方式下,共陰極接地或共陽極接+5 V;每一位的段選線(ag、dp)與一個8位并行I/O口相連,如圖所示
39、。該圖表示了一個4位靜態(tài)LED顯示器電路,顯示器的每一位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應的顯示字符。由于每一位由一個8位輸出口控制段選碼,故在同一時刻各位可以顯示不同的字符。 N位靜態(tài)顯示器要求有N8根I/O口線,占用I/O口線較多。故在位數(shù)較多時往往采用動態(tài)顯示方式。2LED動態(tài)顯示方式圖 8位LED動態(tài)顯示器電路 所有位的段選線并接在一個I/O口上,共陰極端或共陽極端分別由相應的I/O口線進行位控制。顯示方式:1、從段選線I/O口上按位次分別送顯示字符的段選碼;2、在位選控制口也按相應的次序分別選通相應的顯示位;3、選通位就顯示相應字符,并保持幾毫秒的延時;
40、4、未選通位不顯示字符(保持熄滅);5、分時輪流選通數(shù)碼管的公共端,使得各個數(shù)碼管輪流導通,循環(huán)進行;6、由于數(shù)碼管的余輝及人眼的視覺殘留,所以感覺所有數(shù)碼管是同時點亮的。8.6.3 鍵盤、顯示器組合接口實驗舉例1、利用單片機通過擴展的8255,控制8255的PA,PB口,使6個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動態(tài)顯示方式(PA
41、口控制“段”,PB口控制“位”)8位LED動態(tài)顯示器電路 8255PA口PA7PA6PA5PA4PA3PA2PA1PA0顯示字型顯示MC1413A7A6A5A4A3A2A1LED共陰dpabcdefg110011110CFH11001001092H2字型表分析位控制:8255 MC1413 LED 輸出PB0A7 第1位的公共端(/PB0) 01HPB1A6 第2位的公共端(/PB1) 02HPB2A5 第3位的公共端(/PB2) 04HPB3A4 第4位的公共端(/PB3) 08HPB4A3 第5位的公共端(/PB4) 10HPB5A2 第6位的公共端(/PB5) 20HORG0000HLJ
42、MPMAINORG0100HMAIN:MOVDPTR,#0C003H;8255初始化,/CS接Y6 MOVA,#80H MOVXDPTR,ASTART: MOV DPTR,0C000H;控制PA,PB口第一個LED顯示1 MOVA,#0CFH MOVXDPTR,A MOVDPTR,#0C001H MOVA,#01H MOVXDPTR,A LCALLDELY MOVDPTR,0C000H ;控制PA,PB口第二個LED顯示2 MOVA,#092H MOVXDPTR,A MOVDPTR,#0C001H MOVA,#02H MOVXDPTR,A LCALLDELYMOVDPTR,0C000H ;控制
43、PA,PB口第六個LED顯示6MOVA,#0A0HMOVXDPTR,AMOVDPTR,#0C001HMOVA,#20HMOVXDPTR,A LCALLDELYLJMPMAINDELY:MOVR0,#2DELY1:MOVR1,#251DELY2:DJNZR1,DELY2DJNZR0,DELY1ERTEND實驗舉例2、利用單片機通過擴展的8255,控制8255的PA,PB,PC口,使鍵盤控制前2個LED,LED則顯示出所按下的鍵盤是哪一行哪一列。PC7 PC6 PC5 PC4PC0PC1PC2PC3+5VPC高4位為列控制,作為輸出,PC低4位為行控制,作為輸入。方式控制字:81H1、查詢是否有鍵
44、按下: 輸出7FH,PC7為0時,讀入PC低4位的值,有0說明有鍵按下。實際處理時,將讀入的數(shù)取反,則全0無鍵按下,有1則有鍵按下,同時直接將值作為偏移量查詢顯示字型表。2、第一數(shù)碼管顯示“行”,第二數(shù)碼管顯示“列”。ORG0000HLJMP0100HORG0100HMOVR0,#00H;R0存放行值(查表偏移量)MOVR3,#80H;R3存放列值(初始為0字型)MAIN:MOVDPTR,#0C003HMOVA,#81HMOVXDPTR,ALCALLXIANSLCALLKSMOVA,R0JZMAINLCALLXIANSLJMPMAINXIANS:;顯示按鍵的行、列RETKS:;查詢是否有鍵按下
45、RETDELY:;延時,消除抖動RETTAB:DB80h,4fh,12h,00h,06h,00h,00h,00h,4chENDKS:MOVDPTR,#0C002H;選中PC口MOVA,#7FHMOVXDPTR,AMOVXA,DPTRCPLAANLA,#0FHJZKS2;A全為0,說明無鍵按下。MOVR0,A;有鍵按下,讀入R0,R3,R0存放行偏移量MOVR3,#4FH;R3存放顯示1.的字型,表示第1列有鍵按下。LJMPRS1KS2:MOVDPTR,#0C002H;選中PC口MOVA,#0BFHMOVXDPTR,AMOVXA,DPTRCPLAANLA,#0FHJZKS2MOVR0,AMOVR
46、3,#12H ;R3存放顯示2.的字型,表示第2列有鍵按下LJMPRS1KS3:KS4:KS1:RETXIANS: MOVA,R0;查表,第一數(shù)碼管顯示行MOVDPTR,#TABMOVCA,A+DPTRMOVDPTR,0C000H ;MOVXDPTR,AMOVDPTR,#0C001HMOVA,#01HMOVXDPTR,A LCALLDELYMOVA,R3;第二數(shù)碼管顯示列MOVDPTR,0C000H ;MOVXDPTR,AMOVDPTR,#0C001HMOVA,#02HMOVXDPTR,A LCALLDELYRET8.7 串行標準接口的擴展8.7.1 為什么要進行串行口擴展1、 單片機的串行口以TTL電平傳送數(shù)據(jù)信息,其抗干擾能力 較差,只能在幾米的范圍內(nèi)傳輸數(shù)據(jù)信息。2、RS-232C等標準串行接口,重新定義信號電平,使“1”和“0”的 信號電平之差增大,克服信號電平在傳輸線上的衰減,增強 抗干擾能力,提高可靠性,實現(xiàn)較遠距離的信息通信。 8.7.2 RS-232C標準串行口1、主要技術(shù)指標適用于設備之間的通信距離不大于15米,傳輸速率最大為20KB/S。 2、RS-232C的電平轉(zhuǎn)換RS-232C采用負
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 狼的名師教學課件
- 小學生語文課前預習有效性的研究
- 山坡羊教學課件
- 【課件】三角形全等的判定(第1課時SAS)+課件-2025-2026學年人教版八年級數(shù)學上冊
- 散學班會課件下載
- 罐頭玩偶教學課件
- 教學課件制作注意
- 【十堰】2025年湖北十堰市丹江口市事業(yè)單位招聘393人筆試歷年典型考題及考點剖析附帶答案詳解
- 日本祭典活動方案
- 春季脫毛活動方案
- 2025年湖北省中考英語試題(附答案)
- 2024年河南省豫地科技集團有限公司招聘真題
- 2024山西杏花村汾酒集團有限責任公司人才招聘筆試參考題庫附帶答案詳解
- GA 1809-2022城市供水系統(tǒng)反恐怖防范要求
- 中醫(yī)內(nèi)科學癭病
- 醫(yī)療技術(shù)分級授權(quán)與再授權(quán)申請表
- 項目管理九大過程英漢對照表
- 拖欠工資起訴狀模版
- 醫(yī)療技術(shù)臨床應用管理信息系統(tǒng)操作手冊
- 北師大版小學數(shù)學四年級下冊《優(yōu)化》同步練習附答案
- 商業(yè)銀行風險預警系統(tǒng)整體架構(gòu)設計
評論
0/150
提交評論