搜索

求用单片机c语言编写的倒计时60s程序,为什么在百度上找的程序验证了现象...

发布网友 发布时间:2024-10-24 07:56

我来回答

4个回答

热心网友 时间:2024-10-25 03:42

嘎嘎嘎,刚好写过

60秒倒计时程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar temp,bai,shi,ge,num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint);
void main()
{
temp=60;
num=0;
P2=0x00;

TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;

while(1)
{
shi=temp/10;
ge=temp%10;

P0=table[shi];
P2=0x02;
delay(5);

P0=table[ge];
P2=0x01;
delay(5);

}
}

void T0_time()interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==40)
{
num=0;
temp--;
if(temp==0)
{
temp=60;
}
}
}

void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);

}

热心网友 时间:2024-10-25 03:39

定时不对,跟你的时钟,中断时间,或程序有关,这范围大了

热心网友 时间:2024-10-25 03:41

void T0_time()interrupt 1
改成void T0_time() interrupt 1
试一下

热心网友 时间:2024-10-25 03:40

注意相关设置,需要根据硬件进行适当的调整
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top