單片機(jī)原理與接口技術(shù)第11章_第1頁(yè)
單片機(jī)原理與接口技術(shù)第11章_第2頁(yè)
單片機(jī)原理與接口技術(shù)第11章_第3頁(yè)
單片機(jī)原理與接口技術(shù)第11章_第4頁(yè)
單片機(jī)原理與接口技術(shù)第11章_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)原理與接口技術(shù)

11.1LED顯示器

LED俗稱數(shù)碼管,具有很友好的人機(jī)界面,設(shè)計(jì)簡(jiǎn)單、價(jià)格廉價(jià),通過程序控制還可以擁有靜態(tài)顯示和動(dòng)態(tài)顯示兩種功能一般常用的有兩類:數(shù)碼管和點(diǎn)陣。數(shù)碼管只能顯示數(shù)字信息,而點(diǎn)陣可以顯示更為復(fù)雜的文字和圖像信息。11.1.1數(shù)碼管結(jié)構(gòu)

數(shù)碼管由8個(gè)發(fā)光二極管構(gòu)成,控制相應(yīng)的二極管導(dǎo)通,就能顯示出各種字符。通過不同的組合可用來顯示數(shù)字0~9,字符A~F、H、L、P、R、U、Y等符號(hào)及小數(shù)點(diǎn)“.〞11.1.1數(shù)碼管結(jié)構(gòu)數(shù)碼管的結(jié)構(gòu)如圖11-1所示。數(shù)碼管又分為共陰極和共陽極兩種類型,其結(jié)構(gòu)分別如圖11-1〔a〕和圖11-1〔b〕所示。圖11-1共陰極和共陽極兩種類型的結(jié)構(gòu)11.1.2數(shù)碼管工作原理數(shù)碼管一般由8個(gè)發(fā)光二極管組成,包括了7個(gè)細(xì)長(zhǎng)型的發(fā)光二極管和一個(gè)點(diǎn)狀的發(fā)光二極管。分為a、b、c、d、e、f、g、h八段,其中h是小數(shù)點(diǎn)其他七個(gè)組成了一個(gè)“8〞字通過控制具體的LED發(fā)光用來顯示0到F十六個(gè)數(shù)字。數(shù)碼管的內(nèi)部LED分布和引腳如圖11-1〔c〕所示。11.1.2數(shù)碼管工作原理如圖11-1所示,數(shù)碼管一般有十個(gè)引腳,每一段LED對(duì)應(yīng)一個(gè)引腳,另外一個(gè)引腳是連到一起的,八根之間互相連通屬同一個(gè)引腳。數(shù)碼管有共陽極和共陰極兩種結(jié)構(gòu)形式,如圖11-1〔a〕、11-1(b)所示。11.1.2數(shù)碼管工作原理共陰極數(shù)碼管中8個(gè)發(fā)光二極管的陰極〔二極管負(fù)端〕連接在一起。通常,共陰極接低電平〔一般接地〕,其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),該端所連接的字符導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。11.1.2數(shù)碼管工作原理設(shè)共陰極電平為Uk,每個(gè)字段上所加的電平分別為Ua、Ub、Uc、Ud、Ue、Uf、Ug、Uh。設(shè)某字段的電平為Ui,當(dāng)Uk為高電平時(shí),整個(gè)數(shù)碼管都不發(fā)光;當(dāng)Uk為低電平時(shí),假設(shè)Ui為高電平(i=a,b.c…),那么該段發(fā)光;當(dāng)Uk為低電平時(shí),假設(shè)Ui為低電平,那么該段不發(fā)光。11.1.2數(shù)碼管工作原理Uk可以實(shí)現(xiàn)對(duì)整個(gè)數(shù)碼管是否發(fā)光的控制,稱導(dǎo)通控制Ui可以實(shí)現(xiàn)對(duì)數(shù)碼管中某一字段的發(fā)光控制,稱筆劃信息電平11.1.2數(shù)碼管工作原理數(shù)碼管可以顯示包括小數(shù)點(diǎn)的0到9十個(gè)數(shù)字和局部英文字母。為了獲得不同的字符,數(shù)碼管各段所加的電平是不同的,編碼也不一樣。字符、筆劃信息電平和編碼關(guān)系如表11.1所示。11.1.2數(shù)碼管工作原理表11.1共陰極數(shù)碼管字符、筆劃信息電平和編碼關(guān)系字符筆畫信息電平

編碼hgfedcba0001111113f100000110062010110115b3010011114f401100110665011011016d6011111017d700000111078011111117f表11.1a字符筆畫信息電平

編碼hgfedcba90110011167a0111011177b011111007cc0011100139d010111105ee0111100179f0111000171·1000000080表11.1b11.2LED顯示器和接口

單片機(jī)驅(qū)動(dòng)LED數(shù)碼管的方法有很多,按顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示。下面將分別加以介紹。11.2.1靜態(tài)顯示器靜態(tài)顯示是指數(shù)碼管顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式的各位數(shù)碼管相互獨(dú)立,公共端固定接地〔共陰極〕或接正電源〔共陽極〕。每個(gè)數(shù)碼管的8個(gè)字段分別與8位I/O口輸出的一位相連。I/O口只要有段碼輸出,相應(yīng)字符就顯示出來,并保持不變,直到I/O口輸出新的段碼。

11.2.1靜態(tài)顯示器靜態(tài)顯示器的優(yōu)點(diǎn):顯示穩(wěn)定顯示器亮度高占用CPU的時(shí)間少

11.2.1靜態(tài)顯示器靜態(tài)顯示器的缺點(diǎn):

需要I/O口較多只適合位數(shù)少的場(chǎng)合動(dòng)態(tài)顯示器所謂動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮各位顯示器〔掃描〕,對(duì)于顯示器的每一位而言,每隔一段時(shí)間點(diǎn)亮一次。雖然在同一時(shí)刻只有一位顯示器在工作〔點(diǎn)亮〕,但利用人眼的視覺暫留效應(yīng)和發(fā)光二極管熄滅時(shí)的余輝效應(yīng),看到的卻是多個(gè)字符“同時(shí)〞顯示動(dòng)態(tài)顯示器動(dòng)態(tài)掃描顯示就是用接口電路把所有數(shù)碼管的筆畫字段引腳〔a~g和h〕并聯(lián)起來,且要做到相同的引腳連到一起。而每個(gè)數(shù)碼管的公共極那么受各自的I/0口控制。

控制數(shù)碼管單片機(jī)向數(shù)碼管輸出數(shù)據(jù)的時(shí)候,所有的數(shù)碼管都接收到相同的數(shù)據(jù)。而由公共極的電平上下來控制到底那個(gè)數(shù)碼管顯示輸出的數(shù)據(jù),單片機(jī)據(jù)此可控制任意數(shù)碼管在任意時(shí)間顯示任意數(shù)據(jù)。動(dòng)態(tài)顯示器動(dòng)態(tài)顯示器的優(yōu)點(diǎn):節(jié)省硬件資源本錢較低動(dòng)態(tài)顯示器顯示器的缺點(diǎn):占用CPU大量時(shí)間顯示亮度較靜態(tài)顯示器低動(dòng)態(tài)顯示器靜態(tài)顯示和動(dòng)態(tài)顯示各有自己的優(yōu)缺點(diǎn),在一般的小型系統(tǒng)中,為了減低本錢比較多采用動(dòng)態(tài)顯示的方法。11.3數(shù)碼管動(dòng)態(tài)顯示的硬件電路設(shè)計(jì)

