利用C51单片机设计定时器

来源:百度知道 编辑:UC知道 时间:2024/05/20 14:37:06
利用C51单片机设计一个定时器,可以按键设定时间,倒计时,定时时间为 1--99秒,也可以用DIP开关设定时间。 最好有程序代码。

/*===99倒数秒表,带按键,主要功能,按键1按一次能使个位数加一,当按键二按
第一次,按键一能对十位进行调整,不用一个个建按到99,按键二按第二次会闪烁提示
倒数准备开始,然后按键二再按一次就能开启倒数*/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

uchar code table[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};

char num;
uchar flag,a,b;
sbit keytime=P3^2; //按键1,用于调数字
sbit keyselect=P3^3;//按键2,用于选择个位,十位,秒表倒数开启和停止

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

void Key_Control() //按键控制 分别对按键一 二进行控制
{

if(flag==0)
{
if(keytime==0)
{
delay(5);
if(keytime==0)
{
delay(5);
a=20000; //制造闪烁功能
b=0;
num++;
if(num==10) num=0;
while(keytime==0);
{
delay(5);
while(keytime==0);
}
}
}
}
if(flag==1)