常用外圍設(shè)備接口電路培訓(xùn)課件_第1頁
常用外圍設(shè)備接口電路培訓(xùn)課件_第2頁
常用外圍設(shè)備接口電路培訓(xùn)課件_第3頁
常用外圍設(shè)備接口電路培訓(xùn)課件_第4頁
常用外圍設(shè)備接口電路培訓(xùn)課件_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第9 9章章 常用外圍設(shè)備接口電路常用外圍設(shè)備接口電路本章要點本章要點:LEDLED數(shù)碼管及編碼方式數(shù)碼管及編碼方式靜態(tài)顯示方式及其典型應(yīng)用電路靜態(tài)顯示方式及其典型應(yīng)用電路動態(tài)顯示方式及其典型應(yīng)用電路動態(tài)顯示方式及其典型應(yīng)用電路虛擬虛擬I I2 2C C總線串行顯示電路總線串行顯示電路鍵盤去抖動和連接、控制方式鍵盤去抖動和連接、控制方式獨立式按鍵及其接口電路獨立式按鍵及其接口電路矩陣式鍵盤及其接口電路矩陣式鍵盤及其接口電路并行并行A/D ADC0809A/D ADC0809及其接口電路及其接口電路串行串行A/D ADC0832A/D ADC0832及其接口電路及其接口電路I I2 2C C串

2、行串行A/DA/D典型應(yīng)用電路典型應(yīng)用電路DAC0832DAC0832及其接口電路及其接口電路I I2 2C C串行串行D/AD/A典型應(yīng)用電路典型應(yīng)用電路開關(guān)量驅(qū)動輸出接口電路開關(guān)量驅(qū)動輸出接口電路9-1 9-1 LEDLED數(shù)碼管顯示接口數(shù)碼管顯示接口一、一、LEDLED數(shù)碼管數(shù)碼管LEDLED顯示器的擴(kuò)展顯示器的擴(kuò)展( (結(jié)構(gòu)結(jié)構(gòu)) ) LEDLED數(shù)碼管的數(shù)碼管的結(jié)構(gòu)結(jié)構(gòu):共陽與共陰共陽與共陰 單片機(jī)系統(tǒng)擴(kuò)展單片機(jī)系統(tǒng)擴(kuò)展LEDLED數(shù)碼管時數(shù)碼管時多用多用共陽共陽LEDLED: :共陽數(shù)碼管每個段筆畫是用低電平共陽數(shù)碼管每個段筆畫是用低電平(“0”)(“0”)點亮的點亮的, ,要求驅(qū)

3、要求驅(qū)動功率很??;而共陰數(shù)碼管段筆畫是用高電平動功率很??;而共陰數(shù)碼管段筆畫是用高電平(“0”)(“0”)點亮點亮的,要求驅(qū)動功率較大。的,要求驅(qū)動功率較大。 通常每個段筆畫要串一個數(shù)百歐姆的通常每個段筆畫要串一個數(shù)百歐姆的降壓電阻降壓電阻。公共公共陽陽極極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共公共陰陰極極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高高電平點亮電平點亮低低電平點亮電平點亮接高電平接高電平接地接地LEDLED數(shù)碼管

4、的軟件譯碼數(shù)碼管的軟件譯碼八段八段LEDLED數(shù)碼管數(shù)碼管段代碼編碼表段代碼編碼表( (連線不同可有多種表連線不同可有多種表):):公共陽極公共陽極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共陰極公共陰極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高高電平點亮電平點亮低低電平點亮電平點亮接高電平接高電平接地接地字形字形0123456789黑黑共陽共陽0C00F90A40B09992820F880900FF共陰共陰3F065B4F666D

5、7D077F6F00LEDLED數(shù)碼管分類:數(shù)碼管分類:按按其內(nèi)部結(jié)構(gòu)可分為其內(nèi)部結(jié)構(gòu)可分為共陰型共陰型和和共陽型共陽型; 按按其外形尺寸有多種形式,使用較多的其外形尺寸有多種形式,使用較多的是是0.50.5和和0.80.8; 按按顯示顏色也有多種形式,主要有顯示顏色也有多種形式,主要有紅色紅色和和綠色綠色; 正向壓降一般為正向壓降一般為1.51.52 2V V,額定電流為額定電流為1010mAmA,最大電流為最大電流為4040mAmA。靜態(tài)顯示靜態(tài)顯示時取時取1010mAmA為宜,為宜,動態(tài)掃描顯示動態(tài)掃描顯示,可加大脈沖電流,但,可加大脈沖電流,但一般不超過一般不超過4040mAmA。 按

6、按亮度強(qiáng)弱可分為亮度強(qiáng)弱可分為超亮超亮、高亮高亮和和普亮普亮。二、二、LEDLED數(shù)碼管編碼方式數(shù)碼管編碼方式 表表9-1 9-1 共陰和共陽共陰和共陽LEDLED數(shù)碼管幾種八段編碼表數(shù)碼管幾種八段編碼表 顯示顯示數(shù)字?jǐn)?shù)字共陰順序小數(shù)點暗共陰順序小數(shù)點暗 共陰逆序小數(shù)點暗共陰逆序小數(shù)點暗 共陽順序共陽順序小數(shù)點亮小數(shù)點亮 共陽順序共陽順序小數(shù)點暗小數(shù)點暗 DpDp g f e d c b a g f e d c b a 1616進(jìn)制進(jìn)制 a b c d e f g a b c d e f g DpDp1616進(jìn)制進(jìn)制0 00 0 1 1 1 1 1 10 0 1 1 1 1 1 13FH3FH

7、1 1 1 1 1 1 0 01 1 1 1 1 1 0 0FCHFCH4040H HC0HC0H1 10 0 0 0 0 1 1 00 0 0 0 0 1 1 006H06H0 1 1 0 0 0 0 00 1 1 0 0 0 0 060H60H79H79HF9HF9H2 20 1 0 1 1 0 1 10 1 0 1 1 0 1 15BH5BH1 1 0 1 1 0 1 01 1 0 1 1 0 1 0DAHDAH24H24HA4HA4H3 30 1 0 0 1 1 1 10 1 0 0 1 1 1 14FH4FH1 1 1 1 0 0 1 01 1 1 1 0 0 1 0F2HF2H30

8、H30HB0HB0H4 40 1 1 0 0 1 1 00 1 1 0 0 1 1 066H66H0 1 1 0 0 1 1 00 1 1 0 0 1 1 066H66H19H19H99H99H5 50 1 1 0 1 1 0 10 1 1 0 1 1 0 16DH6DH1 0 1 1 0 1 1 01 0 1 1 0 1 1 0B6HB6H12H12H92H92H6 60 1 1 1 1 1 0 10 1 1 1 1 1 0 17DH7DH1 0 1 1 1 1 1 01 0 1 1 1 1 1 0BEHBEH02H02H82H82H7 70 0 0 0 0 1 1 10 0 0 0 0 1

9、 1 107H07H1 1 1 0 0 0 0 01 1 1 0 0 0 0 0E0HE0H78H78HF8HF8H8 80 1 1 1 1 1 1 10 1 1 1 1 1 1 17FH7FH1 1 1 1 1 1 1 01 1 1 1 1 1 1 0FEHFEH00H00H80H80H9 90 1 1 0 1 1 1 10 1 1 0 1 1 1 16FH6FH1 1 1 1 0 1 1 01 1 1 1 0 1 1 0F6HF6H10H10H90H90H【例【例9-19-1】已知顯示數(shù)存在內(nèi)】已知顯示數(shù)存在內(nèi)RAM 30HRAM 30H(高位)、高位)、3131H H中,試將其轉(zhuǎn)換為中,

10、試將其轉(zhuǎn)換為5 5位共陰字段碼(順序),位共陰字段碼(順序),存在以存在以3030H H(高位)為首址的內(nèi)高位)為首址的內(nèi)RAMRAM中。中。 從顯示數(shù)中分離出顯示的每一位數(shù)字從顯示數(shù)中分離出顯示的每一位數(shù)字 方法是將顯示數(shù)除以十進(jìn)制的權(quán)方法是將顯示數(shù)除以十進(jìn)制的權(quán)顯示數(shù)顯示數(shù)轉(zhuǎn)換轉(zhuǎn)換為顯示字段碼的為顯示字段碼的步驟步驟: 將分離出的顯示數(shù)字轉(zhuǎn)換為顯示字段將分離出的顯示數(shù)字轉(zhuǎn)換為顯示字段碼碼 方法是查表方法是查表SPRT: MOV R0,#30H SPRT: MOV R0,#30H ; ;置萬位置萬位BCDBCD碼間址碼間址 MOV A,30H MOV A,30H ; ;置被除數(shù)置被除數(shù) MO

11、V B,31H MOV B,31H ; ; MOV R6,#27H MOV R6,#27H ; ;置除數(shù)置除數(shù)10000 = 271010000 = 2710H H MOV R5,#10H MOV R5,#10H ; ; LCALL SUM LCALL SUM ; ;除以除以10000,10000,萬位商存萬位商存3030H,H,余數(shù)存余數(shù)存A A、B B MOV R6,#03H MOV R6,#03H ; ;置除數(shù)置除數(shù)1000 = 031000 = 03E8HE8H MOV R5,#0E8H ; MOV R5,#0E8H ; INC R0 INC R0 ; ;指向千位商間址指向千位商間址(

12、31(31H)H) LCALL SUM LCALL SUM ; ;除以除以1000,1000,千位商存千位商存3131H,H,余數(shù)存余數(shù)存A A、B B MOV R6,#0 MOV R6,#0 ; ;置除數(shù)置除數(shù)100100 MOV R5,#100 MOV R5,#100 ; ; INC R0 INC R0 ; ;指向百位商間址指向百位商間址(32(32H) H) LCALL SUM LCALL SUM ; ;除以除以100,100,百位商存百位商存3232H,H,余數(shù)存余數(shù)存A(B=0)A(B=0) MOV B,#10 MOV B,#10 ; ;置除數(shù)置除數(shù)1010 DIV AB DIV A

13、B ; ;除以除以1010 INC R0 INC R0 ; ;指向十位商間址指向十位商間址(33(33H)H) MOV R0,A MOV R0,A ; ;十位商存十位商存3333H H XCH A,B XCH A,B ; ;讀個位數(shù)讀個位數(shù) INC R0 INC R0 ; ;指向個位間址指向個位間址(34(34H)H) MOV R0,A MOV R0,A ; ;個位存?zhèn)€位存3434H H RET RET ; ;解:連續(xù)調(diào)用下列二個子程序即可。解:連續(xù)調(diào)用下列二個子程序即可。 分離顯示數(shù)字子程序分離顯示數(shù)字子程序說明說明:SUMSUM是是1616位除以位除以1616位子程序位子程序:(:(A A

14、、B)B)(R6(R6、R5)=R5)=商商 R0,R0,余數(shù)余數(shù)( (A A、B)B)。( (參閱例參閱例4-9)4-9) 轉(zhuǎn)換顯示字段碼子程序轉(zhuǎn)換顯示字段碼子程序CHAG: MOV DPTR,#TAB CHAG: MOV DPTR,#TAB ; ;置共陰字段碼表首址置共陰字段碼表首址 MOV R0,#30H MOV R0,#30H ; ;置顯示數(shù)據(jù)區(qū)首址置顯示數(shù)據(jù)區(qū)首址CGLP: MOV A,R0 CGLP: MOV A,R0 ; ;取顯示數(shù)字取顯示數(shù)字 MOVC A,A+DPTR MOVC A,A+DPTR ; ;讀相應(yīng)顯示字段碼讀相應(yīng)顯示字段碼 MOV R0,A MOV R0,A ;

15、;存顯示字段碼存顯示字段碼 INC R0 INC R0 ; ;指向下一顯示數(shù)字指向下一顯示數(shù)字 CJNE R0,#35H,CGLP CJNE R0,#35H,CGLP ; ;判判5 5個顯示數(shù)字轉(zhuǎn)換完否個顯示數(shù)字轉(zhuǎn)換完否? ?未完繼續(xù)未完繼續(xù) RET RET ; ;轉(zhuǎn)換完畢轉(zhuǎn)換完畢, ,結(jié)束結(jié)束TAB: DB 3FH,06H,5BH,4FH,66H TAB: DB 3FH,06H,5BH,4FH,66H ; ;共陰字段碼表共陰字段碼表 DB 6DH,7DH,07H,7FH,6FH DB 6DH,7DH,07H,7FH,6FH ; ;三、三、靜態(tài)顯示方式及其典型應(yīng)用電路靜態(tài)顯示方式及其典型應(yīng)用電

16、路 動態(tài)顯示方式動態(tài)顯示方式,在某一瞬時顯示一位,依次循環(huán),在某一瞬時顯示一位,依次循環(huán)掃描,輪流顯示,由于人的視覺滯留效應(yīng),人們看掃描,輪流顯示,由于人的視覺滯留效應(yīng),人們看到的是多位同時穩(wěn)定顯示。到的是多位同時穩(wěn)定顯示。 特點特點:占用:占用I/OI/O端線少,電路較簡單,編程較復(fù)端線少,電路較簡單,編程較復(fù)雜,雜,CPUCPU要定時掃描刷新顯示。一般適用于顯示位數(shù)要定時掃描刷新顯示。一般適用于顯示位數(shù)較多的場合。較多的場合。LEDLED數(shù)碼管顯示分類:靜態(tài)顯示方式和動態(tài)顯示方式。數(shù)碼管顯示分類:靜態(tài)顯示方式和動態(tài)顯示方式。 靜態(tài)顯示方式靜態(tài)顯示方式,每一位字段碼分別從,每一位字段碼分別從

17、I/OI/O控制口輸控制口輸出,保持不變直至出,保持不變直至CPUCPU刷新。刷新。 特點特點:編程較簡單,但占用:編程較簡單,但占用I/OI/O口線多,一般適用口線多,一般適用于顯示位數(shù)較少的場合。于顯示位數(shù)較少的場合。LEDLED顯示器的擴(kuò)展顯示器的擴(kuò)展( (顯示方式顯示方式) ) LEDLED數(shù)碼管的數(shù)碼管的顯示方式顯示方式:靜態(tài)與動態(tài)靜態(tài)與動態(tài)動態(tài)顯示特點動態(tài)顯示特點: : 有閃爍有閃爍,用,用元器件少元器件少,占占I/OI/O線少線少,必須掃描必須掃描,花費花費CPUCPU時間時間,編程復(fù)雜。編程復(fù)雜。( (有多個有多個LEDLED時尤為突出)時尤為突出)靜態(tài)顯示特點靜態(tài)顯示特點:

18、: 無閃爍無閃爍,用,用元器件多元器件多,占占I/OI/O線多線多,無須掃描無須掃描,節(jié)省節(jié)省CPUCPU時間時間,編程簡單。編程簡單。靜態(tài)顯示靜態(tài)顯示: : 各數(shù)碼管在顯示過程中各數(shù)碼管在顯示過程中持續(xù)持續(xù)得到送顯信號,與各數(shù)碼管接口得到送顯信號,與各數(shù)碼管接口的的I/OI/O口線口線是是專用專用的。的。動態(tài)顯示動態(tài)顯示: : 各數(shù)碼管在顯示過程中各數(shù)碼管在顯示過程中輪流輪流得到送顯信號,與各數(shù)碼管接口得到送顯信號,與各數(shù)碼管接口的的I/OI/O口線口線是是共用共用的。的。1 1、并行擴(kuò)展靜態(tài)顯示電路并行擴(kuò)展靜態(tài)顯示電路 【例【例9-29-2】按圖】按圖9-39-3編制顯示子程序,顯示數(shù)(編

19、制顯示子程序,顯示數(shù)(255255)存在)存在內(nèi)內(nèi)RAM 30HRAM 30H中。中。解:解:DIR1: MOV A,30H DIR1: MOV A,30H ; ;讀顯示數(shù)讀顯示數(shù) MOV B,#100 MOV B,#100 ; ;置除數(shù)置除數(shù) DIV AB DIV AB ; ;產(chǎn)生百位顯示數(shù)字產(chǎn)生百位顯示數(shù)字 MOVC A,A+DPTR MOVC A,A+DPTR ; ;讀百位顯示符讀百位顯示符 MOV DPTR,#0DFFFH MOV DPTR,#0DFFFH ; ;置置74377(74377(百位百位) )地址地址 MOVX DPTR,A MOVX DPTR,A ; ;輸出百位顯示符輸出

20、百位顯示符 MOV A,B MOV A,B ; ;讀余數(shù)讀余數(shù) MOV B,#10 MOV B,#10 ; ;置除數(shù)置除數(shù) DIV AB DIV AB ; ;產(chǎn)生十位顯示數(shù)字產(chǎn)生十位顯示數(shù)字 MOV DPTR,#TAB MOV DPTR,#TAB ; ;置共陽字段碼表首址置共陽字段碼表首址 MOVC A,A+DPTR MOVC A,A+DPTR ; ;讀十位顯示符讀十位顯示符 MOV DPTR,#0BFFFH MOV DPTR,#0BFFFH ; ;置置74377(74377(十位十位) )地址地址 MOVX DPTR,A MOVX DPTR,A ; ;輸出十位顯示符輸出十位顯示符 MOV A

21、,B MOV A,B ; ;讀個位顯示數(shù)字讀個位顯示數(shù)字 MOV DPTR,#TAB MOV DPTR,#TAB ; ;置共陽字段碼表首址置共陽字段碼表首址 MOVC A,A+DPTR MOVC A,A+DPTR ; ;讀個位顯示符讀個位顯示符 MOV DPTR,#7FFFH MOV DPTR,#7FFFH ; ;置置74377(74377(個位個位) )地址地址 MOVXMOVX DPTR,A DPTR,A ; ;輸出個位顯示符輸出個位顯示符 RET RET ; ;TAB: DB 0C0H,0F9H,0A4H,0B0H,99HTAB: DB 0C0H,0F9H,0A4H,0B0H,99H;

22、;共陽字段碼表共陽字段碼表 DB 92H,82H,0F8H,80H,90H;DB 92H,82H,0F8H,80H,90H;2、串行串行擴(kuò)展靜態(tài)顯示電路擴(kuò)展靜態(tài)顯示電路 DIR2: MOV SCON,#00H DIR2: MOV SCON,#00H ; ;置串口方式置串口方式0 0 CLR ES CLR ES ; ;串口禁中串口禁中 SETB P1.0 SETB P1.0 ;“;“與與”門開門開, ,允許允許TXDTXD發(fā)移位脈沖發(fā)移位脈沖 MOV SBUF,30H MOV SBUF,30H ; ;串行輸出個位顯示字段碼串行輸出個位顯示字段碼 JNB TI,$ JNB TI,$ ; ;等待串行

23、發(fā)送完畢等待串行發(fā)送完畢 CLR TI CLR TI ; ;清串行中斷標(biāo)志清串行中斷標(biāo)志 MOV SBUF,31H MOV SBUF,31H ; ;串行輸出十位顯示字段碼串行輸出十位顯示字段碼 JNB TI,$ JNB TI,$ ; ;等待串行發(fā)送完畢等待串行發(fā)送完畢 CLR TI CLR TI ; ;清串行中斷標(biāo)志清串行中斷標(biāo)志 MOV SBUF,32H MOV SBUF,32H ; ;串行輸出百位顯示字段碼串行輸出百位顯示字段碼 JNB TI,$ JNB TI,$ ; ;等待串行發(fā)送完畢等待串行發(fā)送完畢 CLR TI CLR TI ; ;清串行中斷標(biāo)志清串行中斷標(biāo)志 CLR P1.0 CL

24、R P1.0 ;“;“與與”門關(guān)門關(guān), ,禁止禁止TXDTXD發(fā)移位脈沖發(fā)移位脈沖 RET RET ; ;【例例9-39-3】按圖】按圖9-49-4編制顯示子程序,顯示字段碼已分別存編制顯示子程序,顯示字段碼已分別存在在3232H H30H30H內(nèi)內(nèi)RAMRAM中。中。解:解:要求:要求:根據(jù)上圖編寫通過串行口和根據(jù)上圖編寫通過串行口和7474LS164LS164驅(qū)動驅(qū)動共共 陽陽LEDLED數(shù)碼管數(shù)碼管查表顯示的子程序。查表顯示的子程序。條件:條件:系統(tǒng)有系統(tǒng)有6 6個個LEDLED數(shù)碼管數(shù)碼管, ,待顯數(shù)據(jù)待顯數(shù)據(jù)(00(00H09H)H09H)已放在已放在3535H30HH30H單元中單

25、元中( (分別對應(yīng)分別對應(yīng)十萬位十萬位個位個位) ),DSPLYDSPLY:MOV DPTR, #TABLE :MOV DPTR, #TABLE ; ;共陽共陽LEDLED數(shù)碼管譯碼數(shù)碼管譯碼表首址表首址 MOV R0MOV R0,#30H #30H ; ;待顯數(shù)據(jù)緩沖區(qū)的待顯數(shù)據(jù)緩沖區(qū)的個位個位地址地址REDOREDO:MOV AMOV A, R0 R0 ; ;通過通過R0R0實現(xiàn)寄存器實現(xiàn)寄存器間接尋址間接尋址 MOVC A, A+DPTR MOVC A, A+DPTR ; ;查表查表 MOV SBUF, A MOV SBUF, A ; ;經(jīng)串行口經(jīng)串行口發(fā)送發(fā)送到到7474LS164LS

26、164 JNB TI, $ JNB TI, $ ; ;查詢查詢送完一個字節(jié)的第送完一個字節(jié)的第8 8位?位? CLR TI CLR TI ; ;為下一字節(jié)發(fā)送為下一字節(jié)發(fā)送作準(zhǔn)備作準(zhǔn)備 INC R0 INC R0 ;R0;R0指向下一個指向下一個數(shù)據(jù)緩沖單元數(shù)據(jù)緩沖單元 CJNE R0CJNE R0,#36H#36H,REDO REDO ; ;判斷判斷是否發(fā)完是否發(fā)完6 6個數(shù)?個數(shù)? RET RET ; ;發(fā)完發(fā)完6 6個數(shù)就個數(shù)就返回返回TABLETABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 0C0H,0F9H,0A4H,0B0H,99H ; ;共陽共陽LEDLE

27、D譯碼表譯碼表 DB 92H, 82H, 0F8H, 80H,90HDB 92H, 82H, 0F8H, 80H,90H3 3、BCDBCD碼輸出靜態(tài)顯示電路碼輸出靜態(tài)顯示電路 CD4511CD4511是是“BCDBCD碼碼七段共陰譯碼七段共陰譯碼/ /驅(qū)動驅(qū)動”IC; IC; 4511是是4線線-7段鎖存段鎖存/譯碼譯碼/驅(qū)動電路,能將驅(qū)動電路,能將BCD碼譯成碼譯成7段顯段顯示符輸出。圖中:示符輸出。圖中:4511 ABCD為為09二進(jìn)制數(shù)輸入端二進(jìn)制數(shù)輸入端(A是低位是低位),abcdefgabcdefg為顯示段碼輸出端,為顯示段碼輸出端,LELE為輸入信號鎖存為輸入信號鎖存控制控制(

28、(低電平有效低電平有效) ),數(shù)碼管為共陰數(shù)碼數(shù)碼管為共陰數(shù)碼管。管。 利用利用45114511實現(xiàn)靜態(tài)顯示與一般靜態(tài)顯示電路實現(xiàn)靜態(tài)顯示與一般靜態(tài)顯示電路不同,不同,一是一是節(jié)省節(jié)省I I0 0端線,段碼輸出只需端線,段碼輸出只需4 4根;根;二二是是不需專用驅(qū)動電路,可直接輸出;不需專用驅(qū)動電路,可直接輸出;三是三是不需譯不需譯碼,直接輸出二進(jìn)制數(shù),編程簡單;碼,直接輸出二進(jìn)制數(shù),編程簡單;缺點是缺點是只能只能顯示數(shù)字,不能顯示各種符號。顯示數(shù)字,不能顯示各種符號。 解:編程如下:解:編程如下:DIR3: MOV P1,#111DIR3: MOV P1,#1110 00000B 0000B

29、 ; ;選通個位選通個位 ORL P1,30H ORL P1,30H ; ;輸出個位顯示數(shù)輸出個位顯示數(shù) MOV P1,#11MOV P1,#110 010000B 10000B ; ;選通十位選通十位 ORL P1,31H ORL P1,31H ; ;輸出十位顯示數(shù)輸出十位顯示數(shù) MOV P1,#1MOV P1,#10 0110000B 110000B ; ;選通百位選通百位 ORL P1,32H ORL P1,32H ; ;輸出百位顯示數(shù)輸出百位顯示數(shù) RET RET ; ;【例【例9-49-4】按圖】按圖9-59-5試編制顯示子程序(小數(shù)點固試編制顯示子程序(小數(shù)點固定在第二位),已知顯

