📄 mykey.lst
字号:
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MYKEY
OBJECT MODULE PLACED IN mykey.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE mykey.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<aduc848.h>
2 #include<intrins.h>
3 #include<mykey.h>
4 #include<math.h>
5 #include<stdio.h>
6 #include<intrins.h>
7 #include <absacc.h>
8 #include <setjmp.h>
9 #include<string.h>
10
11 /******************************************/
12 //主程序
13 /******************************************/
14 void main()
15 {
16 1
17 1 FLASHADDR=0x00FF;
18 1 CPRST=NORM;
19 1 vp=0.2;
20 1 ip=1.0;
21 1 freq=50;
22 1 P2=0xf0;
23 1 _RD=1;
24 1 _WR=1;
25 1 RS=1;
26 1 CS=1 ;
27 1 LCD_BUS=0xFF;
28 1 LCD_Initial();
29 1 CmdWrite(0x12,0x91); //选择page1进行读写
30 1 CmdWrite(0x00,0xcd); //文本模式,开显示
31 1 FullScreenFill(0x00); //清屏
32 1 dis_Page2();
33 1 Timer2_Init(58000);
34 1 while(1)
35 1 {
36 2 check_key();
37 2 if (FLASHADDR!=0x00FF) //有闪烁
38 2 {
39 3 if (numm%2==0)
40 3 DATALCD[FLASHADDR]=FLASHDATA[FLASHTAB];
41 3 else
42 3 DATALCD[FLASHADDR]=' ';
43 3 WriteTextScreen(DATALCD);
44 3 }
45 2 }
46 1
47 1 }
48
49 void Timer2_Init(unsigned int count)
50 {
51 1
52 1 T2CON=0x00;
53 1 TL2=count;
54 1 TH2=(count>>8);
55 1 RCAP2H=(count>>8);
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 2
56 1 RCAP2L=count;
57 1 CNT2=0;
58 1 EA=1;
59 1 ET2=1;
60 1 TR2=1;
61 1 }
62
63 void Timer2_ISR(void) interrupt 5
64 {
65 1 TF2=0;
66 1 num++;
67 1 if(num%100==0)
68 1 { numm++;}
69 1 }
70
71 void check_key(void)
72 { P1=0x00;
73 1 //SETBIT(P1,keyenter);
74 1 // SETBIT(P1,keyesc);
75 1 // SETBIT(P1,keyadd);
76 1 // SETBIT(P1,keysub);
77 1
78 1
79 1 if(set==0){
80 2 while(!set);
81 2 ckey=0x80;
82 2 }
83 1 if(add==0){
84 2 while(!add);
85 2 ckey=0x40;
86 2 }
87 1 if(sub==0){
88 2 while(!sub);
89 2 ckey=0x20;
90 2 }
91 1 if(esc==0){
92 2 while(!esc);
93 2 ckey=0x10;
94 2 }
95 1
96 1 if(ckey!=0) //有键按下
97 1 {
98 2 if (keyenterflag==0)
99 2 {
100 3 msg_key();
101 3 keyenterflag=1;
102 3 }
103 2 else
104 2 keyenterflag=0;
105 2 }
106 1 }
107
108 void msg_key(void)
109 {
110 1 unsigned char i1;
111 1 i1=0;
112 1 IKEYSTUS=TBSTUS[i1];
113 1 while (IKEYSTUS!=CPRST)
114 1 {
115 2 i1+=4;
116 2 IKEYSTUS=TBSTUS[i1];
117 2 }
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 3
118 1 i1++;
119 1 IKEYSTUS=TBSTUS[i1];
120 1 while(IKEYSTUS!=0&&(IKEYSTUS!=ckey))
121 1 {
122 2 i1+=4;
123 2 IKEYSTUS=TBSTUS[i1];
124 2 }
125 1 CPRST=TBSTUS[i1+2];
126 1 CPRAMADDR=TBSTUS[i1+1];
127 1 switch(CPRAMADDR)
128 1 {
129 2 case SETNEXT:set_NEXT();break;
130 2 case SETADD1:set_ADD();break;
131 2 case SETSUB1:set_SUB();break;
132 2 case SETCLEAR:set_CLEAR();break;
133 2 }
134 1 ckey=0x00;
135 1 }
136
137 void set_NEXT(void)
138 {
139 1
140 1 if (FLASHADDR==0x00FF)
141 1 {
142 2 FLASHTAB=0;
143 2 FLASHADDR=FLASHPOS[FLASHTAB];
144 2
145 2 DATALCD[FLASHADDR]=FLASHDATA[FLASHTAB];
146 2 WriteTextScreen(DATALCD);
147 2 }
148 1 else
149 1 {
150 2 FLASHADDR=FLASHPOS[FLASHTAB];
151 2 DATALCD[FLASHADDR]=FLASHDATA[FLASHTAB];
152 2 WriteTextScreen(DATALCD);
153 2 FLASHTAB++;
154 2 if(FLASHDATA[FLASHTAB]=='.')
155 2 FLASHTAB++;
156 2 FLASHADDR=FLASHPOS[FLASHTAB];
157 2 DATALCD[FLASHADDR]=FLASHDATA[FLASHTAB];
158 2
159 2 if(FLASHTAB==7)
160 2 {
161 3 sscanf(FLASHDATA,"%3f",&vp);
162 3 sscanf(FLASHDATA+3,"%3f",&ip);
163 3 sscanf(FLASHDATA+6,"%2d",&freq);
164 3 dis_Page2();
165 3 }
166 2 }
167 1 }
168
169
170 void set_ADD(void)
171 {
172 1 switch(FLASHTAB)
173 1 {
174 2 case 0:
175 2 FLASHADDR=FLASHPOS[FLASHTAB];
176 2 if((FLASHDATA[FLASHTAB]>='0')&&(FLASHDATA[FLASHTAB]<'5'))
177 2 {
178 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]+1;
179 3 return;
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 4
180 3 }
181 2 else return;
182 2
183 2 case 2:
184 2 FLASHADDR=FLASHPOS[FLASHTAB];
185 2 if ((FLASHDATA[FLASHTAB]<'9')&&(FLASHDATA[FLASHTAB-2]<'5'))
186 2 {
187 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]+1;
188 3 return;
189 3 }
190 2 if ((FLASHDATA[FLASHTAB]=='9')&&(FLASHDATA[FLASHTAB-2]<'4'))
191 2 {
192 3 FLASHDATA[FLASHTAB-2]=FLASHDATA[FLASHTAB-2]+1;
193 3 DATALCD[FLASHPOS[FLASHTAB-2]]=FLASHDATA[FLASHTAB-2];
194 3 FLASHDATA[FLASHTAB]='0';
195 3 return;
196 3 }
197 2
198 2 if((FLASHDATA[FLASHTAB]=='9')&&(FLASHDATA[FLASHTAB-2]=='4'))
199 2 {
200 3 FLASHDATA[FLASHTAB-2]='5';
201 3 DATALCD[FLASHPOS[FLASHTAB-2]]=FLASHDATA[FLASHTAB-2];
202 3 FLASHDATA[FLASHTAB]='0';
203 3 return;
204 3 }
205 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-2]=='5'))
206 2 {
207 3 FLASHDATA[FLASHTAB-2]='0';
208 3 DATALCD[FLASHPOS[FLASHTAB-2]]=FLASHDATA[FLASHTAB-2];
209 3 FLASHDATA[FLASHTAB]='0';
210 3 return;
211 3 }
212 2 else return;
213 2
214 2 case 3:
215 2 FLASHADDR=FLASHPOS[FLASHTAB];
216 2 if((FLASHDATA[FLASHTAB]>='0')&&(FLASHDATA[FLASHTAB]<'5'))
217 2 {
218 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]+1;
219 3 return;
220 3 }
221 2 else return;
222 2
223 2 case 5:
224 2 FLASHADDR=FLASHPOS[FLASHTAB];
225 2 if ((FLASHDATA[FLASHTAB]<'9')&&(FLASHDATA[FLASHTAB-2]<'5'))
226 2 {
227 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]+1;
228 3 return;
229 3 }
230 2 if ((FLASHDATA[FLASHTAB]=='9')&&(FLASHDATA[FLASHTAB-2]<'4'))
231 2 {
232 3 FLASHDATA[FLASHTAB-2]=FLASHDATA[FLASHTAB-2]+1;
233 3 DATALCD[FLASHPOS[FLASHTAB-2]]=FLASHDATA[FLASHTAB-2];
234 3 FLASHDATA[FLASHTAB]='0';
235 3 return;
236 3 }
237 2
238 2 if((FLASHDATA[FLASHTAB]=='9')&&(FLASHDATA[FLASHTAB-2]=='4'))
239 2 {
240 3 FLASHDATA[FLASHTAB-2]='5';
241 3 DATALCD[FLASHPOS[FLASHTAB-2]]=FLASHDATA[FLASHTAB-2];
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 5
242 3 FLASHDATA[FLASHTAB]='0';
243 3 return;
244 3 }
245 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-2]=='5'))
246 2 {
247 3 FLASHDATA[FLASHTAB-2]='0';
248 3 DATALCD[FLASHPOS[FLASHTAB-2]]=FLASHDATA[FLASHTAB-2];
249 3 FLASHDATA[FLASHTAB]='0';
250 3 return;
251 3 }
252 2 else return;
253 2
254 2 case 6:
255 2 FLASHADDR=FLASHPOS[FLASHTAB];
256 2 if((FLASHDATA[FLASHTAB]>='4')&&(FLASHDATA[FLASHTAB]<'6'))
257 2 {
258 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]+1;
259 3 return;
260 3 }
261 2 else return;
262 2
263 2 case 7:
264 2 FLASHADDR=FLASHPOS[FLASHTAB];
265 2 if((FLASHDATA[FLASHTAB]<'9')&&(FLASHDATA[FLASHTAB-1]<'6')&&(FLASHDATA[FLASHTAB-1]>='4'))
266 2 {
267 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]+1;
268 3 return;
269 3 }
270 2 if((FLASHDATA[FLASHTAB]=='9')&&(FLASHDATA[FLASHTAB-1]<'6')&&(FLASHDATA[FLASHTAB-1]>='4'))
271 2 {
272 3 FLASHDATA[FLASHTAB-1]=FLASHDATA[FLASHTAB-1]+1;
273 3 DATALCD[FLASHPOS[FLASHTAB-1]]=FLASHDATA[FLASHTAB-1];
274 3
275 3 FLASHDATA[FLASHTAB]='0';;
276 3 return;
277 3 }
278 2 if((FLASHDATA[FLASHTAB]=='9')&&(FLASHDATA[FLASHTAB-1]=='5'))
279 2 {
280 3 FLASHDATA[FLASHTAB-1]='6';
281 3 DATALCD[FLASHPOS[FLASHTAB-1]]='6';
282 3 FLASHDATA[FLASHTAB]='0';
283 3 return;
284 3 }
285 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-1]=='6'))
286 2 {
287 3 FLASHDATA[FLASHTAB-1]='4';
288 3 DATALCD[FLASHPOS[FLASHTAB-1]]=FLASHDATA[FLASHTAB-1];
289 3 FLASHDATA[FLASHTAB]='0';
290 3 return;
291 3 }
292 2 else return;
293 2 }
294 1
295 1 }
296
297 void set_SUB(void)
298 {
299 1 switch(FLASHTAB)
300 1 {
301 2 case 0:
302 2 FLASHADDR=FLASHPOS[FLASHTAB];
303 2 if((FLASHDATA[FLASHTAB]<='5')&&(FLASHDATA[FLASHTAB]>'0'))
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 6
304 2 {
305 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
306 3 return;
307 3 }
308 2 else return;
309 2
310 2 case 2:
311 2 if((FLASHDATA[FLASHTAB-2]>='0')&&(FLASHDATA[FLASHTAB]<='9')&&(FLASHDATA[FLASHTAB]>'0'))
312 2 {
313 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
314 3 return;
315 3 }
316 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-2]>'0'))
317 2 {
318 3 FLASHDATA[FLASHTAB]='9';
319 3 FLASHDATA[FLASHTAB-2]=FLASHDATA[FLASHTAB-2]-1;
320 3 DATALCD[FLASHPOS[FLASHTAB-2]]= FLASHDATA[FLASHTAB-2];
321 3 return;
322 3 }
323 2 else return;
324 2
325 2 case 3:
326 2 FLASHADDR=FLASHPOS[FLASHTAB];
327 2 if((FLASHDATA[FLASHTAB]<='5')&&(FLASHDATA[FLASHTAB]>'0'))
328 2 {
329 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
330 3 return;
331 3 }
332 2 else return;
333 2
334 2 case 5:
335 2 if((FLASHDATA[FLASHTAB-2]>='0')&&(FLASHDATA[FLASHTAB]<='9')&&(FLASHDATA[FLASHTAB]>'0'))
336 2 {
337 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
338 3 return;
339 3 }
340 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-2]>'0'))
341 2 {
342 3 FLASHDATA[FLASHTAB]='9';
343 3 FLASHDATA[FLASHTAB-2]=FLASHDATA[FLASHTAB-2]-1;
344 3 DATALCD[FLASHPOS[FLASHTAB-2]]= FLASHDATA[FLASHTAB-2];
345 3 return;
346 3 }
347 2 else return;
348 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -