|
|
很多人認為單片機的最佳搭配顯示器是液晶1602顯示器,理由是價格便宜,使用方便。但是,液晶1602顯示器也有很多缺點,最大的是端口占用太多,有8根數(shù)據(jù)線,3根控制線,電源及背光電源4根,還要再加一根對比度線,總共要16根線。很多同學(xué)是用最小單片機系統(tǒng),主板與顯示器是用杜邦線相連,連接不怎么牢靠,不是電源松,就是背光掉線,要不就是數(shù)據(jù)沒接牢,如果不是主板帶顯示接口,并不太好讓1602顯示出內(nèi)容,而且1602顯示16個字符就出了顯示范圍,還要記得換行,使用并不是很輕松。如果換個思路,用LED8X8發(fā)光矩陣當(dāng)顯示器,其實效果也不錯。首先是有些LED8X8發(fā)光矩陣是集成譯碼和移位芯片的,接口只有6根數(shù)據(jù)線和2根電源線,比1602少得多,很適合小系統(tǒng)板用杜邦線連接使用。其次顯示不用調(diào)對比度,而且尺寸較大,觀看不吃力。第三是有完全的顯示能力,1602能顯示的字符,它都能顯示,不象數(shù)碼管,只能顯示十多個符號,它其實是個單個字符的顯示器,如果利用滾動顯示,以人眼閱讀的速度相近的速度滾動顯示,效果還是可以接受,價格也比1602便宜,對于顯示內(nèi)容不多的程序調(diào)試等新手學(xué)習(xí)單片機場合,是非常理想的顯示器。本人以集成譯碼器和移位寄存器的6線發(fā)光矩陣為條件,編了一個把8X8發(fā)光矩陣作為顯示器的樣例程序,供想以發(fā)光矩陣作為單片機顯示器的同學(xué)參考。下面是單片機程序
- #include<reg51.h>
- #include "char.h"
- #define uint unsigned int
- #define uchar unsigned char
- sbit ser=P0^3;//ser 14
- sbit sck=P0^4;//sck 11
- sbit rck=P0^5;//rck 12
- //============================
- void delay(uint ii){uint i;for(i=0;i<ii;i++);}
- //============================
- void SendByte(uchar cc)
- {uchar c=cc;int i;
- for(i=0;i<8;i++){if(c&0x01)ser=1;else ser=0;c>>=1;sck=0;sck=1;}
- rck=0;rck=1;
- }
- //============================
- void PutChar(char ci)
- {int i,j;
- for(i=0;i<200;i++)for(j=0;j<6;j++){P0=j;SendByte(vc[ci-0x20][j]);delay(25);SendByte(0);}
- }
- //============================
- void PutStr(char *str)
- {int i=0;
- while(str[i]!=0){PutChar(str[i]);i++;}
- }
- //============================
- void main()
- {int i,j,k=0;
- while(1){PutStr("N=123");}
- }
復(fù)制代碼
為便于直觀觀察效果,本人制作仿真模型,全套程序及仿真在附件中。
下面是仿真截圖。
p8.JPG (171.12 KB, 下載次數(shù): 48)
下載附件
2019-4-3 23:15 上傳
仿真效果不好,實際顯示效果還好一點。
0.png (11.59 KB, 下載次數(shù): 26)
下載附件
2019-4-4 03:37 上傳
全部資料51hei下載地址:
LED8X8.zip
(49.6 KB, 下載次數(shù): 17)
2019-4-3 23:20 上傳
點擊文件名下載附件
仿真和程序 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|