新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 數(shù)碼管動態(tài)顯示

數(shù)碼管動態(tài)顯示

作者: 時間:2016-11-30 來源:網(wǎng)絡 收藏
一天的堅持沒有白費了,呵呵。又一個模塊學會了,下午的時間利用了定時器編了一下數(shù)碼管動態(tài)顯示程序,其實數(shù)碼管動態(tài)就是使單片機不斷地向數(shù)碼管輸送數(shù)據(jù),使其速度極快地顯示內容,當然極快是快到人的眼睛分辨不出來它在送數(shù)據(jù)時的間隙,下面我把程序編了人的眼睛看得分辨出來的效果和程序寫出來一下。

程序如下:#include
unsigned char wei[]={
0x00,
0x01,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07
};//數(shù)碼管位的數(shù)據(jù)組
unsigned char duan[]={
0x06,
0x5b,
0x4f,
0x66,
0x6d,
0x7d,
0x07
};//數(shù)碼管段的數(shù)據(jù)組
int x,y;
void main()
{int a=0;
TMOD |= 0x01;//打開單片機計時工作方式
TMOD &= 0xfd;
TH0 = (65536-5000)/256;//賦初值
TL0 = (65536-5000)%256;
TR0 = 1;//定時器打開
while(1)
{
if(TF0==1)
{
TF0=0;
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
a++;
if(a==1)
{
a=0;

本文引用地址:http://m.butianyuan.cn/article/201611/323766.htm

P0 = wei[x];//位操作顯示
x++;
if(x==7)
x=0;

P1 = duan[y];//段操作顯示
y++;
if(y==7)
y=0;
}
}
}
}

在這里要聲明一下,我的adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=a8aafff7e2952a1c&k=%BF%AA%B7%A2%B0%E5&k0=%BF%AA%B7%A2%B0%E5&kdi0=0&luki=2&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=1c2a95e2f7ffaaa8&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F1999%2Ehtml&urlid=0" id="2_nwl" mpid="2" target="_blank">開發(fā)板是P0.0 ,P0 .1 P0.2控制位操作的。P1口控制段選內容的。

當然這個程序如果把時間調快一點的話,我們看到的是數(shù)碼管顯示1至7的內容了。這就是示。加油。努力。相信我行的。



評論


技術專區(qū)

關閉