找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5477|回复: 1
收起左侧

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

[复制链接]
ID:907140 发表于 2021-4-16 23:17 | 显示全部楼层 |阅读模式
数码管为二位共阳数码管,我对引脚的排列方式和一般的有些不同,目的是在PCB上的顶层线更少。另外还算了一下这种接法的段码,在代码里大家可以看下
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.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. }
复制代码

所有资料51hei提供下载:
30秒倒计时.zip (67.42 KB, 下载次数: 115)
回复

使用道具 举报

ID:990680 发表于 2021-12-10 20:09 | 显示全部楼层
能改成倒计时111秒的吗?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表