×
嵌入式 > 技术百科 > 详情

数码管动态显示

发布时间:2020-10-20 发布时间:
|
一天的坚持没有白费了,呵呵。又一个模块学会了,下午的时间利用了定时器编了一下数码管的动态显示程序,其实数码管动态就是使单片机不断地向数码管输送数据,使其速度极快地显示内容,当然极快是快到人的眼睛分辨不出来它在送数据时的间隙,下面我把程序编了人的眼睛看得分辨出来的效果和程序写出来一下。

程序如下:#include
unsigned char wei[]={
     0x00,
     0x01,
     0x02,
     0x03,
     0x04,
     0x05,
     0x06,
     0x07
     };//数码管位的数据组
unsigned char duan[]={
     0x06,
     0x5b,
     0x4f,
     0x66,
     0x6d,
     0x7d,
     0x07
     };//数码管段的数据组
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;

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

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

在这里要声明一下,我的开发板是P0.0   ,P0 .1  P0.2控制位操作的。P1口控制段选内容的。

当然这个程序如果把时间调快一点的话,我们看到的是数码管显示1至7的内容了。这就是数码管动态显示。加油。努力。相信我行的。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
实时控制.安全.如何加速实现未来工厂落地?