第三章 MCS-51系統(tǒng)擴(kuò)展技術(shù)_第1頁
第三章 MCS-51系統(tǒng)擴(kuò)展技術(shù)_第2頁
第三章 MCS-51系統(tǒng)擴(kuò)展技術(shù)_第3頁
第三章 MCS-51系統(tǒng)擴(kuò)展技術(shù)_第4頁
第三章 MCS-51系統(tǒng)擴(kuò)展技術(shù)_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 MCS-51系統(tǒng)擴(kuò)展技術(shù)3.1 3.1 單片機(jī)擴(kuò)展的基本概念單片機(jī)擴(kuò)展的基本概念3.2 3.2 單片機(jī)存儲器的擴(kuò)展單片機(jī)存儲器的擴(kuò)展 3.3 3.3 單片機(jī)單片機(jī)I/OI/O接口擴(kuò)展電路設(shè)計接口擴(kuò)展電路設(shè)計3.4 3.4 單片機(jī)鍵盤接口技術(shù)單片機(jī)鍵盤接口技術(shù)3.5 3.5 單片機(jī)單片機(jī)LEDLED顯示器接口技術(shù)顯示器接口技術(shù) 第一節(jié)第一節(jié) 單片機(jī)擴(kuò)展的基本概念單片機(jī)擴(kuò)展的基本概念一、單片機(jī)最小系統(tǒng)一、單片機(jī)最小系統(tǒng) 使單片機(jī)能運行的最少器件構(gòu)成的系統(tǒng),就是最小使單片機(jī)能運行的最少器件構(gòu)成的系統(tǒng),就是最小系統(tǒng)。系統(tǒng)。無無ROMROM芯片:芯片:(8031) (8031) 必須擴(kuò)展必須擴(kuò)展

2、ROMROM,復(fù)位、晶振電路。,復(fù)位、晶振電路。有有ROMROM芯片:不必擴(kuò)展芯片:不必擴(kuò)展ROMROM,只,只須擴(kuò)展須擴(kuò)展復(fù)位、晶振電路。復(fù)位、晶振電路。2、P0、P2: 地址總線地址總線 AB,P0為低為低8 8位位, P2為高為高8 8位位 。1、P0: 數(shù)據(jù)總線數(shù)據(jù)總線 DB 。3、P3: 控制總線控制總線 CB 。二、二、單片機(jī)三總線構(gòu)成單片機(jī)三總線構(gòu)成RD、 WR、 ALE、 PSEN 、 EA讀、讀、 寫、寫、 地址鎖存、讀外部程序存儲器、地址鎖存、讀外部程序存儲器、 控制內(nèi)外控制內(nèi)外ROM第二節(jié)第二節(jié) 單片機(jī)存儲器的擴(kuò)展單片機(jī)存儲器的擴(kuò)展 P0 ALE8031 P2 PSEN

3、WR RD EAD0D7A8A15373 LE OEA0A7AB A0A15 DB D0D7A15A14A13Vcc總線擴(kuò)展邏輯圖總線擴(kuò)展邏輯圖138 Y7 . . . Y1 Y0A B C G1 G2A G2B譯碼法譯碼法 DB D0D7AB A0A15A15A14A13Vcc138 Y7 . . . Y1 Y0A B C G1 G2A G2BCE D0D7A0A12 2764CE1 D0D7A0A12 6264 PSENRDWR接接80318031OE存儲器擴(kuò)展存儲器擴(kuò)展OEWR P0 ALE8031 P2 PSEN WR RD EAD07A8A15373 LE OEA07AB A0A15

4、 DB D0D7D0D7 2764 CE OEA012D0D7 2764CE OEA012線選法線選法A15 P0.7 P0.0 ALE8031 P2 PSEN WR RD EA373 LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13 D0 D7 2764OE CEA0 A12D0 D7A0A12譯碼法電路圖譯碼法電路圖接6264 D0 D7WR 6264OE CE1A0 A12接8031RDWR接138 Y1DBABD0 D7A0A121、存儲器、存儲器 CPU同步傳送,靠時鐘控制傳送速度。只需要同步傳送,靠時鐘控制傳送

5、速度。只需要 地址線、數(shù)據(jù)線、讀寫線。地址線、數(shù)據(jù)線、讀寫線。2、外部設(shè)備、外部設(shè)備 CPU異步傳送,傳送速度不同,除地址線、數(shù)據(jù)線、讀寫線異步傳送,傳送速度不同,除地址線、數(shù)據(jù)線、讀寫線 外,還需要應(yīng)答線。外,還需要應(yīng)答線。第三節(jié)第三節(jié) I /O I /O 接口技術(shù)概述接口技術(shù)概述一、接口電路一、接口電路(interface circuit) 數(shù)據(jù)傳送數(shù)據(jù)傳送 存儲器存儲器 CPU 外部設(shè)備外部設(shè)備 CPU外部設(shè)備情況復(fù)雜,導(dǎo)致外部設(shè)備與外部設(shè)備情況復(fù)雜,導(dǎo)致外部設(shè)備與CPUCPU不能同步。不能同步。1 1)工作速度差別大)工作速度差別大; ;2 2)信號形式多樣)信號形式多樣 : : 電壓

6、、電流等模擬量、開關(guān)量;電壓、電流等模擬量、開關(guān)量;3 3)外部設(shè)備與)外部設(shè)備與CPUCPU距離差別大:數(shù)米、數(shù)十米;距離差別大:數(shù)米、數(shù)十米;4 4)數(shù)據(jù)轉(zhuǎn)換)數(shù)據(jù)轉(zhuǎn)換 :電流轉(zhuǎn)電壓,:電流轉(zhuǎn)電壓,D / A、A / D,并行轉(zhuǎn)串行,串行轉(zhuǎn)并行轉(zhuǎn)串行,串行轉(zhuǎn)并行。并行。接口電路的任務(wù):接口電路的任務(wù):1 1)協(xié)調(diào)速度,解決應(yīng)答信號問題;)協(xié)調(diào)速度,解決應(yīng)答信號問題;2 2)解決數(shù)據(jù)鎖存問題,輸出時外設(shè)與數(shù)據(jù)總線之間要有鎖存器;)解決數(shù)據(jù)鎖存問題,輸出時外設(shè)與數(shù)據(jù)總線之間要有鎖存器;3 3)解決數(shù)據(jù)緩沖問題,輸入時外設(shè)與數(shù)據(jù)總線之間要有緩沖器;)解決數(shù)據(jù)緩沖問題,輸入時外設(shè)與數(shù)據(jù)總線之間要有

7、緩沖器;二、二、 簡單簡單I/O擴(kuò)展擴(kuò)展輸入:使用三態(tài)門(緩沖器)輸入:使用三態(tài)門(緩沖器)74LS24474LS24474LS24574LS245輸出:使用鎖存器輸出:使用鎖存器74LS27374LS27374LS37374LS3731 1、輸入擴(kuò)展,使用、輸入擴(kuò)展,使用2 2個個74LS24474LS244輸入輸入BCDBCD碼:碼:存放在存放在 R4 R4 (低字節(jié)),個位、十位(低字節(jié)),個位、十位(244 244 ) R5 R5 (高字節(jié)),百位、千位(高字節(jié)),百位、千位(244 244 ) 74LS24474LS244輸入端接外設(shè)(鍵),輸出端接數(shù)據(jù)總線。輸入端接外設(shè)(鍵),輸出

8、端接數(shù)據(jù)總線。工作內(nèi)容:工作內(nèi)容:1. 1. 設(shè)計電路設(shè)計電路2. 2. 地址譯碼地址譯碼3. 3. 設(shè)計程序設(shè)計程序P0.7P0.0ALE8031P2PSENWRRDEA373LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13D0 D72764OE CEA0 A12D0 D7A0A12譯碼法電路圖譯碼法電路圖接6264 y0 y7244 1A1 2A4 y0 y7 244 1A1 2A4 Vcc個位個位 十位十位百位百位千位千位A0A1A Y0 Y1B Y2139E Y3RD或門Y7E000HE001HE000H1G2GD

9、BAB1G2GE002HE003H編寫程序編寫程序由由244 244 讀回數(shù)據(jù)(低字節(jié))存放在讀回數(shù)據(jù)(低字節(jié))存放在 R4 R4 由由244 244 讀回數(shù)據(jù)(高字節(jié))存放在讀回數(shù)據(jù)(高字節(jié))存放在 R5R5MOV DPTR , #E000H ; 244244(I I)口地址送數(shù)據(jù)指針)口地址送數(shù)據(jù)指針DPTRDPTRMOVX A , DPTR ;地址的內(nèi)容送累加器地址的內(nèi)容送累加器A AMOV R4 , A ; 個位、十位數(shù)據(jù)送個位、十位數(shù)據(jù)送 R4R4INC DPTR ; 數(shù)據(jù)指針加數(shù)據(jù)指針加 1 1 ,指向,指向244244(IIII)MOVX A , DPTR ;地址的內(nèi)容送累加器地

10、址的內(nèi)容送累加器A AMOV R5 , A ; 百位、千位數(shù)據(jù)送百位、千位數(shù)據(jù)送 R5R5 A12、輸出擴(kuò)展,使用、輸出擴(kuò)展,使用2個個74LS273輸出數(shù)據(jù)輸出數(shù)據(jù)DBAB或門Y7E000HWRA Y0B Y1139 ED0 D7 273 I CLKQ0 Q7D0 D7 273 II CLKQ0 Q7 E000HE001HE002HE003HA0編寫程序編寫程序把把#35H#35H由由273273(I I) 送出,把送出,把#45H#45H由由273273(IIII) 送出。送出。MOV DPTR , #E000H ; 273 I 口地址送數(shù)據(jù)指針口地址送數(shù)據(jù)指針DPTRMOV A , #3

11、5HMOVX DPTR , A ;累加器累加器A A的內(nèi)容送地址的內(nèi)容送地址E000HINC DPTR ; 數(shù)據(jù)指針加數(shù)據(jù)指針加 1 1 ,指向,指向273 IIMOV A , #45HMOVX DPTR , A ;累加器累加器A A的內(nèi)容送地址的內(nèi)容送地址E001H三、三、 81558155作作5151系列單片機(jī)可編程系列單片機(jī)可編程I/OI/O擴(kuò)展擴(kuò)展1 1、81558155可編程并行接口芯片結(jié)構(gòu)可編程并行接口芯片結(jié)構(gòu) 按芯片功能,按芯片功能,81558155由三部分組成:由三部分組成:2 2) I/OI/O接口:接口:端口端口A A,8 8位位I/OI/O端口端口PA0-7PA0-7。端

12、口端口B B,8 8位位I/OI/O端口端口PB0-7PB0-7。端口端口C C,6 6位位I/OI/O端口端口PC0-5PC0-5。命令寄存器,命令寄存器,8 8位,只允許寫入。位,只允許寫入。狀態(tài)寄存器,狀態(tài)寄存器,8 8位,只允許讀出。位,只允許讀出。3 3)計數(shù)器)計數(shù)器/ /定時器:一個定時器:一個1414位的二進(jìn)制減法計數(shù)器位的二進(jìn)制減法計數(shù)器/ /定時器。定時器。1 1) 隨機(jī)存儲器隨機(jī)存儲器RAMRAM:256256字節(jié)字節(jié)2、8155引腳及內(nèi)部邏輯結(jié)構(gòu)引腳及內(nèi)部邏輯結(jié)構(gòu) (P310)1 402 39. . . .20 21256BRAM計計數(shù)數(shù)器器ABCIO/MAD70CEA

13、LERDWRRESETTIMER INTIMER OUTPA70PB70PC50PC3PC4PC5PC0PC1PC2VccTIMER INRESETTIMER OUTIO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssPB0PB1PB2PB3PB4PB5PB6PB7PA7PA6PA5PA4PA3PA2PA1PA0AD0AD0AD7AD7:地址地址/ /數(shù)據(jù)線數(shù)據(jù)線ALEALE: 地址鎖存信號地址鎖存信號RD:RD:讀信號讀信號WR:WR:寫信號寫信號CE:CE:片選信號片選信號TIMER IN:TIMER IN:計時器輸入信號計時器輸入信號TIMER OUT:TIM

14、ER OUT:計計數(shù)數(shù)器輸出信號器輸出信號RESET:RESET:復(fù)位信號復(fù)位信號IO / M:IO / M: 輸入輸入“1 1”為為 I/OI/O端口操作端口操作I/O I/O 、RAMRAM操作選擇操作選擇 輸入輸入“0 0”為片內(nèi)為片內(nèi) 256B RAM256B RAM讀寫讀寫操作操作PA0-7, PB0-7, PC0-5 : PA0-7, PB0-7, PC0-5 : 三個通用三個通用I/OI/O端口端口3 3、I/OI/O口工作方式口工作方式 (用軟件設(shè)置)(用軟件設(shè)置) 輸入輸入 C C口:口:輸出輸出控制控制A A口的應(yīng)答口的應(yīng)答 四種工作方式;四種工作方式;控制控制B B口的應(yīng)

15、答口的應(yīng)答 A A口:口: 輸入、輸出兩種工作方式;輸入、輸出兩種工作方式;B B口:口:4 4、81558155片內(nèi)片內(nèi)RAMRAM及及I/OI/O口地址口地址2)I/O口地址口地址: 00H 命令命令/ /狀態(tài)寄存器地址狀態(tài)寄存器地址 01H 端口端口A A地址地址 02H 端口端口B B地址地址 03H 端口端口C C地址地址 04H 計計數(shù)數(shù)器低器低 8 8 位地址位地址 05H 計計數(shù)數(shù)器高器高 8 8 位地址位地址以上地址均為以上地址均為81558155芯片內(nèi)部的芯片內(nèi)部的 8 8 位地址位地址1)RAM地址地址:00HFFH 256 B 8155MCS - 51AD 07P 0.

16、0 0.7ALEALERESET.RSTRD.RDWR.WR5 5、81558155與與5151單片機(jī)連接單片機(jī)連接81558155與與5151單片機(jī)的許多信號兼容,可以直接連接。單片機(jī)的許多信號兼容,可以直接連接。6 6、5151單片機(jī)可編程單片機(jī)可編程I/OI/O擴(kuò)展(譯碼法)擴(kuò)展(譯碼法)P0.7P0.0ALE8031P2PSENWRRDEA373LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13D0 D72764OE CEA0 A12D0 D7A0A12譯碼法電路圖譯碼法電路圖接6264ALERSTA8AD0AD1

17、.AD7ALERESETIO / MCE 138 Y3B07A07C056000H7FFFHDBAB AD0AD7 1) I/O擴(kuò)展電路圖擴(kuò)展電路圖接803181552 2)擴(kuò)展后)擴(kuò)展后8155 RAM8155 RAM及及I/OI/O口地址口地址 I/O:6100H命令命令/ /狀態(tài)寄存器地址狀態(tài)寄存器地址6101H端口端口A地址地址6102H端口端口B地址地址6103H端口端口C地址地址6104H 計數(shù)器低計數(shù)器低 8 位地址位地址 6105H計數(shù)器高計數(shù)器高 8 位地址位地址 IO / M 接地址線接地址線A8 RAM( M ): 6000H60FFH 共共 256 B7、命令、命令 /

18、 狀態(tài)字狀態(tài)字1)命令字:)命令字:8 位寄存器,用來定義端口及計數(shù)器的工作方式,位寄存器,用來定義端口及計數(shù)器的工作方式,對此寄存器只能寫,不能讀。對此寄存器只能寫,不能讀。格式:格式:A口口 “0” 輸輸入入B口口 “1”輸出輸出 “00” 輸入輸入C口口 “11” 輸出輸出 “01” 控制控制A口選通口選通 “10” 控制控制A、B口選通口選通A口中斷口中斷B口中斷口中斷“1”允許中斷允許中斷“0”不允許中不允許中斷斷計數(shù)器工計數(shù)器工作方式,作方式,四種:四種:00、01、10、11。D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPA 00 : 無操作無操作計數(shù)

19、器工作方式計數(shù)器工作方式: 01 : 停止計數(shù)停止計數(shù) 10 : 計數(shù)完成后停止計數(shù)完成后停止 11 : 開始計數(shù)開始計數(shù)D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPAD6D5D4D3D2D1D0格式:格式:2)狀態(tài)字)狀態(tài)字 : 8 位寄存器,用低位寄存器,用低 7 位來寄存各端口及計時器的位來寄存各端口及計時器的工作工作 狀態(tài),對此寄存器只能讀,不能寫。狀態(tài),對此寄存器只能讀,不能寫。INTRA : A口中斷請求口中斷請求ABF : A口緩沖器滿口緩沖器滿/ 空空INTEA : A口空中斷允許口空中斷允許INTRB : B口中斷請求口中斷請求BBF : B口緩

20、沖器滿口緩沖器滿/ 空空INTEB : B口中斷允許口中斷允許TIMER : 計時器中斷計時器中斷8、8155 計數(shù)器計數(shù)器/ / 定時器定時器1)結(jié)構(gòu):)結(jié)構(gòu):14 位減法計數(shù)器位減法計數(shù)器,由兩個由兩個 8 位寄存器組成位寄存器組成M2M1T13T12T11T10T9T8D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0輸出方式輸出方式計數(shù)器高計數(shù)器高 6 位位計數(shù)器低計數(shù)器低 8 位位05H04H 0 0 單方波單方波 0 1 連續(xù)方波連續(xù)方波 1 0 單脈沖單脈沖 1 1 連續(xù)脈沖連續(xù)脈沖開始計數(shù)開始計數(shù)終止計數(shù)終止計數(shù)2)M2M1 :定義

21、計數(shù)器輸出信號方式定義計數(shù)器輸出信號方式9、8155 命令字命令字, ,計數(shù)器計數(shù)器/ / 定時器應(yīng)用定時器應(yīng)用 ( (初始化初始化) ) 要求對計數(shù)脈沖進(jìn)行千分頻,并重新置數(shù)以產(chǎn)生連續(xù)方波。要求對計數(shù)脈沖進(jìn)行千分頻,并重新置數(shù)以產(chǎn)生連續(xù)方波。分頻的概念:分頻的概念:二分頻:輸出頻率是輸入頻二分頻:輸出頻率是輸入頻 率的二分之一率的二分之一計數(shù)脈沖:輸入計數(shù)脈沖:輸入連續(xù)方波:輸出連續(xù)方波:輸出500500計數(shù)常數(shù)計數(shù)常數(shù): : 500輸入輸入輸出輸出A口口: :輸入輸入B口口: :輸出輸出 C口口: :輸入輸入AB口口: :禁止中斷禁止中斷TM2TM1 命令字:命令字: 1 1 0 0 0

22、0 1 0輸出連續(xù)方波輸出連續(xù)方波 :M2M1 0 1 ; 計數(shù)常數(shù)計數(shù)常數(shù): 500 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0計數(shù)器低計數(shù)器低 8 8 位位計數(shù)器高計數(shù)器高 8 8 位位計數(shù)初值為:計數(shù)初值為:41F4H41F4H0 C 2 H 2 )5002 )250 0 2 )125 0 2 )62 12 )310 2 )15 12 ) 712 ) 312 ) 1 12 ) 0 1高高低低1 1 1 1 1 0 1 0 000 00 0001 1111 010 014 位位計數(shù)常數(shù)計數(shù)常數(shù) 500 轉(zhuǎn)換成二進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):“ 除除 2 取余取余 ”0 1 F

23、4 H高高低低2 ) 0 0命令字:命令字: 0 C 2 H,地址:地址:6100H計數(shù)初值為:計數(shù)初值為:4 1 F 4 H , , 地址:地址:6104H 存放存放 0F4H 6105H 存放存放 41H8155初始化程序初始化程序:MOVDPTR ,# # 6100HMOVA,# # 0C2HMOVXDPTR ,AMOVDPTR ,# # 6104HMOVA,# # 0F4HMOVXDPTR ,AINCDPTRMOVA,# # 41HMOVXDPTR ,A寫入命令字寫入命令字裝入計數(shù)初值裝入計數(shù)初值第四節(jié)第四節(jié) 單片機(jī)鍵盤接口技術(shù)單片機(jī)鍵盤接口技術(shù)非編碼:用軟件產(chǎn)生鍵碼,單片機(jī)用。非編碼

24、:用軟件產(chǎn)生鍵碼,單片機(jī)用。 鍵盤分為兩種鍵盤分為兩種 編碼法編碼法: : 用硬件產(chǎn)生鍵碼。用硬件產(chǎn)生鍵碼。鍵盤(矩陣)鍵盤(矩陣)鍵鍵機(jī)械開關(guān)機(jī)械開關(guān)列線列線行線行線一、一、5151單片機(jī)鍵盤結(jié)構(gòu)單片機(jī)鍵盤結(jié)構(gòu)(在前述擴(kuò)展電路中使用)(在前述擴(kuò)展電路中使用) PA 0 PA 1PA 2. PA 7PC 0PC 1PC 2PC 3+5V5.1K40行行1行行2行行3行行0列列1列列2列列3列列4列列5列列6列列7列列01234567816232431815581559ABCDEFALERSTA8AD0AD1.AD7ALERESETIO / MCE138 Y3B07A07C056000H7FFF

25、HDBAB AD0AD7 1) I/O擴(kuò)展電路圖擴(kuò)展電路圖鍵識別鍵識別鍵測試鍵測試有鍵按下否?有鍵按下否?去抖動去抖動行掃描行掃描鍵值計算鍵值計算鍵值送鍵值送A等待鍵釋放等待鍵釋放JMP ADPTR 0鍵鍵處處理理子子程程序序 1鍵鍵處處理理子子程程序序 n鍵鍵處處理理子子程程序序. . . . . .N二、對鍵盤的識別流程二、對鍵盤的識別流程Y1、鍵測試、鍵測試先把輸出口每位送先把輸出口每位送“ 0 ”;再讀輸入口再讀輸入口 全為全為“ 1 ”時無鍵按下;時無鍵按下; 不全為不全為“ 1 ”時有鍵按下;時有鍵按下; 2、去抖動、去抖動延時法:采用延時躲過抖動;延時法:采用延時躲過抖動;比較法

26、:讀幾次進(jìn)行比較;比較法:讀幾次進(jìn)行比較;鍵按下鍵按下鍵穩(wěn)定鍵穩(wěn)定前抖動前抖動后抖動后抖動鍵測試鍵測試3、鍵掃描、鍵掃描使用逐行掃描法確定被按鍵所在行的位置(行號):使用逐行掃描法確定被按鍵所在行的位置(行號): 先使一條列線為先使一條列線為“ 0 ”,逐行進(jìn)行掃描,如果此列,逐行進(jìn)行掃描,如果此列線上無鍵按下,則各行線都為線上無鍵按下,則各行線都為“ 1 ”。如果此列線上有。如果此列線上有鍵按下,則對應(yīng)行線為鍵按下,則對應(yīng)行線為“ 0 ”。 通過行號與列號計算被按鍵的鍵值(位置)。通過行號與列號計算被按鍵的鍵值(位置)。4、鍵值計算、鍵值計算鍵值的定義原則:計算方便鍵值的定義原則:計算方便按

27、圖示定義鍵值:按圖示定義鍵值: K = 行號行號8 列號列號行:行: 0,1,2,3 共共 4 行;行;列:列: 0,1,2,7 共共 8 列;列; 鍵值鍵值逐行掃描逐行掃描D0 1D1 1D2 1D3 1 0 0 0 0 0 0 0 0D7D6D5D4D3D2D1D0+5V有鍵按下有鍵按下懸空懸空鍵測試鍵測試A口口: 輸出輸出C口口: 輸入輸入鍵測試鍵測試D0 1D1 1D2 1D3 1D7D6D5D4D3D2D1D0+5V有鍵按下有鍵按下懸空懸空 1 1 1 1 1 1 1 0A口口: 輸出輸出C口口: 輸入輸入逐行掃描逐行掃描逐行掃描逐行掃描D0 1D1 1D2 1D3 1D7D6D5D

28、4D3D2D1D0+5V有鍵按下有鍵按下懸空懸空 1 1 1 1 1 0 1 1A口口: 輸出輸出C口口: 輸入輸入逐行掃描逐行掃描鍵掃描鍵掃描三、鍵盤程序設(shè)計三、鍵盤程序設(shè)計A口口: 列輸出,地址為列輸出,地址為6101H ;C口口: 行輸入,地址為行輸入,地址為6103H1、鍵識別子程序、鍵識別子程序 : KS1KS1: MOV DPTR , #6101H ;MOV A , #00H ; 各列送各列送“0”MOVX DPTR , A ;INCDPTR ; INC DPTR ; 指向指向C口口 MOVX A , DPTR ; 讀讀C口狀態(tài)口狀態(tài)CLP A ; C口數(shù)據(jù)取反口數(shù)據(jù)取反 “1 1

29、 1 0” “0 0 0 1”ANL A , #0FH ; 屏蔽高四位屏蔽高四位 0 0 0 0 1 1 1 1RET 0 0 0 0 0 0 0 12 2、鍵盤掃描程序、鍵盤掃描程序LEY1: ACALL KS1 ; JZRET1 ; A的內(nèi)容為零時轉(zhuǎn)移到的內(nèi)容為零時轉(zhuǎn)移到“RET1”子程子程序序LK0 : ACALLDIR ; 調(diào)用延時子程序調(diào)用延時子程序 DI R ACALLDIR; 延時去抖動延時去抖動ACALLKS1JZRET1 ; A的內(nèi)容為零時轉(zhuǎn)移到的內(nèi)容為零時轉(zhuǎn)移到“RET1”子程子程序序LK2 : MOVR2 , #80H ; 列輸出寄存器賦初值列輸出寄存器賦初值MOVR7 , #0FFH ; 列號計數(shù)器賦初值列號計數(shù)器賦初值MOVR6 , #08H ; 列輸出變更計數(shù)器賦初值列輸出變更計數(shù)器賦初值LK1: MOV A ,R2;INCR7;RLA;MOV R2 ,A;MOV DPTR , #6101H ;CPLA;MOVX DPTR , A ;INCDPTRINCDPTR;MOVXA , DPTR ;CPL AANLA , #0FHJNZLKPDJNZ R6 , LK1;AJMP RET1;LKP: CLRC;MOV R2 , #00H;MOV R6 , #04H;NE

溫馨提示

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

最新文檔

評論

0/150

提交評論