📄 osc.lst
字号:
169 2 if(x-ZEROX==WIDTH/2-movx-1) dat[0] |= 0x02;
170 2 if(x-ZEROX==WIDTH/2-movx) dat[0] |= 0x07;
171 2 if(x-ZEROX==WIDTH/2-movx+1) dat[0] |= 0x02;
172 2 }
173 1
174 1 /*左边框*/
175 1 if(x==ZEROX) {
176 2 dat[0] = 0xf0;
177 2 dat[1] = 0xff;
178 2 dat[2] = 0xff;
179 2 dat[3] = 0xff;
C51 COMPILER V8.02 OSC 01/31/2009 14:04:30 PAGE 4
180 2 dat[4] = 0xff;
181 2 dat[5] = 0xff;
182 2 dat[6] = 0x7f;
183 2 }
184 1
185 1 /*左边框上格点*/
186 1 if(x==ZEROX+1) {
187 2 dat[0] |= 0x10;
188 2 dat[1] |= 0x42;
189 2 dat[2] |= 0x08;
190 2 dat[3] |= 0x21;
191 2 dat[4] |= 0x84;
192 2 dat[5] |= 0x10;
193 2 dat[6] |= 0x42;
194 2 }
195 1
196 1 /*右边框*/
197 1 if(x==ZEROX+WIDTH-1) {
198 2 dat[0] = 0xf0;
199 2 dat[1] = 0xff;
200 2 dat[2] = 0xff;
201 2 dat[3] = 0xff;
202 2 dat[4] = 0xff;
203 2 dat[5] = 0xff;
204 2 dat[6] = 0x7f;
205 2 }
206 1
207 1 /*右边框格点*/
208 1 if(x==ZEROX+WIDTH-2) {
209 2 dat[0] |= 0x10;
210 2 dat[1] |= 0x42;
211 2 dat[2] |= 0x08;
212 2 dat[3] |= 0x21;
213 2 dat[4] |= 0x84;
214 2 dat[5] |= 0x10;
215 2 dat[6] |= 0x42;
216 2 }
217 1
218 1 /*波形描点*/
219 1 if(l==0) dat[(y)/8] |= 0x01<<((y)%8);
220 1 else if(l>0) {
221 2 for(j=0;j<l+1;j++) { //+1多描1点,波形更粗壮
222 3 k=((y+j)/8);
223 3 if(k>6) k=6;
224 3 if(k==0) dat[0] |= (0x01<<((y+j)%8))&0xe0;
225 3 else if(k==6) dat[6] |= (0x01<<((y+j)%8))&0x3f;
226 3 else dat[k] |= 0x01<<((y+j)%8);
227 3 }
228 2 }
229 1 else for(j=0;j<(-l)+1;j++) {
230 2 k=((y-j)/8);
231 2 if(k>6) k=6;
232 2 if(k==0) dat[0] |= (0x01<<((y-j)%8))&0xf0;
233 2 else if(k==6) dat[6] |= (0x01<<((y-j)%8))&0x3f;
234 2 else dat[k] |= 0x01<<((y-j)%8);
235 2 }
236 1
237 1
238 1 /*写入LCD*/
239 1 if(x<64) {
240 2 for(j=0;j<ALL_LINE;j++) {
241 3 lcd_cmd_wr(SETY+j,0);
C51 COMPILER V8.02 OSC 01/31/2009 14:04:30 PAGE 5
242 3 lcd_cmd_wr(SETX+x,0);
243 3 lcd_data_wr(dat[j],0);
244 3 }
245 2 }
246 1 else {
247 2 x-=64;
248 2 for(j=0;j<ALL_LINE;j++) {
249 3 lcd_cmd_wr(SETY+j,1);
250 3 lcd_cmd_wr(SETX+x,1);
251 3 lcd_data_wr(dat[j],1);
252 3 }
253 2 }
254 1 }
255
256 void disp_vdiv(void)
257 {
258 1 unsigned int tmp;
259 1
260 1 tmp = vdiv[val_vdiv];
261 1 /*y轴电压标度*/
262 1 lcd12864_put_xystr(0,7,4,Num+(tmp/10)*4);
263 1 lcd12864_put_xystr(5,7,1,Num+10*4);
264 1 lcd12864_put_xystr(7,7,4,Num+(tmp%10)*4);
265 1
266 1 tmp = tdiv[val_tdiv];
267 1 /*x轴时间标度*/
268 1 if(tmp<100) {
269 2 lcd12864_put_clr(23,7,8);
270 2 lcd12864_put_xystr(23,7,4,Num+(tmp/10)*4);
271 2 lcd12864_put_xystr(28,7,1,Num+10*4);
272 2 lcd12864_put_xystr(30,7,4,Num+(tmp%10)*4);
273 2 }
274 1 else {
275 2 lcd12864_put_clr(23,7,8);
276 2 lcd12864_put_xystr(25,7,4,Num+1*4);
277 2 lcd12864_put_xystr(30,7,4,Num+0*4);
278 2 }
279 1
280 1 /*AC,DC标识*/
281 1 lcd12864_put_xystr(47,7,12,ac_dc+acdc_flag*12);//0=ac,1=dc
282 1
283 1 /*RUN,PAUSE标识*/
284 1 lcd12864_put_xystr(60,7,17,run_paus+run_flag*17);//0=run,1=paus
285 1
286 1
287 1 tmp=(pointyB-pointyA)*vdiv[val_vdiv];
288 1 tmp/=5;
289 1
290 1 if(tmp < 100) {
291 2 /*测量电压*/
292 2 lcd12864_put_clr(79,7,11);
293 2 lcd12864_put_xystr(79,7,4,Num + (tmp/10)*4);
294 2 lcd12864_put_xystr(84,7,1,Num + 10*4);
295 2 lcd12864_put_xystr(86,7,4,Num + (tmp%10)*4);
296 2 }
297 1 else {
298 2 lcd12864_put_clr(79,7,11);
299 2 lcd12864_put_xystr(79,7,4,Num+ (tmp/100)*4);
300 2 lcd12864_put_xystr(85,7,4,Num+ (tmp/10 %10)*4);
301 2 }
302 1
303 1
C51 COMPILER V8.02 OSC 01/31/2009 14:04:30 PAGE 6
304 1 tmp=50000/(pointxB-pointxA)/tdiv[val_tdiv];
305 1 seg7_disp(tmp);
306 1 /*测量频率*/
307 1 lcd12864_put_clr(99,7,20);
308 1 if(tmp<10) {
309 2 lcd12864_put_xystr(114,7,4,Num+ (tmp%10)*4);
310 2 }
311 1 else if(tmp <100) {
312 2 lcd12864_put_xystr(109,7,4,Num+ (tmp/10%10)*4);
313 2 lcd12864_put_xystr(114,7,4,Num+ (tmp%10)*4);
314 2 } else if(tmp <1000) {
315 2 lcd12864_put_xystr(104,7,4,Num+ (tmp/100)*4);
316 2 lcd12864_put_xystr(109,7,4,Num+ (tmp/10%10)*4);
317 2 lcd12864_put_xystr(114,7,4,Num+ (tmp%10)*4);
318 2 }
319 1 else {
320 2 lcd12864_put_xystr(99,7,4,Num+ (tmp/1000)*4);
321 2 lcd12864_put_xystr(104,7,4,Num+ (tmp/100%10)*4);
322 2 lcd12864_put_xystr(109,7,4,Num+ (tmp/10%10)*4);
323 2 lcd12864_put_xystr(114,7,4,Num+ (tmp%10)*4);
324 2 }
325 1 }
326
327
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3708 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = 255 ----
PDATA SIZE = ---- ----
DATA SIZE = 11 23
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 + -