第4章80C51的并行口應(yīng)用_第1頁(yè)
第4章80C51的并行口應(yīng)用_第2頁(yè)
第4章80C51的并行口應(yīng)用_第3頁(yè)
第4章80C51的并行口應(yīng)用_第4頁(yè)
第4章80C51的并行口應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2022-3-71第第4 4章章 80C5180C51人機(jī)接口技術(shù)人機(jī)接口技術(shù)LEDLED、數(shù)碼管及蜂鳴器接口技術(shù)、數(shù)碼管及蜂鳴器接口技術(shù) 4.1按鍵及鍵盤(pán)接口技術(shù)按鍵及鍵盤(pán)接口技術(shù) 4.2字符型字符型LCDLCD顯示器接口技術(shù)顯示器接口技術(shù) 4.3單片機(jī)單片機(jī)最小系統(tǒng)最小系統(tǒng)AT89S52AT89S52LEDLED數(shù)碼管數(shù)碼管蜂鳴器蜂鳴器LCDLCD按鍵按鍵鍵盤(pán)鍵盤(pán)開(kāi)關(guān)開(kāi)關(guān)n 每根口線最大可吸收每根口線最大可吸收10mA10mA的(灌)電流的(灌)電流n P0P0口吸收電流的總和不能超過(guò)口吸收電流的總和不能超過(guò)26mA26mA n P1P1、P2P2和和P3P3每個(gè)口吸收電流的總和限制在每個(gè)

2、口吸收電流的總和限制在15mA15mA n 4 4個(gè)口所有口線的吸收電流總和限制在個(gè)口所有口線的吸收電流總和限制在71mA71mA 2022-3-734.1 LED、數(shù)碼管及蜂鳴器接口技術(shù)、數(shù)碼管及蜂鳴器接口技術(shù)4.1.1 4.1.1 LEDLED接口接口 v LED LED的特性及其灌電流驅(qū)動(dòng)的特性及其灌電流驅(qū)動(dòng)LEDLED典型工作點(diǎn):典型工作點(diǎn):1.75V1.75V, ,10mA10mA。單個(gè)單個(gè)LEDLED驅(qū)動(dòng)特性如下圖:驅(qū)動(dòng)特性如下圖:v 多個(gè)多個(gè)LEDLED并口直接驅(qū)動(dòng)并口直接驅(qū)動(dòng) 限流與上拉電阻共享驅(qū)動(dòng)限流與上拉電阻共享驅(qū)動(dòng) 2022-3-75【例例4-14-1】 uchar co

3、deuchar code ScanCode= ScanCode=0 x01;0 x02,0 x04,0 x08,0 x10,0 x20 x01;0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x800,0 x40,0 x80 ;void main(void)void main(void) uchar i; uchar i; P21 = 1; P21 = 1; while(1)while(1) for(i=0;i8;i+) for(i=0;i8;i+) DataPort= ScanCodei; DataPort= ScanCodei; DelayMs(500); De

4、layMs(500); 2022-3-762022-3-77v/ /* *將四個(gè)將四個(gè)I/OI/O口的燈點(diǎn)亮或點(diǎn)暗口的燈點(diǎn)亮或點(diǎn)暗* */ /v#include#include vmain()main() / / 主程序開(kāi)始主程序開(kāi)始 v P0=0X00; / P0=0X00; / 初值初值=0000 0000,=0000 0000,狀態(tài)為將所有的燈全部點(diǎn)亮狀態(tài)為將所有的燈全部點(diǎn)亮( (共陽(yáng)共陽(yáng)) )P1=0X00; / P1=0X00; / 初值初值=0000 0000,=0000 0000,狀態(tài)為將所有的燈全部點(diǎn)亮狀態(tài)為將所有的燈全部點(diǎn)亮( (共陽(yáng)共陽(yáng)) )v P2=0XFF; / P2=

