資源描述:
《動(dòng)態(tài)顯示與按鍵消抖》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、三、IO應(yīng)用---LED數(shù)碼管X位X段數(shù)碼管dpgfedcbaD7D6D5D4D3D2D1D08段LED,段碼是按格式:如下圖顯示位段碼位dpgfedcbaD7D6D5D4D3D2D1D0顯示位段碼位11000000即為:0xC0LED數(shù)碼管顯示“0”編碼dpgfedcbaD7D6D5D4D3D2D1D0顯示位段碼位11111001即為:0xF9LED數(shù)碼管顯示“1”編碼七段共陽(yáng)數(shù)碼管顯示數(shù)據(jù)表LED數(shù)碼管顯示器的顯示方法有兩種:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。(一)LED數(shù)碼管的顯示方法LED靜態(tài)顯示例:利用2位LED靜態(tài)顯示“12”#includeunsignedchard1
2、[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voidmain(){P0=0xff;P2=0Xff;while(1){P0=d1[1];//筆段碼P2=d1[2];//筆段碼}}思考:如是實(shí)現(xiàn)顯示完“12”延時(shí)一會(huì)兒有顯示“34”呢?#includeunsignedchard1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voiddelay(intm){unsignedinti,j;for(i=0;i3、+);}voidmain(){P0=0xff;P2=0Xff;while(1){P0=d1[1];//筆段碼”1”P2=d1[2];//筆段碼”2”delay(100);P0=d1[3];//筆段碼”3”P2=d1[4];//筆段碼”4”delay(100);}}靜態(tài)顯示:就是每一個(gè)LED數(shù)碼管都單獨(dú)和一個(gè)I/O接口相連,CPU只要把欲顯示的字型代碼送到某個(gè)I/O口上,就可以使對(duì)應(yīng)的LED數(shù)碼管顯示所需的數(shù)字或符號(hào),此后,即使CPU不再向它輸出其它字型碼,顯示的內(nèi)容也不會(huì)消失。優(yōu)點(diǎn):顯示程序十分簡(jiǎn)單,顯示亮度大,節(jié)約CPU的工作時(shí)間缺點(diǎn):占用的I/O口線較多,硬件成本較高。LED動(dòng)態(tài)顯示例
4、2:2位LED動(dòng)態(tài)掃描顯示(顯示:12)筆段位選三極管“放大”和“開關(guān)”作用顯示“1”顯示“2”‘0’導(dǎo)通‘1’關(guān)閉#includeunsignedchard1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voiddelay(intm){unsignedinti,j;for(i=0;i5、//筆段碼P2_1=0;P2_0=1;//位選碼delay(1);//延時(shí)P2=0XFF;//消隱}}顯示十位數(shù)1顯示個(gè)位數(shù)2動(dòng)態(tài)掃描顯示是指采用分時(shí)的方法,輪流控制各個(gè)顯示器的公共端,使各個(gè)顯示器輪流點(diǎn)亮。雖然每個(gè)時(shí)刻只有一個(gè)數(shù)碼管有效,但只要延時(shí)適當(dāng),由于人眼的“視覺暫留效應(yīng)”(約20ms左右),看起來則是同時(shí)顯示的。其接口電路是把所有顯示器的8個(gè)筆劃段a~dp同名端并聯(lián)接到I/O口上,而每一個(gè)顯示器的公共極COM是各自獨(dú)立地受I/O線控制。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮
6、,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。思考:如何利用下面硬件電路顯示:123456?#includeunsignedchard1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsignedchard2[]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};voiddelay(intm);voidmain(){unsignedchari;P0=0XFF;P2=0XFF;while(1){for(i=0;i<6;i++){P0=d1[i+1];//送筆段碼P2=
7、d2[i];//送位選碼delay(1);//延時(shí)5msP0=0XFF;//消隱}}}6位LED動(dòng)態(tài)掃描電路----共陽(yáng)電路連接筆段碼位選碼‘0’導(dǎo)通‘1’關(guān)閉6位LED動(dòng)態(tài)掃描電路----共陰電路連接筆段碼位選碼‘1’導(dǎo)通‘0’關(guān)閉四、IO應(yīng)用-點(diǎn)陣(了解:自學(xué))有興趣了解一下點(diǎn)陣顯示器—做廣告用一個(gè)好的單片機(jī)應(yīng)用系統(tǒng),通常要有優(yōu)秀的人機(jī)交互接口。鍵盤是與單片機(jī)進(jìn)行人機(jī)交互的最基本的途徑,其以按鍵的形式來設(shè)置控制功能或