单片机60秒倒计时程序怎么写啊!!!这个图的!!!急用啊!!!!

如题所述

/*代码你可以参考一下,晶振按11.059200MHz写的。
  提示一下,按你这仿真是不能做实物的,要加上限流电阻*/

#include "reg52.h"

unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段选

void main()
{
TMOD = 0x01;
    TH0  = 0xFC;
    TL0  = 0x66;
    EA   = 1;
    ET0  = 1;
    TR0  = 1;

while(1);
}

void Timer0Interrupt(void) interrupt 1
{
static unsigned int i = 0;
static char time = 60;

    TH0 = 0xFC;
    TL0 = 0x66;

P3 = table[time%10];
P2 = table[time/10];

i++;
if (i >= 1000)
{
i = 0;
time--;
if (time < 0)
{
time = 60;
}
}

}

追问

谢谢么么哒

不做实物,只仿真

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-04
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num=60;

//共阴数码管七段码

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};
void Delay1ms(uint i) //1ms延时程序
{
uint j;
for(;i>0;i--)
{
for(j=0;j<164;j++)
{;}
}
}
void main(void )//主程序
{
while(1)
{
num--;
P2= table[ num/10];
P3= table[num%10];
Delay1ms(1000)
}
}本回答被网友采纳
第2个回答  2016-12-07
我有,怎么给你?
第3个回答  2016-12-07
你这个是静态显示很简单的,留个联系方式吧