📄 key.c
字号:
#include"reg52.h"
#include"def.h"
#include"lcd.h"
#include"key.h"
#include"ls_164.h"
#include"adc_test.h"
sbit button_1 = P3^0; // 多芯电缆测试选择
sbit button_2 = P3^1; // 绝缘电阻测试
sbit button_3 = P3^2; // 重新测试和确定设置完成
sbit button_4 = P3^3; // 重新进行功能选择
uchar count = 2;
uchar date1 = 0;
uchar hang = 2;
uchar lie = 0;
uchar i;
uchar value;
uchar error[8];
void fun_sel(void) // 功能选择函数
{
while(1)
{
if(button_1 == 0)
{
delay(40);
if(button_1 == 0)
{
lcd_init();
cleartext();
putstr(1,2,"芯数:");
dis_num(1,5,2);
delay(100);
date1 = line_set(2);
line_test();
delay(100);
cleartext();
putstr(1,0,"一、多芯电缆测试");
putstr(2,0,"二、绝缘电阻测试");
}
}
if(button_2 == 0)
{
delay(40);
if(button_2 == 0)
{
res_test();
while(1)
{
if(button_3 == 0)
{
delay(40);
if(button_3 == 0)
{
res_test();
}
}
if(button_4 == 0)
{
delay(200);
if(button_4 == 0)
{
cleartext();
putstr(1,0,"一、多芯电缆测试");
putstr(2,0,"二、绝缘电阻测试");
break;
}
}
}
}
}
}
}
uchar line_set(uchar num1)
{
uchar number;
number = num1;
while(1)
{
if(button_1 == 0)
{
delay(40);
if(button_1 == 0)
{
num1++;
if(num1>8)
num1 = 8;
number = num1;
dis_num(1,5,num1);
}
}
if(button_2 == 0)
{
delay(40);
if(button_2 == 0)
{
num1--;
if(num1<2)
num1 = 2;
number = num1;
dis_num(1,5,num1);
}
}
if(button_3 == 0)
{
delay(40);
if(button_3 == 0)
return number;
// break;
}
}
}
void test_rep(void)
{
while(1)
{
if(button_3 == 0)
{
delay(40);
if(button_3 == 0)
{
cleartext();
putstr(1,2,"测试中....");
delay(100); //延时一段时间,从新开始测试
for(i=0;i<8;i++)
{
error[i] = 0;
}
test_164(error,date1);
cleartext();
putstr(1,0,"断开的电缆为:");
delay(10);
for(i=1;i<9;i++) //显示错误的线,没有的话显示成功
{
if(error[i-1] == 1)
{
dis_num(2,lie,i);
lie++;
}
}
if(lie == 0)
putstr(1,0,"经测试全部正常!");
lie = 0;
}
}
if(button_4 == 0)
{
delay(200);
if(button_4 == 0)
break;
}
}
}
void re_set(void)
{
while(1)
{
if(button_4 == 0)
{
delay(40);
if(button_4 == 0)
break;
}
}
}
void dis_num(uchar row,uchar col,uchar num)
{
uchar dat;
switch(num)
{
case 0:
dat = '0';
hanzi(row,col,&dat);
break;
case 1:
dat = '1';
hanzi(row,col,&dat);
break;
case 2:
dat = '2';
hanzi(row,col,&dat);
break;
case 3:
dat = '3';
hanzi(row,col,&dat);
break;
case 4:
dat = '4';
hanzi(row,col,&dat);
break;
case 5:
dat = '5';
hanzi(row,col,&dat);
break;
case 6:
dat = '6';
hanzi(row,col,&dat);
break;
case 7:
dat = '7';
hanzi(row,col,&dat);
break;
case 8:
dat = '8';
hanzi(row,col,&dat);
break;
case 9:
dat = '9';
hanzi(row,col,&dat);
break;
default:
break;
}
}
void line_test()
{
cleartext();
putstr(1,2,"测试中....");
init_164();
for(i=0;i<8;i++)
{
error[i] = 0;
}
test_164(error,date1);
cleartext();
putstr(1,0,"断开的电缆为:");
delay(10);
for(i=1;i<9;i++) //显示错误的线,没有的话显示成功
{
if(error[i-1] == 1)
{
dis_num(2,lie,i);
lie++;
}
}
if(lie == 0)
putstr(1,0,"经测试全部正常!");
lie = 0;
test_rep();
}
void res_test()
{
cleartext();
putstr(1,2,"测试中....");
delay(400);
value = ad_cover();
cleartext();
clearbmp();
put_5_7(1,4,value);
putstr(1,1,"阻值:");
delay(100);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -