用at89c51单片机的定时器设计一个倒计时报警器,并用led数码管显示倒计时时间

如题所述

第1个回答  2018-12-12
本来就直接拍屏就不清晰,还不正面拍。追问

老哥看不清楚吗 要不我给你打出来?

追答

程序很简单,但没有硬件电路。
uchar second=30;//声明变量 秒计时
uchar num =0;//声明变量 计中断次数
主程序:
void main()
{
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;//定时50ms
ET0=1;EA=1;//开中断
TR0=1;//启动定时器,可以加按键检测后再启动
fmq=0;//关蜂鸣器
while(1)
{
display(second);//显示子程序
if(second==0) fmq=1;
}
}
中断程序:
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(num=20) {num=0;second--;}
}

追问

不懂啊 哥

有程序图吗

我发布了两个一样的问题 弄出来都给你采纳成吗

追答

C语言比较通俗易懂,学会C语言后就放弃了汇编语言
只要你知道51单片机的定时器,就 能看懂的,设定定时器工作方式,给定时器装初值
主程序不断地刷新数码管并等待中断,中断一次是50ms,20次是1秒,每过1秒然后秒变量减1
当秒变量回到0时,开蜂鸣器

追问

对不起 都不会 没听这课

这期末考试

本回答被网友采纳
第2个回答  2018-12-12
不知道
相似回答