单片机交流
直播中

李晨灵

7年用户 1410经验值
私信 关注
[问答]

如何用一个共阳极数码管循环显示数值“0~F”?

如何用一个共阳极数码管循环显示数值“0~F”?

回帖(1)

许晓凌

2021-11-10 10:38:53
1、设计要求
用一个共阳极数码管循环显示数值“0~F”,显示变换时间为1s,由P1口输出要显示的数值
2、硬件设计
使用proteus Isis仿真,选择元器件,AT89C51、7SEG-COM-AN-GRN、RESPACK8
3、软件设计
源程序:

#include
#include

typedef        unsigned char u8;
typedef        unsigned int u16;

u8  smgduan[16] = {0x3f ,0x06 ,0x5b ,0x4f ,0x66 ,0x6d ,0x7d ,0x07 ,
                0x7f ,0x6f ,0x77 ,0x7c ,0x39 ,0x5e ,0x79 ,0x71 };  //共阴

void delay(u16 i)
{
    u8 a,b;
    for( ;k>0 ;k--)
      for(b=142 ; b>0 ;b--)
        for(a=2 ;a>0 ;a--);
  }
void main()
{
        //u16 i;
        P1 = ~smgduan[0];
        //delay(1000);
    while(1)
   {
                 for(i=0;i<10;i++)  // 静态数码管数字动态输出
                 {
                   P1= ~smgduan;
                   delay(1000);
                 }
   }
  }

举报

更多回帖

×
20
完善资料,
赚取积分