一个简单的51单片机数码管动态显示示例程序,使用C语言。硬件部分采用了AT89C52单片机和8段6位共阴极数码管(7SEG-MPX6-CC)。

电路图

单片机数码管动态显示

软件代码

#include <reg51.h>
unsigned char led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char wei[]={~0x01,~0x02,~0x04,~0x08,~0x10,~0x20};
void delay();
void main()
{
  unsigned char i;
  while(1)
  {
    for(i=0;i<6;i++)
      {
        P2=led[i];//段选
        P3=wei[i];//位选
        delay();//调用延时
        P2=0;//消除残影
        P3=0;//消除残影
      }
  }
}
void delay()//延时子程序
{
  unsigned char i,j;  
  for(i=0;i<10;i++) 
    for(j=0;j<33;j++) ; 
}

运行效果

数码管从左到右显示012345,如下图:

数码管动态显示运行效果


本文版权归一天天世界所有,转载请注明出处并添加本文链接。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

 
返回顶部
ett