📄 rx.c
字号:
// Header: IR_Control
// File Name: rx.c
// Author:Denggengxin
// Date: 2004-12-03
#include <reg52.h> //采用12MHz晶振
#include <intrins.h>
#include <absacc.h>
#include "disp.c"
#define uchar unsigned char
#define uint unsigned int
#define SIZE_OF_MENU 30
void delay500us(uchar time);
void Disp_Time(void) ; //显示 时间
void Get_Key_Time(void); //读按键
void Disp_Time_Set(void);
void Disp_Time_Add(void);
void Disp_Time_Dec(void);
void Disp_Time_Right(void);
void Disp_Time_Left(void);
void Disp_Time_Set_Menu(void);
void Disp_Timer_Set_Menu(void);
void Fixture_State(void);
void Fixture_State_1(void);
void Fixture_State_2(void);
void Fixture_State_3(void);
void Fixture_State_4(void);
void Fixture_State_5(void);
void Fixture_State_6(void);
void Fixture_State_7(void);
void Fixture_State_8(void);
void Fixture_State_9(void);
void Fixture_State_10(void);
void Fixture_State_11(void);
void Fixture_State_12(void);
void Fixture_State_13(void);
void Fixture_State_14(void);
void Fixture_State_15(void);
void Fixture_State_16(void);
void Fixture_State_17(void);
void Fixture_State_18(void);
void Fixture_State_19(void);
void Fixture_State_20(void);
void Fixture_State_21(void);
void Fixture_State_22(void);
void Fixture_State_23(void);
void Fixture_State_24(void);
void State_Now_1(void);
void State_Now_2(void);
void State_Now_3(void);
void State_Now_4(void);
void State_Now_5(void);
void State_Now_6(void);
void State_Now_7(void);
void State_Now_8(void);
void State_Now_9(void);
void State_Now_10(void);
void State_Now_11(void);
void State_Now_12(void);
void State_Now_13(void);
void State_Now_14(void);
void State_Now_15(void);
void State_Now_16(void);
void State_Now_17(void);
void State_Now_18(void);
void State_Now_19(void);
void State_Now_20(void);
void State_Now_21(void);
void State_Now_22(void);
void State_Now_23(void);
void State_Now_24(void);
void Fre_Men(void);
void Fixture_State_On(void);
void Fixture_State_Off(void);
void See_Fixture_State(void);
void Fixture_On_Dec(void);
void Fixture_On_Add(void);
void Fixture_On_Right(void);
void Fixture_On_Left(void);
void Fixture_On_Menu(void);
void Find_Fixture_Time(void);
void Oper_Fixture(void);
void Oper_Fixture_Off(void);
void Oper_Fixture_On(void);
void Oper_Fixture_Menu_On(void);
void Oper_Fixture_Menu_Off(void);
void Disp_Now_State(void);
void Turn_on_Fixture(void);
void _Fixture_Off(void);
void All_Fixture_Off(void);
void demand_One_Fixture(void) ;
void demand_Fixture(void);
void Alread_On_Fixture(void);
void Rcognise_Key(void);
void Fre_Add(void);
void Fre_Dec(void);
void azz(void);
sbit count_pin=P3^3; //遥控接收口
sbit State_1=P0^0; //设备号
sbit State_2=P0^1;
sbit State_3=P0^2;
sbit State_4=P0^3;
sbit State_5=P0^4;
sbit State_6=P0^5;
sbit State_7=P0^6;
sbit State_8=P0^7;
sbit State_9=P1^0;
sbit State_10=P1^1;
sbit State_11=P1^2;
sbit State_12=P1^3;
sbit State_13=P1^4;
sbit State_14=P1^5;
sbit State_15=P1^6;
sbit State_16=P1^7;
sbit State_17=P2^0;
sbit State_18=P2^1;
sbit State_19=P2^2;
sbit State_20=P2^3;
sbit State_21=P2^4;
sbit State_22=P2^5;
sbit State_23=P2^6;
sbit State_24=P2^7;
sbit Set_Pin=P3^2; //按键SET脚
sbit Add_Pin=P3^4; //按键加
sbit Dec_Pin=P3^5; //减
sbit Cursor_right=P3^6; //右
sbit Cursor_left=P3^7; //左
void (*Key_Func_Ptr)();
typedef struct{
uchar month;
uchar Day_data;
uchar week;
}Year;
typedef struct
{uchar High_Byte;
uchar Low_Byte;
}Chinese_Char;
typedef struct{
uchar KeyStateIndex;
uchar Key_Time_Set;
uchar Key_Time_Add;
uchar Key_Time_Dec;
uchar Time_Cursor_Right;
uchar Time_Cursor_Left;
void (*Operate)();
}Key_Struct;
Key_Struct code Time_Set_Menu[]=
{
{0,0,3,0,1,65,(*Disp_Time_Set_Menu)}, //时间设置
{1,0,16,1,2,0,(*Disp_Timer_Set_Menu)}, //设备开关时间设置
{2,0,90,2,65,1,(*Fixture_State)}, //设备状态
{3,0,4,5,6,7,(*Disp_Time_Set)}, //时间设置的展开
{4,0,4,5,6,7,(*Disp_Time_Add)},
{5,0,4,5,6,7,(*Disp_Time_Dec)},
{6,0,4,5,6,7,(*Disp_Time_Right)},
{7,0,4,5,6,7,(*Disp_Time_Left)},
{8,0,24,8,9,11,(*Fixture_State_1)}, //设备状态的展
{9,0,25,9,10,8,(*Fixture_State_2)},
{10,0,26,10,11,9,(*Fixture_State_3)},
{11,0,27,11,12,10,(*Fixture_State_4)},
{12,0,28,12,13,43,(*Fixture_State_5)},
{13,0,29,13,14,12,(*Fixture_State_6)},
{14,0,30,14,15,13,(*Fixture_State_7)},
{15,0,31,15,43,47,(*Fixture_State_8)},
{16,0,32,16,17,19,(*Fixture_State_1)}, //设备开关时间的第一层展开
{17,0,32,17,18,16,(*Fixture_State_2)},
{18,0,32,18,19,17,(*Fixture_State_3)},
{19,0,32,19,20,10,(*Fixture_State_4)},
{20,0,32,20,21,16,(*Fixture_State_5)},
{21,0,32,21,22,20,(*Fixture_State_6)},
{22,0,32,22,23,21,(*Fixture_State_7)},
{23,0,32,23,35,22,(*Fixture_State_8)},
{24,8,24,24,24,24,(*State_Now_1)}, //设备状态的第二层展开
{25,8,25,25,25,25,(*State_Now_2)},
{26,8,26,26,26,26,(*State_Now_3)},
{27,8,27,27,27,27,(*State_Now_4)},
{28,12,28,28,28,28,(*State_Now_5)},
{29,12,29,29,29,29,(*State_Now_6)},
{30,12,30,30,30,30,(*State_Now_7)},
{31,12,31,31,31,31,(*State_Now_8)},
{32,16,59,32,33,34,(*Fixture_State_On)}, //设备开关时间的第三层展开
{33,16,59,33,34,32,(*Fixture_State_Off)},
{34,16,64,34,32,33,(*See_Fixture_State)},
{35,0,32,35,36,38,(*Fixture_State_9)}, //设备开关时间的第一层展开
{36,0,32,36,37,35,(*Fixture_State_10)},
{37,0,32,37,38,36,(*Fixture_State_11)},
{38,0,32,38,39,37,(*Fixture_State_12)},
{39,0,32,39,40,35,(*Fixture_State_13)},
{40,0,32,40,41,39,(*Fixture_State_14)},
{41,0,32,41,42,40,(*Fixture_State_15)},
{42,0,32,42,92,41,(*Fixture_State_16)},
{43,0,51,43,44,12,(*Fixture_State_9)}, //设备状态的展开
{44,0,52,44,45,43,(*Fixture_State_10)},
{45,0,53,45,46,44,(*Fixture_State_11)},
{46,0,54,46,47,45,(*Fixture_State_12)},
{47,0,55,47,48,100,(*Fixture_State_13)},
{48,0,56,48,49,47,(*Fixture_State_14)},
{49,0,57,49,50,48,(*Fixture_State_15)},
{50,0,58,50,100,49,(*Fixture_State_16)},
{51,43,51,51,51,51,(*State_Now_9)}, //设备状态的第三层展开
{52,43,52,52,52,52,(*State_Now_10)},
{53,43,53,53,53,53,(*State_Now_11)},
{54,43,54,54,54,54,(*State_Now_12)},
{55,47,55,55,55,55,(*State_Now_13)},
{56,47,56,56,56,56,(*State_Now_14)},
{57,47,57,57,57,57,(*State_Now_15)},
{58,47,58,58,58,58,(*State_Now_16)},
{59,32,60,61,62,63,(*Fixture_On_Menu)}, //设备开关时间的第四层展开
{60,32,60,61,62,63,(*Fixture_On_Add)},
{61,32,60,61,62,63,(*Fixture_On_Dec)},
{62,32,60,61,62,63,(*Fixture_On_Right)},
{63,32,60,61,62,63,(*Fixture_On_Left)},
{64,32,64,64,64,64,(*Find_Fixture_Time)},
{65,0,86,65,0,2,(*Oper_Fixture)}, //打开关闭某设备
{66,0,82,66,67,70,(*Fixture_State_1)}, //打开关闭某设备的第三层展开
{67,0,82,17,68,66,(*Fixture_State_2)},
{68,0,82,18,69,67,(*Fixture_State_3)},
{69,0,82,19,70,68,(*Fixture_State_4)},
{70,0,82,20,71,74,(*Fixture_State_5)},
{71,0,82,21,72,70,(*Fixture_State_6)},
{72,0,82,22,73,71,(*Fixture_State_7)},
{73,0,82,23,74,72,(*Fixture_State_8)},
{74,0,82,43,75,78,(*Fixture_State_9)},
{75,0,82,44,76,74,(*Fixture_State_10)},
{76,0,82,45,77,75,(*Fixture_State_11)},
{77,0,82,46,78,76,(*Fixture_State_12)},
{78,0,82,47,79,116,(*Fixture_State_13)},
{79,0,82,48,80,78,(*Fixture_State_14)},
{80,0,82,49,81,79,(*Fixture_State_15)},
{81,0,82,50,116,80,(*Fixture_State_16)},
{82,66,85,82,83,82,(*Oper_Fixture_Menu_On)}, //打开关闭某设备的第四层展开
{83,66,84,83,82,83,(*Oper_Fixture_Menu_Off)},
{84,82,84,84,84,84,(*Oper_Fixture_Off)}, //打开关闭某设备的第五层展开
{85,82,85,85,85,85,(*Oper_Fixture_On)},
{86,0,88,86,87,124,(*All_Fixture_Off)}, //打开关闭某设备的第二层展开
{87,0,66,87,124,86,(*Turn_on_Fixture)},
{88,86,88,88,88,88,(*_Fixture_Off)},
{89,0,8,89,90,89,(*demand_One_Fixture)}, //设备状态的第二层展开
{90,0,91,90,89,90,(*demand_Fixture)},
{91,90,91,91,91,91,(*Alread_On_Fixture)},
{92,0,32,92,93,13,(*Fixture_State_17)}, //设备开关时间的第一层展开
{93,0,32,93,94,92,(*Fixture_State_18)},
{94,0,32,94,95,93,(*Fixture_State_19)},
{95,0,32,95,96,94,(*Fixture_State_20)},
{96,0,32,96,97,92,(*Fixture_State_21)},
{97,0,32,97,98,96,(*Fixture_State_22)},
{98,0,32,98,99,97,(*Fixture_State_23)},
{99,0,32,99,16,98,(*Fixture_State_24)},
{100,0,108,100,101,104,(*Fixture_State_17)}, //设备状态的第一层展开
{101,0,109,101,102,100,(*Fixture_State_18)},
{102,0,110,102,103,101,(*Fixture_State_19)},
{103,0,111,103,104,102,(*Fixture_State_20)},
{104,0,112,104,105,100,(*Fixture_State_21)},
{105,0,113,105,106,104,(*Fixture_State_22)},
{106,0,114,106,107,105,(*Fixture_State_23)},
{107,0,115,107,8,106,(*Fixture_State_24)},
{108,100,108,108,108,108,(*State_Now_17)}, //设备状态的第三层展开
{109,100,109,109,109,109,(*State_Now_18)},
{110,100,110,110,110,110,(*State_Now_19)},
{111,100,111,111,111,111,(*State_Now_20)},
{112,104,112,112,112,112,(*State_Now_21)},
{113,104,113,113,113,113,(*State_Now_22)},
{114,104,114,114,114,114,(*State_Now_23)},
{115,104,115,115,115,115,(*State_Now_24)},
{116,0,82,116,117,120,(*Fixture_State_17)}, //打开关闭设的第三层展开
{117,0,82,117,118,116,(*Fixture_State_18)}, //*CHANGE FROM 119 TO 66
{118,0,82,118,119,117,(*Fixture_State_19)},
{119,0,82,119,120,118,(*Fixture_State_20)},
{120,0,82,120,121,116,(*Fixture_State_21)},
{121,0,82,121,122,120,(*Fixture_State_22)},
{122,0,82,122,123,121,(*Fixture_State_23)},
{123,0,82,123,66,122,(*Fixture_State_24)},
{124,0,125,124,86,87,(*Fre_Men)},
{125,124,150,125,126,129,(*Fixture_State_1)}, // 开关信号输出
{126,124,150,126,127,125,(*Fixture_State_2)},
{127,124,150,127,128,126,(*Fixture_State_3)},
{128,124,150,128,129,127,(*Fixture_State_4)},
{129,124,150,129,130,133,(*Fixture_State_5)},
{130,124,150,130,131,129,(*Fixture_State_6)},
{131,124,150,131,132,130,(*Fixture_State_7)},
{132,124,150,132,133,131,(*Fixture_State_8)},
{133,124,150,133,134,137,(*Fixture_State_9)},
{134,124,150,134,135,133,(*Fixture_State_10)},
{135,124,150,135,136,134,(*Fixture_State_11)},
{136,124,150,136,137,135,(*Fixture_State_12)},
{137,124,150,137,138,141,(*Fixture_State_13)},
{138,124,150,138,139,137,(*Fixture_State_14)},
{139,124,150,139,140,138,(*Fixture_State_15)},
{140,124,150,140,141,139,(*Fixture_State_16)},
{141,124,150,141,142,145,(*Fixture_State_17)},
{142,124,150,142,143,141,(*Fixture_State_18)},
{143,124,150,143,144,142,(*Fixture_State_19)},
{144,124,150,144,145,143,(*Fixture_State_20)},
{145,124,150,145,146,125,(*Fixture_State_21)},
{146,124,150,146,147,145,(*Fixture_State_22)},
{147,124,150,147,148,146,(*Fixture_State_23)},
{148,124,150,148,125,147,(*Fixture_State_24)},
{149,125,150,149,149,149,(*Fre_Dec)},
{150,125,150,149,150,150,(*Fre_Add)},
};
uchar code Data_1[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2d,0x2e,};//数字1-9
uchar code All_Code_Data[]={0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9}; //数字1-9
uchar code monthday[]={31,28,31,30,31,30,31,31,30,31,30,31};
code Chinese_Char Week_c[]={{0xc8,0xd5},{0xd2,0xbb},{0xb6,0xfe},{0xc8,0xfd},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -