基于51单片机的数码管30秒倒计时proteus仿真+C语言代码

[复制链接]
查看2 | 回复0 | 2021-4-17 01:25:35 | 显示全部楼层 |阅读模式
数码管为二位共阳数码管,我对引脚的排列方式和一般的有些不同,目的是在PCB上的顶层线更少。另外还算了一下这种接法的段码,在代码里大家可以看下
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
1.png
单片机源程序如下:
  1. #include <reg51.h>
  2. unsigned char count=0;
  3. sbit LED_B1=P3^6;
  4. sbit LED_A1=P3^7;
  5. unsigned char NSF=30;
  6. void Init(void)
  7. {
  8.         TMOD=0x01;
  9.         TH0=(65536-10000)/256;
  10.         TL0=(65536-10000)%256;
  11.         TR0=1;
  12.         ET0=1;
  13. EA=1;
  14. }

  15. void timer0(void) interrupt 1
  16. {   
  17.         TMOD=0x01;
  18.         TH0=(65536-50000)/256;
  19.         TL0=(65536-50000)%256;
  20.         TR0=1;
  21.         ET0=1;
  22.         EA=1;
  23.            count++;
  24.         if(count>19)
  25.         {
  26.             count=0;
  27.          NSF--;      
  28.          }      
  29. }
  30.       
  31. void delayms(unsigned int xms)
  32.         {
  33.                 unsigned int i,j;
  34.                 for(i=xms;i>0;i--)
  35.                         for(j=110;j>0;j--);}
  36. unsigned char table[]={0x3,0xcf,0x2a,0x4a,0xc6,0x52,0x12,0xcb,0x2,0x42};
  37. void display1(unsigned char num1,unsigned char num2)   
  38. {               
  39.                 LED_A1=1;
  40.                 P0=table[num1];
  41.                
  42.                 delayms(10);
  43.                 LED_A1=0;
  44.                
  45.                 LED_B1=1;  
  46.                 P0=table[num2];
  47.                
  48.                 delayms(10);
  49.                 LED_B1=0;  
  50. }
  51. void main()
  52. {  
  53.         while(1)
  54.         {
  55.           EA=1;
  56.     Init();
  57.     while(NSF!=0)
  58.    {
  59.    display1(NSF/10,NSF%10);
  60.    delayms(10);
  61.    }
  62.          while(NSF==0)
  63.          {
  64.             NSF=30;
  65.                  display1(NSF/10,NSF%10);
  66.    delayms(10);
  67.          }

  68.   }
  69. }
复制代码
仿真和c源码: 30秒倒计时.zip (67.42 KB, 售价: 1 工控币)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则