第三章 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ù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第三章MCS-51系統(tǒng)擴(kuò)展技術(shù)3.1單片機(jī)擴(kuò)展的基本概念3.2單片機(jī)存儲器的擴(kuò)展

3.3單片機(jī)I/O接口擴(kuò)展電路設(shè)計(jì)3.4單片機(jī)鍵盤接口技術(shù)3.5單片機(jī)LED顯示器接口技術(shù)

第一節(jié)單片機(jī)擴(kuò)展的基本概念一、單片機(jī)最小系統(tǒng)使單片機(jī)能運(yùn)行的最少器件構(gòu)成的系統(tǒng),就是最小系統(tǒng)。無ROM芯片:(8031)必須擴(kuò)展ROM,復(fù)位、晶振電路。有ROM芯片:不必擴(kuò)展ROM,只須擴(kuò)展復(fù)位、晶振電路。2、P0、P2:地址總線

AB,P0為低8位,P2為高8位。1、P0:數(shù)據(jù)總線

DB。3、P3:控制總線

CB。二、單片機(jī)三總線構(gòu)成RD、WR、ALE、PSEN、EA讀、寫、地址鎖存、讀外部程序存儲器、控制內(nèi)外ROM第二節(jié)單片機(jī)存儲器的擴(kuò)展P0ALE8031P2PSENWRRDEAD0~D7A8~A15373LEOEA0~A7ABA0~A15DBD0~D7A15A14A13Vcc總線擴(kuò)展邏輯圖138Y7...Y1Y0ABCG1G2AG2B譯碼法DBD0~D7ABA0~A15A15A14A13Vcc138Y7...Y1Y0ABCG1G2AG2BCED0~D7A0~A122764CE1D0~D7A0~A126264PSENRDWR接8031OE存儲器擴(kuò)展OEWRP0ALE8031P2PSENWRRDEAD0~7A8~A15373LEOEA0~7ABA0~A15DBD0~D7D0~D72764CEOEA0~12D0~D72764CEOEA0~12線選法A15P0.7

P0.0ALE8031P2

PSENWRRDEA373LEOED0D7A0A7A8A15DBABAY0BY1C138G2BG2AG1Y7VccA15A14A13D0~D72764OECEA0~A12D0D7A0A12譯碼法電路圖接6264D0~D7WR6264OECE1A0~A12接8031RDWR接138Y1DBABD0D7A0A121、存儲器CPU

同步傳送,靠時鐘控制傳送速度。只需要地址線、數(shù)據(jù)線、讀寫線。2、外部設(shè)備 CPU

異步傳送,傳送速度不同,除地址線、數(shù)據(jù)線、讀寫線外,還需要應(yīng)答線。第三節(jié)I/O接口技術(shù)概述

一、接口電路(interfacecircuit)

數(shù)據(jù)傳送存儲器 CPU

外部設(shè)備 CPU外部設(shè)備情況復(fù)雜,導(dǎo)致外部設(shè)備與CPU不能同步。1)工作速度差別大;2)信號形式多樣:電壓、電流等模擬量、開關(guān)量;3)外部設(shè)備與CPU距離差別大:數(shù)米、數(shù)十米;4)數(shù)據(jù)轉(zhuǎn)換:電流轉(zhuǎn)電壓,D/A、A/D,并行轉(zhuǎn)串行,串行轉(zhuǎn)并行。接口電路的任務(wù):1)協(xié)調(diào)速度,解決應(yīng)答信號問題;2)解決數(shù)據(jù)鎖存問題,輸出時外設(shè)與數(shù)據(jù)總線之間要有鎖存器;3)解決數(shù)據(jù)緩沖問題,輸入時外設(shè)與數(shù)據(jù)總線之間要有緩沖器;二、簡單I/O擴(kuò)展輸入:使用三態(tài)門(緩沖器) 74LS244 74LS245輸出:使用鎖存器 74LS273 74LS3731、輸入擴(kuò)展,使用2個74LS244輸入BCD碼: 存放在R4(低字節(jié)),個位、十位(244Ⅰ

R5(高字節(jié)),百位、千位(244Ⅱ

74LS244輸入端接外設(shè)(鍵),輸出端接數(shù)據(jù)總線。工作內(nèi)容:1.設(shè)計(jì)電路2.地址譯碼3.設(shè)計(jì)程序y0y7244Ⅰ1A12A4y0y7244Ⅱ1A12A4Vcc個位十位百位千位A0A1AY0Y1BY2139ⅠEY3RD或門Y7E000HE001HE000H1G2GDBAB1G2GE002HE003H編寫程序

由244Ⅰ

讀回數(shù)據(jù)(低字節(jié))存放在R4

由244Ⅱ讀回數(shù)據(jù)(高字節(jié))存放在R5MOV DPTR,#E000H;244(I)口地址送數(shù)據(jù)指針DPTRMOVXA,@DPTR;地址的內(nèi)容送累加器AMOV R4,A;個位、十位數(shù)據(jù)送R4INC DPTR ;數(shù)據(jù)指針加1,指向244(II)MOVXA,@DPTR;地址的內(nèi)容送累加器AMOV R5,A;百位、千位數(shù)據(jù)送R5

A12、輸出擴(kuò)展,使用2個74LS273輸出數(shù)據(jù)DBAB或門Y7E000HWRAY0BY1139ⅡED0D7273ICLKQ0Q7D0D7273IICLKQ0Q7E000HE001HE002HE003HA0編寫程序把#35H由273(I)送出,把#45H由273(II)送出。MOV DPTR,#E000H;273I口地址送數(shù)據(jù)指針DPTRMOV A,#35HMOVX@DPTR,A;累加器A的內(nèi)容送地址E000HINC DPTR ;數(shù)據(jù)指針加1

,指向273IIMOV A,#45HMOVX@DPTR,A;累加器A的內(nèi)容送地址E001H三、8155作51系列單片機(jī)可編程I/O擴(kuò)展1、8155可編程并行接口芯片結(jié)構(gòu)按芯片功能,8155由三部分組成:2)I/O接口: 端口A,8位I/O端口PA0-7。 端口B,8位I/O端口PB0-7。 端口C,6位I/O端口PC0-5。 命令寄存器,8位,只允許寫入。 狀態(tài)寄存器,8位,只允許讀出。3)計(jì)數(shù)器/定時器:一個14位的二進(jìn)制減法計(jì)數(shù)器/定時器。1)隨機(jī)存儲器RAM:256字節(jié)2、8155引腳及內(nèi)部邏輯結(jié)構(gòu)

(P310)1 402 39...... . . .20 21256BRAM計(jì)數(shù)器ABCIO/MAD7~0CEALERDWRRESETTIMERINTIMEROUTPA7~0PB7~0PC5~0PC3PC4PC5PC0PC1PC2VccTIMERINRESETTIMEROUTIO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssPB0PB1PB2PB3PB4PB5PB6PB7PA7PA6PA5PA4PA3PA2PA1PA0AD0~AD7: 地址/數(shù)據(jù)線ALE: 地址鎖存信號RD: 讀信號WR: 寫信號CE: 片選信號TIMERIN: 計(jì)時器輸入信號TIMEROUT: 計(jì)數(shù)器輸出信號RESET: 復(fù)位信號IO/M: 輸入“1”為I/O端口操作I/O、RAM操作選擇輸入“0”為片內(nèi)256BRAM讀寫操作PA0-7,PB0-7,PC0-5: 三個通用I/O端口3、I/O口工作方式(用軟件設(shè)置)

輸入

C口: 輸出 控制A口的應(yīng)答四種工作方式; 控制B口的應(yīng)答

A口:輸入、輸出兩種工作方式;B口:4、8155片內(nèi)RAM及I/O口地址2)I/O 口地址:00H命令/狀態(tài)寄存器地址

01H 端口A地址

02H 端口B地址

03H 端口C地址

04H 計(jì)數(shù)器低8位地址

05H 計(jì)數(shù)器高8位地址

以上地址均為8155芯片內(nèi)部的8位地址1)RAM地址:00H~FFH256B8155 MCS-51AD0~7 P0.0~0.7ALE ALERESET . RSTRD . RDWR . WR5、8155與51單片機(jī)連接8155與51單片機(jī)的許多信號兼容,可以直接連接。6、51單片機(jī)可編程I/O擴(kuò)展(譯碼法)ALERSTA8AD0AD1.AD7ALERESETIO/MCE138Y3B0~7A0~7C0~56000H~7FFFHDBABAD0AD7~1)I/O擴(kuò)展電路圖接803181552)擴(kuò)展后8155RAM及I/O口地址

I/O: 6100H 命令/狀態(tài)寄存器地址

6101H 端口A地址

6102H 端口B地址

6103H 端口C地址

6104H 計(jì)數(shù)器低

8位地址

6105H 計(jì)數(shù)器高

8位地址

IO/M

接地址線A8

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

10:計(jì)數(shù)完成后停止

11:開始計(jì)數(shù)D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPA×D6D5D4D3D2D1D0格式:2)狀態(tài)字:8位寄存器,用低7位來寄存各端口及計(jì)時器的 工作狀態(tài),對此寄存器只能讀,不能寫。INTRA:A口中斷請求ABF :A口緩沖器滿/空INTEA:A口空中斷允許INTRB:B口中斷請求BBF:B口緩沖器滿/空INTEB:B口中斷允許TIMER:計(jì)時器中斷8、8155計(jì)數(shù)器/定時器1)結(jié)構(gòu):14位減法計(jì)數(shù)器,由兩個

8位寄存器組成M2M1T13T12T11T10T9T8D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0輸出方式計(jì)數(shù)器高

6位計(jì)數(shù)器低

8位05H04H00 單方波

01連續(xù)方波

10單脈沖

11連續(xù)脈沖開始計(jì)數(shù)終止計(jì)數(shù)2)M2M1:定義計(jì)數(shù)器輸出信號方式9、8155命令字,計(jì)數(shù)器/定時器應(yīng)用(初始化)

要求對計(jì)數(shù)脈沖進(jìn)行千分頻,并重新置數(shù)以產(chǎn)生連續(xù)方波。分頻的概念:二分頻:輸出頻率是輸入頻率的二分之一計(jì)數(shù)脈沖:輸入連續(xù)方波:輸出500500計(jì)數(shù)常數(shù):500輸入輸出A口:輸入B口:輸出

C口:輸入AB口:禁止中斷TM2TM1命令字:1100001

0輸出連續(xù)方波:M2M1=01;計(jì)數(shù)常數(shù):5000100000

11111010

0計(jì)數(shù)器低8位計(jì)數(shù)器高8位計(jì)數(shù)初值為:41F4H0C2H2)5002)25002)125 02)62 12)31 02)15 12)7 12)3 12)1 12)0 1高低111110100000000011111010014位計(jì)數(shù)常數(shù)

500轉(zhuǎn)換成二進(jìn)制數(shù):“除2取余”01F4H高低2)0 0命令字:

0C2H , 地址:6100H計(jì)數(shù)初值為:41F4H,地址:6104H存放

0F4H 6105H存放

41H8155初始化程序:MOV DPTR, #6100HMOV A , #0C2HMOVX @DPTR, AMOV DPTR, #6104HMOV A , #0F4HMOVX @DPTR, AINC DPTR MOV A , #41HMOVX @DPTR, A寫入命令字裝入計(jì)數(shù)初值第四節(jié)

單片機(jī)鍵盤接口技術(shù)

非編碼:用軟件產(chǎn)生鍵碼,單片機(jī)用。鍵盤分為兩種編碼法:用硬件產(chǎn)生鍵碼。鍵盤(矩陣)鍵機(jī)械開關(guān)列線行線一、51單片機(jī)鍵盤結(jié)構(gòu)(在前述擴(kuò)展電路中使用)PA0PA1PA2...PA7PC0PC1PC2PC3+5V5.1K×40行1行2行3行0列1列2列3列4列5列6列7列01234567816232431結(jié)構(gòu)81559ABCDEF鍵識別鍵測試有鍵按下否?去抖動行掃描鍵值計(jì)算鍵值送A等待鍵釋放JMP@A+DPTR0鍵處理子程序1鍵處理子程序n鍵處理子程序......N二、對鍵盤的識別流程Y1、鍵測試先把輸出口每位送“0”;再讀輸入口 全為“1”時無鍵按下; 不全為“1”時有鍵按下;2、去抖動延時法:采用延時躲過抖動;比較法:讀幾次進(jìn)行比較;鍵按下鍵穩(wěn)定前抖動后抖動鍵測試3、鍵掃描使用逐行掃描法確定被按鍵所在行的位置(行號):先使一條列線為“0”,逐行進(jìn)行掃描,如果此列線上無鍵按下,則各行線都為“1”。如果此列線上有鍵按下,則對應(yīng)行線為“0”。通過行號與列號計(jì)算被按鍵的鍵值(位置)。4、鍵值計(jì)算鍵值的定義原則:計(jì)算方便按圖示定義鍵值:K=行號×8+列號行:0,1,2,3共4行;列:0,1,2,……7共8列;鍵值逐行掃描D01D11D21D3100000000D7D6D5D4D3D2D1D0+5V有鍵按下懸空鍵測試A口:輸出C口:輸入鍵測試D01D11D21D31D7D6D5D4D3D2D1D0+5V有鍵按下懸空11111110A口:輸出C口:輸入逐行掃描逐行掃描D01D11D21D31D7D6D5D4D3D2D1D0+5V有鍵按下懸空11111011A口:輸出C口:輸入逐行掃描鍵掃描三、鍵盤程序設(shè)計(jì)A口:列輸出,地址為6101H;C口:行輸入,地址為6103H1、鍵識別子程序:KS1KS1: MOVDPTR,#6101H; MOVA,#00H; 各列送“0” MOVX@DPTR,A; INC DPTR ; INCDPTR; 指向C口

MOVXA,@DPTR; 讀C口狀態(tài)

CLP A ;C口數(shù)據(jù)取反“××××1110” “××××0001” ANL A,#0FH;屏蔽高四位00001111 RET 000000012、鍵盤掃描程序LEY1: ACALL KS1 ; JZ RET1;A的內(nèi)容為零時轉(zhuǎn)移到“RET1”子程序LK0:ACALL DIR ;調(diào)用延時子程序DIR ACALL DIR ;延時去抖動

ACALL KS1 JZ RET1 ;A的內(nèi)容為零時轉(zhuǎn)移到“RET1”子程序LK2: MOV R2,#80H;列輸出寄存器賦初值

MOV R7,#0FFH;列號計(jì)數(shù)器賦初值

MOV R6,#08H;列輸出變更計(jì)數(shù)器賦初值

LK1: MOV A, R2 ; INC R7 ; RL A ; MOV R2, A ; MOV DPTR,#6101H; CPL A ; MOVX@DPTR,A; INC DPTR INC DPTR ;MOVX A,@DPTR ; CPL A ANL A,#0FH JNZ LKP DJNZ R6,LK1 ; AJMP RET1 ;LKP: CLR C ; MOV R2,#00H ; MOV R6,#04H ;NEXT:RRCA ; JC LKP1 ; INC R2 ; DJNZR6,NEXT ; AJMPRET1 ;

LKP1:MOV A,R2 ; RL A RL A RL A ADD A,R7 ; PUSHACC ;LK3: ACALLDIR ; ACALLKS1 ; JNZ LK3 ; POP ACC ; RETRET1:ACALLDIR ; MOV A,#0FFH ; RETad0

bd1cd2dd3ed4fd5gd6dpd7第五節(jié)

單片機(jī)LED顯示器接口技術(shù)一、發(fā)光二極管顯示

溫馨提示

  • 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

提交評論