設(shè)計(jì)單片機(jī)并行口控制的兩個(gè)5×7點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,并編寫程序?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ī)并行端口與兩個(gè)5×7點(diǎn)陣LED顯示器的驅(qū)動(dòng)電路,包括控制點(diǎn)陣LED行和列的連線。 (c)設(shè)計(jì)點(diǎn)陣LED的給電流電路(單片機(jī)并行端口接上拉電阻)。 編寫單片機(jī)并行口控制(驅(qū)動(dòng))兩個(gè)5×7點(diǎn)陣LED顯示器字符(串)顯示程序,結(jié)合要顯示信息的(字符)字模,實(shí)現(xiàn)數(shù)字(0—9)或簡(jiǎn)單的英文字符的顯示。顯示方式和內(nèi)容自定,如每隔一段時(shí)間循環(huán)顯示數(shù)字0—9 或英文字符。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.jpg (77.54 KB, 下載次數(shù): 73)
下載附件
2018-1-22 00:44 上傳
單片機(jī)源程序如下:
- #include <reg51.h>
- #define u8 unsigned char //無(wú)符號(hào)字符型
- #define u16 unsigned int
- #define SPEED 1000
- u8 code table[]={
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,
- /*-- 文字: 0 --*/
- 0xC1,0xDD,0xC1,0xFF,
-
- /*-- 文字: 1 --*/
- 0xED,0xC1,0xFD,0xFF,
-
- /*-- 文字: 2 --*/
- 0xD9,0xD5,0xCD,0xFF,
-
- /*-- 文字: 3 --*/
- 0xD5,0xD5,0xC1,0xFF,
-
- /*-- 文字: 4 --*/
- 0xF3,0xEB,0xC1,0xFB,
-
- /*-- 文字: 5 --*/
- 0xFF,0xC5,0xD5,0xD1,
-
- /*-- 文字: 6 --*/
- 0xFF,0xC1,0xD5,0xD1,
-
- /*-- 文字: 7 --*/
- 0xFF,0xCF,0xDF,0xC1,
-
- /*-- 文字: 8 --*/
- 0xFF,0xC1,0xD5,0xC1,
-
- /*-- 文字: 9 --*/
- 0xFF,0xC5,0xD5,0xC1,
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,
-
- /*-- 文字: --*/
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF };
- u8 i,k,m=0,n=0;
- u16 j;
- void main()
- {
- P0=0XFF;
- P2=0X00;
- P3=0X00;
- while(1)
- {
- for(i=0;i<48;i++)
- {
- for(j=0;j<SPEED;j++)
- {
- for(k=0;k<10;k++)
- {
- m=i+k;
- n=k-8;
- if(k>7)
- {
- P2=0;
- P3=(0X01<<n);
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png (57.04 KB, 下載次數(shù): 92)
下載附件
2018-1-22 00:45 上傳
所有資料51hei提供下載:
單片機(jī)并行口驅(qū)動(dòng)的兩個(gè)5×7點(diǎn)陣LED顯示器字符顯示.rar
(83.82 KB, 下載次數(shù): 61)
2018-1-21 20:08 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|