您需要 登录 才可以下载或查看,没有账号?立即注册
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
初入联盟
2023-1-16
2022-10-22
2022-5-27
2022-5-15
中国红客联盟公众号
联系站长QQ:5520533
使用道具 举报
使用道具 举报
#include
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
sbit key1=P3^4;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x40};
uchar num=0,miao=0;
bit zantin=0;
void delayms(uint);
void keyscan();
void display();
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
keyscan();
display();
}
}
/***********按键扫描程序****************/
void keyscan()
{
static uint count1=0; //计数变量
static bit key_sign=0; //按键状态标志
if(key1==0) //检测输入如果为0
{
count1++; //计数延时消抖
if((count1>=50)&&(key_sign==0))//检测按键如果为0
{
key_sign=1; //按键状态标志置1,防止重复响应
if(miao==0)//开始倒计时
{
num=0;
miao=24;
zantin=1;
}
else zantin=~zantin; //暂停/继续
}
}
else
{
count1=0; //计数变量清0
key_sign=0; //按键状态标志清0
}
}
void display()
{
P0=0x00;
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
P0=table[miao/10];
dula=1;
dula=0;
delayms(1);
P0=0x00;
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
P0=table[miao%10];
dula=1;
dula=0;
delayms(1);
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void exter0() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
if(zantin==1)
{
num++;
if(num==20)
{
num=0;
if(miao>0)
miao--;
}
}
}
使用道具 举报