【Proteus學(xué)習(xí)之路】序列之3:高富帥初露臉—LED顯示屏仿真
一、如何創(chuàng)建仿真界面
本文引用地址:http://m.butianyuan.cn/article/276035.htm有了前面兩節(jié)的基礎(chǔ),仿真界面就不是那么難了,主要是看你要實(shí)現(xiàn)什么功能,然后就選擇器件即可!
我們需要LED點(diǎn)陣模塊,MCU,74HC595和74HC154,這幾個(gè)器件proteus里面都有。
LED點(diǎn)陣模塊【綠色】 74HC154 模塊
單片機(jī)模塊 74HC595模塊
有了這四個(gè)模塊就可以開(kāi)始干活了,只要按照自己想要的硬件方式進(jìn)行連接即可。下面看一個(gè)LED點(diǎn)陣模塊。
只要定義好管腳就可以了,這里就不細(xì)致講解,稍后附件會(huì)有仿真具體連接。下面是搭建的整個(gè)仿真的界面。
二、軟件界面編寫(xiě)
此處軟件界面編寫(xiě)包括兩部分:1.代碼部分編寫(xiě);2.取字模部分
1.代碼部分編寫(xiě)
主函數(shù)部分主要是掃描方式,代碼如下,具體的在附件里面。
/************主函數(shù)***************/
void main()
{
uchar i,j,k; //i:每個(gè)字的顯示循環(huán);j每個(gè)字的顯示碼除以2;k每列刷新次數(shù)
uint b=0; //顯示偏移控制,char類型最多只能顯示14個(gè)漢字+一個(gè)空白位字符
uchar a; //控制移動(dòng)間隔時(shí)間
SCON = 0x00;
while(1)
{
j=0;
if(a>1) //移動(dòng)間隔時(shí)間;取值0--255
{
a=0;
b+=2;
if(b>=352) //顯示到最后一個(gè)字,回頭顯示,判斷值=字?jǐn)?shù)*32
{
b=0;
}
}
for(i=0;i<16;i++)
{
P1=i;
for(k=0;k<1;k++)
{
STTP = 0;
out_rxd(&hanzi[3][j+b+1]);
out_rxd(&hanzi[3][j+b]);
out_rxd(&hanzi[2][j+b+1]);
out_rxd(&hanzi[2][j+b]);
out_rxd(&hanzi[1][j+b+1]);
out_rxd(&hanzi[1][j+b]);
out_rxd(&hanzi[0][j+b+1]);
out_rxd(&hanzi[0][j+b]);
STTP = 1;
delay(15);
}
j=j+2;
}
a++;
}
}
2.取字模
按照下面的設(shè)置取字模既可以實(shí)現(xiàn)自己想要顯示的字體。
三、聯(lián)調(diào)——高富帥亮相
這個(gè)是以前自己設(shè)計(jì)的,雙色的,單色是16x64。
今天感覺(jué)蠻好玩的,就再次修改一下,感覺(jué)還是很不錯(cuò)的!效果如下。
led顯示器相關(guān)文章:led顯示器原理
評(píng)論