在單片機(jī)系統(tǒng)中,可分為硬件局部和軟件局部。其中硬件局部是整個(gè)系統(tǒng)的實(shí)體構(gòu)成,是軟件系統(tǒng)的平臺(tái)和根底,沒有硬件做支撐設(shè)計(jì)出的軟件就無法調(diào)試也不能得到驗(yàn)證。下面就是動(dòng)態(tài)顯示硬件設(shè)計(jì)例子,我們給出了完整的電路圖。11.3.1電路原理圖圖11-5單片機(jī)驅(qū)動(dòng)7段數(shù)碼管動(dòng)態(tài)顯示電路的原理11.3.1電路原理圖本電路的P0做為數(shù)據(jù)輸出口用來輸出數(shù)碼管的顯示數(shù)據(jù),由于P0口的特殊結(jié)構(gòu)故給電路加上了上拉電阻,并使用74LS244來驅(qū)動(dòng)數(shù)碼管顯示器。P2口中的P2.4,P2.5,P2.6,P2.7腳做為選通腳用來選通不同的數(shù)碼管使其輪流點(diǎn)亮。11.3.2軟件設(shè)計(jì)本程序的程序流程圖如下所示:

11.4LED靜態(tài)顯示及實(shí)驗(yàn)1、題目:共陰極數(shù)碼管作為顯示器件,P2口輸出,數(shù)碼管顯示數(shù)字0,間隔一秒鐘輸出數(shù)字1,間隔一秒鐘輸出數(shù)字2,依次增1,顯示完數(shù)字9后,再顯示數(shù)字0。周而復(fù)始。11.4LED靜態(tài)顯示及實(shí)驗(yàn)2、分析:為了讓共陰極LED數(shù)碼管顯示數(shù)字0~9,首先我們要知道段碼.數(shù)字0~9對(duì)應(yīng)的段碼為:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f.要到達(dá)一秒鐘顯示一個(gè)數(shù)字,我們可以利用定時(shí)器0來完成一秒鐘的延時(shí)。一秒鐘時(shí)間一到,P2口送出相應(yīng)的段碼。11.4LED靜態(tài)顯示及實(shí)驗(yàn)3、原理圖:11.4LED靜態(tài)顯示及實(shí)驗(yàn)4、C51源程序#include<reg51.h>unsignedcharcodenum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharcount=20,index=0;voidtimer0(void)interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; --count;

if(count==0) { count=20; P2=num[index]; ++index; if(index>9) index=0; }}voidmain(){ TH0=(65536-50000)/256; TL0=(65536-50000)%256; TMOD=0x01; EA=1; ET0=1; TR0=1; P2=0; while(1);}11.574LS164靜態(tài)顯示電路1、題目:利用89C51串行口,和并行輸出串行移位存放器74LS164,擴(kuò)展一位數(shù)碼管,在數(shù)碼顯示器上循環(huán)顯示0-9這10個(gè)數(shù)字。11.574LS164靜態(tài)顯示電路2、分析:74LS164是8位串入并出移位存放器。它的引腳如下圖。74LS164的引腳圖11.574LS164靜態(tài)顯示電路使用74LS164做靜態(tài)顯示,可以使用串口方式0來傳遞數(shù)據(jù);即RXD接74LS164的A和B,TXD接74LS164的CP,接VCC,74LS164的輸出端接共陰的數(shù)碼管。11.574LS164靜態(tài)顯示電路串行口工作在方式0時(shí),可通過外接移位存放器實(shí)現(xiàn)串并行轉(zhuǎn)換。在這種方式下,數(shù)據(jù)為8位,只能從RXD端輸入輸出,TXD端總是輸出移位同步時(shí)鐘信號(hào),其波特率固定為晶振頻率1/12。在CPU將數(shù)據(jù)寫入SBUF存放器后,立即啟動(dòng)發(fā)送。為了在數(shù)碼顯示器上循環(huán)顯示0-9這10個(gè)數(shù)字,我們只要循環(huán)向SBUF存放器中寫入0-9這10個(gè)數(shù)字相應(yīng)的段碼即可。11.574LS164靜態(tài)顯示電路11.574LS164靜態(tài)顯示電路源程序

#include<reg51.h>unsignedcharcodenum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharcount=20,index=0;voidtime0(void)interrupt1{ TH0=(65536-50000)/256;TL0=(65536-50000)%256; --count;

