📄 keyproc.c
字号:
#include <at89x51.h>
#include <string.h>
#include "lcd.h"
#include "keyproc.h"
#include "command.h"
unsigned char s[16];
unsigned char *submenu[]={"voice","channel","bright","contrast","red","green","blue"};
unsigned char position_num = 0;
unsigned char *first,*second;
extern bit onoffFlag;
extern bit receiveFlag;
extern bit osd,subosd;
extern unsigned char command,recommand;
extern unsigned char address;
extern unsigned char menusub;
extern void serial(void);
extern void num2string(unsigned char number);
void sendAddress_key(void)
{
// if(onoffFlag)
// {
position_num = 0;
lcd_cls();
lcd_string16(0,"wait...");
command = address;
SCON = 0x0e8;
serial();
// lcd_cls();
if(receiveFlag)
{
if(recommand == command)
{
onoffFlag = ~onoffFlag;
if(onoffFlag)
{
lcd_string16(0,"please insert CMD:");
return;
}
else
{
lcd_string16(0,"please insert ID");
return;
}
}
lcd_string16(0,"error");
return;
}
lcd_string16(0,"ID is not exist!");
// return;
// }
}
void power_key(void)
{
if(onoffFlag)
{
lcd_cls();
lcd_string16(0,"wait...");
command = power;
SCON = 0x0e0;
serial();
lcd_cls();
if(receiveFlag)
{
if(recommand == 0x81)
{
lcd_string16(0,"POWER ON");
return;
}
else if(recommand == 0x80)
{
lcd_string16(0,"POWER OFF");
return;
}
}
lcd_string16(0,"error");
}
}
void menu_key(void)
{
if(onoffFlag)
{
lcd_cls();
lcd_string16(0,"wait...");
command = menu;
SCON = 0x0e0;
serial();
lcd_cls();
if(receiveFlag)
{
if(recommand == 0x0c1)
{
lcd_string16(0,"OSD ON");
osd = 1;
subosd = 0;
return;
}
else if(recommand == 0x0c0)
{
lcd_string16(0,"OSD OFF");
osd = 0;
subosd = 0;
menusub = 0;
return;
}
}
lcd_string16(0,"error");
}
}
void up_key()
{
if(onoffFlag)
{
if(osd)
{
// lcd_cls();
// lcd_string16(0,"wait...");
command = up;
SCON = 0x0e0;
serial();
if(receiveFlag)
{
if(subosd ==0)
{
menusub++;
if(menusub > 7)menusub=0;
num2string(recommand);
strcat(s,submenu[menusub]);
lcd_cls();
lcd_string16(0,s);
return;
}
num2string(recommand);
lcd_string16(0,s);
}
}
}
}
void down_key()
{
if(onoffFlag)
{
if(osd)
{
command = down;
SCON = 0x0e0;
serial();
if(receiveFlag)
{
if(subosd ==0)
{
menusub--;
if(menusub < 0)menusub=7;
num2string(recommand);
strcat(s,submenu[menusub]);
lcd_cls();
lcd_string16(0,s);
return;
}
num2string(recommand);
lcd_string16(0,s);
}
}
}
}
void enter_key(void)
{
if(onoffFlag)
{
if(osd)
{
command = enter;
SCON = 0x0e0;
serial();
if(receiveFlag)
{
if(recommand == 0x0e1)subosd=1;
else if(recommand == 0x0e0)
{subosd = 0;}
}
}
}
}
void del_key(void)
{
if(~onoffFlag)
{
first = " "; //////???????????????????????????
second = " "; //////???????????????????????????
address = 0;
lcd_cls();
}
}
void number_key(unsigned char number,unsigned char *char_number)
{
if(~onoffFlag)
{
lcd_string16(13,first);
lcd_string16(14,second);
lcd_string16(15,char_number);
first = second;
second = char_number;
position_num++;
if(position_num>3)
{
position_num=0;
address = 0;
}
else
{
unsigned char size = 10;
// for(i = 0; i<(position_num-1) ; i ++)
// {
// size = size * 10;
// }
// size = size / 10;
address=address*size+number;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -