📄 function_sel.c
字号:
#include "function.h"
#include "intrins.h"
unsigned char enter_flag=1 ; m=0;
unsigned char n=0;
unsigned char c, key=0;
unsigned char mima[6];
unsigned char code cmp[]={1,2,3,4,5,6};
unsigned char code rst[]={0xe4,0xc0,0xe0,0xc0,0xe0,0x32}; // 复位代码
//(*((void (*)())(rst)))(); // 执行上一行代码,将rst数组当函数调用
sbit LED = P2^0;
void Delay ()
{
unsigned char j=0 ;
unsigned char y=0;
for(y=0;y<255;y++)
for(j=0;j<255;j++); //延时两秒
for(y=0;y<255;y++)
for(j=0;j<255;j++);
for(y=0;y<255;y++)
for(j=0;j<255;j++); //延时两秒
for(y=0;y<255;y++)
for(j=0;j<255;j++);
}
void Function_Sel ()
{
key=ACC ;
// P3=ACC;
switch(key) //遥控板的键植.
{
case 0xF2 : //1健。
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=1;
n++;
}
if ( enter_flag == 2)
P2=0xfe ;
break;
case 0xE6 : // 2健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=2;
n++;
}
if ( enter_flag == 2)
P2=0xfd ;
break;
case 0xE4 : //3健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=3;
n++;
}
if ( enter_flag == 2)
P2=0xfb ;
break;
case 0xFE : //4健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=4;
n++;
}
if ( enter_flag == 2)
P2=0xf7 ;
break;
case 0xEE : //5健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=5;
n++;
}
if ( enter_flag == 2)
P2=0xef ;
break;
case 0xEA : //6健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=6;
n++;
}
if ( enter_flag == 2)
P2=0xdf ;
break;
case 0xE8 : //7健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=7;
n++;
}
if ( enter_flag == 2)
P2=0xbf ;
break;
case 0xF9 : //8健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=8;
n++;
}
if ( enter_flag == 2)
P2=0x7f ;
break;
case 0xED : //9健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=9;
n++;
}
break;
case 0xE9 : //0健
if ( enter_flag==1)
{
WriteLCD_Data(0x2A);
mima[n]=0;
n++;
}
break;
case 0xFA : //确认健
enter_flag++ ;
n=0;
for (c=0;c<=5;c++ )
{
if (mima[c]==cmp[c] )
{
n++;
}
}
if(n==6)
{
WriteLCD_Command(0x01); //清屏
WriteLCD(0x90,0,"系统启动........");
Delay();
Delay();
WriteLCD_Command(0x01); //清屏
WriteLCD(0x91,0 ,"开关打开了!!");
LED=0 ;
Delay();
}
else
{
WriteLCD_Command(0x01); //清屏
WriteLCD(0x8A,0,"密码错误");
Delay();
WriteLCD_Command(0x01); //清屏
WriteLCD(0x81,0,"重新输入密码");
WriteLCD_Command(0x8A);
enter_flag = 1 ;
n=0;
c=0;
}
break;
case 0xF3 : //后退健
(*((void (*)())(rst)))();
break;
case 0xF1 : //上健
break;
case 0xE5 : //下健
break;
case 0xF5 : //左健
break;
case 0xE1 : //右健
break;
case 0xE3 : //菜单健
break;
case 0xF6 : //开关机健。
break;
default :
break;
// WriteLCD_Command(0x98) ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -