版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章 MCS-51系統(tǒng)擴(kuò)展技術(shù)3.1 3.1 單片機(jī)擴(kuò)展的基本概念單片機(jī)擴(kuò)展的基本概念3.2 3.2 單片機(jī)存儲(chǔ)器的擴(kuò)展單片機(jī)存儲(chǔ)器的擴(kuò)展 3.3 3.3 單片機(jī)單片機(jī)I/OI/O接口擴(kuò)展電路設(shè)計(jì)接口擴(kuò)展電路設(shè)計(jì)3.4 3.4 單片機(jī)鍵盤接口技術(shù)單片機(jī)鍵盤接口技術(shù)3.5 3.5 單片機(jī)單片機(jī)LEDLED顯示器接口技術(shù)顯示器接口技術(shù) docin/sundae_mengdocin/sundae_meng第一節(jié)第一節(jié) 單片機(jī)擴(kuò)展的基本概念單片機(jī)擴(kuò)展的基本概念一、單片機(jī)最小系統(tǒng)一、單片機(jī)最小系統(tǒng) 使單片機(jī)能運(yùn)行的最少器件構(gòu)成的系統(tǒng),就是最小使單片機(jī)能運(yùn)行的最少器件構(gòu)成的系統(tǒng),就是最小系統(tǒng)。系統(tǒng)。無無
2、ROMROM芯片:芯片:(8031) (8031) 必須擴(kuò)展必須擴(kuò)展ROMROM,復(fù)位、晶振電路。,復(fù)位、晶振電路。有有ROMROM芯片:不必?cái)U(kuò)展芯片:不必?cái)U(kuò)展ROMROM,只須擴(kuò)展復(fù)位、晶振電路。,只須擴(kuò)展復(fù)位、晶振電路。docin/sundae_mengdocin/sundae_meng2、P0、P2: 地址總線地址總線 AB,P0為低為低8位,位, P2為高為高8位位 。1、P0: 數(shù)據(jù)總線數(shù)據(jù)總線 DB 。3、P3: 控制總線控制總線 CB 。二、單片機(jī)三總線構(gòu)成二、單片機(jī)三總線構(gòu)成RD、 WR、 ALE、 PSEN 、 EA讀、讀、 寫、寫、 地址鎖存、讀外部程序存儲(chǔ)器、地址鎖存、讀
3、外部程序存儲(chǔ)器、 控制內(nèi)外控制內(nèi)外ROMdocin/sundae_meng第二節(jié)第二節(jié) 單片機(jī)存儲(chǔ)器的擴(kuò)展單片機(jī)存儲(chǔ)器的擴(kuò)展 docin/sundae_meng P0 ALE8031 P2 PSEN WR RD EAD0D7A8A15373 LE OEA0A7AB A0A15 DB D0D7A15A14A13Vcc總線擴(kuò)展邏輯圖總線擴(kuò)展邏輯圖138 Y7 . . . Y1 Y0A B C G1 G2A G2B譯碼法譯碼法docin/sundae_meng DB D0D7AB A0A15A15A14A13Vcc138 Y7 . . . Y1 Y0A B C G1 G2A G2BCE D0D7A0
4、A12 2764CE1 D0D7A0A12 6264 PSENRDWR接接80318031OE存儲(chǔ)器擴(kuò)展存儲(chǔ)器擴(kuò)展OEWRdocin/sundae_meng P0 ALE8031 P2 PSEN WR RD EAD07A8A15373 LE OEA07AB A0A15 DB D0D7D0D7 2764 CE OEA012D0D7 2764CE OEA012線選法線選法A15docin/sundae_meng P0.7 P0.0 ALE8031 P2 PSEN WR RD EA373 LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A1
5、4A13 D0 D7 2764OE CEA0 A12D0 D7A0A12譯碼法電路圖譯碼法電路圖接6264docin/sundae_meng D0 D7WR 6264OE CE1A0 A12接8031RDWR接138 Y1DBABD0 D7A0A12docin/sundae_meng1、存儲(chǔ)器、存儲(chǔ)器 CPU同步傳送,靠時(shí)鐘控制傳送速度。只需要同步傳送,靠時(shí)鐘控制傳送速度。只需要 地址線、數(shù)據(jù)線、讀寫線。地址線、數(shù)據(jù)線、讀寫線。2、外部設(shè)備、外部設(shè)備 CPU異步傳送,傳送速度不同,除地址線、數(shù)據(jù)線、讀寫線異步傳送,傳送速度不同,除地址線、數(shù)據(jù)線、讀寫線 外,還需要應(yīng)答線。外,還需要應(yīng)答線。第三
6、節(jié)第三節(jié) I /O I /O 接口技術(shù)概述接口技術(shù)概述一、接口電路一、接口電路interface circuitinterface circuit) 數(shù)據(jù)傳送數(shù)據(jù)傳送 存儲(chǔ)器存儲(chǔ)器 CPU 外部設(shè)備外部設(shè)備 CPUdocin/sundae_meng外部設(shè)備情況復(fù)雜,導(dǎo)致外部設(shè)備與外部設(shè)備情況復(fù)雜,導(dǎo)致外部設(shè)備與CPUCPU不能同步。不能同步。1 1工作速度差別大工作速度差別大; ;2 2信號(hào)形式多樣信號(hào)形式多樣 : : 電壓、電流等模擬量、開關(guān)量;電壓、電流等模擬量、開關(guān)量;3 3外部設(shè)備與外部設(shè)備與CPUCPU距離差別大:數(shù)米、數(shù)十米;距離差別大:數(shù)米、數(shù)十米;docin/sundae_me
7、ng4 4數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換 :電流轉(zhuǎn)電壓,:電流轉(zhuǎn)電壓,D / AD / A、A / DA / D,并行轉(zhuǎn)串行,串行,并行轉(zhuǎn)串行,串行轉(zhuǎn)轉(zhuǎn)并行。并行。接口電路的任務(wù):接口電路的任務(wù):1 1協(xié)調(diào)速度,解決應(yīng)答信號(hào)問題;協(xié)調(diào)速度,解決應(yīng)答信號(hào)問題;2 2解決數(shù)據(jù)鎖存問題,輸出時(shí)外設(shè)與數(shù)據(jù)總線之間要有鎖存器;解決數(shù)據(jù)鎖存問題,輸出時(shí)外設(shè)與數(shù)據(jù)總線之間要有鎖存器;3 3解決數(shù)據(jù)緩沖問題,輸入時(shí)外設(shè)與數(shù)據(jù)總線之間要有緩沖器;解決數(shù)據(jù)緩沖問題,輸入時(shí)外設(shè)與數(shù)據(jù)總線之間要有緩沖器;docin/sundae_meng二、二、 簡單簡單I/O擴(kuò)展擴(kuò)展輸入:使用三態(tài)門緩沖器)輸入:使用三態(tài)門緩沖器)74LS244
8、74LS24474LS24574LS245輸出:使用鎖存器輸出:使用鎖存器74LS27374LS27374LS37374LS3731 1、輸入擴(kuò)展,使用、輸入擴(kuò)展,使用2 2個(gè)個(gè)74LS24474LS244輸入輸入BCDBCD碼:碼:存放在存放在 R4 R4 (低字節(jié)),個(gè)位、十位(低字節(jié)),個(gè)位、十位244 244 ) R5 R5 (高字節(jié)),百位、千位(高字節(jié)),百位、千位244 244 ) 74LS244 74LS244輸入端接外設(shè)鍵),輸出端接數(shù)據(jù)總線。輸入端接外設(shè)鍵),輸出端接數(shù)據(jù)總線。docin/sundae_mengdocin/sundae_meng工作內(nèi)容:工作內(nèi)容:1. 1.
9、 設(shè)計(jì)電路設(shè)計(jì)電路2. 2. 地址譯碼地址譯碼3. 3. 設(shè)計(jì)程序設(shè)計(jì)程序docin/sundae_mengP0.7P0.0ALE8031P2PSENWRRDEA373LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13D0 D72764OE CEA0 A12D0 D7A0A12譯碼法電路圖譯碼法電路圖接6264docin/sundae_meng y0 y7244 1A1 2A4 y0 y7 244 1A1 2A4 Vcc個(gè)位個(gè)位 十位十位百位百位千位千位A0A1A Y0 Y1B Y2139E Y3RD或門Y7E000HE00
10、1HE000H1G2GDBAB1G2GE002HE003Hdocin/sundae_meng編寫程序編寫程序由由244 244 讀回?cái)?shù)據(jù)低字節(jié)存放在讀回?cái)?shù)據(jù)低字節(jié)存放在 R4 R4 由由244 244 讀回?cái)?shù)據(jù)高字節(jié)存放在讀回?cái)?shù)據(jù)高字節(jié)存放在 R5 R5MOV DPTR , #E000H ; 244I口地址送數(shù)據(jù)指針口地址送數(shù)據(jù)指針DPTRMOVX A , DPTR ;地址的內(nèi)容送累加器地址的內(nèi)容送累加器AMOV R4 , A ; 個(gè)位、十位數(shù)據(jù)送個(gè)位、十位數(shù)據(jù)送 R4INC DPTR ; 數(shù)據(jù)指針加數(shù)據(jù)指針加 1 ,指向,指向244II)MOVX A , DPTR ;地址的內(nèi)容送累加器地址的
11、內(nèi)容送累加器AMOV R5 , A ; 百位、千位數(shù)據(jù)送百位、千位數(shù)據(jù)送 R5 docin/sundae_mengA12、輸出擴(kuò)展,使用、輸出擴(kuò)展,使用2個(gè)個(gè)74LS273輸出數(shù)據(jù)輸出數(shù)據(jù)DBAB或門Y7E000HWRA Y0B Y1139 ED0 D7 273 I CLKQ0 Q7D0 D7 273 II CLKQ0 Q7 E000HE001HE002HE003HA0docin/sundae_meng編寫程序編寫程序把把#35H#35H由由273273I I) 送出,把送出,把#45H#45H由由273273IIII) 送出。送出。MOV DPTR , #E000H ; 273 I 口地址送
12、數(shù)據(jù)指針口地址送數(shù)據(jù)指針DPTRMOV A , #35HMOVX DPTR , A ;累加器累加器A的內(nèi)容送地址的內(nèi)容送地址E000HINC DPTR ; 數(shù)據(jù)指針加數(shù)據(jù)指針加 1 ,指向,指向273 IIMOV A , #45HMOVX DPTR , A ;累加器累加器A的內(nèi)容送地址的內(nèi)容送地址E001Hdocin/sundae_meng三、三、 8155 8155作作5151系列單片機(jī)可編程系列單片機(jī)可編程I/OI/O擴(kuò)展擴(kuò)展1 1、81558155可編程并行接口芯片結(jié)構(gòu)可編程并行接口芯片結(jié)構(gòu) 按芯片功能,按芯片功能,81558155由三部分組成:由三部分組成:2 2) I/O I/O接口
13、:接口:端口端口A A,8 8位位I/OI/O端口端口PA0-7PA0-7。端口端口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計(jì)數(shù)器計(jì)數(shù)器/ /定時(shí)器:一個(gè)定時(shí)器:一個(gè)1414位的二進(jìn)制減法計(jì)數(shù)器位的二進(jìn)制減法計(jì)數(shù)器/ /定時(shí)器。定時(shí)器。1 1) 隨機(jī)存儲(chǔ)器隨機(jī)存儲(chǔ)器RAMRAM:256256字節(jié)字節(jié)docin/sundae_meng2、8155引腳及內(nèi)部邏輯結(jié)構(gòu)引腳及內(nèi)部邏輯結(jié)構(gòu)
14、 (P310)1 402 39. . . .20 21256BRAM計(jì)計(jì)數(shù)數(shù)器器ABCIO/MAD70CEALERDWRRESETTIMER INTIMER OUTPA70PB70PC50PC3PC4PC5PC0PC1PC2VccTIMER INRESETTIMER OUTIO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssPB0PB1PB2PB3PB4PB5PB6PB7PA7PA6PA5PA4PA3PA2PA1PA0docin/sundae_mengAD0AD0AD7AD7:地址地址/ /數(shù)據(jù)線數(shù)據(jù)線ALEALE: 地址鎖存信號(hào)地址鎖存信號(hào)RD:RD:讀信號(hào)讀信號(hào)
15、WR:WR:寫信號(hào)寫信號(hào)CE:CE:片選信號(hào)片選信號(hào)TIMER IN:TIMER IN:計(jì)時(shí)器輸入信號(hào)計(jì)時(shí)器輸入信號(hào)TIMER OUT:TIMER OUT:計(jì)數(shù)器輸出信號(hào)計(jì)數(shù)器輸出信號(hào)RESET:RESET:復(fù)位信號(hào)復(fù)位信號(hào)IO / M:IO / M: 輸入輸入“1“1為為 I/O I/O端口操作端口操作I/O I/O 、RAMRAM操作選擇操作選擇 輸入輸入“0“0為片內(nèi)為片內(nèi) 256B RAM 256B RAM讀讀寫操作寫操作PA0-7, PB0-7, PC0-5 : PA0-7, PB0-7, PC0-5 : 三個(gè)通用三個(gè)通用I/OI/O端口端口docin/sundae_meng3 3、
16、I/OI/O口工作方式口工作方式 (用軟件設(shè)置)(用軟件設(shè)置) 輸入輸入 C C口:口:輸出輸出控制控制A A口的應(yīng)答口的應(yīng)答 四種工作方式;四種工作方式;控制控制B B口的應(yīng)答口的應(yīng)答 A A口:口: 輸入、輸出兩種工作方式;輸入、輸出兩種工作方式;B B口:口:docin/sundae_meng4 4、81558155片內(nèi)片內(nèi)RAMRAM及及I/OI/O口地址口地址2I/O口地址口地址: 00H 命令命令/狀態(tài)寄存器地址狀態(tài)寄存器地址 01H 端口端口A地址地址 02H 端口端口B地址地址 03H 端口端口C地址地址 04H 計(jì)數(shù)器低計(jì)數(shù)器低 8 位地址位地址 05H 計(jì)數(shù)器高計(jì)數(shù)器高 8
17、 位地址位地址以上地址均為以上地址均為8155芯片內(nèi)部的芯片內(nèi)部的 8 位地址位地址1RAM地址:地址:00HFFH 256 Bdocin/sundae_meng 8155MCS - 51AD 07P 0.0 0.7ALEALERESET.RSTRD.RDWR.WR5 5、81558155與與5151單片機(jī)連接單片機(jī)連接81558155與與5151單片機(jī)的許多信號(hào)兼容,可以直接連接。單片機(jī)的許多信號(hào)兼容,可以直接連接。docin/sundae_meng6 6、5151單片機(jī)可編程單片機(jī)可編程I/OI/O擴(kuò)展譯碼法)擴(kuò)展譯碼法)docin/sundae_mengP0.7P0.0ALE8031P2
18、PSENWRRDEA373LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13D0 D72764OE CEA0 A12D0 D7A0A12譯碼法電路圖譯碼法電路圖接6264docin/sundae_mengALERSTA8AD0AD1 .AD7ALERESETIO / MCE 138 Y3B07A07C056000H7FFFHDBAB AD0AD7 1) I/O擴(kuò)展電路圖擴(kuò)展電路圖接80318155docin/sundae_meng2 2擴(kuò)展后擴(kuò)展后8155 RAM8155 RAM及及I/OI/O口地址口地址 I/O:6100
19、H命令命令/狀態(tài)寄存器地址狀態(tài)寄存器地址6101H端口端口A地址地址6102H端口端口B地址地址6103H端口端口C地址地址6104H 計(jì)數(shù)器低計(jì)數(shù)器低 8 位地址位地址 6105H計(jì)數(shù)器高計(jì)數(shù)器高 8 位地址位地址 IO / M 接地址線接地址線A8 RAM( M ): 6000H60FFH 共共 256 Bdocin/sundae_meng7、命令、命令 / 狀態(tài)字狀態(tài)字1命令字:命令字:8 位寄存器,用來定義端口及計(jì)數(shù)器的工作方式,位寄存器,用來定義端口及計(jì)數(shù)器的工作方式,對(duì)此寄存器只能寫,不能讀。對(duì)此寄存器只能寫,不能讀。格式:格式:A口口 “0” 輸入輸入B口口 “1輸出輸出 “00
20、” 輸入輸入C口口 “11” 輸出輸出 “01” 控制控制A口選通口選通 “10” 控制控制A、B口選通口選通A口中斷口中斷B口中斷口中斷“1允許中斷允許中斷“0不允許中不允許中斷斷計(jì)數(shù)器工計(jì)數(shù)器工作方式,作方式,四種:四種:00、01、10、11。D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPAdocin/sundae_meng 00 : 無操作無操作計(jì)數(shù)器工作方式計(jì)數(shù)器工作方式: 01 : 停止計(jì)數(shù)停止計(jì)數(shù) 10 : 計(jì)數(shù)完成后停止計(jì)數(shù)完成后停止 11 : 開始計(jì)數(shù)開始計(jì)數(shù)D7D6D5D4D3D2D1D0T M2T M1IEBIEAPC2PC1PBPAdocin
21、/sundae_mengD6D5D4D3D2D1D0格式:格式:2狀態(tài)字狀態(tài)字 : 8 位寄存器,用低位寄存器,用低 7 位來寄存各端口及計(jì)時(shí)器的位來寄存各端口及計(jì)時(shí)器的工作工作 狀態(tài),對(duì)此寄存器只能讀,不能寫。狀態(tài),對(duì)此寄存器只能讀,不能寫。INTRA : A口中斷請(qǐng)求口中斷請(qǐng)求ABF : A口緩沖器滿口緩沖器滿/ 空空INTEA : A口空中斷允許口空中斷允許INTRB : B口中斷請(qǐng)求口中斷請(qǐng)求BBF : B口緩沖器滿口緩沖器滿/ 空空INTEB : B口中斷允許口中斷允許TIMER : 計(jì)時(shí)器中斷計(jì)時(shí)器中斷docin/sundae_meng8、8155 計(jì)數(shù)器計(jì)數(shù)器/ 定時(shí)器定時(shí)器1構(gòu)
22、造:構(gòu)造:14 位減法計(jì)數(shù)器,由兩個(gè)位減法計(jì)數(shù)器,由兩個(gè) 8 位寄存器組成位寄存器組成M2M1T 13T 12T 11T 10T9T8D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0輸出方式輸出方式計(jì)數(shù)器高計(jì)數(shù)器高 6 位位計(jì)數(shù)器低計(jì)數(shù)器低 8 位位05H04Hdocin/sundae_meng 0 0 單方波單方波 0 1 連續(xù)方波連續(xù)方波 1 0 單脈沖單脈沖 1 1 連續(xù)脈沖連續(xù)脈沖開始計(jì)數(shù)開始計(jì)數(shù)終止計(jì)數(shù)終止計(jì)數(shù)2M2M1 :定義計(jì)數(shù)器輸出信號(hào)方式:定義計(jì)數(shù)器輸出信號(hào)方式docin/sundae_meng9、8155 命令字命令字,計(jì)數(shù)器
23、計(jì)數(shù)器/ 定時(shí)器應(yīng)用定時(shí)器應(yīng)用 (初始化初始化) 要求對(duì)計(jì)數(shù)脈沖進(jìn)行千分頻,并重新置數(shù)以產(chǎn)生連續(xù)方波。要求對(duì)計(jì)數(shù)脈沖進(jìn)行千分頻,并重新置數(shù)以產(chǎn)生連續(xù)方波。分頻的概念:分頻的概念:二分頻:輸出頻率是輸入頻二分頻:輸出頻率是輸入頻 率的二分之一率的二分之一計(jì)數(shù)脈沖:輸入計(jì)數(shù)脈沖:輸入連續(xù)方波:輸出連續(xù)方波:輸出500500計(jì)數(shù)常數(shù)計(jì)數(shù)常數(shù): 500: 500輸入輸入輸出輸出docin/sundae_mengA口口:輸入輸入B口口:輸出輸出 C口口:輸入輸入AB口口:禁止中斷禁止中斷TM2TM1 命令字:命令字: 1 1 0 0 0 0 1 0輸出連續(xù)方波輸出連續(xù)方波 :M2M1 0 1 ; 計(jì)數(shù)常
24、數(shù)計(jì)數(shù)常數(shù): 500 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0計(jì)數(shù)器低計(jì)數(shù)器低 8 8 位位計(jì)數(shù)器高計(jì)數(shù)器高 8 8 位位計(jì)數(shù)初值為:計(jì)數(shù)初值為:41F4H0 C 2 Hdocin/sundae_meng 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 位位計(jì)數(shù)常數(shù)計(jì)數(shù)常數(shù) 500 轉(zhuǎn)換成二進(jìn)制數(shù):轉(zhuǎn)換成二進(jìn)制數(shù):“ 除除 2 取余取余 ”0 1 F 4 H高高低低2 ) 0 0docin/
25、sundae_meng命令字:命令字: 0 C 2 H,地址:地址:6100H計(jì)數(shù)初值為:計(jì)數(shù)初值為:4 1 F 4 H , 地址:地址:6104H 寄存寄存 0F4H 6105H 寄存寄存 41H8155初始化程序:初始化程序:MOVDPTR ,# 6100HMOVA,# 0C2HMOVXDPTR ,AMOVDPTR ,# 6104HMOVA,# 0F4HMOVXDPTR ,AINCDPTRMOVA,# 41HMOVXDPTR ,A寫入命令字寫入命令字裝入計(jì)數(shù)初值裝入計(jì)數(shù)初值docin/sundae_meng第四節(jié)第四節(jié) 單片機(jī)鍵盤接口技單片機(jī)鍵盤接口技術(shù)術(shù)非編碼:用軟件產(chǎn)生鍵碼,單片機(jī)用。
26、非編碼:用軟件產(chǎn)生鍵碼,單片機(jī)用。 鍵盤分為兩種鍵盤分為兩種 編碼法編碼法: : 用硬件產(chǎn)生鍵碼。用硬件產(chǎn)生鍵碼。鍵盤矩陣)鍵盤矩陣)鍵鍵機(jī)械開關(guān)機(jī)械開關(guān)列線列線行線行線docin/sundae_meng一、一、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列列01234567816232431815581559ABCDEFdocin/sundae_mengALERSTA8AD0AD1.AD7ALERE
27、SETIO / MCE138 Y3B07A07C056000H7FFFHDBAB AD0AD7 1) I/O擴(kuò)展電路圖擴(kuò)展電路圖docin/sundae_meng鍵識(shí)別鍵識(shí)別鍵測(cè)試鍵測(cè)試有鍵按下否?有鍵按下否?去抖動(dòng)去抖動(dòng)行掃描行掃描鍵值計(jì)算鍵值計(jì)算鍵值送鍵值送A等待鍵釋放等待鍵釋放JMP ADPTR 0鍵鍵處處理理子子程程序序 1鍵鍵處處理理子子程程序序 n鍵鍵處處理理子子程程序序. . . . . .N二、對(duì)鍵盤的識(shí)別流程二、對(duì)鍵盤的識(shí)別流程Ydocin/sundae_meng1、鍵測(cè)試、鍵測(cè)試先把輸出口每位送先把輸出口每位送“ 0 ”;再讀輸入口再讀輸入口 全為全為“ 1 ”時(shí)無鍵按下;
28、時(shí)無鍵按下; 不全為不全為“ 1 ”時(shí)有鍵按下;時(shí)有鍵按下; 2、去抖動(dòng)、去抖動(dòng)延時(shí)法:采用延時(shí)躲過抖動(dòng);延時(shí)法:采用延時(shí)躲過抖動(dòng);比較法:讀幾次進(jìn)行比較;比較法:讀幾次進(jìn)行比較;鍵按下鍵按下鍵穩(wěn)定鍵穩(wěn)定前抖動(dòng)前抖動(dòng)后抖動(dòng)后抖動(dòng)鍵測(cè)試鍵測(cè)試docin/sundae_meng3、鍵掃描、鍵掃描使用逐行掃描法確定被按鍵所在行的位置行號(hào)):使用逐行掃描法確定被按鍵所在行的位置行號(hào)): 先使一條列線為先使一條列線為“ 0 ”,逐行進(jìn)行掃描,如果此列,逐行進(jìn)行掃描,如果此列線上無鍵按下,則各行線都為線上無鍵按下,則各行線都為“ 1 ”。如果此列線上有。如果此列線上有鍵按下,則對(duì)應(yīng)行線為鍵按下,則對(duì)應(yīng)行線
29、為“ 0 ”。 通過行號(hào)與列號(hào)計(jì)算被按鍵的鍵值位置)。通過行號(hào)與列號(hào)計(jì)算被按鍵的鍵值位置)。4、鍵值計(jì)算、鍵值計(jì)算鍵值的定義原則:計(jì)算方便鍵值的定義原則:計(jì)算方便按圖示定義鍵值:按圖示定義鍵值: K = 行號(hào)行號(hào)8 列號(hào)列號(hào)行:行: 0,1,2,3 共共 4 行;行;列:列: 0,1,2,7 共共 8 列;列; 鍵值鍵值逐行掃描逐行掃描docin/sundae_mengD0 1D1 1D2 1D3 1 0 0 0 0 0 0 0 0D7D6D5D4D3D2D1D0+5V有鍵按下有鍵按下懸空懸空鍵測(cè)試鍵測(cè)試A口口: 輸出輸出C口口: 輸入輸入鍵測(cè)試鍵測(cè)試docin/sundae_mengD0 1
30、D1 1D2 1D3 1D7D6D5D4D3D2D1D0+5V有鍵按下有鍵按下懸空懸空 1 1 1 1 1 1 1 0A口口: 輸出輸出C口口: 輸入輸入逐行掃描逐行掃描逐行掃描逐行掃描docin/sundae_mengD0 1D1 1D2 1D3 1D7D6D5D4D3D2D1D0+5V有鍵按下有鍵按下懸空懸空 1 1 1 1 1 0 1 1A口口: 輸出輸出C口口: 輸入輸入逐行掃描逐行掃描鍵掃描鍵掃描docin/sundae_meng三、鍵盤程序設(shè)計(jì)三、鍵盤程序設(shè)計(jì)A口口: 列輸出,地址為列輸出,地址為6101H ;C口口: 行輸入,地址為行輸入,地址為6103H1、鍵識(shí)別子程序、鍵識(shí)別
31、子程序 : 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 1 0” “0 0 0 1”ANL A , #0FH ; 屏蔽高四位屏蔽高四位 0 0 0 0 1 1 1 1RET 0 0 0 0 0 0 0 1docin/sundae_meng2 2、鍵盤掃描程序、鍵盤掃描程序LEY1: ACALL KS1 ; JZRET1 ; A的內(nèi)容為零時(shí)轉(zhuǎn)移到的內(nèi)容為
32、零時(shí)轉(zhuǎn)移到“RET1子程子程序序LK0 : ACALLDIR ; 調(diào)用延時(shí)子程序調(diào)用延時(shí)子程序 DI R ACALLDIR; 延時(shí)去抖動(dòng)延時(shí)去抖動(dòng)ACALLKS1JZRET1 ; A的內(nèi)容為零時(shí)轉(zhuǎn)移到的內(nèi)容為零時(shí)轉(zhuǎn)移到“RET1子程子程序序LK2 : MOVR2 , #80H ; 列輸出寄存器賦初值列輸出寄存器賦初值MOVR7 , #0FFH ; 列號(hào)計(jì)數(shù)器賦初值列號(hào)計(jì)數(shù)器賦初值MOVR6 , #08H ; 列輸出變更計(jì)數(shù)器賦初值列輸出變更計(jì)數(shù)器賦初值docin/sundae_mengLK1: MOV A ,R2;INCR7;RLA;MOV R2 ,A;MOV DPTR , #6101H ;CPLA;MOVX DPTR , A ;INCDPTRINCDPTR;MOVXA , DPTR;CPL AANLA , #0FHdocin/sundae_mengJNZLKPDJNZ R6 , LK1;AJMP RET1;LKP: CLRC;MOV R2 , #00H;MOV R6 , #04H;NEXT: RRC A;JCLKP1;INCR2;DJNZ R6 , NEXT;AJMP RET1;docin/sundae_me
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國高化白水泥數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國鋅鉤數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 二零二五年度餐飲企業(yè)廚師健康管理服務(wù)合同范本3篇
- 2025至2030年中國寧坤丸數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年度存量二手房買賣合同(附房屋質(zhì)量保證)2篇
- 2025至2030年中國中空板零件盒數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國木墻板市場(chǎng)調(diào)查研究報(bào)告
- 2025年度國際企業(yè)外籍員工招聘與管理合同4篇
- 二零二五年度車輛改裝工程合同范本4篇
- 二零二五年度購房合同解除條件協(xié)議
- 和平精英電競賽事
- 四年級(jí)數(shù)學(xué)豎式計(jì)算100道文檔
- “新零售”模式下生鮮電商的營銷策略研究-以盒馬鮮生為例
- 項(xiàng)痹病辨證施護(hù)
- 職業(yè)安全健康工作總結(jié)(2篇)
- 懷化市數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展概況及未來投資可行性研究報(bào)告
- 07FD02 防空地下室電氣設(shè)備安裝
- 教師高中化學(xué)大單元教學(xué)培訓(xùn)心得體會(huì)
- 高中語文日積月累23
- 彈簧分離問題經(jīng)典題目
- 部編版高中歷史中外歷史綱要(下)世界史導(dǎo)言課課件
評(píng)論
0/150
提交評(píng)論