30、示數(shù)存在內(nèi)定在第二位),已知顯示數(shù)存在內(nèi)RAM 30HRAM 30H32H32H中。中。動態(tài)顯示電路動態(tài)顯示電路連結(jié)形式:連結(jié)形式: 顯示各位的所有顯示各位的所有相同字段線連在一起,相同字段線連在一起,共共8 8段,由一個段,由一個8 8位位I/OI/O口控制;口控制; 每一位的公共端每一位的公共端(共陽或共陰(共陽或共陰COMCOM)由另一個由另一個I/OI/O口控制??诳刂啤K?、四、動態(tài)顯示方式動態(tài)顯示方式及其典型應(yīng)用電路及其典型應(yīng)用電路LEDLED數(shù)碼管數(shù)碼管動態(tài)動態(tài)顯示舉例顯示舉例P1.5 P1.5 P1.4P1.4P1.3P1.3P1.2P1.2P1.2P1.2P1.0P1.0P0.

31、7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3 P0.3 P0.2 P0.2 P0.1 P0.1 P0.0P0.07406 7406 OCOC門門 X 3X 3上拉上拉電阻電阻1414+5V+5VAT89C51工作原理工作原理:從從P0P0口送段代碼口送段代碼, ,P1P1口送位選信號口送位選信號。段碼雖同時。段碼雖同時到達(dá)到達(dá) 6 6個個LEDLED,但但一次僅一個一次僅一個LEDLED被選中被選中。利用。利用“視覺暫視覺暫留留”,每送一個字符并選中相應(yīng)位線,延時一會兒,每送一個字符并選中相應(yīng)位線,延時一會兒, ,再送再送/ /選下一個選下一個循環(huán)掃描循環(huán)

32、掃描即可。即可。共共陰陰 數(shù)碼管數(shù)碼管位位選選線線段段代代碼碼P1.5 P1.5 P1.4P1.4P1.3P1.3P1.2P1.2P1.2P1.2P1.0P1.0P0.7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3 P0.3 P0.2 P0.2 P0.1 P0.1 P0.0P0.07406 7406 OCOC門門 X 3X 3+5V+5VAT89C51位位選選線線段段代代碼碼要求要求:此處為共陰數(shù)碼管,此處為共陰數(shù)碼管,P0P0口送段代碼,口送段代碼,P1P1口送位選信號??谒臀贿x信號。通過查表實現(xiàn)動態(tài)顯示。通過查表實現(xiàn)動態(tài)顯示。條件條件:待顯數(shù)據(jù)待顯數(shù)據(jù)(

33、00(00H09H)H09H)已放在已放在: : 7 7FH7AHFH7AH單元中單元中( (分別對分別對應(yīng)應(yīng)十萬位十萬位個位個位) )說明說明:由于用了由于用了反相驅(qū)動器反相驅(qū)動器74067406,要用共陽譯碼表。,要用共陽譯碼表。共共陰陰 數(shù)碼管數(shù)碼管上拉上拉電阻電阻14147406 7406 OCOC門門 X 3X 3+5V+5V(7FH) (7EH) (7DH) (7CH) (7BH) (7AH)十萬十萬 萬位萬位 千位千位 百位百位 十位十位 個位個位數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū) / / 顯示緩沖區(qū)顯示緩沖區(qū)P0P0口口送段送段代碼,代碼,P1P1口口送位選送位選信號。信號。待顯數(shù)據(jù)待顯數(shù)據(jù)

34、已經(jīng)放在已經(jīng)放在: : 7 7FH7AHFH7AH單元單元( (分別分別對應(yīng)對應(yīng)十萬十萬位位個位個位) )使用共陽使用共陽譯碼表譯碼表。DIRDIR: MOV DPTR, : MOV DPTR, #DSEG #DSEG ; ;數(shù)碼管譯碼數(shù)碼管譯碼表首址表首址 MOV R0MOV R0,#7AH #7AH ; ;待顯緩沖區(qū)待顯緩沖區(qū)個位個位地址地址 MOV R3MOV R3,#01H #01H ; ;個位的個位的位選信號位選信號=01=01H HLD1LD1: MOV A MOV A, R0 R0 ; ;通過通過R0R0間接尋址間接尋址 MOVC A, A+DPTRMOVC A, A+DPTR

35、; ;查表查表 MOV P0, A MOV P0, A ; ;字段碼送到字段碼送到P0P0口口 MOV P1MOV P1,R3 R3 ; ;字位選擇送到字位選擇送到P1P1口口 LCALL DELYLCALL DELY ; ;調(diào)延時調(diào)延時1 1msms子程序子程序 INC R0 INC R0 ;R0 ;R0 指向下一字節(jié)指向下一字節(jié) MOV AMOV A,R3R3 JB ACC.5 JB ACC.5,LD2LD2 ; ;判判是否發(fā)完是否發(fā)完6 6個數(shù)?個數(shù)? RL A RL A ;R1;R1指向下一個位指向下一個位 MOV R3MOV R3,A A ; ;位選信號存回位選信號存回R1R1 SJ

36、MP SJMP LD1LD1 ; ;跳去再顯示下一個數(shù)跳去再顯示下一個數(shù)LD2LD2: RET RET ; ;發(fā)完發(fā)完6 6個數(shù)就個數(shù)就返回返回DSEGDSEG:DB 0C0H,0F9H,0A4H,0B0H,99HDB 0C0H,0F9H,0A4H,0B0H,99H; ;共陽譯碼表共陽譯碼表 DB 92H, 82H, 0F8H, DB 92H, 82H, 0F8H, 80H80H,90H,90HP0P0口口送段送段代碼,代碼,P1P1口口送位選送位選信號。信號。待顯數(shù)據(jù)待顯數(shù)據(jù)已經(jīng)放在已經(jīng)放在: : 7 7FH7AHFH7AH單元單元( (分別分別對應(yīng)對應(yīng)十萬十萬位位個位個位) )使用共陽使用

37、共陽譯碼表譯碼表。動態(tài)動態(tài)顯示舉例顯示舉例 ( (循環(huán)顯示循環(huán)顯示“8”8”的實驗的實驗) )實驗箱實驗箱從從P0P0口擴(kuò)展了兩個口擴(kuò)展了兩個8 8位的簡單位的簡單I/OI/O口口: : 一個送段代碼一個送段代碼( (字形狀字形狀) ),地址是地址是0 0DCHDCH; ; 一個送位選信號一個送位選信號( (字位置字位置) ),地址是,地址是0 0DDHDDH。 ORG 0000HORG 0000H MOV R0,# MOV R0,#0DCH0DCH ; ;指向指向字形口字形口 MOV A, #80H ;MOV A, #80H ;送送“8”“8”的字形代碼的字形代碼 MOVX MOVX R0,

38、AR0,A ; ;輸出字形代碼輸出字形代碼 MOV R1,#MOV R1,#0DDH0DDH ; ;指向指向字位口字位口 MOV A,#20HMOV A,#20H ; ;從最高位開始從最高位開始LEDO:LEDO: MOVX MOVX R1,AR1,A ; ;輸出字位代碼輸出字位代碼 ACALL DEYSACALL DEYS ; ;調(diào)延時子程序調(diào)延時子程序 RR A RR A ; ;右移一位右移一位 SJMP LEDO SJMP LEDO ; ;循環(huán)顯示循環(huán)顯示“8”“8”1 1、共陰型共陰型8 8位動態(tài)顯示電路位動態(tài)顯示電路DIR4:MOV R2,#10 DIR4:MOV R2,#10 ;

39、;置循環(huán)掃描次數(shù)置循環(huán)掃描次數(shù) MOV DPTR,#7FFFH MOV DPTR,#7FFFH ; ;置置7437774377口地址口地址DLP1:ANL P1,#11111000B DLP1:ANL P1,#11111000B ; ;第第0 0位先顯示位先顯示 MOV R0,#30H MOV R0,#30H ; ;置顯示字段碼首址置顯示字段碼首址DLP2:MOV A,R0 DLP2:MOV A,R0 ; ;讀顯示字段碼讀顯示字段碼 MOVX DPTR,A MOVX DPTR,A ; ;輸出顯示字段碼輸出顯示字段碼 LCALL DY2ms LCALL DY2ms ; ;調(diào)用延時調(diào)用延時2 2m

40、sms子程序子程序( (參閱例參閱例4.13)4.13) INC R0 INC R0 ; ;指向下一位字段碼指向下一位字段碼 INC P1 INC P1 ; ;選通下一位顯示選通下一位顯示 CJNE R0,#38H,DLP2 CJNE R0,#38H,DLP2 ; ;判判8 8位掃描顯示完否位掃描顯示完否? ?未完繼續(xù)未完繼續(xù) DJNZ R2,DLP1 DJNZ R2,DLP1 ;8;8位掃描顯示完畢位掃描顯示完畢, ,判判1010次循環(huán)完否次循環(huán)完否? ? CLR A CLR A ;10;10次循環(huán)完畢次循環(huán)完畢, ,顯示暗顯示暗 MOVX DPTR,A MOVX DPTR,A ; ; RE

41、T RET ; ;子程序返回子程序返回【例【例9-59-5】按圖】按圖9-79-7,試編制循環(huán)掃描(,試編制循環(huán)掃描(1010次)顯示子程序,已次)顯示子程序,已知顯示字段碼存在以知顯示字段碼存在以3030H H(低位)為首址的低位)為首址的8 8字節(jié)內(nèi)字節(jié)內(nèi)RAMRAM中。中。解:編程如下:解:編程如下:2、共陽型共陽型3 3位動態(tài)顯示電路位動態(tài)顯示電路DIR5: MOV DPTR,#0BFFFH DIR5: MOV DPTR,#0BFFFH ; ;置置7437774377地址地址 MOV R2,#100 MOV R2,#100 ; ;置循環(huán)顯示次數(shù)置循環(huán)顯示次數(shù)DIR50: SETB P1

42、.2 DIR50: SETB P1.2 ; ;百位停顯示百位停顯示 MOV A,40H MOV A,40H ; ;取個位字段碼取個位字段碼 MOVX DPTR,A MOVX DPTR,A ; ;輸出個位字段碼輸出個位字段碼 CLR P1.0 CLR P1.0 ; ;個位顯示個位顯示 LCALL DY2ms LCALL DY2ms ; ;調(diào)用延時調(diào)用延時2 2msms子程序子程序( (參閱例參閱例4.13)4.13)DIR51: SETB P1.0 DIR51: SETB P1.0 ; ;個位停顯示個位停顯示 MOV A,41H MOV A,41H ; ;取十位字段碼取十位字段碼 MOVX DP

43、TR,A MOVX DPTR,A ; ;輸出十位字段碼輸出十位字段碼 CLR P1.1 CLR P1.1 ; ;十位顯示十位顯示 LCALL DY2ms LCALL DY2ms ; ;延時延時2 2msmsDIR52: SETB P1.1 DIR52: SETB P1.1 ; ;十位停顯示十位停顯示 MOV A,42H MOV A,42H ; ;取百位字段碼取百位字段碼 MOVX DPTR,A MOVX DPTR,A ; ;輸出百位字段碼輸出百位字段碼 CLR P1.2 CLR P1.2 ; ;百位顯示百位顯示 LCALL DY2ms LCALL DY2ms ; ;延時延時2 2msms DJ

44、NZ R2,DIR50 DJNZ R2,DIR50 ; ;判循環(huán)顯示結(jié)束否判循環(huán)顯示結(jié)束否? ?未完繼續(xù)未完繼續(xù) ORL P1,#00000111B ORL P1,#00000111B ;3;3位滅顯示位滅顯示 RET RET ; ;【例【例9-69-6】根據(jù)圖】根據(jù)圖9-89-8電路,試編制電路,試編制3 3位動態(tài)掃描顯示程序位動態(tài)掃描顯示程序( (循環(huán)循環(huán)100100次次),),已知顯示字段碼存在以已知顯示字段碼存在以4040H(H(低位低位) )為首址的為首址的3 3字節(jié)內(nèi)字節(jié)內(nèi)RAMRAM中。中。解:編程如下:解:編程如下:1、SAA1064SAA1064引腳功能引腳功能 五、五、虛擬

45、虛擬I I2 2C C總線串行顯示電路總線串行顯示電路 V VDDDD、V VEEEE:電源、接地端。電源電源、接地端。電源4.54.51515V V; P1P1P16P16:段驅(qū)動輸出端。分為兩個段驅(qū)動輸出端。分為兩個8 8位口:位口:P1P1P8P8;P9P9P16P16。P8P8、P16P16為高位??阪i存器具有反相功為高位??阪i存器具有反相功能,置能,置1 1時,端口輸出時,端口輸出0 0。 MX1MX1、MX2MX2:位碼驅(qū)動端。靜態(tài)顯示驅(qū)動時,一片位碼驅(qū)動端。靜態(tài)顯示驅(qū)動時,一片SAA1064SAA1064可驅(qū)動二位可驅(qū)動二位LEDLED數(shù)碼管;動態(tài)顯示驅(qū)動時,按圖數(shù)碼管;動態(tài)顯示

46、驅(qū)動時,按圖9-109-10連接方式,一片連接方式,一片SAA1064SAA1064可驅(qū)動四位可驅(qū)動四位LEDLED數(shù)碼管;數(shù)碼管; SDASDA、SCLSCL:I I2 2C C總線數(shù)據(jù)端、時鐘端;總線數(shù)據(jù)端、時鐘端; C CEXTEXT:時鐘振蕩器外接電容,典型值時鐘振蕩器外接電容,典型值27002700pFpF ADRADR:地址引腳端。地址引腳端。SAA1064SAA1064引腳地址引腳地址A1A1、A0A0采用采用ADRADR模模擬電壓比較編址。當(dāng)擬電壓比較編址。當(dāng)ADRADR引腳電平為引腳電平為0 0、3 3VDD/8VDD/8,5VDD/85VDD/8、VDDVDD時,相應(yīng)引腳地

47、址時,相應(yīng)引腳地址A2A2、A1A1、A0 A0 分別為分別為000000、001001、010010、011011;2 2、硬件電路設(shè)計硬件電路設(shè)計 片內(nèi)寄存器片內(nèi)寄存器 符號符號COMCOMdata1data1data2data2data3data3data4data4裝載內(nèi)容裝載內(nèi)容控制命令控制命令顯示段碼顯示段碼1 1顯示段碼顯示段碼2 2顯示段碼顯示段碼3 3顯示段碼顯示段碼4 4片內(nèi)地址片內(nèi)地址00H00H01H01H02H02H03H03H04H04H3 3、片內(nèi)可編程功能片內(nèi)可編程功能 控制命令控制命令COMCOMCOMCOMD7D7D6D6D5D5D4D4D3D3D2D2D1

48、D1D0D000H00HC6C6C5C5C4C4C3C3C2C2C1C1C0C0COCO: : 靜動態(tài)控制,靜動態(tài)控制,C0=1C0=1,動態(tài)顯示,動態(tài)顯示時,動態(tài)顯示,動態(tài)顯示時,data1data1、data2data2輪流從輪流從P8P8P1P1輸出,輸出,data3data3、data4data4輪流從輪流從P16P16P9P9輸出;輸出;C1C1: : 顯示位顯示位1 1、3 3亮暗選擇,亮暗選擇,C1=1C1=1,選擇亮;選擇亮;C2C2: : 顯示位顯示位2 2、4 4亮暗選擇,亮暗選擇,C2=1C2=1,選擇亮;選擇亮;C3C3: : 測試位,測試位,C3=1C3=1,所有段亮

49、;所有段亮;C4C4、C5C5、C6C6: : 驅(qū)動電流控制位,驅(qū)動電流控制位,C4C4、C5C5、C6C6分別為分別為1 1時,驅(qū)動時,驅(qū)動電流分別為電流分別為3 3mAmA、6mA6mA、12mA12mA;C4C4、C5C5、C6C6全為全為1 1時,驅(qū)動電流時,驅(qū)動電流最大,可達(dá)最大,可達(dá)2121mAmA。 寫數(shù)據(jù)操作格式寫數(shù)據(jù)操作格式 S SSLASLAW WA ASADRSADRA A COMCOM A Adata1data1A Adata2data2A Adata3data3A Adata4data4A AP P 紅色紅色部分由部分由8080C51C51發(fā)送,發(fā)送,SAA1064S

50、AA1064接收;接收; 黑色部分由黑色部分由SAA1064SAA1064發(fā)送,發(fā)送,8080C51C51接收。接收。SLASLAW W為寫為寫SAA1064SAA1064尋址字節(jié),尋址字節(jié), 按圖按圖9-109-10所示連接電路所示連接電路: :SAA1064SAA1064(1 1)SLASLAW W=01110000B;=01110000B; SAA1064 SAA1064(2 2)SLASLAW W=01110110B=01110110B。 其中其中01110111(D7D74 4)為為SAA1064SAA1064器件地址,器件地址, D3D31 1為為A2A1A0A2A1A0尋址字節(jié),

51、尋址字節(jié), 末位末位D0D0為為R/WR/W;SADRSADR為片內(nèi)寄存器地址;為片內(nèi)寄存器地址;COMCOM為控制命令。為控制命令。解解:VSAA: MOV MTD,#00H ;VSAA: MOV MTD,#00H ;置置SAA1064SAA1064控制命令寄存器控制命令寄存器COMCOM片內(nèi)子地址片內(nèi)子地址 MOV 31H,#01000111B;MOV 31H,#01000111B;置控制命令字置控制命令字, ,動態(tài)顯示動態(tài)顯示, ,驅(qū)動電流驅(qū)動電流1212mAmA MOV NUMB,#6 ; MOV NUMB,#6 ;置發(fā)送數(shù)據(jù)數(shù)置發(fā)送數(shù)據(jù)數(shù): :SADR+COM+data1SADR+C

52、OM+data14=64=6SAA1: MOV RO,#51H ;SAA1: MOV RO,#51H ;將將5151H H54H54H顯示符數(shù)據(jù)移至顯示符數(shù)據(jù)移至3232H H35H35H LCALL MOVB ; LCALL MOVB ; MOV SLA,#01110000B; MOV SLA,#01110000B;置置SAA1064(1)SAA1064(1)寫尋址字節(jié)寫尋址字節(jié)SLASLAW W LCALL WRNB ; LCALL WRNB ;發(fā)送給發(fā)送給SAA1064(1)SAA1064(1)SAA2: MOV R0,#55H ;SAA2: MOV R0,#55H ;將將5555H H

53、58H58H顯示符數(shù)據(jù)移至顯示符數(shù)據(jù)移至3232H H35H35H LCALL MOVB ; LCALL MOVB ; MOV SLA,#01110110B; MOV SLA,#01110110B;置置SAA1064(2)SAA1064(2)尋址字節(jié)尋址字節(jié)SLASLAW W LCALL WRNB ; LCALL WRNB ;發(fā)送給發(fā)送給SAA1064(2)SAA1064(2) RET ; RET ;MOVB: MOV R1,#32H ;MOVB: MOV R1,#32H ;顯示符數(shù)據(jù)移至顯示符數(shù)據(jù)移至3232H H35H35H子程序子程序MOVB1:MOV A,R0 ;MOVB1:MOV A

54、,R0 ;讀出讀出 MOVMOV R1,A ; R1,A ;存入存入 INCINC RO ; RO ;指向下一讀出單元指向下一讀出單元 INCINC R1 ; R1 ;指向下一存入單元指向下一存入單元 CJNECJNE R1,#36H,MOVB1 ; R1,#36H,MOVB1 ;判判4 4個數(shù)據(jù)移完否個數(shù)據(jù)移完否? ?未完繼續(xù)未完繼續(xù) RETRET ; ;【例例9-79-7】已知已知8 8位顯示符位顯示符( (共陰編碼共陰編碼) )已依次存入內(nèi)已依次存入內(nèi)RAM 51HRAM 51H58H58H中中, ,試按圖試按圖9-9-1010編程將其輸入編程將其輸入SAA1064(1),(2)SAA1

55、064(1),(2)動態(tài)顯示動態(tài)顯示, ,驅(qū)動電流為驅(qū)動電流為1212mAmA。設(shè)設(shè)VIICVIIC軟件包已軟件包已裝入裝入ROM,VSDA.VSCL.SLA.NUMB.MTD.MRDROM,VSDA.VSCL.SLA.NUMB.MTD.MRD均已按均已按8.3.28.3.2軟件包小結(jié)中協(xié)議定義。軟件包小結(jié)中協(xié)議定義。4 4、程序設(shè)計程序設(shè)計1 1、按鍵開關(guān)去抖動問題按鍵開關(guān)去抖動問題 9-2 9-2 鍵盤接口鍵盤接口一、一、鍵盤接口概述鍵盤接口概述鍵盤的抖動時間一般為鍵盤的抖動時間一般為5 51010msms,抖動現(xiàn)象會引起抖動現(xiàn)象會引起CPUCPU對一次鍵操作進(jìn)行多次處理,從而可能產(chǎn)生錯誤

56、對一次鍵操作進(jìn)行多次處理,從而可能產(chǎn)生錯誤。 硬件去抖動硬件去抖動 消除抖動不良后果的方法:消除抖動不良后果的方法:其中其中RCRC濾波電路去抖動電路簡單實用,效果較好濾波電路去抖動電路簡單實用,效果較好。 軟件去抖動軟件去抖動 檢測到按鍵按下后,執(zhí)行檢測到按鍵按下后,執(zhí)行延時延時1010msms子程序后再確認(rèn)子程序后再確認(rèn)該鍵該鍵是否確實按下,消除抖動影響。是否確實按下,消除抖動影響。2 2、按鍵連接方式按鍵連接方式 獨立式按鍵獨立式按鍵 獨立式按鍵是每個按鍵占用一根獨立式按鍵是每個按鍵占用一根I/OI/O端線端線。 特點:特點: 各按鍵相互獨立,電路配置靈活;各按鍵相互獨立,電路配置靈活;

57、 按鍵數(shù)量較多時,按鍵數(shù)量較多時,I/OI/O端線耗費較多,電路結(jié)構(gòu)繁雜;端線耗費較多,電路結(jié)構(gòu)繁雜; 軟件結(jié)構(gòu)簡單。軟件結(jié)構(gòu)簡單。 適用于按鍵數(shù)量較少的場合適用于按鍵數(shù)量較少的場合。 矩陣式鍵盤矩陣式鍵盤 I/OI/O端線分為行線和列線,按鍵跨接在行線和列線上,按端線分為行線和列線,按鍵跨接在行線和列線上,按鍵按下時,行線與列線發(fā)生短路鍵按下時,行線與列線發(fā)生短路。 特點:特點: 占用占用I/OI/O端線較少;端線較少; 軟件結(jié)構(gòu)教復(fù)雜。軟件結(jié)構(gòu)教復(fù)雜。 適用于按鍵較多的場合適用于按鍵較多的場合。3 3、鍵盤掃描控制方式鍵盤掃描控制方式 程序控制掃描方式程序控制掃描方式 鍵處理程序固定在主程

58、序的某個程序段。鍵處理程序固定在主程序的某個程序段。 特點特點:對:對CPUCPU工作影響小,但應(yīng)考慮鍵盤處理程序的運行間隔工作影響小,但應(yīng)考慮鍵盤處理程序的運行間隔周期不能太長,否則會影響對鍵輸入響應(yīng)的及時性。周期不能太長,否則會影響對鍵輸入響應(yīng)的及時性。 定時控制掃描方式定時控制掃描方式 利用定時利用定時/ /計數(shù)器每隔一段時間產(chǎn)生定時中斷,計數(shù)器每隔一段時間產(chǎn)生定時中斷,CPUCPU響應(yīng)響應(yīng)中斷后對鍵盤進(jìn)行掃描。中斷后對鍵盤進(jìn)行掃描。 特點特點:與程序控制掃描方式的區(qū)別是,在掃描間隔時間內(nèi),:與程序控制掃描方式的區(qū)別是,在掃描間隔時間內(nèi),前者用前者用CPUCPU工作程序填充,后者用定時工

59、作程序填充,后者用定時/ /計數(shù)器定時控制。定時計數(shù)器定時控制。定時控制掃描方式也應(yīng)考慮定時時間不能太長,否則會影響對鍵輸控制掃描方式也應(yīng)考慮定時時間不能太長,否則會影響對鍵輸入響應(yīng)的及時性。入響應(yīng)的及時性。 中斷控制方式中斷控制方式 中斷控制方式是利用外部中斷源,響應(yīng)鍵輸入信號。中斷控制方式是利用外部中斷源,響應(yīng)鍵輸入信號。 特點特點:克服了前兩種控制方式可能產(chǎn)生的空掃描和不能及時:克服了前兩種控制方式可能產(chǎn)生的空掃描和不能及時響應(yīng)鍵輸入的缺點,既能及時處理鍵輸入,又能提高響應(yīng)鍵輸入的缺點,既能及時處理鍵輸入,又能提高CPUCPU運行效運行效率,但要占用一個寶貴的中斷資源。率,但要占用一個寶

60、貴的中斷資源。1 1、按鍵直接與按鍵直接與I/OI/O口連接口連接 二、二、獨立式按鍵及其接口電路獨立式按鍵及其接口電路【例【例9-89-8】按圖】按圖9-13(9-13(a)a)、(b)(b),試分別編制按鍵掃描子程序。試分別編制按鍵掃描子程序。解:按圖解:按圖9-13(9-13(a)a)編程如下:編程如下: KEYA:ORL P1,#07H KEYA:ORL P1,#07H ; ;置置P1.0P1.0P1.2P1.2為輸入態(tài)為輸入態(tài) MOV A,P1 MOV A,P1 ; ;讀鍵值讀鍵值, ,鍵閉合相應(yīng)位為鍵閉合相應(yīng)位為0 0 CPL A CPL A ; ;取反取反, ,鍵閉合相應(yīng)位為鍵閉

溫馨提示

  • 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

提交評論