📄 key.lst
字号:
C51 COMPILER V8.02 KEY 06/03/2008 22:12:57 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"reg52.h"
2 #include"def.h"
3 #include"lcd.h"
4 #include"key.h"
5 #include"ls_164.h"
6 #include"adc_test.h"
7
8 sbit button_1 = P3^0; // 多芯电缆测试选择
9 sbit button_2 = P3^1; // 绝缘电阻测试
10 sbit button_3 = P3^2; // 重新测试和确定设置完成
11 sbit button_4 = P3^3; // 重新进行功能选择
12
13 uchar count = 2;
14 uchar date1 = 0;
15 uchar hang = 2;
16 uchar lie = 0;
17 uchar i;
18 uchar value;
19 uchar error[8];
20
21 void fun_sel(void) // 功能选择函数
22 {
23 1 while(1)
24 1 {
25 2 if(button_1 == 0)
26 2 {
27 3 delay(40);
28 3 if(button_1 == 0)
29 3 {
30 4 lcd_init();
31 4 cleartext();
32 4 putstr(1,2,"芯数:");
33 4 dis_num(1,5,2);
34 4 delay(100);
35 4 date1 = line_set(2);
36 4 line_test();
37 4 delay(100);
38 4 cleartext();
39 4 putstr(1,0,"一、多芯电缆测试");
40 4 putstr(2,0,"二、绝缘电阻测试");
41 4
42 4 }
43 3 }
44 2
45 2 if(button_2 == 0)
46 2 {
47 3 delay(40);
48 3 if(button_2 == 0)
49 3 {
50 4 res_test();
51 4 while(1)
52 4 {
53 5 if(button_3 == 0)
54 5 {
55 6 delay(40);
C51 COMPILER V8.02 KEY 06/03/2008 22:12:57 PAGE 2
56 6 if(button_3 == 0)
57 6 {
58 7 res_test();
59 7 }
60 6 }
61 5 if(button_4 == 0)
62 5 {
63 6 delay(200);
64 6 if(button_4 == 0)
65 6 {
66 7 cleartext();
67 7 putstr(1,0,"一、多芯电缆测试");
68 7 putstr(2,0,"二、绝缘电阻测试");
69 7 break;
70 7 }
71 6 }
72 5 }
73 4
74 4 }
75 3 }
76 2 }
77 1 }
78
79
80 uchar line_set(uchar num1)
81 {
82 1 uchar number;
83 1 number = num1;
84 1 while(1)
85 1 {
86 2 if(button_1 == 0)
87 2 {
88 3 delay(40);
89 3 if(button_1 == 0)
90 3 {
91 4 num1++;
92 4 if(num1>8)
93 4 num1 = 8;
94 4 number = num1;
95 4 dis_num(1,5,num1);
96 4 }
97 3 }
98 2 if(button_2 == 0)
99 2 {
100 3 delay(40);
101 3 if(button_2 == 0)
102 3 {
103 4 num1--;
104 4 if(num1<2)
105 4 num1 = 2;
106 4 number = num1;
107 4 dis_num(1,5,num1);
108 4 }
109 3 }
110 2 if(button_3 == 0)
111 2 {
112 3 delay(40);
113 3 if(button_3 == 0)
114 3 return number;
115 3 // break;
116 3 }
117 2 }
C51 COMPILER V8.02 KEY 06/03/2008 22:12:57 PAGE 3
118 1 }
119
120 void test_rep(void)
121 {
122 1 while(1)
123 1 {
124 2 if(button_3 == 0)
125 2 {
126 3 delay(40);
127 3 if(button_3 == 0)
128 3 {
129 4 cleartext();
130 4 putstr(1,2,"测试中....");
131 4 delay(100); //延时一段时间,从新开始测试
132 4 for(i=0;i<8;i++)
133 4 {
134 5 error[i] = 0;
135 5 }
136 4 test_164(error,date1);
137 4 cleartext();
138 4 putstr(1,0,"断开的电缆为:");
139 4 delay(10);
140 4 for(i=1;i<9;i++) //显示错误的线,没有的话显示成功
141 4 {
142 5 if(error[i-1] == 1)
143 5 {
144 6 dis_num(2,lie,i);
145 6 lie++;
146 6 }
147 5 }
148 4 if(lie == 0)
149 4 putstr(1,0,"经测试全部正常!");
150 4 lie = 0;
151 4 }
152 3 }
153 2 if(button_4 == 0)
154 2 {
155 3 delay(200);
156 3 if(button_4 == 0)
157 3 break;
158 3
159 3 }
160 2 }
161 1
162 1 }
163
164
165 void re_set(void)
166 {
167 1 while(1)
168 1 {
169 2 if(button_4 == 0)
170 2 {
171 3 delay(40);
172 3 if(button_4 == 0)
173 3 break;
174 3 }
175 2 }
176 1 }
177
178
179 void dis_num(uchar row,uchar col,uchar num)
C51 COMPILER V8.02 KEY 06/03/2008 22:12:57 PAGE 4
180 {
181 1 uchar dat;
182 1 switch(num)
183 1 {
184 2 case 0:
185 2 dat = '0';
186 2 hanzi(row,col,&dat);
187 2 break;
188 2 case 1:
189 2 dat = '1';
190 2 hanzi(row,col,&dat);
191 2 break;
192 2 case 2:
193 2 dat = '2';
194 2 hanzi(row,col,&dat);
195 2 break;
196 2 case 3:
197 2 dat = '3';
198 2 hanzi(row,col,&dat);
199 2 break;
200 2 case 4:
201 2 dat = '4';
202 2 hanzi(row,col,&dat);
203 2 break;
204 2 case 5:
205 2 dat = '5';
206 2 hanzi(row,col,&dat);
207 2 break;
208 2 case 6:
209 2 dat = '6';
210 2 hanzi(row,col,&dat);
211 2 break;
212 2 case 7:
213 2 dat = '7';
214 2 hanzi(row,col,&dat);
215 2 break;
216 2 case 8:
217 2 dat = '8';
218 2 hanzi(row,col,&dat);
219 2 break;
220 2 case 9:
221 2 dat = '9';
222 2 hanzi(row,col,&dat);
223 2 break;
224 2 default:
225 2 break;
226 2 }
227 1 }
228
229 void line_test()
230 {
231 1
232 1 cleartext();
233 1 putstr(1,2,"测试中....");
234 1 init_164();
235 1 for(i=0;i<8;i++)
236 1 {
237 2 error[i] = 0;
238 2 }
239 1 test_164(error,date1);
240 1 cleartext();
241 1 putstr(1,0,"断开的电缆为:");
C51 COMPILER V8.02 KEY 06/03/2008 22:12:57 PAGE 5
242 1 delay(10);
243 1 for(i=1;i<9;i++) //显示错误的线,没有的话显示成功
244 1 {
245 2 if(error[i-1] == 1)
246 2 {
247 3 dis_num(2,lie,i);
248 3 lie++;
249 3 }
250 2 }
251 1 if(lie == 0)
252 1 putstr(1,0,"经测试全部正常!");
253 1 lie = 0;
254 1 test_rep();
255 1
256 1 }
257
258 void res_test()
259 {
260 1 cleartext();
261 1 putstr(1,2,"测试中....");
262 1 delay(400);
263 1 value = ad_cover();
264 1 cleartext();
265 1 clearbmp();
266 1 put_5_7(1,4,value);
267 1 putstr(1,1,"阻值:");
268 1 delay(100);
269 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 727 ----
CONSTANT SIZE = 91 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 14 5
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 + -