📄 yt_key.lst
字号:
###############################################################################
# #
# 04/Dec/2008 16:07:57 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = E:\ELE\yten\pro\app\yt_key.c #
# Command line = E:\ELE\yten\pro\app\yt_key.c -D EMB_FLASH -lcN #
# E:\ELE\yten\pro\Release\List\ -o #
# E:\ELE\yten\pro\Release\Obj\ --no_cse --no_unroll #
# --no_inline --no_code_motion --no_tbaa --no_clustering #
# --no_scheduling --debug --endian little --cpu Cortex-M3 #
# -e --fpu None --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\DLib_Config_Normal.h" -I #
# E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I #
# "C:\Program Files\IAR Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\" -On #
# List file = E:\ELE\yten\pro\Release\List\yt_key.lst #
# Object file = E:\ELE\yten\pro\Release\Obj\yt_key.o #
# #
# #
###############################################################################
E:\ELE\yten\pro\app\yt_key.c
1 #include"includes.h"
2 #include"ytep.h"
3 #include"ytepfunction.h"
4 #define yt_Key_file
5 #define C_keyID1 4
6 #define C_keyID2 2
7 #define C_keyID3 1
8 #define C_keyID4 8
9 #define C_keyID5 0x10
10 #define C_keyID6 0x11
11 const Int16U Year_TAB[]={0,0x31,0x28,0x31,0x30,0x31,0x30,0x31,0x31,0x30,0x31,0x30,0x31};
12 const Int16U BAUD_TAB1[]={19500-50,9600,4800-50};
13 //--------------------------------------
14 //keyword scan
15 //--------------------------------------
16 void Set_UART()
17 {
18
19 USART_InitTypeDef UART_InitStructure;
20 UART_InitStructure.USART_BaudRate = BAUD_TAB1[_YT._Rate&7];//[_YT._Rate];
21 UART_InitStructure.USART_WordLength = USART_WordLength_8b;
22 UART_InitStructure.USART_StopBits = USART_StopBits_1;
23 UART_InitStructure.USART_Parity = USART_Parity_No ;
24 UART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
25 UART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
26 UART_InitStructure.USART_Clock = USART_Clock_Disable;
27 UART_InitStructure.USART_CPOL = USART_CPOL_Low;
28 UART_InitStructure.USART_CPHA = USART_CPHA_1Edge;
29 UART_InitStructure.USART_LastBit = USART_LastBit_Disable;
30
31 UART_InitStructure.USART_Parity = USART_Parity_No;
32 USART_DeInit(USART1);
33 }
34 Int8U scankey(KEY *KEYA)
35 {
36 Int8U i,k;
37 k=0;
38 i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4);
39 if(i!=0)k|=1;
40 i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5);
41 if(i!=0)k|=2;
42 i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6);
43 if(i!=0)k|=4;
44 i=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7);
45 if(i!=0)k|=8;
46 i=GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4);
47 if(i!=0)k|=0x10;
48
49 if(k==0x1F)
50 {
51 KEYA->counter=0;
52 KEYA->execute=0;
53 return 0;
54 }
55 if(k!=0x1F)
56 {
57 if(((++KEYA->counter)>=10)&&(KEYA->execute==0))
58 {
59 KEYA->execute=1;
60 KEYA->ID=k^0x1F;
61 }else
62 if((KEYA->counter>=10)&&(KEYA->execute!=0)&&(k==0xe))
63 {
64 History[0].SpaceCount=100;
65 Set_HISTORY(&History[0].ATemper[0]);
66 Set_HISTORY(&History[0].BTemper[0]);
67 Set_HISTORY(&History[0].CTemper[0]);
68 }
69 }
70 return 0;
71 }
72 //***********************************************
73 Int8U key_setion(KEY *KEYA,_LCD *LCM)
74 {
75 switch (LCM->Mode)
76 {
77 case C_LCM_ALA_REG0:
78 case C_LCM_ALA_REG1:
79 case C_LCM_ALA_REG2:
80 case C_LCM_ALA_REG3:
81 case C_LCM_ALA_REG4:
82 case C_LCM_ALA_REG5:
83 case C_LCM_ALA_REG6:
84 case C_LCM_ALAMC:
85 case C_LCM_TEMRH:
86 case C_LCM_Mode0:
87 case C_LCM_Mode1:
88 case C_LCM_Mode2:
89 case C_LCM_Mode3:
90 case C_LCM_Mode4:
91 case C_LCM_Mode5:
92 case C_LCM_Mode6:
93 case C_LCM_Mode7:
94 case C_LCM_Mode8:
95 case C_LCM_Mode9:
96 case C_LCM_Mode10:
97 case C_LCM_Mode11:
98 case C_LCM_Mode12:
99 case C_LCM_Mode13:
100 case C_LCM_Mode14:
101 case C_LCM_Mode15:
102
103 if(KEYA->counter>=200)
104 {
105 LCM->Mode=C_LCM_SET;
106 LCM->Timer=0;
107 LCM->FLAG=1;
108 return 0;
109 }else
110 break;
111 case C_LCM_SET:
112 case C_LCM_SET1:
113 case C_LCM_SET2:
114 case C_LCM_SET3:
115 case C_LCM_SET4:
116 case C_LCM_SET5:
117 case C_LCM_SET6:
118 case C_LCM_SET7:
119 if(KEYA->counter==10)
120 {
121 ++LCM->Mode;
122 LCM->Timer=0;
123 LCM->FLAG=1;
124 LCM->Lcd_add=0;
125 if(LCM->Mode>C_LCM_SET7)LCM->Mode=C_LCM_SET;
126 }
127 if(KEYA->counter>=200)
128 {
129 LCM->Mode=C_LCM_TEMRH;
130 LCM->Timer=0;
131 LCM->FLAG=1;
132 return C_FM24C04;
133 }
134
135 break;
136 }
137 return KEYA->ID;
138 }
139 //***********************************************
140 Int16U key_up(KEY *KEYA,_LCD *LCM,_yt *Data)
141 {
142 Int16U a,b;
143 switch(LCM->Mode)
144 {
145 case C_LCM_ALA_REG0:
146 case C_LCM_ALA_REG1:
147 case C_LCM_ALA_REG2:
148 case C_LCM_ALA_REG3:
149 case C_LCM_ALA_REG4:
150 case C_LCM_ALA_REG5:
151 case C_LCM_ALA_REG6:
152 LCM->FLAG=1;
153 LCM->Mode=C_LCM_Mode0;
154 break;
155 case C_LCM_ALAMC:
156 case C_LCM_TEMRH:
157 case C_LCM_Mode0:
158 case C_LCM_Mode1:
159 case C_LCM_Mode2:
160 case C_LCM_Mode3:
161 case C_LCM_Mode4:
162 case C_LCM_Mode5:
163 case C_LCM_Mode6:
164
165 case C_LCM_Mode7:
166 case C_LCM_Mode8:
167 case C_LCM_Mode9:
168 case C_LCM_Mode10:
169 case C_LCM_Mode11:
170 case C_LCM_Mode12:
171 case C_LCM_Mode13:
172 case C_LCM_Mode14:
173 case C_LCM_Mode15:
174
175 if((++LCM->Mode)>=C_LCM_SET)
176 LCM->Mode=C_LCM_ALAMC;
177 LCM->Timer=0;
178 LCM->FLAG=1;
179 //CHK_DISP_MODE(Data->_Channal,&LCM->Mode);
180
181
182
183 if(LCM->Mode==C_LCM_Mode0)
184 {
185 if((Data->_Channal&0X70)==0x70)LCM->Mode=C_LCM_Mode1;//if(Data->_Channal&1)LCM->Mode=C_LCM_Mode1;
186 }
187 if(LCM->Mode==C_LCM_Mode1)
188 {
189 if((Data->_Channal&0X380)==0x380)LCM->Mode=C_LCM_Mode2;//if(Data->_Channal&2)LCM->Mode=C_LCM_Mode2;
190 }
191 if(LCM->Mode==C_LCM_Mode2)
192 {
193 if((Data->_Channal&0X1c00)==0x1c00)LCM->Mode=C_LCM_Mode3;//if(Data->_Channal&4)LCM->Mode=C_LCM_Mode3;
194 }
195 if(LCM->Mode==C_LCM_Mode3)
196 {
197 if((Data->_Channal&0Xe000)==0xe000)LCM->Mode=C_LCM_Mode4;//if(Data->_Channal&8)LCM->Mode=C_LCM_Mode4;
198 }
199
200 if(LCM->Mode==C_LCM_Mode4&&Data->_Channal&0x10)LCM->Mode=C_LCM_Mode5;
201 if(LCM->Mode==C_LCM_Mode5&&Data->_Channal&0x20)LCM->Mode=C_LCM_Mode6;
202 if(LCM->Mode==C_LCM_Mode6&&Data->_Channal&0x40)LCM->Mode=C_LCM_Mode7;
203 if(LCM->Mode==C_LCM_Mode7&&Data->_Channal&0x80)LCM->Mode=C_LCM_Mode8;
204 if(LCM->Mode==C_LCM_Mode8&&Data->_Channal&0x100)LCM->Mode=C_LCM_Mode9;
205 if(LCM->Mode==C_LCM_Mode9&&Data->_Channal&0x200)LCM->Mode=C_LCM_Mode10;
206 if(LCM->Mode==C_LCM_Mode10&&Data->_Channal&0x400)LCM->Mode=C_LCM_Mode11;
207 if(LCM->Mode==C_LCM_Mode11&&Data->_Channal&0x800)LCM->Mode=C_LCM_Mode12;
208 if(LCM->Mode==C_LCM_Mode12&&Data->_Channal&0x1000)LCM->Mode=C_LCM_Mode13;
209 if(LCM->Mode==C_LCM_Mode13&&Data->_Channal&0x2000)LCM->Mode=C_LCM_Mode14;
210 if(LCM->Mode==C_LCM_Mode14&&Data->_Channal&0x4000)LCM->Mode=C_LCM_Mode15;
211 if(LCM->Mode==C_LCM_Mode15&&Data->_Channal&0x8000)LCM->Mode=C_LCM_ALAMC;
212
213 #if 0
214 if(LCM->Mode==C_LCM_Mode6||LCM->Mode==C_LCM_Mode5||LCM->Mode==C_LCM_Mode4)
215 {
216 if((Data->_Channal&0X70)==0x70)LCM->Mode=C_LCM_Mode7;//if(Data->_Channal&1)LCM->Mode=C_LCM_Mode7;
217 }
218 if(LCM->Mode==C_LCM_Mode9||LCM->Mode==C_LCM_Mode8||LCM->Mode==C_LCM_Mode7)
219 {
220 if((Data->_Channal&0X380)==0x380)LCM->Mode=C_LCM_Mode10;//if(Data->_Channal&2)LCM->Mode=C_LCM_Mode10;
221 }
222 if(LCM->Mode==C_LCM_Mode12||LCM->Mode==C_LCM_Mode11||LCM->Mode==C_LCM_Mode10)
223 {
224 if((Data->_Channal&0X1c00)==0x1c00)LCM->Mode=C_LCM_Mode13;//if(Data->_Channal&4)LCM->Mode=C_LCM_Mode13;
225 }
226 if(LCM->Mode==C_LCM_Mode15||LCM->Mode==C_LCM_Mode14||LCM->Mode==C_LCM_Mode13)
227 {
228 if((Data->_Channal&0Xe000)==0xe000)LCM->Mode=C_LCM_ALAMC;//if(Data->_Channal&8)LCM->Mode=C_LCM_ALAMC;
229 }
230 #endif
231 break;
232 case C_LCM_SET:
233 if(++(Data->Sensor[LCM->Lcd_add].Type)>=22)Data->Sensor[LCM->Lcd_add].Type=0;
234 break;
235 case C_LCM_SET1:
236 if(LCM->Lcd_add==0)
237 {
238 ++Data->_TemOver;
239 if((Data->_TemOver>=Data->_TemFault)||(Data->_TemOver>69))Data->_TemOver=10;
240 }
241 if(LCM->Lcd_add==1)
242 {
243 ++Data->_TemFast;
244 if(Data->_TemFast>20)Data->_TemFast=2;
245 }
246 if(LCM->Lcd_add==2)
247 {
248 ++Data->_TemTime;
249 if(Data->_TemTime>99)Data->_TemTime=5;
250 }
251 if(LCM->Lcd_add==3)
252 {
253 ++Data->_TemRoom;
254 if(Data->_TemRoom>50)Data->_TemRoom=1;
255 }
256 break;
257 case C_LCM_SET2:
258 if(++Data->_TemFault>99)Data->_TemFault=Data->_TemOver+5;
259 break;
260 case C_LCM_SET3:
261 if(LCM->Lcd_add==0)
262 {
263 if(++Data->_Yorder>=18)Data->_Yorder=0;
264 }
265 else
266 {
267 Data->_Channal^=0x1;
268 }
269
270 break;
271 case C_LCM_SET4:
272 if(LCM->Lcd_add==0)
273 Data->_Rate^=8;
274 if(LCM->Lcd_add==1)
275 {
276 a=Data->_Rate&7;
277 if(++a>=3)a=0;
278 Data->_Rate&=0xfff8;
279 Data->_Rate|=a;
280 Uart1Init();
281 Init2515(Data->_Rate&3);
282 }
283 if(LCM->Lcd_add==2)
284 {
285 ++Data->_Address;
286 if(Data->_Address>=255)Data->_Address=1;
287 }
288 break;
289 case C_LCM_SET5:
290 if(LCM->Lcd_add==0)
291 {
292 if(Year[6]>0x99)Year[6]=0x99;
293 ++Year[6];
294 a=Year[6];
295 if((a&0x0f)>=10)Year[6]+=0x10,Year[6]&=0xf0;
296 if(Year[6]>0x99)Year[6]=0x0;
297 b=Year[5]>>4;
298 b=b*10+Year[5]&0x0f;
299 if(Year[4]>Year_TAB[b])
300 Year[4]=1;
301 }
302 if(LCM->Lcd_add==1)
303 {
304 if(Year[5]>0x12)Year[6]=0x12;
305 ++Year[5];
306 a=Year[5];
307 if((a&0x0f)>=10)Year[5]+=0x10,Year[5]&=0xf0;
308 if(Year[5]>0x12)Year[5]=0x1;
309 b=Year[5]>>4;
310 b=b*10+Year[5]&0x0f;
311 b=Year_TAB[b];
312 if(Year[4]>=b)
313 Year[4]=b;
314
315 if(Year[5]==2&&Year[4]>=0x28)
316 {
317 a=Year[5]>>4;
318 a=a*10+Year[5]&0x0f;
319 if((a&0x3)==0)
320 {
321 if(Year[4]>0x29)Year[4]=0x29;
322 }else
323 {
324 if(Year[4]>0x28)Year[4]=0x28;
325 }
326 }
327 }
328 if(LCM->Lcd_add==2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -