設(shè)計(jì)單片機(jī)并行口和4-16譯碼器74HC154驅(qū)動(dòng)(控制)的兩個(gè)5×7點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,并編寫(xiě)程序?qū)崿F(xiàn)在兩個(gè)5×7點(diǎn)陣LED顯示器上的字符顯示。 電路方面主要包括以下3部分。(a)設(shè)計(jì)單片機(jī)的最小系統(tǒng)(包括復(fù)位電路和外接的晶振電路),并確定相關(guān)元器件參數(shù)。(b)采用動(dòng)態(tài)驅(qū)動(dòng)的方式,設(shè)計(jì)單片機(jī)并行端口和74HC154控制(驅(qū)動(dòng))兩個(gè)5×7點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,包括控制點(diǎn)陣LED行和列的連線(xiàn)(由單片機(jī)并行端口和74HC154分別驅(qū)動(dòng))。(c)設(shè)計(jì)點(diǎn)陣LED的給電流電路(單片機(jī)并行端口接上拉電阻)。
編寫(xiě)單片機(jī)控制兩個(gè)5×7點(diǎn)陣LED顯示器字符顯示程序,實(shí)現(xiàn)數(shù)字(0—9)或簡(jiǎn)單的英文字符的信息顯示。顯示方式和內(nèi)容自定,如每隔一段時(shí)間循環(huán)顯示數(shù)字0—9 或英文字符。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (31.18 KB, 下載次數(shù): 57)
下載附件
2018-1-22 00:54 上傳
單片機(jī)源程序如下:
- #include <reg51.h>
- //字形碼****按列取模
- unsigned char code table1[]={
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xE3,0xDD,0xDD,0xE3,0xFF,/*"0",0*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xFF,0xDD,0xC1,0xDF,0xFF,/*"1",1*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xDB,0xCD,0xD5,0xDB,0xFF,/*"未命名文件",0*//* (5 X 7 ) *///0xD9,0xCD,0xD5,0xD9,0xFF,/*"2",2*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xFF,0xD5,0xD5,0xEB,0xFF,/*"未命名文件",0*//* (5 X 7 ) *///0xDD,0xD9,0xD9,0xE5,0xFF,/*"3",3*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xE7,0xEB,0xC1,0xEF,0xFF,/*"未命名文件",0*//* (5 X 7 ) *///0xF7,0xEB,0xEB,0xC1,0xFF,/*"4",4*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xFF,0xD1,0xD5,0xC5,0xFF,/*"未命名文件",0*//* (5 X 7 ) *///0xD1,0xD5,0xD5,0xC5,0xFF,/*"5",5*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xE3,0xD5,0xD5,0xC7,0xFF,/*"6",6*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xFD,0xC5,0xF9,0xFD,0xFF,/*"7",7*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xC9,0xD5,0xD5,0xC9,0xFF,/*"8",8*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xF1,0xD5,0xD5,0xE3,0xFF,/*"9",9*//* (5 X 7 , 宋體 ) */
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- 0xff,0xff,0xff,0xff,0xff,
- };
- void delay(int c)
- {
- int i,j;
- for(i=0;i<c;i++)
- for(j=0;j<10;j++);
- }
- void Display(void)
- {
- unsigned char i,j;
- unsigned int b=0; //顯示偏移控制,
- unsigned char a; //控制移動(dòng)間隔時(shí)間
- while(1)
- {
- j=0;
- if(a>20) //移動(dòng)間隔時(shí)間;取值0--255
- {
- a=0;
- b+=1;
- if(b>=130) b=0; //顯示到最后一個(gè)字,回頭顯示,
- }
- for(i=0;i<10;i++)
- {
- P1=i;
- P0=table1[j+b];
- delay(5);
- P0=0xff;
- j+=1;
- }
- a++;
- }
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png (56.66 KB, 下載次數(shù): 54)
下載附件
2018-1-22 00:55 上傳
所有資料51hei提供下載:
t.rar
(101.9 KB, 下載次數(shù): 105)
2018-1-21 20:11 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|