5、0XFF; / 初值初值=1111 1111,=1111 1111,狀態(tài)為將所有的燈全部點(diǎn)暗狀態(tài)為將所有的燈全部點(diǎn)暗( (共陽(yáng)共陽(yáng)) )v P3=0XFF; / P3=0XFF; / 初值初值=1111 1111,=1111 1111,狀態(tài)為將所有的燈全部點(diǎn)暗狀態(tài)為將所有的燈全部點(diǎn)暗( (共陽(yáng)共陽(yáng)) ) 2022-3-78v 數(shù)碼管數(shù)碼管4.1.2 4.1.2 數(shù)碼管接口數(shù)碼管接口 2022-3-794.1.2 4.1.2 數(shù)碼管接口數(shù)碼管接口 靜態(tài)顯示靜態(tài)顯示動(dòng)態(tài)掃描動(dòng)態(tài)掃描2022-3-7104.1.2 4.1.2 數(shù)碼管接口數(shù)碼管接口 2022-3-7114.1.2 4.1.2 數(shù)碼管接

6、口數(shù)碼管接口 dpdpg gf fe ed dc cb ba a0 0000110共陰極共陰極字形字形“1 1”編碼示例:編碼示例:0606H H2022-3-712v常序相接時(shí)常序相接時(shí) 2022-3-713uchar code SegCode = uchar code SegCode = / / 段碼段碼0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90; 0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90; uchar code BitCode= 0 x

7、fe,0 xfd,0 xfb,0 xf7; uchar code BitCode= 0 xfe,0 xfd,0 xfb,0 xf7; / / 位碼位碼uchar DispBuf4;uchar DispBuf4; /顯示數(shù)字要先送入此緩沖數(shù)組顯示數(shù)字要先送入此緩沖數(shù)組 void BufToSeg(void)void BufToSeg(void) uchar i; uchar i; for(i = 0; i 4; i+) for(i = 0; i 0; j-) for (j = 400; j 0; j-) /發(fā)聲發(fā)聲250ms250ms BEEP = BEEP; BEEP = BEEP; /取反及

8、調(diào)用指令占用約取反及調(diào)用指令占用約3us3us d622us(); d622us(); /共延時(shí)共延時(shí)625us625us,周期,周期1250us1250us,頻率頻率800Hz800Hz for (j = 400 for (j = 400* *4; j 0; j-) 4; j 0; j-) /靜音靜音1000ms1000ms BEEP = 1; / BEEP = 1; /關(guān)閉蜂鳴器關(guān)閉蜂鳴器 d622us(); d622us(); 2022-3-717v彈性按鍵彈性按鍵v 自鎖按鍵自鎖按鍵v撥動(dòng)開(kāi)關(guān)撥動(dòng)開(kāi)關(guān)v撥碼開(kāi)關(guān)撥碼開(kāi)關(guān)v電源開(kāi)關(guān)電源開(kāi)關(guān)4.2 按鍵及鍵盤(pán)接口技術(shù)按鍵及鍵盤(pán)接口技術(shù)4.2

9、.1 4.2.1 獨(dú)立按鍵接口獨(dú)立按鍵接口v 按鍵及其消抖按鍵及其消抖v 簡(jiǎn)單開(kāi)關(guān)及輸入接口簡(jiǎn)單開(kāi)關(guān)及輸入接口4.2 按鍵及鍵盤(pán)接口技術(shù)按鍵及鍵盤(pán)接口技術(shù)2022-3-719v 開(kāi)關(guān)閉合與斷開(kāi)時(shí)的抖動(dòng)及去抖電路開(kāi)關(guān)閉合與斷開(kāi)時(shí)的抖動(dòng)及去抖電路 按鍵較少時(shí):去抖電路按鍵較少時(shí):去抖電路 按鍵較多時(shí):軟件延時(shí)按鍵較多時(shí):軟件延時(shí), ,通常為通常為10ms10ms2022-3-7204.2 按鍵及鍵盤(pán)接口技術(shù)按鍵及鍵盤(pán)接口技術(shù)2022-3-721#includesbitP3_3=P33;void delay10ms(void) /延時(shí)10ms函數(shù) unsigned char a,b; for(b=1

10、51;b0;b-); for(a=29;a0;a-); voidmain()unsignedcharcodetable16=0 xC0, 0 xF9, 0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 x88,0 x83,0 xC6,0 xA1,0 x86,0 x8E;/0-F譯碼表unsignedchartemp=1;/按鍵后初值1P1=0 xC0;/按鍵前顯示02022-3-722while(1)while(P3_3=1);delay10ms();/保證10ms的非1if(P3_3=0)while(P3_3=0);delay10ms();

11、/保證10ms的非0if(P3_3=1)P1=tabletemp;/顯示數(shù)值temp=temp+1;if(temp=16) temp=0; /到16清02022-3-723v 矩陣鍵盤(pán)接口電路矩陣鍵盤(pán)接口電路4.2.2 4.2.2 鍵盤(pán)接口鍵盤(pán)接口v 逐行掃描法逐行掃描法 n 判有無(wú)鍵按下。判有無(wú)鍵按下。將列線設(shè)置為輸出口,輸出全將列線設(shè)置為輸出口,輸出全0 0(所有列線為低電平),然后讀行線狀態(tài),若行線狀(所有列線為低電平),然后讀行線狀態(tài),若行線狀態(tài)不全為高電平,則可斷定有鍵按下。態(tài)不全為高電平,則可斷定有鍵按下。n 判按下哪個(gè)鍵。判按下哪個(gè)鍵。先置列線先置列線C0C0為低電平,其余列線為

12、為低電平,其余列線為高電平,讀行線狀態(tài),如行線狀態(tài)不全為高電平,讀行線狀態(tài),如行線狀態(tài)不全為“1 1”,則說(shuō),則說(shuō)明所按鍵在該列;否則所按鍵不在該列,再使明所按鍵在該列;否則所按鍵不在該列,再使C1C1列線列線為低電平,其它列為高電平,判斷為低電平,其它列為高電平,判斷C1C1列有無(wú)按鍵按下。列有無(wú)按鍵按下。其余類推。其余類推。n 獲得相應(yīng)鍵號(hào)。獲得相應(yīng)鍵號(hào)。鍵號(hào):鍵號(hào):鍵號(hào)鍵號(hào) = = 行首號(hào)行首號(hào)+ +列號(hào)列號(hào)。行首。行首號(hào)為行數(shù)乘以行號(hào)。根據(jù)鍵號(hào)就可以進(jìn)入相應(yīng)的鍵功號(hào)為行數(shù)乘以行號(hào)。根據(jù)鍵號(hào)就可以進(jìn)入相應(yīng)的鍵功能實(shí)現(xiàn)程序。能實(shí)現(xiàn)程序。2022-3-74.2.2 4.2.2 鍵盤(pán)接口鍵盤(pán)接

13、口v1. 掃描法掃描法v2. 反轉(zhuǎn)法反轉(zhuǎn)法每個(gè)按鍵得到時(shí)間不同每個(gè)按鍵得到時(shí)間不同1)P1口賦值0 x0F,即00001111,如0鍵按下了,則這時(shí)P1口的實(shí)際值為00001110(0 x0E);2)P1口賦值0 xF0,即11110000,如0鍵按下了,則這時(shí)P1口的實(shí)際值為11100000(0 xE0); 3)將兩次P1口的實(shí)際值相加為11101110(0 xEE);4)4*4鍵盤(pán)鍵值表0 xee,0 xde,0 xbe,0 x7e,0 xed,0 xdd,0 xbd,0 x7d,0 xeb,0 xdb,0 xbb,0 x7b,0 xe7,0 xd7,0 xb7,0 x77;5)無(wú)鍵按下為

14、11111111(0 xFF)。v 線反轉(zhuǎn)法線反轉(zhuǎn)法 例如按下例如按下“2 2”號(hào)鍵,號(hào)鍵,先使列線輸出全先使列線輸出全“0 0”,讀行線,結(jié)果為,讀行線,結(jié)果為E0HE0H;再使行線輸出全;再使行線輸出全“0 0”,讀列線,結(jié)果為,讀列線,結(jié)果為0BH0BH。將。將2 2次讀到的結(jié)果拼次讀到的結(jié)果拼成一個(gè)字節(jié),即成一個(gè)字節(jié),即EBHEBH,該值稱為鍵值。,該值稱為鍵值。 2022-3-7272022-3-728#includevoidmain(void)unsignedcharh_code,l_code,key_code;while(1)P0=0 xF0;h_code=P0;h_code=h

15、_code&0 xF0;P0=0 x0F;l_code=P0;l_code=l_code&0 x0F;key_code=h_code|l_code;if(key_code!=0 xFF)2022-3-729switch(key_code)case0 xEE:P1=0 xC0;break;case0 xDE:P1=0 xF9;break;case0 xBE:P1=0 xA4;break;case0 x7E:P1=0 xB0;break;case0 xED:P1=0 x99;break;case0 xDD:P1=0 x92;break;case0 xBD:P1=0 x82;break;ca

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論