📄 key.lst
字号:
C51 COMPILER V7.50 KEY 09/17/2007 09:47:23 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //=========================================================
2 //=========================================================
3 #define key_c
4 #include "io.h"
5 #include "main.h"
6 #include "interrupt.h"
7 #include "key.h"
8 #include "lme2200.h"
9 #include "ifr_ir.h"
10 #include "lcd.h"
11 #include "stc_eeprom.h"
12
13
14 extern void tx2262(unsigned char d0,d1,d2);
15 //****************************************************
16 //function:指示灯的闪烁
17 //input :无
18 //output :无
19 //modify :2007-8-24
20 //****************************************************
21 void led_ray1(uchar u)
22 {
23 1 uchar i;
24 1 for(i=0;i<u;i++)
25 1 {
26 2 Led_R=0;delay(20000);Led_R=1;delay(20000);
27 2 }
28 1 }
29
30 void led_ray11(uchar u)
31 {
32 1 uchar i;
33 1 for(i=0;i<u;i++)
34 1 {
35 2 Led_R=1;delay(20000);Led_R=0;delay(20000);
36 2 }
37 1 }
38
39 //****************************************************
40 //function:指示灯的闪烁
41 //input :无
42 //output :无
43 //modify :2007-8-24
44 //****************************************************
45 void led_ray2(uchar u)
46 {
47 1 uchar i;
48 1 for(i=0;i<u;i++)
49 1 {
50 2 Led_G=0;delay(20000);Led_G=1;delay(20000);
51 2 }
52 1 }
53
54 //****************************************************
55 //function:key init
C51 COMPILER V7.50 KEY 09/17/2007 09:47:23 PAGE 2
56 //input :无
57 //output :无
58 //modify :2007-8-24
59 //****************************************************
60 void key_init(void)
61 {
62 1 b_keyonoff = 0;
63 1 b_keypush = 0;
64 1 b_password = 0;
65 1 b_pwerror = 0;
66 1 b_pwerror1 = 0;
67 1 cycle = 0;
68 1 cycle1 = 0;
69 1 b_study = 0;
70 1 b_err = 0;
71 1 keyvalue = 0;
72 1 keybuff = 0xff;
73 1 b_key_2second = 0;
74 1 b_key_2second1 = 0;
75 1 b_key_2second2 = 0;
76 1 b_key_5second = 0;
77 1 Key1_flag=Key2_flag=Key3_flag=0;
78 1 }
79
80 //****************************************************
81 //function:scan key
82 //input :无
83 //output :无
84 //modify :2007-8-24
85 //****************************************************
86 void scan_key(void)
87 {
88 1
89 1 uchar i=0;
90 1 if(b_keypush==0)
91 1 {
92 2 P1=0x1F;key9=0;
93 2 delay(10);
94 2 if(P1==0x1F)return;
95 2 delay(500);
96 2 P1=0x1F;
97 2 delay(2000);
98 2 if(P1==0x1F)return;
99 2 b_keyonoff=0;
100 2
101 2 for(i=0;i<4;i++)
102 2 {
103 3 if(i==0)
104 3 {
105 4 key6=1;key7=1;key8=1;key9=0;
106 4 if(!key1)
107 4 {keybuff=1;b_keypush=1;i=4;}
108 4 else if(!key2)
109 4 {keybuff=4;b_keypush=1;i=4;}
110 4 else if(!key3)
111 4 {keybuff=7;b_keypush=1;i=4;}
112 4 else if(!key4)
113 4 {keybuff=11;b_keypush=1;i=4;}
114 4 else if(!key5)
115 4 {keybuff=17;b_keypush=1;Key1_flag=1;second1=0;i=4;}
116 4 }
117 3 else if(i==1)
C51 COMPILER V7.50 KEY 09/17/2007 09:47:23 PAGE 3
118 3 {
119 4 key6=1;key7=1;key8=0;key9=1;
120 4 if(!key1)
121 4 {keybuff=2;b_keypush=1;i=4;}
122 4 else if(!key2)
123 4 {keybuff=5;b_keypush=1;i=4;}
124 4 else if(!key3)
125 4 {keybuff=8;b_keypush=1;i=4;}
126 4 else if(!key4)
127 4 {keybuff=0;b_keypush=1;i=4;}
128 4 else if(!key5)
129 4 {keybuff=18;b_keypush=1;Key2_flag=1;second1=0;i=4;}
130 4 }
131 3 else if(i==2)
132 3 {
133 4 key6=1;key7=0;key8=1;key9=1;
134 4 if(!key1)
135 4 {keybuff=3;b_keypush=1;i=4;}
136 4 else if(!key2)
137 4 {keybuff=6;b_keypush=1;i=4;}
138 4 else if(!key3)
139 4 {keybuff=9;b_keypush=1;i=4;}
140 4 else if(!key4)
141 4 {keybuff=12;b_keypush=1;i=4;}
142 4 else if(!key5)
143 4 {keybuff=19;b_keypush=1;Key3_flag=1;second1=0;i=4;}
144 4 }
145 3 else if(i==3)
146 3 {
147 4 key6=0;key7=1;key8=1;key9=1;
148 4 if(!key1)
149 4 {keybuff=13;b_keypush=1;i=4;}
150 4 else if(!key2)
151 4 {keybuff=14;b_keypush=1;i=4;}
152 4 else if(!key3)
153 4 {keybuff=15;b_keypush=1;i=4;}
154 4 else if(!key4)
155 4 {keybuff=16;b_keypush=1;i=4;}
156 4 }
157 3 }
158 2 }
159 1 else
160 1 {
161 2
162 2 if(key1&&key2&&key3&&key4&&key5)
163 2 {
164 3 b_keypush=0;b_keyonoff=1;
165 3 Key1_flag=Key2_flag=Key3_flag=0;
166 3 keyID=keybuff;
167 3 }
168 2 }
169 1 }
170
171 //***************************************************##########################################
172 //****************************************************
173 //function:
174 //input :无
175 //output :无
176 //modify :2007-9-11
177 //*****************************************************
178 bit Find_ifrcode(void)
179 {
C51 COMPILER V7.50 KEY 09/17/2007 09:47:23 PAGE 4
180 1 temp[4]=eeprom_read(0x8000);temp[5]=eeprom_read(0x8001);
181 1 if((temp[4]==ifr_buf[0])&&(temp[5]==ifr_buf[1]))
182 1 {
183 2 return 1;
184 2 }
185 1 else
186 1 {
187 2 return 0;
188 2 }
189 1
190 1 }
191
192 //****************************************************
193 //function:学习红外
194 //input :无
195 //output :无
196 //modify :2007-9-11
197 //*****************************************************
198
199 void study_code(void)
200 {
201 1 uchar b,a=0;
202 1 bit b_value=0;
203 1 if(!b_ifr)return;
204 1 b_ifr=0;
205 1 if(Find_ifrcode())
206 1 {
207 2 b=eeprom_read(0x8200);
208 2 led_ray11(1);
209 2 for(a=2;a<b;a++)
210 2 {
211 3 if(eeprom_read(0x8000+a)==ifr_buf[2])
212 3 {
213 4
214 4 b_value=1;
215 4 }
216 3 if(!b_value)
217 3 {
218 4 eeprom_eares(0x8200);
219 4 eeprom_write(0x8200,b+1);
220 4 eeprom_write(0x8000+b,ifr_buf[2]);
221 4 }
222 3 }
223 2 }
224 1 else
225 1 {
226 2 eeprom_eares(0x8000);
227 2 eeprom_write(0x8000,ifr_buf[0]);
228 2 eeprom_write(0x8001,ifr_buf[1]);
229 2 eeprom_write(0x8002,ifr_buf[2]);
230 2 eeprom_eares(0x8200);
231 2 eeprom_write(0x8200,3);
232 2 led_ray11(3);
233 2 }
234 1
235 1 }
236 //****************************************************
237 //function:keyexe
238 //input :无
239 //output :无
240 //modify :2007-9-11
241 //****************************************************
C51 COMPILER V7.50 KEY 09/17/2007 09:47:23 PAGE 5
242 void keyexe(void)
243 {
244 1 if(!b_password)return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -