版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第9 9章章 常用外圍設(shè)備接口電路常用外圍設(shè)備接口電路 本章要點(diǎn)本章要點(diǎn): LEDLED數(shù)碼管及編碼方式數(shù)碼管及編碼方式 靜態(tài)顯示方式及其典型應(yīng)用電路靜態(tài)顯示方式及其典型應(yīng)用電路 動(dòng)態(tài)顯示方式及其典型應(yīng)用電路動(dòng)態(tài)顯示方式及其典型應(yīng)用電路 虛擬虛擬I I2 2C C總線串行顯示電路總線串行顯示電路 鍵盤去抖動(dòng)和連接、控制方式鍵盤去抖動(dòng)和連接、控制方式 獨(dú)立式按鍵及其接口電路獨(dú)立式按鍵及其接口電路 矩陣式鍵盤及其接口電路矩陣式鍵盤及其接口電路 并行并行A/D ADC0809A/D ADC0809及其接口電路及其接口電路 串行串行A/D ADC0832A/D ADC0832及其接口電路及其接口電路
2、 I I2 2C C串行串行A/DA/D典型應(yīng)用電路典型應(yīng)用電路 DAC0832DAC0832及其接口電路及其接口電路 I I2 2C C串行串行D/AD/A典型應(yīng)用電路典型應(yīng)用電路 開(kāi)關(guān)量驅(qū)動(dòng)輸出接口電路開(kāi)關(guān)量驅(qū)動(dòng)輸出接口電路 0 0 開(kāi)關(guān)量驅(qū)動(dòng)輸出接口電路開(kāi)關(guān)量驅(qū)動(dòng)輸出接口電路 一、一、驅(qū)動(dòng)發(fā)光二極管驅(qū)動(dòng)發(fā)光二極管 二、二、 驅(qū)動(dòng)繼電器驅(qū)動(dòng)繼電器 三、三、光電隔離接口光電隔離接口 LED輸出電路 1 LED1 LED數(shù)碼管顯示接口數(shù)碼管顯示接口 一、一、LEDLED數(shù)碼管數(shù)碼管 LEDLED顯示器的擴(kuò)展顯示器的擴(kuò)展( (結(jié)構(gòu)結(jié)構(gòu)) ) LEDLED數(shù)碼管的數(shù)碼管的結(jié)構(gòu)結(jié)構(gòu):共陽(yáng)與共陰共陽(yáng)與
3、共陰 單片機(jī)系統(tǒng)擴(kuò)展單片機(jī)系統(tǒng)擴(kuò)展LEDLED數(shù)碼管時(shí)數(shù)碼管時(shí)多用多用共陽(yáng)共陽(yáng)LEDLED: : 共陽(yáng)數(shù)碼管每個(gè)段筆畫(huà)是用低電平共陽(yáng)數(shù)碼管每個(gè)段筆畫(huà)是用低電平(“0”)(“0”)點(diǎn)亮的點(diǎn)亮的, ,要求驅(qū)要求驅(qū) 動(dòng)功率很??;而共陰數(shù)碼管段筆畫(huà)是用高電平動(dòng)功率很??;而共陰數(shù)碼管段筆畫(huà)是用高電平(“0”)(“0”)點(diǎn)亮點(diǎn)亮 的,要求驅(qū)動(dòng)功率較大。的,要求驅(qū)動(dòng)功率較大。 通常每個(gè)段筆畫(huà)要串一個(gè)數(shù)百歐姆的通常每個(gè)段筆畫(huà)要串一個(gè)數(shù)百歐姆的降壓電阻降壓電阻。 公共公共陽(yáng)陽(yáng)極極 h g f e d c b ah g f e d c b a a a b b c c d d g g e e f f h h 公共公
4、共陰陰極極 h g f e d c b ah g f e d c b a a a b b c c d d g g e e f f h h h g f a h g f a 高電平點(diǎn)亮高電平點(diǎn)亮 低電平點(diǎn)亮低電平點(diǎn)亮 接高電平接高電平 接地接地 LEDLED數(shù)碼管的軟件譯碼數(shù)碼管的軟件譯碼 八段八段LEDLED數(shù)碼管數(shù)碼管段代碼編碼表段代碼編碼表( (連線不同可有多種表連線不同可有多種表):): 公共陽(yáng)極公共陽(yáng)極 h g f e d c b ah g f e d c b a a a b b c c d d g g e e f f h h 公共陰極公共陰極 h g f e d c b ah g f
5、e d c b a a a b b c c d d g g e e f f h h h g f a h g f a 高電平點(diǎn)亮高電平點(diǎn)亮 低電平點(diǎn)亮低電平點(diǎn)亮 接高電平接高電平 接地接地 字形字形0123456789黑黑 共陽(yáng)共陽(yáng)0C00F90A40B09992820F880900FF 共陰共陰3F065B4F666D7D077F6F00 LEDLED數(shù)碼管分類:數(shù)碼管分類: 按按其內(nèi)部結(jié)構(gòu)可分為其內(nèi)部結(jié)構(gòu)可分為共陰型共陰型和和共陽(yáng)型共陽(yáng)型; 按按其外形尺寸有多種形式,使用較多的其外形尺寸有多種形式,使用較多的 是是0.50.5和和0.80.8; 按按顯示顏色也有多種形式,主要有顯示顏色也有多
6、種形式,主要有紅色紅色 和和綠色綠色; 正向壓降一般為正向壓降一般為1.51.52 2V V,額定電流為,額定電流為 1010mAmA,最大電流為,最大電流為4040mAmA。靜態(tài)顯示靜態(tài)顯示時(shí)取時(shí)取1010mAmA 為宜,為宜,動(dòng)態(tài)掃描顯示動(dòng)態(tài)掃描顯示,可加大脈沖電流,但,可加大脈沖電流,但 一般不超過(guò)一般不超過(guò)4040mAmA。 按按亮度強(qiáng)弱可分為亮度強(qiáng)弱可分為超亮超亮、高亮高亮和和普亮普亮。 二、二、LEDLED數(shù)碼管編碼方式數(shù)碼管編碼方式 表表9-1 9-1 共陰和共陽(yáng)共陰和共陽(yáng)LEDLED數(shù)碼管幾種八段編碼表數(shù)碼管幾種八段編碼表 顯示顯示 數(shù)字?jǐn)?shù)字 共陰順序小數(shù)點(diǎn)暗共陰順序小數(shù)點(diǎn)暗
7、共陰逆序小數(shù)點(diǎn)暗共陰逆序小數(shù)點(diǎn)暗 共陽(yáng)順序共陽(yáng)順序 小數(shù)點(diǎn)亮小數(shù)點(diǎn)亮 共陽(yáng)順序共陽(yáng)順序 小數(shù)點(diǎn)暗小數(shù)點(diǎn)暗 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 Dpa b c d e f g Dp1616進(jìn)制進(jìn)制 0 00 0 1 1 1 1 1 10 0 1 1 1 1 1 13FH3FH1 1 1 1 1 1 0 01 1 1 1 1 1 0 0FCHFCH4040H HC0HC0H 1 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 060H60H
8、79H79HF9HF9H 2 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 0DAHDAH24H24HA4HA4H 3 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 0F2HF2H30H30HB0HB0H 4 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 066H66H19H19H99H99H 5 50 1 1 0 1 1 0 10 1 1
9、 0 1 1 0 16DH6DH1 0 1 1 0 1 1 01 0 1 1 0 1 1 0B6HB6H12H12H92H92H 6 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 0BEHBEH02H02H82H82H 7 70 0 0 0 0 1 1 10 0 0 0 0 1 1 107H07H1 1 1 0 0 0 0 01 1 1 0 0 0 0 0E0HE0H78H78HF8HF8H 8 80 1 1 1 1 1 1 10 1 1 1 1 1 1 17FH7FH1 1 1 1 1 1 1 01 1 1
10、 1 1 1 1 0FEHFEH00H00H80H80H 9 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(高位)、(高位)、 31H31H中,試將其轉(zhuǎn)換為中,試將其轉(zhuǎn)換為5 5位共陰字段碼(順序),位共陰字段碼(順序), 存在以存在以30H30H(高位)為首址的內(nèi)(高位)為首址的內(nèi)RAMRAM中。中。 從顯示數(shù)中分離出顯示的每一位數(shù)字從顯示數(shù)中分離出顯示的每一位數(shù)字 方法是將顯示數(shù)除
11、以十進(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 ; ;置萬(wàn)位置萬(wàn)位BCDBCD碼間址碼間址 MOV A,30H MOV A,30H ; ;置被除數(shù)置被除數(shù) MOV B,31H MOV B,31H ; ; MOV R6,#27H MOV R6,#27H ; ;置除數(shù)置除數(shù)10000 = 271010000 = 2710H H MOV R5,#10H MOV R5,#10H ; ;
12、LCALL SUM LCALL SUM ; ;除以除以10000,10000,萬(wàn)位商存萬(wàn)位商存30H,30H,余數(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 ; ;指向千位商間址指向千位商間址(31(31H)H) LCALL SUM LCALL SUM ; ;除以除以1000,1000,千位商存千位商存31H,31H,余數(shù)存余數(shù)存A A、B B MOV R6,#0 MOV R6,#0 ; ;置除數(shù)置除數(shù)10010
13、0 MOV R5,#100 MOV R5,#100 ; ; INC R0 INC R0 ; ;指向百位商間址指向百位商間址(32(32H) H) LCALL SUM LCALL SUM ; ;除以除以100,100,百位商存百位商存32H,32H,余數(shù)存余數(shù)存A(B=0)A(B=0) MOV B,#10 MOV B,#10 ; ;置除數(shù)置除數(shù)1010 DIV AB DIV AB ; ;除以除以1010 INC R0 INC R0 ; ;指向十位商間址指向十位商間址(33H)(33H) MOV R0,A MOV R0,A ; ;十位商存十位商存33H33H XCH A,B XCH A,B ; ;
14、讀個(gè)位數(shù)讀個(gè)位數(shù) INC R0 INC R0 ; ;指向個(gè)位間址指向個(gè)位間址(34H)(34H) MOV R0,A MOV R0,A ; ;個(gè)位存?zhèn)€位存34H34H RET RET ; ; 解:連續(xù)調(diào)用下列二個(gè)子程序即可。解:連續(xù)調(diào)用下列二個(gè)子程序即可。 分離顯示數(shù)字子程序分離顯示數(shù)字子程序 說(shuō)明說(shuō)明:SUMSUM是是1616位除以位除以1616位子程序位子程序:(A:(A、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 D
15、PTR,#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 ; ;存顯示字段碼存顯示字段碼 INC R0 INC R0 ; ;指向下一顯示數(shù)字指向下一顯示數(shù)字 CJNE R0,#35H,CGLP CJNE R0,#35H,CGLP ; ;判判5 5個(gè)顯示數(shù)字轉(zhuǎn)換完否個(gè)顯示數(shù)字轉(zhuǎn)換完否? ?
16、未完繼續(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)用電路 動(dòng)態(tài)顯示方式動(dòng)態(tài)顯示方式,在某一瞬時(shí)顯示一位,依次循環(huán),在某一瞬時(shí)顯示一位,依次循環(huán) 掃描,輪流顯示,由于人的視覺(jué)滯留效應(yīng),人們看掃描,輪流顯示,由于人的視覺(jué)滯留效應(yīng),人們看 到的是多位同時(shí)穩(wěn)定顯示。到的是多位同時(shí)穩(wěn)定
17、顯示。 特點(diǎn)特點(diǎn):占用:占用I/OI/O端線少,電路較簡(jiǎn)單,編程較復(fù)端線少,電路較簡(jiǎn)單,編程較復(fù) 雜,雜,CPUCPU要定時(shí)掃描刷新顯示。一般適用于顯示位數(shù)要定時(shí)掃描刷新顯示。一般適用于顯示位數(shù) 較多的場(chǎng)合。較多的場(chǎng)合。 LEDLED數(shù)碼管顯示分類:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。數(shù)碼管顯示分類:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。 靜態(tài)顯示方式靜態(tài)顯示方式,每一位字段碼分別從,每一位字段碼分別從I/OI/O控制口輸控制口輸 出,保持不變直至出,保持不變直至CPUCPU刷新。刷新。 特點(diǎn)特點(diǎn):編程較簡(jiǎn)單,但占用:編程較簡(jiǎn)單,但占用I/OI/O口線多,一般適用口線多,一般適用 于顯示位數(shù)較少的場(chǎng)合。于顯示位
18、數(shù)較少的場(chǎng)合。 LEDLED顯示器的擴(kuò)展顯示器的擴(kuò)展( (顯示方式顯示方式) ) LEDLED數(shù)碼管的數(shù)碼管的顯示方式顯示方式:靜態(tài)與動(dòng)態(tài)靜態(tài)與動(dòng)態(tài) 動(dòng)態(tài)顯示特點(diǎn)動(dòng)態(tài)顯示特點(diǎn): : 有閃爍有閃爍,用,用元器件少元器件少,占占I/OI/O線少線少,必須掃描必須掃描,花費(fèi)花費(fèi)CPUCPU時(shí)間時(shí)間, 編程復(fù)雜。編程復(fù)雜。( (有多個(gè)有多個(gè)LEDLED時(shí)尤為突出)時(shí)尤為突出) 靜態(tài)顯示特點(diǎn)靜態(tài)顯示特點(diǎn): : 無(wú)閃爍無(wú)閃爍,用,用元器件多元器件多,占占I/OI/O線多線多,無(wú)須掃描無(wú)須掃描,節(jié)省節(jié)省CPUCPU時(shí)間時(shí)間, 編程簡(jiǎn)單。編程簡(jiǎn)單。 靜態(tài)顯示靜態(tài)顯示: : 各數(shù)碼管在顯示過(guò)程中各數(shù)碼管在顯示過(guò)
19、程中持續(xù)持續(xù)得到送顯信號(hào),與各數(shù)碼管接口得到送顯信號(hào),與各數(shù)碼管接口 的的I/OI/O口線口線是是專用專用的。的。 動(dòng)態(tài)顯示動(dòng)態(tài)顯示: : 各數(shù)碼管在顯示過(guò)程中各數(shù)碼管在顯示過(guò)程中輪流輪流得到送顯信號(hào),與各數(shù)碼管接口得到送顯信號(hào),與各數(shù)碼管接口 的的I/OI/O口線口線是是共用共用的。的。 1 1、并行擴(kuò)展靜態(tài)顯示電路并行擴(kuò)展靜態(tài)顯示電路 【例【例9-29-2】按圖】按圖9-39-3編制顯示子程序,顯示數(shù)(編制顯示子程序,顯示數(shù)(255255)存在)存在 內(nèi)內(nèi)RAM 30HRAM 30H中。中。 解:解: DIR1: MOV A,30H DIR1: MOV A,30H ; ;讀顯示數(shù)讀顯示數(shù)
20、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 ; ;輸出百位顯示符輸出百位顯示符 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)生十位
21、顯示數(shù)字 MOV DPTR,#TAB MOV DPTR,#TAB ; ;置共陽(yáng)字段碼表首址置共陽(yáng)字段碼表首址 MOVC A,A+DPTR MOVC A,A+DPTR ; ;讀十位顯示符讀十位顯示符 MOV DPTR,#0BFFFH MOV DPTR,#0BFFFH ; ;置置74377(74377(十位十位) )地址地址 MOVX DPTR,A MOVX DPTR,A ; ;輸出十位顯示符輸出十位顯示符 MOV A,B MOV A,B ; ;讀個(gè)位顯示數(shù)字讀個(gè)位顯示數(shù)字 MOV DPTR,#TAB MOV DPTR,#TAB ; ;置共陽(yáng)字段碼表首址置共陽(yáng)字段碼表首址 MOVC A,A+DPT
22、R MOVC A,A+DPTR ; ;讀個(gè)位顯示符讀個(gè)位顯示符 MOV DPTR,#7FFFH MOV DPTR,#7FFFH ; ;置置74377(74377(個(gè)位個(gè)位) )地址地址 MOVXMOVX DPTR,A DPTR,A ; ;輸出個(gè)位顯示符輸出個(gè)位顯示符 RET RET ; ; TAB: DB 0C0H,0F9H,0A4H,0B0H,99HTAB: DB 0C0H,0F9H,0A4H,0B0H,99H; ;共陽(yáng)字段碼表共陽(yáng)字段碼表 DB 92H,82H,0F8H,80H,90H;DB 92H,82H,0F8H,80H,90H; 2、串行串行擴(kuò)展靜態(tài)顯示電路擴(kuò)展靜態(tài)顯示電路 DIR2
23、: MOV SCON,#00H DIR2: MOV SCON,#00H ; ;置串口方式置串口方式0 0 CLR ES CLR ES ; ;串口禁中串口禁中 SETB P1.0 SETB P1.0 ;“;“與與”門開(kāi)門開(kāi), ,允許允許TXDTXD發(fā)移位脈沖發(fā)移位脈沖 MOV SBUF,30H MOV SBUF,30H ; ;串行輸出個(gè)位顯示字段碼串行輸出個(gè)位顯示字段碼 JNB TI,$ JNB TI,$ ; ;等待串行發(fā)送完畢等待串行發(fā)送完畢 CLR TI CLR TI ; ;清串行中斷標(biāo)志清串行中斷標(biāo)志 MOV SBUF,31H MOV SBUF,31H ; ;串行輸出十位顯示字段碼串行輸出
24、十位顯示字段碼 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 CLR P1.0 ;“;“與與”門關(guān)門關(guān), ,禁止禁止TXDTXD發(fā)移位脈沖發(fā)移位脈沖 RET RET ; ; 【例例9-39-3】按圖】按圖9-49-4編制顯示子程序,顯示字段碼已
25、分別存編制顯示子程序,顯示字段碼已分別存 在在32H32H30H30H內(nèi)內(nèi)RAMRAM中。中。 解:解: 要求:要求:根據(jù)上圖編寫(xiě)通過(guò)串行口和根據(jù)上圖編寫(xiě)通過(guò)串行口和74LS16474LS164驅(qū)動(dòng)驅(qū)動(dòng)共共 陽(yáng)陽(yáng)LEDLED數(shù)碼管數(shù)碼管查表顯示的子程序。查表顯示的子程序。 條件:條件:系統(tǒng)有系統(tǒng)有6 6個(gè)個(gè)LEDLED數(shù)碼管數(shù)碼管, ,待顯數(shù)據(jù)待顯數(shù)據(jù)(00H09H)(00H09H) 已放在已放在3535H30HH30H單元中單元中( (分別對(duì)應(yīng)分別對(duì)應(yīng)十萬(wàn)位十萬(wàn)位個(gè)位個(gè)位) ), DSPLYDSPLY:MOV DPTR, #TABLE :MOV DPTR, #TABLE ; ;共陽(yáng)共陽(yáng)LED
26、LED數(shù)碼管譯碼數(shù)碼管譯碼表首址表首址 MOV R0MOV R0,#30H #30H ; ;待顯數(shù)據(jù)緩沖區(qū)的待顯數(shù)據(jù)緩沖區(qū)的個(gè)位個(gè)位地址地址 REDOREDO:MOV AMOV A, R0 R0 ; ;通過(guò)通過(guò)R0R0實(shí)現(xiàn)寄存器實(shí)現(xiàn)寄存器間接尋址間接尋址 MOVC A, A+DPTR MOVC A, A+DPTR ; ;查表查表 MOV SBUF, A MOV SBUF, A ; ;經(jīng)串行口經(jīng)串行口發(fā)送發(fā)送到到7474LS164LS164 JNB TI, $ JNB TI, $ ; ;查詢查詢送完一個(gè)字節(jié)的第送完一個(gè)字節(jié)的第8 8位?位? CLR TI CLR TI ; ;為下一字節(jié)發(fā)送為下一
27、字節(jié)發(fā)送作準(zhǔn)備作準(zhǔn)備 INC R0 INC R0 ;R0;R0指向下一個(gè)指向下一個(gè)數(shù)據(jù)緩沖單元數(shù)據(jù)緩沖單元 CJNE R0CJNE R0,#36H#36H,REDO REDO ; ;判斷判斷是否發(fā)完是否發(fā)完6 6個(gè)數(shù)?個(gè)數(shù)? RET RET ; ;發(fā)完發(fā)完6 6個(gè)數(shù)就個(gè)數(shù)就返回返回 TABLETABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 0C0H,0F9H,0A4H,0B0H,99H ; ;共陽(yáng)共陽(yáng)LEDLED譯碼表譯碼表 DB 92H, 82H, 0F8H, 80H,90HDB 92H, 82H, 0F8H, 80H,90H 3 3、BCDBCD碼輸出靜態(tài)顯示電路碼
28、輸出靜態(tài)顯示電路 CD4511CD4511是是“BCDBCD碼碼 七段共陰譯碼七段共陰譯碼/ / 驅(qū)動(dòng)驅(qū)動(dòng)”IC; IC; 4511是是 4線線-7段鎖存段鎖存/譯碼譯碼/ 驅(qū)動(dòng)電路,能將驅(qū)動(dòng)電路,能將 BCD碼譯成碼譯成7段顯段顯 示符輸出。圖中:示符輸出。圖中: 4511 ABCD為為09 二進(jìn)制數(shù)輸入端二進(jìn)制數(shù)輸入端(A 是低位是低位),abcdefgabcdefg 為顯示段碼輸出端,為顯示段碼輸出端, LELE為輸入信號(hào)鎖存為輸入信號(hào)鎖存 控制控制( (低電平有效低電平有效) ), 數(shù)碼管為共陰數(shù)碼數(shù)碼管為共陰數(shù)碼 管。管。 利用利用45114511實(shí)現(xiàn)靜態(tài)顯示與一般靜態(tài)顯示電路實(shí)現(xiàn)靜
29、態(tài)顯示與一般靜態(tài)顯示電路 不同,不同,一是一是節(jié)省節(jié)省I I0 0端線,段碼輸出只需端線,段碼輸出只需4 4根;根;二二 是是不需專用驅(qū)動(dòng)電路,可直接輸出;不需專用驅(qū)動(dòng)電路,可直接輸出;三是三是不需譯不需譯 碼,直接輸出二進(jìn)制數(shù),編程簡(jiǎn)單;碼,直接輸出二進(jìn)制數(shù),編程簡(jiǎn)單;缺點(diǎn)是缺點(diǎn)是只能只能 顯示數(shù)字,不能顯示各種符號(hào)。顯示數(shù)字,不能顯示各種符號(hào)。 解:編程如下:解:編程如下: DIR3: MOV P1,#111DIR3: MOV P1,#1110 00000B 0000B ; ;選通個(gè)位選通個(gè)位 ORL P1,30H ORL P1,30H ; ;輸出個(gè)位顯示數(shù)輸出個(gè)位顯示數(shù) MOV P1,#
30、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ù)點(diǎn)固試編制顯示子程序(小數(shù)點(diǎn)固 定在第二位),已知顯示數(shù)存在內(nèi)定在第二位),已知顯示數(shù)存在內(nèi)RAM 30HRAM 30H32H32H 中。中。 動(dòng)態(tài)顯示電路動(dòng)態(tài)顯示電路
31、連結(jié)形式:連結(jié)形式: 顯示各位的所有顯示各位的所有 相同字段線連在一起,相同字段線連在一起, 共共8 8段,由一個(gè)段,由一個(gè)8 8位位 I/OI/O口控制;口控制; 每一位的公共端每一位的公共端 (共陽(yáng)或共陰(共陽(yáng)或共陰COMCOM) 由另一個(gè)由另一個(gè)I/OI/O口控制??诳刂?。 四、四、動(dòng)態(tài)顯示方式動(dòng)態(tài)顯示方式 及其典型應(yīng)用電路及其典型應(yīng)用電路 LEDLED數(shù)碼管數(shù)碼管動(dòng)態(tài)動(dòng)態(tài)顯示舉例顯示舉例 P1.5 P1.5 P1.4P1.4 P1.3P1.3 P1.2P1.2 P1.2P1.2 P1.0P1.0 P0.7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3
32、P0.3 P0.2 P0.2 P0.1 P0.1 P0.0P0.0 7406 OC7406 OC門門 X 3X 3 上拉上拉 電阻電阻 1414 +5V+5V AT89C51 工作原理工作原理:從從P0P0口送段代碼口送段代碼,P1,P1口送位選信號(hào)口送位選信號(hào)。段碼雖同時(shí)。段碼雖同時(shí) 到達(dá)到達(dá) 6 6個(gè)個(gè)LEDLED,但,但一次僅一個(gè)一次僅一個(gè)LEDLED被選中被選中。利用。利用“視覺(jué)暫視覺(jué)暫 留留”,每送一個(gè)字符并選中相應(yīng)位線,延時(shí)一會(huì)兒,每送一個(gè)字符并選中相應(yīng)位線,延時(shí)一會(huì)兒, ,再送再送/ / 選下一個(gè)選下一個(gè)循環(huán)掃描循環(huán)掃描即可。即可。 共陰共陰 數(shù)碼管數(shù)碼管 位位 選選 線線 段段
33、 代代 碼碼 P1.5 P1.5 P1.4P1.4 P1.3P1.3 P1.2P1.2 P1.2P1.2 P1.0P1.0 P0.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.0 7406 OC7406 OC門門 X 3X 3+5V+5V AT89C51 位位 選選 線線 段段 代代 碼碼 要求要求:此處為共陰數(shù)碼管,此處為共陰數(shù)碼管,P0P0口送段代碼,口送段代碼,P1P1口送位選信號(hào)??谒臀贿x信號(hào)。 通過(guò)查表實(shí)現(xiàn)動(dòng)態(tài)顯示。通過(guò)查表實(shí)現(xiàn)動(dòng)態(tài)顯示。 條件條件:待顯數(shù)據(jù)待顯數(shù)據(jù)(00H09H)(
34、00H09H)已放在已放在: : 7 7FH7AHFH7AH單元中單元中( (分別對(duì)分別對(duì) 應(yīng)應(yīng)十萬(wàn)位十萬(wàn)位個(gè)位個(gè)位) ) 說(shuō)明說(shuō)明:由于用了由于用了反相驅(qū)動(dòng)器反相驅(qū)動(dòng)器74067406,要用共陽(yáng)譯碼表。,要用共陽(yáng)譯碼表。 共陰共陰 數(shù)碼管數(shù)碼管 上拉上拉 電阻電阻 1414 7406 OC7406 OC門門 X 3X 3+5V+5V (7FH) (7EH) (7DH) (7CH) (7BH) (7AH) 十萬(wàn)十萬(wàn) 萬(wàn)位萬(wàn)位 千位千位 百位百位 十位十位 個(gè)位個(gè)位 數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū) / / 顯示緩沖區(qū)顯示緩沖區(qū) P0P0口口送段送段 代碼,代碼,P1P1 口口送位選送位選 信號(hào)。信號(hào)。 待
35、顯數(shù)據(jù)待顯數(shù)據(jù) 已經(jīng)放在已經(jīng)放在: : 7 7FH7AHFH7AH 單元單元( (分別分別 對(duì)應(yīng)對(duì)應(yīng)十萬(wàn)十萬(wàn) 位位個(gè)位個(gè)位) ) 使用共陽(yáng)使用共陽(yáng) 譯碼表譯碼表。 DIRDIR: MOV DPTR, : MOV DPTR, #DSEG #DSEG ; ;數(shù)碼管譯碼數(shù)碼管譯碼表首址表首址 MOV R0MOV R0,#7AH #7AH ; ;待顯緩沖區(qū)待顯緩沖區(qū)個(gè)位個(gè)位地址地址 MOV R3MOV R3,#01H #01H ; ;個(gè)位的個(gè)位的位選信號(hào)位選信號(hào)=01=01H H LD1LD1: MOV AMOV A, R0 R0 ; ;通過(guò)通過(guò)R0R0間接尋址間接尋址 MOVC A, A+DPTRM
36、OVC A, A+DPTR ; ;查表查表 MOV P0, A MOV P0, A ; ;字段碼送到字段碼送到P0P0口口 MOV P1MOV P1,R3 R3 ; ;字位選擇送到字位選擇送到P1P1口口 LCALL DELYLCALL DELY ; ;調(diào)延時(shí)調(diào)延時(shí)1ms1ms子程序子程序 INC R0 INC R0 ;R0 ;R0 指向下一字節(jié)指向下一字節(jié) MOV AMOV A,R3R3 JB ACC.5 JB ACC.5,LD2LD2 ; ;判判是否發(fā)完是否發(fā)完6 6個(gè)數(shù)?個(gè)數(shù)? RL A RL A ;R1;R1指向下一個(gè)位指向下一個(gè)位 MOV R3MOV R3,A A ; ;位選信號(hào)存回
37、位選信號(hào)存回R1R1 SJMP SJMP LD1LD1 ; ;跳去再顯示下一個(gè)數(shù)跳去再顯示下一個(gè)數(shù) LD2LD2: RET RET ; ;發(fā)完發(fā)完6 6個(gè)數(shù)就個(gè)數(shù)就返回返回 DSEGDSEG:DB 0C0H,0F9H,0A4H,0B0H,99HDB 0C0H,0F9H,0A4H,0B0H,99H; ;共陽(yáng)譯碼表共陽(yáng)譯碼表 DB 92H, 82H, 0F8H, DB 92H, 82H, 0F8H, 80H80H,90H,90H P0P0口口送段送段 代碼,代碼,P1P1 口口送位選送位選 信號(hào)。信號(hào)。 待顯數(shù)據(jù)待顯數(shù)據(jù) 已經(jīng)放在已經(jīng)放在: : 7 7FH7AHFH7AH 單元單元( (分別分別
38、對(duì)應(yīng)對(duì)應(yīng)十萬(wàn)十萬(wàn) 位位個(gè)位個(gè)位) ) 使用共陽(yáng)使用共陽(yáng) 譯碼表譯碼表。 動(dòng)態(tài)動(dòng)態(tài)顯示舉例顯示舉例 ( (循環(huán)顯示循環(huán)顯示“8”8”的實(shí)驗(yàn)的實(shí)驗(yàn)) ) 實(shí)驗(yàn)箱實(shí)驗(yàn)箱從從P0P0口擴(kuò)展了兩個(gè)口擴(kuò)展了兩個(gè)8 8位的簡(jiǎn)單位的簡(jiǎn)單I/OI/O口口: : 一個(gè)送段代碼一個(gè)送段代碼( (字形狀字形狀) ),地址是,地址是0 0DCHDCH; ; 一個(gè)送位選信號(hào)一個(gè)送位選信號(hào)( (字位置字位置) ),地址是,地址是0 0DDHDDH。 ORG 0000HORG 0000H MOV R0,# MOV R0,#0DCH0DCH ; ;指向指向字形口字形口 MOV A, #80H ;MOV A, #80H ;送送“
39、8”8”的字形代碼的字形代碼 MOVX MOVX R0,AR0,A ; ;輸出字形代碼輸出字形代碼 MOV R1,#MOV R1,#0DDH0DDH ; ;指向指向字位口字位口 MOV A,#20HMOV A,#20H ; ;從最高位開(kāi)始從最高位開(kāi)始 LEDO:LEDO: MOVX MOVX R1,AR1,A ; ;輸出字位代碼輸出字位代碼 ACALL DEYS ACALL DEYS ; ;調(diào)延時(shí)子程序調(diào)延時(shí)子程序 RR A RR A ; ;右移一位右移一位 SJMP LEDO SJMP LEDO ; ;循環(huán)顯示循環(huán)顯示“8”8” 1 1、共陰型共陰型8 8位動(dòng)態(tài)顯示電路位動(dòng)態(tài)顯示電路 DIR
40、4:MOV R2,#10 DIR4:MOV R2,#10 ; ;置循環(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
41、DY2ms LCALL DY2ms ; ;調(diào)用延時(shí)調(diào)用延時(shí)2ms2ms子程序子程序( (參閱例參閱例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)完畢, ,顯示暗顯示
42、暗 MOVX DPTR,A MOVX DPTR,A ; ; RET RET ; ;子程序返回子程序返回 【例【例9-59-5】按圖】按圖9-79-7,試編制循環(huán)掃描(,試編制循環(huán)掃描(1010次)顯示子程序,已次)顯示子程序,已 知顯示字段碼存在以知顯示字段碼存在以30H30H(低位)為首址的(低位)為首址的8 8字節(jié)內(nèi)字節(jié)內(nèi)RAMRAM中。中。 解:編程如下:解:編程如下: 2、共陽(yáng)型共陽(yáng)型3 3位動(dòng)態(tài)顯示電路位動(dòng)態(tài)顯示電路 DIR5: MOV DPTR,#0BFFFH DIR5: MOV DPTR,#0BFFFH ; ;置置7437774377地址地址 MOV R2,#100 MOV R2
43、,#100 ; ;置循環(huán)顯示次數(shù)置循環(huán)顯示次數(shù) DIR50: SETB P1.2 DIR50: SETB P1.2 ; ;百位停顯示百位停顯示 MOV A,40H MOV A,40H ; ;取個(gè)位字段碼取個(gè)位字段碼 MOVX DPTR,A MOVX DPTR,A ; ;輸出個(gè)位字段碼輸出個(gè)位字段碼 CLR P1.0 CLR P1.0 ; ;個(gè)位顯示個(gè)位顯示 LCALL DY2ms LCALL DY2ms ; ;調(diào)用延時(shí)調(diào)用延時(shí)2ms2ms子程序子程序( (參閱例參閱例4.13)4.13) DIR51: SETB P1.0 DIR51: SETB P1.0 ; ;個(gè)位停顯示個(gè)位停顯示 MOV A
44、,41H MOV A,41H ; ;取十位字段碼取十位字段碼 MOVX DPTR,A MOVX DPTR,A ; ;輸出十位字段碼輸出十位字段碼 CLR P1.1 CLR P1.1 ; ;十位顯示十位顯示 LCALL DY2ms LCALL DY2ms ; ;延時(shí)延時(shí)2 2msms DIR52: 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 ; ;百位顯示百位顯示 LC
45、ALL DY2ms LCALL DY2ms ; ;延時(shí)延時(shí)2 2msms DJNZ 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位動(dòng)態(tài)掃描顯示程序位動(dòng)態(tài)掃描顯示程序( (循環(huán)循環(huán)100100 次次),),已知顯示字段碼存在以已知顯示字段碼存在以40H(40H(低位低位) )為首址的為首址的3 3字節(jié)內(nèi)字節(jié)內(nèi)RAMRAM中。中。 解:編
46、程如下:解:編程如下: 1、SAA1064SAA1064引腳功能引腳功能 五、五、虛擬虛擬I I2 2C C總線串行顯示電路總線串行顯示電路 V VDDDD、V VEEEE:電源、接地端。電源:電源、接地端。電源4.54.51515V V; P1P1P16P16:段驅(qū)動(dòng)輸出端。分為兩個(gè):段驅(qū)動(dòng)輸出端。分為兩個(gè)8 8位口:位口: P1P1P8P8;P9P9P16P16。P8P8、P16P16為高位??阪i存器具有反相功為高位??阪i存器具有反相功 能,置能,置1 1時(shí),端口輸出時(shí),端口輸出0 0。 MX1MX1、MX2MX2:位碼驅(qū)動(dòng)端。靜態(tài)顯示驅(qū)動(dòng)時(shí),一片:位碼驅(qū)動(dòng)端。靜態(tài)顯示驅(qū)動(dòng)時(shí),一片 SAA
47、1064SAA1064可驅(qū)動(dòng)二位可驅(qū)動(dòng)二位LEDLED數(shù)碼管;動(dòng)態(tài)顯示驅(qū)動(dòng)時(shí),按圖數(shù)碼管;動(dòng)態(tài)顯示驅(qū)動(dòng)時(shí),按圖9-109-10 連接方式,一片連接方式,一片SAA1064SAA1064可驅(qū)動(dòng)四位可驅(qū)動(dòng)四位LEDLED數(shù)碼管;數(shù)碼管; SDASDA、SCLSCL:I I2 2C C總線數(shù)據(jù)端、時(shí)鐘端;總線數(shù)據(jù)端、時(shí)鐘端; C CEXTEXT:時(shí)鐘振蕩器外接電容,典型值:時(shí)鐘振蕩器外接電容,典型值27002700pFpF ADRADR:地址引腳端。:地址引腳端。SAA1064SAA1064引腳地址引腳地址A1A1、A0A0采用采用ADRADR模模 擬電壓比較編址。當(dāng)擬電壓比較編址。當(dāng)ADRADR引
48、腳電平為引腳電平為0 0、3VDD/83VDD/8,5VDD/85VDD/8、VDDVDD 時(shí),相應(yīng)引腳地址時(shí),相應(yīng)引腳地址A2A2、A1A1、A0 A0 分別為分別為000000、001001、010010、011011; 2 2、硬件電路設(shè)計(jì)硬件電路設(shè)計(jì) 片內(nèi)寄存器片內(nèi)寄存器 符號(hào)符號(hào)COMCOMdata1data1data2data2data3data3data4data4 裝載內(nèi)容裝載內(nèi)容控制命令控制命令顯示段碼顯示段碼1 1顯示段碼顯示段碼2 2顯示段碼顯示段碼3 3顯示段碼顯示段碼4 4 片內(nèi)地址片內(nèi)地址00H00H01H01H02H02H03H03H04H04H 3 3、片內(nèi)可編
49、程功能片內(nèi)可編程功能 控制命令控制命令COMCOM COMCOMD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0 00H00HC6C6C5C5C4C4C3C3C2C2C1C1C0C0 COCO: : 靜動(dòng)態(tài)控制,靜動(dòng)態(tài)控制,C0=1C0=1,動(dòng)態(tài)顯示,動(dòng)態(tài)顯示時(shí),動(dòng)態(tài)顯示,動(dòng)態(tài)顯示時(shí),data1data1、 data2data2輪流從輪流從P8P8P1P1輸出,輸出,data3data3、data4data4輪流從輪流從P16P16P9P9輸出;輸出; C1C1: : 顯示位顯示位1 1、3 3亮暗選擇,亮暗選擇,C1=1C1=1,選擇亮;,選擇亮; C2C2: : 顯示位顯示
50、位2 2、4 4亮暗選擇,亮暗選擇,C2=1C2=1,選擇亮;,選擇亮; C3C3: : 測(cè)試位,測(cè)試位,C3=1C3=1,所有段亮;,所有段亮; C4C4、C5C5、C6C6: : 驅(qū)動(dòng)電流控制位,驅(qū)動(dòng)電流控制位,C4C4、C5C5、C6C6分別為分別為1 1時(shí),驅(qū)動(dòng)時(shí),驅(qū)動(dòng) 電流分別為電流分別為3mA3mA、6mA6mA、12mA12mA;C4C4、C5C5、C6C6全為全為1 1時(shí),驅(qū)動(dòng)電流時(shí),驅(qū)動(dòng)電流 最大,可達(dá)最大,可達(dá)21mA21mA。 寫(xiě)數(shù)據(jù)操作格式寫(xiě)數(shù)據(jù)操作格式 S SSLASLAW WA ASADRSADRA A COMCOM A Adata1data1A Adata2dat
51、a2A Adata3data3A Adata4data4A AP P 紅色紅色部分由部分由80C5180C51發(fā)送,發(fā)送,SAA1064SAA1064接收;接收; 黑色部分由黑色部分由SAA1064SAA1064發(fā)送,發(fā)送,80C5180C51接收。接收。 SLASLAW W為寫(xiě)為寫(xiě)SAA1064SAA1064尋址字節(jié),尋址字節(jié), 按圖按圖9-109-10所示連接電路所示連接電路: :SAA1064SAA1064(1 1)SLASLAW W=01110000B;=01110000B; SAA1064 SAA1064(2 2)SLASLAW W=01110110B=01110110B。 其中其中
52、01110111(D7D74 4)為)為SAA1064SAA1064器件地址,器件地址, D3D31 1為為A2A1A0A2A1A0尋址字節(jié),尋址字節(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;置控制命令字置控制命令字, ,動(dòng)態(tài)顯示動(dòng)態(tài)顯示, ,驅(qū)動(dòng)電流驅(qū)
53、動(dòng)電流12mA12mA MOV NUMB,#6 ; MOV NUMB,#6 ;置發(fā)送數(shù)據(jù)數(shù)置發(fā)送數(shù)據(jù)數(shù):SADR+COM+data1:SADR+COM+data14=64=6 SAA1: MOV RO,#51H ;SAA1: MOV RO,#51H ;將將51H51H54H54H顯示符數(shù)據(jù)移至顯示符數(shù)據(jù)移至32H32H35H35H LCALL MOVB ; LCALL MOVB ; MOV SLA,#01110000B; MOV SLA,#01110000B;置置SAA1064(1)SAA1064(1)寫(xiě)尋址字節(jié)寫(xiě)尋址字節(jié)SLASLAW W LCALL WRNB ; LCALL WRNB ;發(fā)
54、送給發(fā)送給SAA1064(1)SAA1064(1) SAA2: MOV R0,#55H ;SAA2: MOV R0,#55H ;將將55H55H58H58H顯示符數(shù)據(jù)移至顯示符數(shù)據(jù)移至32H32H35H35H 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: M
55、OV R1,#32H ;顯示符數(shù)據(jù)移至顯示符數(shù)據(jù)移至32H32H35H35H子程序子程序 MOVB1:MOV A,R0 ;MOVB1:MOV A,R0 ;讀出讀出 MOVMOV R1,A ; R1,A ;存入存入 INCINC RO ; RO ;指向下一讀出單元指向下一讀出單元 INCINC R1 ; R1 ;指向下一存入單元指向下一存入單元 CJNECJNE R1,#36H,MOVB1 ; R1,#36H,MOVB1 ;判判4 4個(gè)數(shù)據(jù)移完否個(gè)數(shù)據(jù)移完否? ?未完繼續(xù)未完繼續(xù) RETRET ; ; 【例例9-79-7】已知】已知8 8位顯示符位顯示符( (共陰編碼共陰編碼) )已依次存入內(nèi)已
56、依次存入內(nèi)RAM 51HRAM 51H58H58H中中, ,試按圖試按圖9-9- 1010編程將其輸入編程將其輸入SAA1064(1),(2)SAA1064(1),(2)動(dòng)態(tài)顯示動(dòng)態(tài)顯示, ,驅(qū)動(dòng)電流為驅(qū)動(dòng)電流為12mA12mA。設(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è)計(jì)程序設(shè)計(jì) 1 1、按鍵開(kāi)關(guān)去抖動(dòng)問(wèn)題按鍵開(kāi)關(guān)去抖動(dòng)問(wèn)題 2 2 鍵盤接口鍵盤接口 一、一、鍵盤接口概述鍵盤接
57、口概述 鍵盤的抖動(dòng)時(shí)間一般為鍵盤的抖動(dòng)時(shí)間一般為5 510ms10ms,抖動(dòng)現(xiàn)象會(huì)引起抖動(dòng)現(xiàn)象會(huì)引起CPUCPU 對(duì)一次鍵操作進(jìn)行多次處理,從而可能產(chǎn)生錯(cuò)誤對(duì)一次鍵操作進(jìn)行多次處理,從而可能產(chǎn)生錯(cuò)誤。 硬件去抖動(dòng)硬件去抖動(dòng) 消除抖動(dòng)不良后果的方法:消除抖動(dòng)不良后果的方法: 其中其中RCRC濾波電路去抖動(dòng)電路簡(jiǎn)單實(shí)用,效果較好濾波電路去抖動(dòng)電路簡(jiǎn)單實(shí)用,效果較好。 軟件去抖動(dòng)軟件去抖動(dòng) 檢測(cè)到按鍵按下后,執(zhí)行檢測(cè)到按鍵按下后,執(zhí)行延時(shí)延時(shí)10ms10ms子程序后再確認(rèn)子程序后再確認(rèn)該鍵該鍵 是否確實(shí)按下,消除抖動(dòng)影響。是否確實(shí)按下,消除抖動(dòng)影響。 2 2、按鍵連接方式按鍵連接方式 獨(dú)立式按鍵獨(dú)立
58、式按鍵 獨(dú)立式按鍵是每個(gè)按鍵占用一根獨(dú)立式按鍵是每個(gè)按鍵占用一根I/OI/O端線端線。 特點(diǎn):特點(diǎn): 各按鍵相互獨(dú)立,電路配置靈活;各按鍵相互獨(dú)立,電路配置靈活; 按鍵數(shù)量較多時(shí),按鍵數(shù)量較多時(shí),I/OI/O端線耗費(fèi)較多,電路結(jié)構(gòu)繁雜;端線耗費(fèi)較多,電路結(jié)構(gòu)繁雜; 軟件結(jié)構(gòu)簡(jiǎn)單。軟件結(jié)構(gòu)簡(jiǎn)單。 適用于按鍵數(shù)量較少的場(chǎng)合適用于按鍵數(shù)量較少的場(chǎng)合。 矩陣式鍵盤矩陣式鍵盤 I/OI/O端線分為行線和列線,按鍵跨接在行線和列線上,按端線分為行線和列線,按鍵跨接在行線和列線上,按 鍵按下時(shí),行線與列線發(fā)生短路鍵按下時(shí),行線與列線發(fā)生短路。 特點(diǎn):特點(diǎn): 占用占用I/OI/O端線較少;端線較少; 軟件結(jié)構(gòu)
59、教復(fù)雜。軟件結(jié)構(gòu)教復(fù)雜。 適用于按鍵較多的場(chǎng)合適用于按鍵較多的場(chǎng)合。 3 3、鍵盤掃描控制方式鍵盤掃描控制方式 程序控制掃描方式程序控制掃描方式 鍵處理程序固定在主程序的某個(gè)程序段。鍵處理程序固定在主程序的某個(gè)程序段。 特點(diǎn)特點(diǎn):對(duì):對(duì)CPUCPU工作影響小,但應(yīng)考慮鍵盤處理程序的運(yùn)行間隔工作影響小,但應(yīng)考慮鍵盤處理程序的運(yùn)行間隔 周期不能太長(zhǎng),否則會(huì)影響對(duì)鍵輸入響應(yīng)的及時(shí)性。周期不能太長(zhǎng),否則會(huì)影響對(duì)鍵輸入響應(yīng)的及時(shí)性。 定時(shí)控制掃描方式定時(shí)控制掃描方式 利用定時(shí)利用定時(shí)/ /計(jì)數(shù)器每隔一段時(shí)間產(chǎn)生定時(shí)中斷,計(jì)數(shù)器每隔一段時(shí)間產(chǎn)生定時(shí)中斷,CPUCPU響應(yīng)響應(yīng) 中斷后對(duì)鍵盤進(jìn)行掃描。中斷后對(duì)
60、鍵盤進(jìn)行掃描。 特點(diǎn)特點(diǎn):與程序控制掃描方式的區(qū)別是,在掃描間隔時(shí)間內(nèi),:與程序控制掃描方式的區(qū)別是,在掃描間隔時(shí)間內(nèi), 前者用前者用CPUCPU工作程序填充,后者用定時(shí)工作程序填充,后者用定時(shí)/ /計(jì)數(shù)器定時(shí)控制。定時(shí)計(jì)數(shù)器定時(shí)控制。定時(shí) 控制掃描方式也應(yīng)考慮定時(shí)時(shí)間不能太長(zhǎng),否則會(huì)影響對(duì)鍵輸控制掃描方式也應(yīng)考慮定時(shí)時(shí)間不能太長(zhǎng),否則會(huì)影響對(duì)鍵輸 入響應(yīng)的及時(shí)性。入響應(yīng)的及時(shí)性。 中斷控制方式中斷控制方式 中斷控制方式是利用外部中斷源,響應(yīng)鍵輸入信號(hào)。中斷控制方式是利用外部中斷源,響應(yīng)鍵輸入信號(hào)。 特點(diǎn)特點(diǎn):克服了前兩種控制方式可能產(chǎn)生的空掃描和不能及時(shí):克服了前兩種控制方式可能產(chǎn)生的空掃描
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025解除勞動(dòng)合同審批表
- 2025年廣州雙螺桿空壓機(jī)銷售與供應(yīng)鏈管理合同
- 2025年vi設(shè)計(jì)合同常用版(2篇)
- 2025年度網(wǎng)絡(luò)安全技術(shù)專家聘用合同范本7篇
- 二零二五年度住宅小區(qū)道路鋪裝服務(wù)合同3篇
- 2025檔案保管合同范本
- 滅線設(shè)備租賃合同
- 2025年個(gè)人地下停車位轉(zhuǎn)讓合同經(jīng)典版(2篇)
- 2025無(wú)名合同樣的合同
- 2025建筑工程分項(xiàng)承包合同范本
- 國(guó)際貿(mào)易地理 全套課件
- GB/T 20878-2024不銹鋼牌號(hào)及化學(xué)成分
- 某房屋建筑工程監(jiān)理大綱
- 英語(yǔ)考綱詞匯表3500詞
- 主題一:人文之美 第7課《天下第一大佛-樂(lè)山大佛》 課件
- 印度與阿拉伯的數(shù)學(xué)
- 會(huì)陰切開(kāi)傷口裂開(kāi)的護(hù)理查房
- 《鋼鐵是怎樣煉成的》選擇題100題(含答案)
- 2024年國(guó)新國(guó)際投資有限公司招聘筆試參考題庫(kù)含答案解析
- 食堂餐廳服務(wù)方案投標(biāo)方案(技術(shù)標(biāo))
- Creo-7.0基礎(chǔ)教程-配套課件
評(píng)論
0/150
提交評(píng)論