📄 0804.c
字号:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define p1 P1
#define ad_data P2
#define p0 P0
uchar key_return,key_return1,setdata;
uint volt_bottom,time_limit,current_top;
uchar code table[]={0xc0,0xf9, 0xa4, 0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};
void delay(uint z)
{
uint t1,y;
for(t1=z;t1>0;t1--)
for(y=110;y>0;y--);
}
void display(uint disp)
{
uchar weixuan=0xfe,disp0,disp1,disp2,disp3;
disp3=disp%10;
disp2=disp/10%10;
disp1=disp/100%10;
disp0=disp/1000;
p1=weixuan;
p0=table[disp0];
delay(1);
weixuan=_crol_(weixuan,1);
p1=weixuan;
p0=table[disp1];
delay(1);
weixuan=_crol_(weixuan,1);
p1=weixuan;
p0=table[disp2];
delay(1);
weixuan=_crol_(weixuan,1);
p1=weixuan;
p0=table[disp3];
delay(1);
}
uchar keyscan()
{
uchar temp;
//P1=P1&0x7f;
temp=P2;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
temp=P2;
temp=temp&0xf0;
switch(temp)
{
case 0xe0: key_return1++;
if(key_return1>3)
key_return1=0;//功能键
break;
case 0xd0: key_return=1;//增加键
break;
case 0xb0: key_return=2;//减少键
break;
case 0x70: key_return=3;//确认键
break;
}
}
while(temp!=0xf0)
{
temp=P2;
temp=temp&0xf0;
}
}
return key_return,key_return1;
}
uchar setnum() //设置参数返回值
{
// uchar voltemp;
keyscan();
if(key_return==1)
{
setdata++;
}
else
{
if(key_return==2)
setdata--;
}
return setdata;
}
void setvolt()
{
setnum();
volt_bottom=setdata;
setdata=0;
}
void setcurrent()
{
setnum();
current_top=setdata;
setdata=0;
}
void settime()
{
setnum();
time_limit=setdata;
setdata=0;
}
void setpara() //参数设置函数
{
keyscan();
if(key_return1==1)
{
setvolt();
}
else
{
if(key_return1==2)
{
setcurrent();
}
else
{
if(key_return1==3)
{
settime();
}
}
}
goto main;
}
void main()
{
while(1)
{
keyscan();
display(key_return1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -