利用单片机设计实现一个60秒倒计时显示装置,并且计时到后发出报警声音。 100

利用单片机设计实现一个60秒倒计时显示装置,并且计时到后发出报警声音。任务指引:1、此倒计时装置只有60S,只需2位数码管,因此使用P1、P2口静态显示就行了。2、完成倒... 利用单片机设计实现一个60秒倒计时显示装置,并且计时到后发出报警声音。

任务指引:
1、此倒计时装置只有60S,只需2位数码管,因此使用P1、P2口静态显示就行了。

2、完成倒计时,首先是要解决1S定时的问题,每1S到后把计数器time减1。由于单片机还有计数处理、显示输出等任务,使用软件延时方式将会使计时不准确,所以要使用定时/计数器、中断地方式进行定时。

求这道题的C语言代码,有图
展开
 我来答
yc203sandal
2014-10-29 · 超过27用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:47.1万
展开全部
#include<reg52.h>
sbit bz=P3^1;
unsigned char a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};
unsigned char n,time=60;
main()
{
P1=a[0];
P2=a[6];
TMOD=0X01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
timer0() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
if(time!=0)
{
n++;
if(n==100)
{
n=0;
time--;
P1=a[time%10];
P2=a[time/10];
}
}
else bz=~bz;
}
liuzhou_huang
2014-10-29 · TA获得超过980个赞
知道小有建树答主
回答量:795
采纳率:93%
帮助的人:263万
展开全部
#include <reg51.H>
sbit BUZZER =P3^1;
unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00};
unsigned char second=60;
unsigned char keycnt;
unsigned int tcnt;
unsigned int flag;
void delay05s(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=200;j>0;j--)
for(k=248;k>0;k--);
}
void main(void)
{
unsigned char i,j;
TMOD=0x02;
ET0=1;
EA=1;
second=0;
P2=dispcode[second/10];
P1=dispcode[second%10];
while(1)
{
if(flag==1)
{
BUZZER=1;
delay05s();
BUZZER=0;
delay05s();
}
}
}
void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==4000)
{
tcnt=0;
second--;
if(second==0)
{
second=0;
flag=1;
TR0=0;
}
P2=dispcode[second/10];
P1=dispcode[second%10];
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2014-10-30 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
没有按键控制?

晶振选用多少?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式