




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、L/O/G/OL/O/G/O作業(yè)講解作業(yè)講解3機(jī)器周期機(jī)器周期2us,定時(shí)分別為,定時(shí)分別為2ms和和400us,計(jì)算初值:計(jì)算初值:400us定時(shí),定時(shí),X=256-400/2=56=38H,400us*5=2ms;每次定時(shí)中斷后,每次定時(shí)中斷后,P1.1取反;定時(shí)中斷取反;定時(shí)中斷5次后次后P1.0取反取反。根據(jù)題意,利用定時(shí)器根據(jù)題意,利用定時(shí)器0,設(shè)置為定時(shí)方式,設(shè)置為定時(shí)方式3,利用,利用TL0作為定時(shí)計(jì)數(shù)器作為定時(shí)計(jì)數(shù)器 L/O/G/O作業(yè)講解作業(yè)講解3初始化:設(shè)置參數(shù)和中斷入口地址設(shè)置初始化:設(shè)置參數(shù)和中斷入口地址設(shè)置ORG 0000HAJMP MAINORG 000BHAJMP
2、 INTT0MAIN:MOVR0,#05H;保存中斷次數(shù);保存中斷次數(shù)MOV TMOD,#03H ;T0方式方式3,定時(shí)器中斷,定時(shí)器中斷MOV TL0,#38H;TL0定時(shí)定時(shí)400usSETB TR0;開(kāi)啟定時(shí)器開(kāi)啟定時(shí)器TL0CLRTR1SETB ET0;開(kāi)定時(shí)器開(kāi)定時(shí)器TL0中斷中斷SETB EA;開(kāi)啟中斷總開(kāi)關(guān)開(kāi)啟中斷總開(kāi)關(guān)SJMP $;中斷等待中斷等待L/O/G/O作業(yè)講解作業(yè)講解3中斷服務(wù)子程序:中斷服務(wù)子程序:INTT0:MOV TL0,#38H;TL0定時(shí)定時(shí)400us重置重置CPLP1.1;400us定時(shí)到,定時(shí)到,p1.1輸出變反輸出變反DJNZ R0,RETURN ;2
3、ms定時(shí)未到,不作處理定時(shí)未到,不作處理MOV R0,#05H;2ms定時(shí)到,重置定時(shí)到,重置5次次CPLP1.0; 2ms定時(shí)到,定時(shí)到,p1.0輸出變反輸出變反RETURN:RETIEND第第8 8章章 單片微機(jī)系統(tǒng)功能擴(kuò)展單片微機(jī)系統(tǒng)功能擴(kuò)展8.1 系統(tǒng)擴(kuò)展概述系統(tǒng)擴(kuò)展概述8.2 常用擴(kuò)展器件簡(jiǎn)介常用擴(kuò)展器件簡(jiǎn)介8.3 存儲(chǔ)器的擴(kuò)展存儲(chǔ)器的擴(kuò)展8.4 I/O擴(kuò)展擴(kuò)展8.5 串行標(biāo)準(zhǔn)接口的擴(kuò)展串行標(biāo)準(zhǔn)接口的擴(kuò)展8.6 按鍵、鍵盤(pán)及其接口按鍵、鍵盤(pán)及其接口8.7 顯示及顯示器接口顯示及顯示器接口8.8 A/D轉(zhuǎn)換器接口轉(zhuǎn)換器接口8.9 D/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口8.1 系統(tǒng)擴(kuò)展概述系統(tǒng)擴(kuò)展概
4、述8.1.1 最小應(yīng)用系統(tǒng)最小應(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)容與方法單片機(jī)系統(tǒng)擴(kuò)展的內(nèi)容與方法 1單片機(jī)的三總線結(jié)構(gòu)單片機(jī)的三總線結(jié)構(gòu) 圖8.2 MCS51單片機(jī)的三總線結(jié)構(gòu)形式 總線定義:主機(jī)與各外部擴(kuò)展的部器件之間的連接線總線定義:主機(jī)與各外部擴(kuò)展的部器件之間的連接線??偩€分為:地址總線,數(shù)據(jù)總線和控制總線總線分為:地址總線,數(shù)據(jù)總線和控制總線80518051單片機(jī)單片機(jī)地址總線:地址總線:P2.7P2.7P2.0P2.0(高八位),(高八位),P0.7P0.7P0.0P0
5、.0(低八位)。(低八位)。 數(shù)據(jù)總線:數(shù)據(jù)總線:P0.7P0.7P0.0P0.0(與低八位地址總線復(fù)用)。(與低八位地址總線復(fù)用)??刂瓶偩€信號(hào)主要有:控制總線信號(hào)主要有:ALEALE(低八位地址鎖存信號(hào))(低八位地址鎖存信號(hào)) /PSEN/PSEN(外部程序存貯器讀信號(hào))(外部程序存貯器讀信號(hào)) /RD/RD(外部數(shù)據(jù)存貯器讀信號(hào))(外部數(shù)據(jù)存貯器讀信號(hào)) /WR/WR(外部數(shù)據(jù)存貯器寫(xiě)信號(hào))(外部數(shù)據(jù)存貯器寫(xiě)信號(hào)) 2系統(tǒng)擴(kuò)展的內(nèi)容與方法系統(tǒng)擴(kuò)展的內(nèi)容與方法 (1) 系統(tǒng)的擴(kuò)展一般有以下幾方面的內(nèi)容:系統(tǒng)的擴(kuò)展一般有以下幾方面的內(nèi)容: 外部程序存儲(chǔ)器的擴(kuò)展。外部程序存儲(chǔ)器的擴(kuò)展。 外部數(shù)
6、據(jù)存儲(chǔ)器的擴(kuò)展。外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展。 輸入輸入/輸出接口的擴(kuò)展。輸出接口的擴(kuò)展。 管理功能器件的擴(kuò)展管理功能器件的擴(kuò)展(如定時(shí)器如定時(shí)器/計(jì)數(shù)器、鍵盤(pán)計(jì)數(shù)器、鍵盤(pán)/顯示器、顯示器、中斷優(yōu)先級(jí)編碼器等中斷優(yōu)先級(jí)編碼器等)。 (2) 系統(tǒng)擴(kuò)展的基本方法:一般來(lái)講,所有與計(jì)算機(jī)擴(kuò)展連系統(tǒng)擴(kuò)展的基本方法:一般來(lái)講,所有與計(jì)算機(jī)擴(kuò)展連接芯片的外部引腳線都可以歸屬為三總線結(jié)構(gòu)。擴(kuò)展連接的一接芯片的外部引腳線都可以歸屬為三總線結(jié)構(gòu)。擴(kuò)展連接的一般方法實(shí)際上是三總線對(duì)接。要保證單片機(jī)和擴(kuò)展芯片協(xié)調(diào)一般方法實(shí)際上是三總線對(duì)接。要保證單片機(jī)和擴(kuò)展芯片協(xié)調(diào)一致地工作,即要共同滿足其工作時(shí)序。致地工作,即要共同滿足
7、其工作時(shí)序。8.2 常用擴(kuò)展器件簡(jiǎn)介常用擴(kuò)展器件簡(jiǎn)介表表8.1 常用的擴(kuò)展器件常用的擴(kuò)展器件表表8.1 常用的擴(kuò)展器件常用的擴(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ò)展存儲(chǔ)器的擴(kuò)展8.3.1 存儲(chǔ)器擴(kuò)展概述存儲(chǔ)器擴(kuò)展概述 1MCS-51單片機(jī)的擴(kuò)展能力單片機(jī)的擴(kuò)展能力 根據(jù)根據(jù)MCS-51單片機(jī)總線寬度單片機(jī)總線寬度(16位位),在片外可擴(kuò)展的存儲(chǔ)器最,在片外可擴(kuò)展的存儲(chǔ)器最大容
8、量為大容量為64 KB,地址為,地址為0000HFFFFH。 片外可擴(kuò)展的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分別為片外可擴(kuò)展的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分別為64 KB。 2擴(kuò)展的一般方法擴(kuò)展的一般方法 存儲(chǔ)器芯片與單片機(jī)擴(kuò)展連接具有共同的規(guī)律。不論何種存儲(chǔ)器芯片與單片機(jī)擴(kuò)展連接具有共同的規(guī)律。不論何種存儲(chǔ)器芯片,其引腳都呈三總線結(jié)構(gòu),與單片機(jī)連接都是三總存儲(chǔ)器芯片,其引腳都呈三總線結(jié)構(gòu),與單片機(jī)連接都是三總線對(duì)接。線對(duì)接。 存儲(chǔ)器芯片的控制線:存儲(chǔ)器芯片的控制線:ALE(低八位地址鎖存信號(hào))(低八位地址鎖存信號(hào)) /PSEN(外部程序存貯器讀信號(hào))(外部程序存貯器讀信號(hào)) /RD(外部數(shù)據(jù)存貯器讀信號(hào))(外
9、部數(shù)據(jù)存貯器讀信號(hào)) /WR(外部數(shù)據(jù)存貯器寫(xiě)信號(hào))(外部數(shù)據(jù)存貯器寫(xiě)信號(hào)) 存儲(chǔ)器芯片的數(shù)據(jù)線:數(shù)據(jù)線的數(shù)目由芯片的字長(zhǎng)決定。存儲(chǔ)器芯片的數(shù)據(jù)線:數(shù)據(jù)線的數(shù)目由芯片的字長(zhǎng)決定。8位字長(zhǎng)的芯片數(shù)據(jù)線有位字長(zhǎng)的芯片數(shù)據(jù)線有8根。存儲(chǔ)器芯片的數(shù)據(jù)線與單片機(jī)的數(shù)根。存儲(chǔ)器芯片的數(shù)據(jù)線與單片機(jī)的數(shù)據(jù)總線據(jù)總線(P0.0P0.7)按由低位到高位的順序順次相接。按由低位到高位的順序順次相接。 存儲(chǔ)器芯片的地址線:地址線的數(shù)目由芯片的容量決定。容存儲(chǔ)器芯片的地址線:地址線的數(shù)目由芯片的容量決定。容量量(Q)與地址線數(shù)目與地址線數(shù)目(N)滿足關(guān)系式:滿足關(guān)系式:Q=2N。存儲(chǔ)器芯片的地址線。存儲(chǔ)器芯片的地址線
10、與單片機(jī)的地址總線與單片機(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í),對(duì)存儲(chǔ)器芯片訪問(wèn)時(shí),片選信號(hào)片選信號(hào)必須有效,必須有效,即選中存儲(chǔ)器芯片。
11、片選信號(hào)線與單片機(jī)系統(tǒng)即選中存儲(chǔ)器芯片。片選信號(hào)線與單片機(jī)系統(tǒng)的譯碼輸出相接后,就決定了存儲(chǔ)器芯片的地的譯碼輸出相接后,就決定了存儲(chǔ)器芯片的地址范圍。一般單片機(jī)的剩余高位地址線的譯碼址范圍。一般單片機(jī)的剩余高位地址線的譯碼及譯碼輸出與存儲(chǔ)器芯片的片選信號(hào)線的連接及譯碼輸出與存儲(chǔ)器芯片的片選信號(hào)線的連接,這是存儲(chǔ)器擴(kuò)展連接的關(guān)鍵問(wèn)題。這是存儲(chǔ)器擴(kuò)展連接的關(guān)鍵問(wèn)題。3 3、線選法片選信號(hào)的產(chǎn)生、線選法片選信號(hào)的產(chǎn)生用用P2.7 P2.7 、P2.6P2.6、 P2.5P2.5作片選信號(hào),其它十三位作片選信號(hào),其它十三位 (P2.4P2.0P2.4P2.0,P0.7P0.0P0.7P0.0)作為地址
12、線。)作為地址線。1 1)P2.7P2.7有效時(shí)的地址范圍有效時(shí)的地址范圍2)P2.6P2.6有效時(shí)的地址范圍有效時(shí)的地址范圍0110 0000 0000 0000 0111 1111 1111 1111地址范圍為地址范圍為6000H7FFFH(8K范圍)范圍)1010 0000 0000 0000 1011 1111 1111 1111地址范圍為地址范圍為A000HBFFFH(8K范圍)范圍) )P2.5P2.5有效時(shí)的地址范圍有效時(shí)的地址范圍 地址范圍為地址范圍為C000HDFFFHC000HDFFFH(8K8K范圍)范圍) 用用P2.7P2.7,P2.6P2.6作片選信號(hào),其它十四位(作
13、片選信號(hào),其它十四位(P2.5P2.0P2.5P2.0,P0.7P0.0P0.7P0.0) 作為地址線作為地址線 1 1)P2.7P2.7有效時(shí)的地址范圍有效時(shí)的地址范圍 地址范圍為地址范圍為4000H7FFFH4000H7FFFH(16K16K范圍范圍 ) 2 2)P2.6P2.6有效時(shí)的地址范圍有效時(shí)的地址范圍 地址范圍為地址范圍為8000HBFFFH8000HBFFFH(16K16K范圍)范圍)P2.7P2.7作片選信號(hào),其它十五位(作片選信號(hào),其它十五位(P2.6P2.0P2.6P2.0,P0.7P0.0P0.7P0.0) 作為地址線作為地址線地址范圍為地址范圍為0000H7FFFH0
14、000H7FFFH(32K32K范圍)范圍) 4 4、譯碼法片選信號(hào)的產(chǎn)生、譯碼法片選信號(hào)的產(chǎn)生 通常采用通常采用 P2.7 P2.6 P2.5 P2.7 P2.6 P2.5 與三與三 八譯碼器八譯碼器74LS13874LS138產(chǎn)生片選信號(hào)產(chǎn)生片選信號(hào)P2.7(C)P2.6(B)P2.5(A)P2.7(C)P2.6(B)P2.5(A)片選信號(hào)片選信號(hào) 地址范圍地址范圍 0 00 00 0/Y0/Y00000H1FFFH (8K)0000H1FFFH (8K)0 00 01 1/Y1/Y12000H3FFFH (8K)2000H3FFFH (8K)0 01 10 0/Y2/Y24000H5FF
15、FH (8K)4000H5FFFH (8K)0 01 11 1/Y3/Y36000H7FFFH (8K)6000H7FFFH (8K)1 10 00 0/Y4/Y48000H9FFFH (8K)8000H9FFFH (8K)1 10 01 1/Y5/Y5A000HBFFFH (8K)A000HBFFFH (8K)1 11 10 0/Y6/Y6C000HDFFFH (8K)C000HDFFFH (8K)1 11 11 1/Y7/Y7E000HFFFFH (8K)E000HFFFFH (8K)8.3.2 程序存儲(chǔ)器的擴(kuò)展程序存儲(chǔ)器的擴(kuò)展8.3.2.1程序存貯器擴(kuò)展概述程序存貯器擴(kuò)展概述1 1、 地
16、址選擇多采用簡(jiǎn)易的線選法。地址選擇多采用簡(jiǎn)易的線選法。2 2、 程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器共用地址總線與數(shù)據(jù)總線程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器共用地址總線與數(shù)據(jù)總線。3 3、 80518051訪問(wèn)外部程序存儲(chǔ)器時(shí),所使用的控制信號(hào)有:訪問(wèn)外部程序存儲(chǔ)器時(shí),所使用的控制信號(hào)有:ALEALE:低:低8 8位地址鎖存控制;位地址鎖存控制;/PSEN/PSEN:外部程序存儲(chǔ)器:外部程序存儲(chǔ)器“讀取讀取”控制。控制。 4 4、擴(kuò)展電路芯片擴(kuò)展電路芯片EPROMEPROM典型系列芯片:典型系列芯片:27162716(2K2K* *8 8)27322732(4K4K* *8 8)2725627256(32K32K* *
17、8 8)/OE/OE:讀選通信號(hào):讀選通信號(hào)/PSEN/PSEN/CE/CE:片選信號(hào)線:片選信號(hào)線地址鎖存器:因?yàn)榈刂锋i存器:因?yàn)镻0P0口是分時(shí)提供低口是分時(shí)提供低8 8位地址和數(shù)據(jù)信息,位地址和數(shù)據(jù)信息, 所以必須用鎖存器把地址鎖存住。所以必須用鎖存器把地址鎖存住。 以下三個(gè)地址鎖存器管腳互不兼容。以下三個(gè)地址鎖存器管腳互不兼容。74LS37374LS373:帶三態(tài)緩沖輸出的:帶三態(tài)緩沖輸出的8D8D鎖存器,鎖存控制端鎖存器,鎖存控制端G G直接接直接接ALEALE82828282:帶三態(tài)緩沖輸出的:帶三態(tài)緩沖輸出的8D8D鎖存器,鎖存控制端鎖存器,鎖存控制端STBSTB直接接直接接AL
18、EALE74LS27374LS273:帶清除端的:帶清除端的8D8D鎖存器,鎖存控制端接鎖存器,鎖存控制端接ALEALE的反相器的反相器5 5、P2P2口即使沒(méi)有全部占用,但空余的幾根已不宜作通用口即使沒(méi)有全部占用,但空余的幾根已不宜作通用I/OI/O線。線。8.3.2.2 程序存儲(chǔ)器擴(kuò)展舉例程序存儲(chǔ)器擴(kuò)展舉例1、不用片外譯碼器的單片程序存儲(chǔ)器的擴(kuò)展、不用片外譯碼器的單片程序存儲(chǔ)器的擴(kuò)展 例例1 試用試用EPROM2764構(gòu)成構(gòu)成8031的最小系統(tǒng)。的最小系統(tǒng)。 2764是是8K8位程序存儲(chǔ)器,芯片的地址引腳線有位程序存儲(chǔ)器,芯片的地址引腳線有13條,順條,順次和單片機(jī)的地址線次和單片機(jī)的地址
19、線A0A12相接。由于不采用地址譯碼器,所相接。由于不采用地址譯碼器,所以高以高3位地址線位地址線A13、A14、A15不接,故有不接,故有23=8個(gè)重疊的個(gè)重疊的8 KB地地址空間。因只用一片址空間。因只用一片2764,其片選信號(hào),其片選信號(hào)CE可直接接地可直接接地(常有效常有效)。其連接電路如圖其連接電路如圖 所示。所示。圖所示連接電路的圖所示連接電路的8個(gè)重疊的地址范圍為個(gè)重疊的地址范圍為00000000000000000001111111111111,即,即0000H1FFFH;00100000000000000011111111111111,即,即2000H3FFFH;0100000
20、0000000000101111111111111,即,即4000H5FFFH;01100000000000000111111111111111,即,即6000H7FFFH;10000000000000001001111111111111,即,即8000H9FFFH;10100000000000001011111111111111,即,即A000HBFFFH;11000000000000001101111111111111,即,即C000HDFFFH;11100000000000001111111111111111,即,即E000HFFFFH。2、 采用線選法的多片程序存儲(chǔ)器的擴(kuò)展采用線選法的
21、多片程序存儲(chǔ)器的擴(kuò)展 例例2 使用兩片使用兩片2764擴(kuò)展擴(kuò)展16 KB的程序存儲(chǔ)器,采用線選法選的程序存儲(chǔ)器,采用線選法選中芯片。擴(kuò)展連接圖如圖中芯片。擴(kuò)展連接圖如圖4.12所示。以所示。以P2.7作為片選,當(dāng)作為片選,當(dāng)P2.7=0時(shí),選中時(shí),選中2764(1);當(dāng);當(dāng)P2.7=1時(shí),選中時(shí),選中2764(2)。因兩根線。因兩根線(A13、A14)未用,故兩個(gè)芯片各有未用,故兩個(gè)芯片各有22=4個(gè)重疊的地址空間。它們分別為個(gè)重疊的地址空間。它們分別為圖圖8.12 用兩片用兩片2764 EPROM的擴(kuò)展連接圖的擴(kuò)展連接圖 左片:左片:00000000000000000000111111111
22、1111,即,即0000H1FFFH; 001000000000000000011111111111111,即,即2000H3FFFH; 010000000000000000101111111111111,即,即4000H5FFFH; 011000000000000000111111111111111,即,即6000H7FFFH;右片:右片:100000000000000001001111111111111,即,即8000H9FFFH; 101000000000000001011111111111111,即,即A000HBFFFH; 110000000000000001101111111111
23、111,即,即C000HDFFFH; 111000000000000001111111111111111,即,即E000HFFFFH。 3 采用地址譯碼器的多片程序存儲(chǔ)器的擴(kuò)展采用地址譯碼器的多片程序存儲(chǔ)器的擴(kuò)展 例例3 要求用要求用2764芯片擴(kuò)展芯片擴(kuò)展8031的片外程序存儲(chǔ)器,分配的的片外程序存儲(chǔ)器,分配的地址范圍為地址范圍為0000H3FFFH。 本例要求的地址空間是唯一確定的,所以要采用全譯碼方法。本例要求的地址空間是唯一確定的,所以要采用全譯碼方法。由分配的地址范圍知:擴(kuò)展的容量為由分配的地址范圍知:擴(kuò)展的容量為16 KB,2764為為8 K8位,位,故需要兩片。第故需要兩片。第1
24、片的地址范圍應(yīng)為片的地址范圍應(yīng)為0000H1FFFH;第;第2片的地片的地址范圍應(yīng)為址范圍應(yīng)為2000H3FFFH。 由地址范圍確定譯碼器的連接。為此畫(huà)出譯碼關(guān)系圖如下:由地址范圍確定譯碼器的連接。為此畫(huà)出譯碼關(guān)系圖如下:8.3.3 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展數(shù)據(jù)存儲(chǔ)器的擴(kuò)展一、數(shù)據(jù)存貯器的擴(kuò)展概述一、數(shù)據(jù)存貯器的擴(kuò)展概述1 1、 數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)器的/OE/OE、/WE/WE信號(hào)線分別為輸出允許和寫(xiě)允許信號(hào)線分別為輸出允許和寫(xiě)允許 控制端,由單片機(jī)的控制端,由單片機(jī)的/RD/RD和和/WR/WR信號(hào)控制。信號(hào)控制。2 2、 訪問(wèn)片外擴(kuò)展數(shù)據(jù)存儲(chǔ)器僅可用下面訪問(wèn)片外擴(kuò)展數(shù)據(jù)存儲(chǔ)器僅可用下面4 4條寄
25、存器間址指令條寄存器間址指令. .MOVXMOVXA A,RiRiMOVXMOVXA,DPTRA,DPTRMOVXMOVXRi,ARi,AMOVXMOVXDPTR,ADPTR,A3 3、 典型系列芯片:典型系列芯片:21142114(2K2K* *4 4),),61166116(2K2K* *8 8),),62646264(8K8K* *8 8) 二數(shù)據(jù)存儲(chǔ)器芯片二數(shù)據(jù)存儲(chǔ)器芯片圖8.14 常用靜態(tài)RAM芯片的引腳圖118217316415514613712811910VCCA7A8A9I/O1I/I/I/WE2114A6A5A4A3A0A1A2CSGND1242233224215206197
26、188179161015111412136116A7A6A5A4A3A2A1A0I/O0GNDVCCA8A9WEOEA10CE128227326425524623722821920101911181217131614156264VCCWECE2A8A9A11OEA10CE1NCA12A7A6A5A4A3A2A1A0GNDO2O3O4I/O1I/O2I/O7I/O5I/O6I/O4I/O3I/O0I/O1I/O2I/O7I/O5I/O6I/O4I/O3圖8.15 iRAM芯片的引腳圖 三數(shù)據(jù)存儲(chǔ)器的擴(kuò)展舉例三數(shù)據(jù)存儲(chǔ)器的擴(kuò)展舉例例例4 采用2114芯片在8031片外擴(kuò)展1 KB數(shù)據(jù)存儲(chǔ)器。圖8.
27、16 用兩片2114 EPROM的擴(kuò)展連接圖 8.3.4 兼有片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的擴(kuò)展舉例兼有片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的擴(kuò)展舉例舉例:片外擴(kuò)展舉例:片外擴(kuò)展16K字節(jié)數(shù)據(jù)存儲(chǔ)器和字節(jié)數(shù)據(jù)存儲(chǔ)器和16K字節(jié)程序存儲(chǔ)器字節(jié)程序存儲(chǔ)器1、線選法、線選法 2、譯碼法、譯碼法 分析兩種存儲(chǔ)器及各芯片的地址范圍分析兩種存儲(chǔ)器及各芯片的地址范圍 0100 0000 0000 0000 -0101 1111 1111 1111IC0:程序存儲(chǔ)器空間:IC1:程序存儲(chǔ)器空間:0010 0000 0000 0000 -0011 1111 1111 11118.4 I/O 擴(kuò)擴(kuò) 展展8.4.1 I
28、/O口擴(kuò)展概述口擴(kuò)展概述 1MCS-51單片機(jī)單片機(jī)I/O口擴(kuò)展性能口擴(kuò)展性能 單片機(jī)應(yīng)用系統(tǒng)中的單片機(jī)應(yīng)用系統(tǒng)中的I/O口擴(kuò)展方法與單片機(jī)的口擴(kuò)展方法與單片機(jī)的I/O口擴(kuò)展性口擴(kuò)展性能有關(guān)。能有關(guān)。 (1) 在在MCS-51單片機(jī)應(yīng)用系統(tǒng)中單片機(jī)應(yīng)用系統(tǒng)中,擴(kuò)展的擴(kuò)展的I/O口采取與數(shù)據(jù)存口采取與數(shù)據(jù)存儲(chǔ)器相同的尋址方法。所有擴(kuò)展的儲(chǔ)器相同的尋址方法。所有擴(kuò)展的I/O口或通過(guò)擴(kuò)展口或通過(guò)擴(kuò)展I/O口連接的口連接的外圍設(shè)備均與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址。外圍設(shè)備均與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址。任何一個(gè)擴(kuò)展任何一個(gè)擴(kuò)展I/O口,口,根據(jù)地址線的選擇方式不同,占用一個(gè)片外根據(jù)地址線的選擇方式不同,占用一個(gè)
29、片外RAM地址,而與外地址,而與外部程序存儲(chǔ)器無(wú)關(guān)。部程序存儲(chǔ)器無(wú)關(guān)。 (2) 利用串行口的移位寄存器工作方式利用串行口的移位寄存器工作方式(方式方式0),也可擴(kuò)展,也可擴(kuò)展I/O口,這時(shí)所擴(kuò)展的口,這時(shí)所擴(kuò)展的I/O口不占用片外口不占用片外RAM地址。地址。 (3) 擴(kuò)展擴(kuò)展 I/O口的硬件相依性。在單片機(jī)應(yīng)用系統(tǒng)中,口的硬件相依性。在單片機(jī)應(yīng)用系統(tǒng)中,I/O口的口的擴(kuò)展不是目的,而是為外部通道及設(shè)備提供一個(gè)輸入、輸出通道。擴(kuò)展不是目的,而是為外部通道及設(shè)備提供一個(gè)輸入、輸出通道。因此,因此,I/O口的擴(kuò)展總是為了實(shí)現(xiàn)某一測(cè)控及管理功能而進(jìn)行的??诘臄U(kuò)展總是為了實(shí)現(xiàn)某一測(cè)控及管理功能而進(jìn)行的
30、。例如連接鍵盤(pán)、顯示器、驅(qū)動(dòng)開(kāi)關(guān)控制、開(kāi)關(guān)量監(jiān)測(cè)等。這樣,例如連接鍵盤(pán)、顯示器、驅(qū)動(dòng)開(kāi)關(guān)控制、開(kāi)關(guān)量監(jiān)測(cè)等。這樣,在在I/O口擴(kuò)展時(shí),必須考慮與之相連的外部硬件電路特性,如驅(qū)動(dòng)口擴(kuò)展時(shí),必須考慮與之相連的外部硬件電路特性,如驅(qū)動(dòng)功率、電平、干擾抑制及隔離等。功率、電平、干擾抑制及隔離等。 (4) 擴(kuò)展擴(kuò)展I/O口的軟件相依性。根據(jù)選用不同的口的軟件相依性。根據(jù)選用不同的I/O口擴(kuò)展芯片口擴(kuò)展芯片或外部設(shè)備時(shí),擴(kuò)展或外部設(shè)備時(shí),擴(kuò)展I/O口的操作方式不同,因而應(yīng)用程序應(yīng)有不口的操作方式不同,因而應(yīng)用程序應(yīng)有不同,如入口地址、初始化狀態(tài)設(shè)置、工作方式選擇等。同,如入口地址、初始化狀態(tài)設(shè)置、工作方式
31、選擇等。 2I/O口擴(kuò)展方法口擴(kuò)展方法 根據(jù)擴(kuò)展并行根據(jù)擴(kuò)展并行I/O口時(shí)數(shù)據(jù)線的連接方式,口時(shí)數(shù)據(jù)線的連接方式,I/O口擴(kuò)展可分為口擴(kuò)展可分為總線擴(kuò)展方法、串行口擴(kuò)展方法??偩€擴(kuò)展方法、串行口擴(kuò)展方法。 (1) 總線擴(kuò)展方法。擴(kuò)展的并行總線擴(kuò)展方法。擴(kuò)展的并行I/O芯片,其并行數(shù)據(jù)輸入線芯片,其并行數(shù)據(jù)輸入線取自取自MCS-51單片機(jī)的單片機(jī)的P0口。這種擴(kuò)展方法只分時(shí)占用口。這種擴(kuò)展方法只分時(shí)占用P0口,并口,并不影響不影響P0口與其它擴(kuò)展芯片的連接操作,不會(huì)造成單片機(jī)硬件口與其它擴(kuò)展芯片的連接操作,不會(huì)造成單片機(jī)硬件的額外開(kāi)銷。因此,在的額外開(kāi)銷。因此,在MCS-51單片機(jī)應(yīng)用系統(tǒng)的單片
32、機(jī)應(yīng)用系統(tǒng)的I/O擴(kuò)展中廣泛擴(kuò)展中廣泛采用這種擴(kuò)展方法。采用這種擴(kuò)展方法。 (2) 串行口擴(kuò)展方法。這是串行口擴(kuò)展方法。這是MCS-51單片機(jī)串行口在方式單片機(jī)串行口在方式0工工作狀態(tài)下所提供的作狀態(tài)下所提供的I/O口擴(kuò)展功能。串行口方式口擴(kuò)展功能。串行口方式0為移位寄存器為移位寄存器工作方式,因此接上串入并出的移位寄存器可以擴(kuò)展并行輸出工作方式,因此接上串入并出的移位寄存器可以擴(kuò)展并行輸出口,而接上并入串出的移位寄存器則可擴(kuò)展并行輸入口。這種口,而接上并入串出的移位寄存器則可擴(kuò)展并行輸入口。這種擴(kuò)展方法只占用串行口,而且通過(guò)移位寄存器的級(jí)聯(lián)方法可以擴(kuò)展方法只占用串行口,而且通過(guò)移位寄存器的級(jí)
33、聯(lián)方法可以擴(kuò)展多數(shù)量的并行擴(kuò)展多數(shù)量的并行I/O口。對(duì)于不使用串行口的應(yīng)用系統(tǒng),可口。對(duì)于不使用串行口的應(yīng)用系統(tǒng),可使用這種方法。但由于數(shù)據(jù)的輸入輸出采用串行移位的方法,使用這種方法。但由于數(shù)據(jù)的輸入輸出采用串行移位的方法,傳輸速度較慢。傳輸速度較慢。 3I/O口擴(kuò)展用芯片口擴(kuò)展用芯片兩大類:兩大類:通用通用I/O口芯片口芯片,選用選用Intel公司的芯片,其接口最為簡(jiǎn)捷可靠,如公司的芯片,其接口最為簡(jiǎn)捷可靠,如8255、8155等。等。8255可編程通用并行接口可編程通用并行接口 8155帶帶256字節(jié)字節(jié)RAM和和14位定時(shí)位定時(shí)/計(jì)數(shù)器的可編程并行接口計(jì)數(shù)器的可編程并行接口TTL、CMO
34、S鎖存器、緩沖器電路芯片,具有體積小、成本低、鎖存器、緩沖器電路芯片,具有體積小、成本低、配置靈活的特點(diǎn)。一般在擴(kuò)展配置靈活的特點(diǎn)。一般在擴(kuò)展8位輸入或輸出口時(shí)十分方便。可以位輸入或輸出口時(shí)十分方便。可以作為作為I/O擴(kuò)展的擴(kuò)展的TTL芯片有:芯片有: 74LS373、74LS277、74LS244、74LS273、74LS367等。等。8255A芯片的內(nèi)部結(jié)構(gòu)圖 8.4.2 8255可編程并行可編程并行I/O口口 擴(kuò)展擴(kuò)展1芯片引腳及其內(nèi)部結(jié)構(gòu)芯片引腳及其內(nèi)部結(jié)構(gòu) (1) 數(shù)據(jù)總線緩沖器:是一個(gè)數(shù)據(jù)總線緩沖器:是一個(gè)8位的雙向三態(tài)驅(qū)動(dòng)器,用于與單片機(jī)的數(shù)據(jù)總位的雙向三態(tài)驅(qū)動(dòng)器,用于與單片機(jī)的
35、數(shù)據(jù)總線相連。線相連。 (2) 讀讀/寫(xiě)控制邏輯:根據(jù)單片機(jī)的地址信息寫(xiě)控制邏輯:根據(jù)單片機(jī)的地址信息(A1、A0)與控制信息與控制信息(RD、WR、RESET),控制片內(nèi)數(shù)據(jù)、,控制片內(nèi)數(shù)據(jù)、CPU控制字、外設(shè)狀態(tài)信息的傳送。控制字、外設(shè)狀態(tài)信息的傳送。 (3) 控制電路:根據(jù)控制電路:根據(jù)CPU送來(lái)的控制字使所管送來(lái)的控制字使所管I/O口按一定方式工作。對(duì)口按一定方式工作。對(duì)C口口甚至可按位實(shí)現(xiàn)甚至可按位實(shí)現(xiàn)置位置位或或復(fù)位復(fù)位。控制電路分為兩組:。控制電路分為兩組:A組控制電路控制組控制電路控制A口及口及C口的高口的高4位位(PC7PC4),B組控制電路控制組控制電路控制B口及口及C口的
36、低口的低4位位(PC3PC0)。 (4) 三個(gè)并行三個(gè)并行I/O端口:端口:A口可編程為口可編程為8位輸入,或位輸入,或8位輸出,或雙向傳送;位輸出,或雙向傳送;B口口可編程為可編程為8位輸入,或位輸入,或8位輸出,但不能雙向傳送;位輸出,但不能雙向傳送;C口分為兩個(gè)口分為兩個(gè)4位口,用于輸位口,用于輸入或輸出,也可用作入或輸出,也可用作A口、口、B口的狀態(tài)控制信號(hào)??诘臓顟B(tài)控制信號(hào)。 8255A芯片的引腳圖芯片的引腳圖 表8.3 8255芯片的引腳信號(hào)說(shuō)明續(xù)表 CSCS: 片選信號(hào),低電平有效片選信號(hào),低電平有效D0D7D0D7: 數(shù)據(jù)線數(shù)據(jù)線/RD /RD : 讀信號(hào)讀信號(hào)/WR /WR
37、: 寫(xiě)信號(hào)寫(xiě)信號(hào)A1 A0 A1 A0 : 地址線,通道選擇信號(hào)端,與地址線,通道選擇信號(hào)端,與/CS/CS,/RD/RD,/WR/WR的信號(hào)端的信號(hào)端組合,用來(lái)控制組合,用來(lái)控制PAPA、PBPB、PCPC三個(gè)通道口和控制字端口及其功能三個(gè)通道口和控制字端口及其功能選擇。它通常與地址總線的最低位選擇。它通常與地址總線的最低位A0,A1A0,A1相連。相連。 端口地址端口地址/CS/CSA1A1A0A0選中端口選中端口0 00 00 0PAPA口口0 00 01 1PBPB口口0 01 10 0PCPC口口0 01 11 1控制口(控制寄存器)控制口(控制寄存器)PA0PA7PA0PA7:I/
38、OI/O口(口(PAPA口)口)8 8位數(shù)據(jù)輸出鎖存位數(shù)據(jù)輸出鎖存/ /緩沖而輸入鎖存功能。緩沖而輸入鎖存功能。PB0PB7PB0PB7:I/OI/O口(口(PBPB口)口)8 8位數(shù)據(jù)輸出鎖存位數(shù)據(jù)輸出鎖存/ /緩沖而輸入緩沖功能。緩沖而輸入緩沖功能。PC0PC7PC0PC7:I/OI/O口(口(PCPC口)口)8 8位數(shù)據(jù)輸出鎖存位數(shù)據(jù)輸出鎖存/ /緩沖而輸入緩沖功能。緩沖而輸入緩沖功能。作為輸入作為輸入/ /輸出口輸出口可在可在“方式字方式字”控制下分成兩個(gè)控制下分成兩個(gè)4 4位端口,作為位端口,作為PAPA口和口和PBPB口選通口選通方式操作時(shí)的狀態(tài)控制信號(hào),方式操作時(shí)的狀態(tài)控制信號(hào),
39、可作按位置位可作按位置位/ /復(fù)位操作。復(fù)位操作。 VCC VCC :+5V+5VGNDGND:地:地28255的操作方式的操作方式1) 讀/寫(xiě)控制邏輯操作選擇 表8.4 8255的口操作狀態(tài) 組合功能表見(jiàn)書(shū)中組合功能表見(jiàn)書(shū)中P219P219,表,表8.78.72)三種基本操作方式)三種基本操作方式 方式方式0:基本輸入:基本輸入/輸出方式輸出方式 方式方式1:選通輸入:選通輸入/輸出方式輸出方式 方式方式2:雙向傳送方式(僅:雙向傳送方式(僅PA口有)口有)3) 8255A的編程控制字的編程控制字方式選擇控制字方式選擇控制字8255A8255A的操作方式:的操作方式: 通過(guò)軟件編程將方式通過(guò)
40、軟件編程將方式選擇控制字寫(xiě)入選擇控制字寫(xiě)入8255A8255A的的控制字寄存器,選擇操作控制字寄存器,選擇操作方式。方式。 PC口按位置位口按位置位/復(fù)位復(fù)位控制字控制字 8255的的PC通道中的任通道中的任一位,均可通過(guò)軟件編程一位,均可通過(guò)軟件編程使指定的位單獨(dú)實(shí)現(xiàn)置位使指定的位單獨(dú)實(shí)現(xiàn)置位/復(fù)位操作??刂谱指袷揭?jiàn)復(fù)位操作。控制字格式見(jiàn)圖圖b 不論哪一種控制字均通不論哪一種控制字均通過(guò)向控制口寄存器寫(xiě)入來(lái)過(guò)向控制口寄存器寫(xiě)入來(lái)實(shí)現(xiàn)。通過(guò)寫(xiě)入內(nèi)容的特實(shí)現(xiàn)。通過(guò)寫(xiě)入內(nèi)容的特征位來(lái)區(qū)分。征位來(lái)區(qū)分。3 3、80518051配置配置82558255的硬件接口的硬件接口書(shū)中書(shū)中P222P222確定端
41、口地址確定端口地址設(shè)隨機(jī)地址信號(hào)為設(shè)隨機(jī)地址信號(hào)為“0 0”。則:。則: PAPA口地址:口地址:4000H 4000H PB PB口地址:口地址:4001H4001H PC PC口地址:口地址:4002H4002H 控制地址:控制地址:4003H4003H設(shè)隨機(jī)地址信號(hào)為設(shè)隨機(jī)地址信號(hào)為“11。則:。則: PAPA口地址:口地址:5FFCH 5FFCH PB PB口地址:口地址:5FFDH5FFDH PC PC口地址:口地址:5FFEH5FFEH 控制地址:控制地址:5FFFH5FFFH 假設(shè)假設(shè)8255 PA8255 PA口基本輸入,口基本輸入,PBPB口基本輸出,口基本輸出,PC7PC4
42、PC7PC4基本輸出,基本輸出, PC3PC0PC3PC0基本輸入?;据斎搿t工作方式控制字為:則工作方式控制字為:1001 0001 1001 0001 (91H91H)MOV MOV DPTRDPTR,#4003H#4003H; ;控制寄存器地址(或控制寄存器地址(或5FFFH5FFFH)MOV MOV A A,#91H#91H; ;控制字控制字MOVX MOVX DPTR,A DPTR,A ; ;控制字寫(xiě)入控制寄存器控制字寫(xiě)入控制寄存器 假設(shè)假設(shè)PC口用于位置位口用于位置位/復(fù)位方式,且要求復(fù)位方式,且要求PC5位置位,位置位, 則則8255的的PC口置位口置位/復(fù)位的控制字為復(fù)位的控
43、制字為00001011B=0BH MOV DPTR,#4003H;控制寄存器地址(控制寄存器地址(5FFFH) MOV A,#0BH;控制字控制字 MOVX DPTR,A ;控制字寫(xiě)入控制寄存器控制字寫(xiě)入控制寄存器 工作方式控制字與置位工作方式控制字與置位/復(fù)位控制字同用一個(gè)地址復(fù)位控制字同用一個(gè)地址“11”, 8255根據(jù)控制字的特征位把它們分別送入對(duì)應(yīng)的控制寄存器。根據(jù)控制字的特征位把它們分別送入對(duì)應(yīng)的控制寄存器。 4 4、 8255A8255A工作方式簡(jiǎn)介工作方式簡(jiǎn)介PAPA口具有口具有3 3種工作方式種工作方式PBPB口具有兩種工作方式口具有兩種工作方式PCPC口具有方式口具有方式0
44、0、位置位、位置位/ /復(fù)位和應(yīng)答控制三種功能復(fù)位和應(yīng)答控制三種功能(1 1)工作方式)工作方式0 0(基本的輸入(基本的輸入/ /輸出方式)輸出方式) 均可選定本方式。均可選定本方式。這種工作方式不需要任何選通信號(hào)。這種工作方式不需要任何選通信號(hào)。 A口、口、B口及口及C口的兩個(gè)口的兩個(gè)4位口中任何一個(gè)端口都可以位口中任何一個(gè)端口都可以由程序設(shè)定為輸入或輸出。由程序設(shè)定為輸入或輸出。 輸出信號(hào)具有鎖存功能,輸入信號(hào)輸出信號(hào)具有鎖存功能,輸入信號(hào)PAPA口是鎖存的,口是鎖存的,PBPB口口PCPC口為緩沖的口為緩沖的 PCPC口的按位操作是一種控制操作而不是數(shù)據(jù)傳送??诘陌次徊僮魇且环N控制操作
45、而不是數(shù)據(jù)傳送。(2 2)工作方式)工作方式1 1(選通的輸入或輸出)(選通的輸入或輸出)需要需要PCPC口作聯(lián)絡(luò)應(yīng)答信號(hào)和中斷請(qǐng)求線口作聯(lián)絡(luò)應(yīng)答信號(hào)和中斷請(qǐng)求線 在這種工作方式下,在這種工作方式下,A A、B B、C C三個(gè)口分為兩組。三個(gè)口分為兩組。A A組包括組包括A A口口 和和C C口的高口的高4 4位,位,A A口可由編程設(shè)定為輸入口或輸出口,口可由編程設(shè)定為輸入口或輸出口,C C口的高口的高4 4位則用來(lái)作為位則用來(lái)作為A A口輸入口輸入/ /輸出操作的控制和同步信號(hào);輸出操作的控制和同步信號(hào);B B組包括組包括B B口和口和C C口的低口的低4 4位,位,B B口可由編程設(shè)定為
46、輸入口或輸出口,口可由編程設(shè)定為輸入口或輸出口,C C口的口的低低4 4位則用來(lái)作為位則用來(lái)作為B B口輸入口輸入/ /輸出操作的控制和同步信號(hào)。輸出操作的控制和同步信號(hào)。 A A口和口和B B口的輸入數(shù)據(jù)或輸出數(shù)據(jù)都被鎖存??诘妮斎霐?shù)據(jù)或輸出數(shù)據(jù)都被鎖存。(3 3)工作方式)工作方式2 2 只有只有PAPA口有此方式,因?yàn)樾枰加每谟写朔绞剑驗(yàn)樾枰加? 5位位PCPC口線作聯(lián)絡(luò)應(yīng)口線作聯(lián)絡(luò)應(yīng)答信號(hào)。答信號(hào)。 實(shí)質(zhì)上是方式實(shí)質(zhì)上是方式1 1輸入和輸出兩種操作的組合。輸入和輸出兩種操作的組合。 例例 試對(duì)連接圖中的試對(duì)連接圖中的8255A編程,使其各口工作于方式編程,使其各口工作于方式0,A
47、口口作輸入,作輸入,B口作輸出,口作輸出,C口高口高4位作輸出,位作輸出,C口的低口的低4位作輸入。位作輸入。 由方式選擇控制字的格式與由方式選擇控制字的格式與 定義可確定出滿足要求的方式控定義可確定出滿足要求的方式控制字應(yīng)為制字應(yīng)為91H(10010001B)。對(duì)。對(duì)8255A編寫(xiě)程序?qū)⒕帉?xiě)程序?qū)?1H寫(xiě)入它的控制寫(xiě)入它的控制寄存器,初始化程序?yàn)榧拇嫫?,初始化程序?yàn)镸OV DPTR,#FF7FH ;DPTR作地址指針,指向控制口作地址指針,指向控制口MOV A,91H MOVX DPTR,A 因?yàn)閳D中擴(kuò)展電路未使用高位地址線,所以端口地址也可使因?yàn)閳D中擴(kuò)展電路未使用高位地址線,所以端口地址也
48、可使用用8位。位。 例例 試按試按上述連接圖中上述連接圖中擴(kuò)展電路,寫(xiě)出自擴(kuò)展電路,寫(xiě)出自8255A的的B口輸出單口輸出單片機(jī)中片機(jī)中R7內(nèi)容與自內(nèi)容與自8255的的A口輸入數(shù)據(jù)到單片機(jī)口輸入數(shù)據(jù)到單片機(jī)R3的程序。的程序。 使用使用8位地址,位地址,8255A的的A、B、C口及控制口地址分別為口及控制口地址分別為7CH、7DH、7EH、7FH。則實(shí)現(xiàn)所要求功能的程序?yàn)?。則實(shí)現(xiàn)所要求功能的程序?yàn)镸OV R0,#7FH ;R0作地址指針,指向控制口作地址指針,指向控制口MOV A,#91HMOVX R0,A ;方式控制字送控制寄存器;方式控制字送控制寄存器MOV R0,#7DH ;R0指向指向B
49、口口MOV A,R7 ;MOVX R0,A ;R7的內(nèi)容輸出到的內(nèi)容輸出到B口口DEC R0 ;使;使R0指向指向A口口MOVX A,R0 ;從;從A口輸入數(shù)據(jù)到累加器口輸入數(shù)據(jù)到累加器AMOV R3,A ;把輸入數(shù)據(jù)送存到;把輸入數(shù)據(jù)送存到R3中中8.5 按鍵、鍵盤(pán)及其接口按鍵、鍵盤(pán)及其接口8.5.1 鍵輸入過(guò)程與軟件結(jié)構(gòu)鍵輸入過(guò)程與軟件結(jié)構(gòu)圖 MCS51單片機(jī)鍵輸入過(guò)程 8.5.2 鍵盤(pán)接口和鍵輸入軟件中應(yīng)解決的幾個(gè)問(wèn)題鍵盤(pán)接口和鍵輸入軟件中應(yīng)解決的幾個(gè)問(wèn)題 1消除鍵抖動(dòng)消除鍵抖動(dòng)鍵穩(wěn)定鍵按下前沿抖動(dòng)前沿抖動(dòng)圖 鍵合斷時(shí)的電壓抖動(dòng)圖 消除鍵抖動(dòng)電路 2鍵編碼及鍵值鍵編碼及鍵值 (1) 用鍵
50、盤(pán)連接的用鍵盤(pán)連接的I/O線的二進(jìn)制組合表示鍵碼。例如用線的二進(jìn)制組合表示鍵碼。例如用4行、行、4列線構(gòu)成的列線構(gòu)成的16個(gè)鍵的鍵盤(pán),可使用一個(gè)個(gè)鍵的鍵盤(pán),可使用一個(gè)8位位I/O口線的高、低口線的高、低4位口線的二進(jìn)制數(shù)的組合表示位口線的二進(jìn)制數(shù)的組合表示16個(gè)鍵的編碼,如圖個(gè)鍵的編碼,如圖 (a)所示。各所示。各鍵相應(yīng)的鍵值為鍵相應(yīng)的鍵值為88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。這種。這種鍵值編碼軟件較為簡(jiǎn)單直觀,但離散性大,不便安排散轉(zhuǎn)程序鍵值編碼軟件較為簡(jiǎn)單直觀,但離散性大,不便安排散轉(zhuǎn)程序的入口地址
51、。的入口地址。 (2) 順序排列鍵編碼。如圖順序排列鍵編碼。如圖 (b)所示。這種方法,鍵值的所示。這種方法,鍵值的形成要根據(jù)形成要根據(jù)I/O線的狀態(tài)作相應(yīng)處理。鍵碼可按下式形成:線的狀態(tài)作相應(yīng)處理。鍵碼可按下式形成:鍵碼鍵碼=行首鍵碼行首鍵碼+列號(hào)列號(hào)圖 行列式鍵盤(pán)的編碼與鍵值 (a) 二進(jìn)制組合編碼;(b) 順序排列編碼 3鍵盤(pán)的監(jiān)測(cè)方法鍵盤(pán)的監(jiān)測(cè)方法 對(duì)于計(jì)算機(jī)應(yīng)用系統(tǒng),鍵盤(pán)掃描只是對(duì)于計(jì)算機(jī)應(yīng)用系統(tǒng),鍵盤(pán)掃描只是CPU工作的一部分,工作的一部分,鍵盤(pán)處理只是在有鍵按下時(shí)才有意義。對(duì)是否有鍵按下的信息鍵盤(pán)處理只是在有鍵按下時(shí)才有意義。對(duì)是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。
52、輸入方式有中斷方式與查詢方式兩種。8.5.3 獨(dú)立式按鍵獨(dú)立式按鍵1獨(dú)立式按鍵接口結(jié)構(gòu)獨(dú)立式按鍵接口結(jié)構(gòu)圖圖 獨(dú)立式按鍵的接口電路示意圖獨(dú)立式按鍵的接口電路示意圖中斷方式中斷方式查詢方式查詢方式 2獨(dú)立式按鍵的軟件結(jié)構(gòu)獨(dú)立式按鍵的軟件結(jié)構(gòu) 下面是查詢方式的鍵盤(pán)程序。下面是查詢方式的鍵盤(pán)程序。K0K7為功能程序入口地址為功能程序入口地址標(biāo)號(hào),其地址間隔應(yīng)能容納標(biāo)號(hào),其地址間隔應(yīng)能容納JMP指令字節(jié),指令字節(jié),PROM0PROM7分分別為每個(gè)按鍵的功能程序。設(shè)別為每個(gè)按鍵的功能程序。設(shè)I/O為為P1口??凇TART:MOV A,#0FFH ; MOV P1,A ;置;置P1口為輸入狀態(tài)口為輸入狀
53、態(tài) MOV A,P1 ;鍵狀態(tài)輸入;鍵狀態(tài)輸入 JNB ACC.0,K0 ;檢測(cè);檢測(cè)0號(hào)鍵是否按下,按下轉(zhuǎn)號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.1,K1 ;檢測(cè);檢測(cè)1號(hào)鍵是否按下,按下轉(zhuǎn)號(hào)鍵是否按下,按下轉(zhuǎn)JNB ACC.2,K2 ;檢測(cè);檢測(cè)2號(hào)鍵是否按下,按下轉(zhuǎn)號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.3,K3 ;檢測(cè);檢測(cè)3號(hào)鍵是否按下,按號(hào)鍵是否按下,按下轉(zhuǎn)下轉(zhuǎn) JNB ACC.4,K4 ;檢測(cè);檢測(cè)4號(hào)鍵是否按下,按下轉(zhuǎn)號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.5,K5 ;檢測(cè);檢測(cè)5號(hào)鍵是否按下,按下轉(zhuǎn)號(hào)鍵是否按下,按下轉(zhuǎn) JNB ACC.6,K6 ;檢測(cè);檢測(cè)6號(hào)鍵是否按下,按下轉(zhuǎn)號(hào)
54、鍵是否按下,按下轉(zhuǎn) JNB ACC.7,K7 ;檢測(cè);檢測(cè)7號(hào)鍵是否按下,按下轉(zhuǎn)號(hào)鍵是否按下,按下轉(zhuǎn) JMP START ;無(wú)鍵按下返回,再順次檢測(cè);無(wú)鍵按下返回,再順次檢測(cè)K0:AJMP PROM0K1:AJMP PROM1 K7:AJIMP PROM7;入口地址表 PROM0: ;0號(hào)鍵功能程序號(hào)鍵功能程序 JMP START ;0號(hào)鍵功能程序執(zhí)行完返回號(hào)鍵功能程序執(zhí)行完返回PROM1: ;0號(hào)鍵功能程序號(hào)鍵功能程序 JMP START ;1號(hào)鍵功能程序執(zhí)行完返回號(hào)鍵功能程序執(zhí)行完返回 ;7號(hào)鍵功能程序號(hào)鍵功能程序PROM7: JMP START ;7號(hào)鍵功能程序執(zhí)行完返回號(hào)鍵功能程序執(zhí)行
55、完返回8.5.4 行列式鍵盤(pán)行列式鍵盤(pán) 行列式鍵盤(pán)又叫矩陣式鍵盤(pán)。用行列式鍵盤(pán)又叫矩陣式鍵盤(pán)。用I/O口線組成行、列結(jié)構(gòu),口線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。例如按鍵設(shè)置在行列的交點(diǎn)上。例如44的行列結(jié)構(gòu)可組成的行列結(jié)構(gòu)可組成16個(gè)鍵個(gè)鍵的鍵盤(pán)。因此,在按鍵數(shù)量較多時(shí),可以節(jié)省的鍵盤(pán)。因此,在按鍵數(shù)量較多時(shí),可以節(jié)省I/O口線??诰€。 1行列式鍵盤(pán)的接口及原理行列式鍵盤(pán)的接口及原理 行列式鍵盤(pán)的接口方法有許多,例如直接接口于單片機(jī)的行列式鍵盤(pán)的接口方法有許多,例如直接接口于單片機(jī)的I/O口上;利用擴(kuò)展的并行口上;利用擴(kuò)展的并行I/O接口;用串行口擴(kuò)展并行接口;用串行口擴(kuò)展并行I/O口接
56、口接口;利用一種可編程的鍵盤(pán)、顯示接口芯片口;利用一種可編程的鍵盤(pán)、顯示接口芯片8279進(jìn)行接口等。進(jìn)行接口等。其中,利用擴(kuò)展的并行其中,利用擴(kuò)展的并行I/O接口方法方便靈活,在單片機(jī)應(yīng)用系接口方法方便靈活,在單片機(jī)應(yīng)用系統(tǒng)中比較常用。統(tǒng)中比較常用。圖 8155擴(kuò)展I/O口組成的行列式鍵盤(pán) 行線行線PC0-PC3輸入狀態(tài),列線輸入狀態(tài),列線PA0-PA7為輸為輸出狀態(tài);出狀態(tài); 按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開(kāi)關(guān)的兩端;連接到按鍵開(kāi)關(guān)的兩端; 讀取讀取PC0-PC3的狀態(tài)可知道有無(wú)鍵按下;的狀態(tài)可知道有無(wú)鍵按下; 判斷哪一個(gè)鍵按下?由列線
57、逐列置低電平后,判斷哪一個(gè)鍵按下?由列線逐列置低電平后,檢查行輸入狀態(tài)確定。檢查行輸入狀態(tài)確定。 鍵盤(pán)進(jìn)行掃描:逐列檢查鍵盤(pán)狀態(tài)的過(guò)程鍵盤(pán)進(jìn)行掃描:逐列檢查鍵盤(pán)狀態(tài)的過(guò)程 2 2、鍵盤(pán)的工作方式鍵盤(pán)的工作方式 編程掃描方式編程掃描方式( (查詢方式、定時(shí)掃描方式)和中斷掃描方式查詢方式、定時(shí)掃描方式)和中斷掃描方式編程掃描方式:利用編程掃描方式:利用CPUCPU的工作空余,調(diào)用鍵盤(pán)掃描子程序,的工作空余,調(diào)用鍵盤(pán)掃描子程序,響應(yīng)鍵輸入要求,在執(zhí)行鍵功能程序時(shí),響應(yīng)鍵輸入要求,在執(zhí)行鍵功能程序時(shí),CPUCPU不再響應(yīng)鍵輸入要求。不再響應(yīng)鍵輸入要求。 判斷鍵盤(pán)上有無(wú)鍵按下。判斷鍵盤(pán)上有無(wú)鍵按下。P
58、APA口輸出全掃描字口輸出全掃描字“0 0”時(shí),讀時(shí),讀PCPC口狀態(tài),口狀態(tài),若若PC0-PC3PC0-PC3全為全為“1 1”,則鍵盤(pán)無(wú)鍵按下,若不全為,則鍵盤(pán)無(wú)鍵按下,若不全為“1 1”,則有鍵按下。,則有鍵按下。 去除鍵的抖動(dòng)影響。在判斷有鍵按下后,軟件延時(shí)一段時(shí)間,去除鍵的抖動(dòng)影響。在判斷有鍵按下后,軟件延時(shí)一段時(shí)間,一般為一般為10ms10ms左右,在判斷鍵盤(pán)狀態(tài),如果仍有鍵按下?tīng)顟B(tài),則認(rèn)為左右,在判斷鍵盤(pán)狀態(tài),如果仍有鍵按下?tīng)顟B(tài),則認(rèn)為有一個(gè)確定的鍵被按下,否則按鍵抖動(dòng)處理。有一個(gè)確定的鍵被按下,否則按鍵抖動(dòng)處理。 掃描鍵盤(pán),得到按下的鍵值。鍵值用十六進(jìn)制數(shù)碼表示,掃描鍵盤(pán),得到
59、按下的鍵值。鍵值用十六進(jìn)制數(shù)碼表示, X X為任意值,而二進(jìn)制為任意值,而二進(jìn)制“0 0”所在位置恰為行列號(hào)。所在位置恰為行列號(hào)。FEXEFEXEFDXEFDXEFBXEFBXEF7XEF7XEEFXEEFXEDFXEDFXEBFXEBFXE7FXE7FXEFEXDFEXDFDXDFDXDFBXDFBXDF7XDF7XDEFXDEFXDDFXDDFXDBFXDBFXD7FXD7FXDFEXBFEXBFDXBFDXBFBXBFBXBF7XBF7XBEFXBEFXBDFXBDFXBBFXBBFXB7FXB7FXBFEX7FEX7FDX7FDX7FBX7FBX7F7X7F7X7EFX7EFX7DFX
60、7DFX7BFX7BFX77FX77FX7 判別閉合的鍵是否釋放,等鍵釋放后進(jìn)行鍵功能操作。判別閉合的鍵是否釋放,等鍵釋放后進(jìn)行鍵功能操作。 鍵掃描子程序框圖鍵掃描子程序框圖圖圖 鍵盤(pán)掃描子程序流程框圖鍵盤(pán)掃描子程序流程框圖有鍵按下否有鍵按下否調(diào)用調(diào)用6 ms延時(shí)子程序延時(shí)子程序開(kāi)開(kāi) 始始有鍵按下否有鍵按下否判斷閉合鍵,鍵碼入棧保存判斷閉合鍵,鍵碼入棧保存閉合鍵釋放否閉合鍵釋放否鍵碼鍵碼 A A返返 回回YYYNNN調(diào)用調(diào)用12 ms延時(shí)子程序延時(shí)子程序 中斷工作方式中斷工作方式 計(jì)算機(jī)應(yīng)用系統(tǒng)工作時(shí),并不經(jīng)常需要鍵輸入。但無(wú)論是計(jì)算機(jī)應(yīng)用系統(tǒng)工作時(shí),并不經(jīng)常需要鍵輸入。但無(wú)論是查詢工作方式還
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司采購(gòu)禮品合同范本
- 中介合同 網(wǎng)簽合同范例
- 公司門面房購(gòu)買合同范例
- 做模具合同范例
- 中介幫過(guò)戶合同范本
- 嘉興施工方案匯報(bào)
- 企業(yè)記賬報(bào)稅合同范例
- 東北民歌演唱分析
- 光伏用地 招租合同范例
- 與國(guó)外合作合同范例
- 水利工程施工驗(yàn)收規(guī)范對(duì)工程監(jiān)理單位的要求
- 生豬行業(yè)pest分析
- 2024內(nèi)蒙古烏審旗圖克鎮(zhèn)圖克工業(yè)園區(qū)中天合創(chuàng)化工分公司招聘20人高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 五年級(jí)上冊(cè)小數(shù)乘除練習(xí)300道及答案
- 《新概念英語(yǔ)第二冊(cè)》電子書(shū)、單詞、筆記、練習(xí)冊(cè)(附答案)匯編
- 學(xué)校心理健康教育的目標(biāo)體系課件
- 控制加班改善對(duì)策培訓(xùn)課件
- 功能材料-智能材料
- 《信息科技》學(xué)科新課標(biāo)《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》
- 合同智能審核與風(fēng)險(xiǎn)預(yù)警
- 2024年中興通訊股份有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論