if(count==0) { count=20; SBUF=num[index]; while(!TI); TI=0; ++index; if(index>9) index=0; }}voidmain(){ TH0=(65536-50000)/256; TL0=(65536-50000)%256; TMOD=0x01; SCON=0x00; PCON=0; EA=1; ET0=1; TR0=1; P1=0; while(1);}11.6LED顯示驅(qū)動(dòng)器MAX7221

MAX7221是美國(guó)MAXIM公司研制的緊湊型、串行輸入、串行輸出、共陰極新型LED顯示驅(qū)動(dòng)器。它一片芯片可以驅(qū)動(dòng)多達(dá)8位7段LED顯示器、條型圖形、或64個(gè)單個(gè)LED。其片內(nèi)有BCD譯碼器、多路復(fù)用掃描電路、段和數(shù)字驅(qū)動(dòng)器、以及存貯每個(gè)數(shù)字的8×8靜態(tài)RAM。所有LED的段電流設(shè)定只需一個(gè)外部電阻。MAX7221的引腳排列如圖

MAX7221的特點(diǎn)接口簡(jiǎn)單,占用CPU的I/O口線少。對(duì)外接口只有3根I/O口線。各個(gè)存放器可單獨(dú)被尋址和更新,不需要全部更新。允許用戶對(duì)每個(gè)顯示位是選擇BCD譯碼方式還是無譯碼方式進(jìn)行定義。具有150μA的低功耗停機(jī)方式??梢阅M和數(shù)據(jù)控制顯示的亮度??梢赃M(jìn)行級(jí)連,最多可以級(jí)連8片MAX7221,驅(qū)動(dòng)64個(gè)數(shù)碼管。MAX7221的引腳功能表

引腳名稱功能1DIN串行數(shù)據(jù)輸入。2,3,5-8,10,11DIG0-DIG78個(gè)位選線4,9GND地(兩個(gè)地必須連接在一起)12CS片選輸入。13CLK串行時(shí)鐘輸入。14-17,20-23SEGA-SEGGDP段選線18ISET通過一個(gè)電阻連接至VDD。設(shè)置最大的段電流19V+電源,接至+5V24DOUT串行數(shù)據(jù)輸出。11.7LED動(dòng)態(tài)顯示及實(shí)驗(yàn)

1、題目:利用MAX7221,擴(kuò)展8位數(shù)碼管,動(dòng)態(tài)顯示0-7這8個(gè)數(shù)字。11.7LED動(dòng)態(tài)顯示及實(shí)驗(yàn)

2、分析:MAX7221在使用之前必須進(jìn)行初始化,即設(shè)置MAX7221的顯示模式、譯碼方式、亮度控制、掃描范圍〔掃描LED個(gè)數(shù)〕。當(dāng)采用CodeB譯碼方式時(shí),我們只要向數(shù)碼管0〔digit0〕~數(shù)碼管7〔digit7〕送出0x0~0x7即可。LED動(dòng)態(tài)顯示實(shí)驗(yàn)原理圖11.7LED動(dòng)態(tài)顯示及實(shí)驗(yàn)

2、分析:MAX7221在使用之前必須進(jìn)行初始化,即設(shè)置MAX7221的顯示模式、譯碼方式、亮度控制、掃描范圍〔掃描LED個(gè)數(shù)〕。當(dāng)采用CodeB譯碼方式時(shí),我們只要向數(shù)碼管0〔digit0〕~數(shù)碼管7〔digit7〕送出0x0~0x7即可。11.8實(shí)時(shí)時(shí)鐘程序的分析

1、硬件電路數(shù)碼管的D1,D2分別顯示時(shí)鐘分種的十位和個(gè)位,D3,D4那么分別顯示時(shí)鐘秒的十位和各位。11.8實(shí)時(shí)時(shí)鐘程序的分析電路圖

11.8實(shí)時(shí)時(shí)鐘程序的分析

2、應(yīng)用程序:#include<reg52.h> //引用標(biāo)準(zhǔn)庫(kù)的頭文件#defineucharunsignedchar#defineuintunsignedintsfrP0=0x80//P0的SFR定義sfrP2=0xA0//P2的SFR定義sbitD1=P2^4//定義第一個(gè)選通端sbitD2=P2^5//定義第二個(gè)選通端sbitD3=P2^6//定義第三個(gè)選通端sbitD4=P2^7//定義第四個(gè)選通端11.8實(shí)時(shí)時(shí)鐘程序的分析

unsignedchara,b,c,d//a,b分別為分鐘的十位和個(gè)位,c,d分別為秒鐘的十位和個(gè)位uchargetcode(uchari); //根據(jù)共陰極字型編碼表獲取字型代碼函數(shù)voiddisplay(void); //顯示函數(shù)voidmain(){ P2=0xff; //關(guān)閉顯示 for(a=0,a<=5,a++)//設(shè)置分鐘的十位數(shù){for(b=0,b<=9,b++)//設(shè)置分鐘的個(gè)位數(shù){for(c=0,c<=5,c++) //設(shè)置秒鐘的十位數(shù){for(d=0,d<=9,d++) //設(shè)置秒鐘的個(gè)位數(shù){display();}}}}while(1)//重新開始循環(huán)}11.8實(shí)時(shí)時(shí)鐘程序的分析

/*根據(jù)共陰極字型編碼表獲取0~9,A~B字型代碼*/uchargetcode(uchari){ ucharp; switch(i) { case0:p=0x3f; break;/*0*/ case1:p=0x06; break;/*1*/ case2:p=0x5B;break;/*2*/ case3:p=0x4F; break;/*3*/ case4: p=0x66; break; /*4*/ case5: p=0x6D;break; /*5*/ case6: p=0x7D;break; /*6*/ case7: p=0x07;break; /*7*/ case8: p=0x7F;break; /*8*/ case9: p=0x67;break; /*9*/

case10:p=0x77;break; /*A*/ case11:p=0x7C;break; /*B*/ case12:p=0x39;break; /*C*/ case13:p=0x5E;break; /*D*/ case14:p=0x79;break; /*E*/ case15:p=0x71;break; /*F*/ default: break; } return(p);}11.8實(shí)時(shí)時(shí)鐘程序的分析

/*顯示函數(shù)*/voiddisplay(void){ P2=0xff; //關(guān)閉顯示P0=getcode(a); //送字型碼 D1=0//選通dalay1()//延時(shí)2msP0=getcodeb); //送字型碼 D2=0//選通dalay1() //延時(shí)2msP0=getcode(c); //送字型碼 D3=0//選通dalay1() //延時(shí)2msP0=getcode(d); //送字型碼 D4=0//選通dalay1() //延時(shí)2msdalya()//延時(shí)1s}11.8實(shí)時(shí)時(shí)鐘程序的分析

/*延時(shí)1S的程序*//*每執(zhí)行一次while(--t);對(duì)于時(shí)鐘為8MHz的8751(8051),需要2μs的時(shí)間*//*i的最大取值為492000是因?yàn)榍懊嬉呀?jīng)有8ms的延時(shí),為提高精度故設(shè)置為此*/voiddelay(unsignedchart){t=0;While(i<492000)t++;}/*延時(shí)2ms的程序*//*每執(zhí)行一次while(--t);對(duì)于時(shí)鐘為8MHz的8751(8051),需要2μs的時(shí)間*/voiddelay(unsignedchari){i=0;While(i<2000)t++;}11.9LED點(diǎn)陣顯示屏

LED點(diǎn)陣顯示屏〔LEDpanel〕:LED就是lightemittingdiode,發(fā)光二極管的英文縮寫,簡(jiǎn)稱LED。它是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。11.9LED點(diǎn)陣顯示屏LED顯示屏分為圖文顯示屏和視頻顯示屏,均由LED矩陣塊組成。圖文顯示屏可與計(jì)算機(jī)同步顯示漢字、英文文本和圖形;視頻顯示屏采用微型計(jì)算機(jī)進(jìn)行控制,圖文、圖像并茂,以實(shí)時(shí)、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維動(dòng)畫、錄像、電視節(jié)目以及現(xiàn)場(chǎng)實(shí)況。11.9LED點(diǎn)陣顯示屏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論