51单片机控制数码管实现99秒倒计时实验

2019年10月11日11:07:06 评论

本程序基于51单片机开发板<传送门>

本程序开发板原理图<传送门>,提取码: 2bkj

#include"reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar a;
void display();
void sub_1();
void delayms(uint xms);
void main()
{
    a=99;
    while(1)
   {
       display();
       sub_1();
    }
}

void sub_1()
{
    uint i;
    for(i=500;i>0;i--)
   display();
   a--;
   if(a==0)
      a=99;
}

void display()
{
    P1=0x01;
    P0=table[a%10];
    delayms(1);
    P1=0x02;
    P0=table[a/10];
    delayms(1);
}

void delayms(uint xms)
{
   uint i,j;
   for(i=xms;i>0;i--)
      for(j=110;j>0;j--)
         ;
}

发表评论

您必须才能发表评论!