高手帮忙51c单片机——想制作倒计时报警器,求个c程序

来源:百度知道 编辑:UC知道 时间:2024/09/25 13:20:53
本人想做个倒计时的报警器,是时钟改过来的,初值可调也行,设定也好,有些困难,望好心人帮忙给个c语言的程序,本人愚钝实在调试不好……惭愧……

刚写的程序,可以通过S0(功能键),S1(加键),S2(减键)设定初值,倒数为00-00-00时蜂鸣器响,通过八位LED显示;

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//八位位选码表
uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段选码表

sbit s0=P3^3; //设置功能键
sbit s1=P3^5; //设置‘加’键
sbit s2=P3^6; //设置‘减’键
sbit beep=P3^7; //设置蜂鸣器

void delay(uint z);
void display();
void init();
void keyscan();

uchar shi,fen,miao,nam;

void main()
{
init();
while(1)
{
display();
keyscan();
beep=1;
if (miao==0&&fen==0&&shi==0)//当倒数计时为00-00-00时蜂鸣器响
{
beep=0;
TR0=0;
}
}

}

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

void displa