📄 kg.c
字号:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar c=0;
uchar t1=1,t2=1;
uint d3=10;
uchar code display[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
sbit K1 = P2^4;
sbit K2 = P2^5;
sbit K3 = P2^6;
sbit K4 = P2^7;
sbit P20 = P2^0;
sbit P21 = P2^1;
sbit P22 = P2^2;
sbit P23 = P2^3;
sbit BEEP = P1^0;
sbit P27 = P1^1;
sbit P12 = P1^2;
sbit P13 = P1^3;
sbit P14 = P1^4;
sbit P15 = P1^5;
void delayms(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 110; i++);
}
}
void delaymms()
{
unsigned char i;
for(i = 0; i < 55; i++);
}
/*********************************************************
主函数
*********************************************************/
main()
{
uchar x=0,i=0,d=0,j=0;
BEEP=0;
P27=0;
TMOD=0x01;
TH0=0xa6;
TL0=0x00;
EA=1;
ET0=1;
while(1)
{
if(K1==0)
{
delayms(20);
if(K1==0)
{
d=0;
x++;
if(x>3) x=0;
delayms(200);
}
}
if(x==1)
{ P12=0;
P14=1;
if(K2==0)
{
delayms(20);
if(K2==0)
t1++;
delayms(100);
}
if(K3==0)
{
delayms(20);
if(K3==0)
t1--;
delayms(100);
}
P2=0xff ;
P23=1;
P0=display[1];
P20=0;
delayms(5);
P20=1;
P21=0;
P0=display[t1/100];
delayms(5);
P21=1;
P22=0;
P0=display[(t1%100)/10];
delayms(5);
P22=1;
P23=0;
P0=display[t1%10];
delayms(5);
}
if(x==2)
{ P12=1;
P13=0;
if(K2==0)
{
delayms(20);
if(K2==0)
t2++;
delayms(100);
}
if(K3==0)
{
delayms(20);
if(K3==0)
t2--;
delayms(100);
}
P2=0xff ;
P23=1;
P0=display[2];
P20=0;
delayms(5);
P20=1;
P21=0;
P0=display[t2/100];
delayms(5);
P21=1;
P22=0;
P0=display[(t2%100)/10];
delayms(5);
P22=1;
P23=0;
P0=display[t2%10];
delayms(5);
}
if(x==3)
{
P13=1;
P14=0;
if(K2==0)
{
delayms(20);
if(K2==0)
d3++;
if(d3>9999)
d3=1;
delayms(100);
}
if(K3==0)
{
delayms(20);
if(K3==0)
d3--;
if(d3<1)
d3=9999;
delayms(100);
}
P2=0xff ;
P23=1;
P0=display[d3/1000];
P20=0;
delayms(5);
P20=1;
P21=0;
P0=display[d3%1000/100];
delayms(5);
P21=1;
P22=0;
P0=display[(d3%100)/10];
delayms(5);
P22=1;
P23=0;
P0=display[d3%10];
delayms(5);
}
if(K4==0)
{
delayms(20);
if(K4==0);
TR0=1;
d=1;
}
if(d==1)
{
P2=0xff ;
P23=1;
P0=display[d3/1000];
P20=0;
delayms(5);
P20=1;
P21=0;
P0=display[d3%1000/100];
delayms(5);
P21=1;
P22=0;
P0=display[(d3%100)/10];
delayms(5);
P22=1;
P23=0;
P0=display[d3%10];
delayms(5);
}
if(d3==0)
{
for(j=100;j>0;j--)
{ for(i=200;i>0;i--)
{
BEEP=~BEEP; //输出频率1KHz
delaymms(); //延时500us
}
for(i=200;i>0;i--)
{
BEEP=~BEEP; //输出频率500Hz
delaymms(); //延时1ms
delaymms();
}
}
d3=9999;
}
}
}
void Time0(void) interrupt 1 using 0
{
TH0=0xa6; //25ms定时
TL0=0x00;
c++;
if(c/40==t1) P27=1;
if(c/40==(t1+t2))
{
c=0;
P27=0;
d3--;
}
if(d3==0)
TR0=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -