📄 keyedit.lst
字号:
C51 COMPILER V7.50 KEYEDIT 06/09/2007 13:49:47 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KEYEDIT
OBJECT MODULE PLACED IN .\download\keyedit.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE keyedit.c BROWSE DEBUG OBJECTEXTEND OBJECT(.\download\keyedit.obj)
line level source
1 #include <head.c>
2 extern ulong PARAM[8];
3 /***************************/
4 extern void saveee(void);
5 extern void sendpj(ulong w[]);
6 extern void watchdog();
7 //extern unsigned char valaddr;
8 extern void usdelay(uchar k);
9 extern void msdelay(uchar k);
10 extern uchar INTKEY,KEYCHAR;
11 //void openlamp(uchar k);
12 /**************************/
13 char numeric(uchar i);
14 void save()
15 {
16 1
17 1 saveee();
18 1 usdelay(1);
19 1 readee();
20 1 usdelay(5);
21 1 INTKEY=0;
22 1 ES=1;
23 1 EA=1;
24 1 DE0=0;
25 1 DE =0;
26 1 }
27 void keyedit()
28 {
29 1 watchdog();
30 1 readee();
31 1 switch(KEYCHAR)
32 1 {
33 2 case FUNKEY:{ watchdog();
34 3 if(numeric(NUMSET)==(NUMSET+1)){;}
35 3 if(numeric(NUMDIF)==(NUMDIF+1)){save();}
36 3 return;
37 3 }
38 2 case (MOVKEY & ADDKEY):
39 2 { if(numeric(NUMPID)==(NUMPID+1)){save();}
40 3 return;
41 3 }//PID
42 2 case (MOVKEY & FUNKEY):
43 2 { watchdog();
44 3 if(numeric(NUMCON)==(NUMCON+1)){;}
45 3 if(numeric(NUMCAR)==(NUMCAR+1)){save();}
46 3 return;
47 3 }//常数
48 2 /* case (ADDKEY & FUNKEY):
49 2 {
50 2 if(numeric(8)==9){save();}
51 2 changnum(PARAM[7]);
52 2 valaddr=(uchar)bytebuf[2]*100+(uchar)bytebuf[3]*10+(uchar)bytebuf[4];
53 2 return;
54 2 }*///地址可调
55 2 case 0x55: { watchdog();
C51 COMPILER V7.50 KEYEDIT 06/09/2007 13:49:47 PAGE 2
56 3 if(numeric(NUMCNT)==(NUMCNT+1)){save();}
57 3 return;
58 3 }//采样数
59 2 case 0x60: { watchdog();
60 3 if(numeric(NUMSIG)==(NUMSIG+1)){save();}
61 3 return;
62 3 }//信号幅度
63 2 /* case PIDKEY:{
64 2 watchdog();
65 2 if((PIDSTAT==0xff)||(PIDSTAT==0x7f))
66 2 {PIDSTAT=pidlamp;S8155A=S8155A & pidlamp;}
67 2 else{PIDSTAT=0xff;S8155A=S8155A |(~pidlamp);}
68 2 ES=1;
69 2 DE0=0;
70 2 EA=1;
71 2 return;
72 2 }*/
73 2 default: { ES=1;
74 3 DE0=0;
75 3 EA=1;
76 3 return;
77 3 }
78 2 }
79 1 watchdog();
80 1 ES=1;
81 1 DE0=0;
82 1 EA=1;
83 1 return;
84 1 }
85 /*void openlamp(uchar k)
86 {
87 switch(k)
88 {
89 case NUMCON:S8155A=conlamp;break;
90 case NUMPID:S8155A=0xff; break;
91 case NUMSET:S8155A=setlamp;break;
92 case NUMDIF:S8155A=diflamp;break;
93 default:break;
94 }
95 // COM8155A=S8155A;
96 return;
97 }*/
98
99 char numeric(uchar n)
100 {
101 1 char flabit,st,bytebuf;//flabit == flashbit
102 1 ulong temp;
103 1 n=n-1;
104 1 temp=PARAM[n];
105 1 watchdog();
106 1 st=0;
107 1 st=0;
108 1 INTKEY=0;
109 1 flabit=st;
110 1 temp=temp+5000000;//灭LED
111 1 sendpj(&temp);
112 1 temp=temp-5000000;
113 1 for(;;)
114 1 {
115 2 watchdog();
116 2 for(;INTKEY==0;)// flabit位一直闪烁,直到keydown==1;
117 2 {
C51 COMPILER V7.50 KEYEDIT 06/09/2007 13:49:47 PAGE 3
118 3 EA=1;
119 3 watchdog();
120 3 // openlamp(n);
121 3 EA=0;
122 3 temp=temp+(flabit*10+6)*100000;//灭LED
123 3 sendpj(&temp);
124 3 temp=temp-(flabit*10+6)*100000;
125 3 EA=1;
126 3 watchdog();
127 3 if(INTKEY!=0) break;
128 3 msdelay(200);
129 3 EA=0;
130 3 sendpj(&temp); //开显示,开灯 ,延时
131 3 watchdog();
132 3 EA=1;
133 3 if(INTKEY!=0) break;
134 3 msdelay(200); //关灯,关显示,延时
135 3 }//end loop;
136 2 watchdog();
137 2 if(KEYCHAR==MOVKEY)
138 2 {
139 3 if(flabit>=4){flabit=st;}
140 3 else flabit++;
141 3 INTKEY=0;
142 3 }
143 2 else if(KEYCHAR==ADDKEY)
144 2 {
145 3 if(flabit==4)bytebuf=temp%10;
146 3 else if(flabit==3)bytebuf=(temp%100)/10;
147 3 else if(flabit==2)bytebuf=(temp%1000)/100;
148 3 else if(flabit==1)bytebuf=(temp%10000)/1000;
149 3 else if(flabit==0)bytebuf=(temp%100000)/10000;
150 3
151 3 if(bytebuf==9){bytebuf=-9;}
152 3 else if((bytebuf<9)&&(bytebuf>=0))bytebuf=1;
153 3 else bytebuf=0;
154 3
155 3 if(flabit==4)temp+=bytebuf;
156 3 else if(flabit==3)temp+=bytebuf*10;
157 3 else if(flabit==2)temp+=bytebuf*100;
158 3 else if(flabit==1)temp+=bytebuf*1000;
159 3 else if((flabit==0)&&(bytebuf== 1)){temp+=10000;}
160 3 else if((flabit==0)&&(bytebuf==-9)){temp=temp%10000;}
161 3 INTKEY=0; //1+2=3+4=7+8=15
162 3 }
163 2 sendpj(&temp);
164 2 if(KEYCHAR==FUNKEY)
165 2 {
166 3 if(((n==NUMSIG)||(n==NUMCAR))&&(temp>255))
167 3 {
168 4 PARAM[n]=255;
169 4 }
170 3 else
171 3 PARAM[n]=temp;
172 3 INTKEY=0;
173 3 return (n+2);
174 3 }
175 2 else INTKEY=0;
176 2 }
177 1 }
C51 COMPILER V7.50 KEYEDIT 06/09/2007 13:49:47 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 970 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 8
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -