📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 01/31/2009 14:04:29 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*Mini51B数字示波器*/
2 /*作者:田开坤*/
3 /*时间:2009年1月*/
4
5 #include <reg52.h>
6 #include "osc.h"
7 #include "lcd12864.h"
8 #include "irm.h"
9 #include "timer2.h"
10 #include "dots.h"
11 #include "common.h"
12
13 void main()
14 {
15 1 char i=0,j=0,k=0;
16 1 unsigned char dah,dal,dam;
17 1 int tmp,tmp1;
18 1 pointxA=10;
19 1 pointxB=110;
20 1 pointyA=14;
21 1 pointyB=44;
22 1
23 1 lcd12864_init();
24 1 extern2_init();
25 1 timer2_init();
26 1 delay_ms(1);
27 1 //lcd12864_put_xywhb(0,7,128,8,logo);
28 1 //delay_ms(1000);
29 1
30 1 lcd12864_put_xywhb(0,7,128,8,bg);
31 1 disp_vdiv();
32 1 disp_ypoint();
33 1
34 1 while(1)
35 1 {
36 2 key_scan();
37 2 if((da_finish)||(run_flag)) {
38 3 dah=0;dal=255;
39 3 for(i=0;i<DATA_SIZE/2;i++) {
40 4 if(da_buffer[i] > dah) dah = da_buffer[i]; //找出最大值
41 4 if(da_buffer[i] < dal) dal = da_buffer[i]; //找出最小值
42 4 }
43 3 dam=(dah-dal)/2+dal; //计算出中间值
44 3 i=0;
45 3 while(da_buffer[i] <= dam) if(++i > (DATA_SIZE/2)) break;
46 3 while(da_buffer[i] > dam) if(++i > (DATA_SIZE/2)) break;
47 3 while(da_buffer[i] <= dam) if(++i > (DATA_SIZE/2)) break;
48 3 while(da_buffer[i] > dam) if(++i > (DATA_SIZE/2)) break;
49 3 for(j=0;j<WIDTH;j++) {
50 4 if(acdc_flag==0) {
51 5 tmp = da_buffer[i+j+movx]-dam;
52 5 tmp1 = da_buffer[i+j+movx+1]-dam;
53 5 tmp = tmp/(vdiv[val_vdiv])+HEIGHT/2 + movy; //过滤直流成分
54 5 tmp1 = tmp1/(vdiv[val_vdiv])+HEIGHT/2 + movy; //过滤直流成分
55 5 }
C51 COMPILER V8.02 MAIN 01/31/2009 14:04:29 PAGE 2
56 4 else {
57 5 tmp = da_buffer[i+j+movx]/(vdiv[val_vdiv]) + movy;
58 5 tmp1 = da_buffer[i+j+movx+1]/(vdiv[val_vdiv]) + movy;
59 5 }
60 4 if(tmp > HEIGHT-1) tmp = HEIGHT-1;
61 4 if(tmp1 > HEIGHT-1) tmp1 = HEIGHT-1;
62 4 if(tmp < 0) tmp =0;
63 4 if(tmp1 < 0) tmp1 =0;
64 4 k=tmp-tmp1;
65 4 disp(j,tmp,k);
66 4 }
67 3 da_finish=0;
68 3 }
69 2 }
70 1 }
71
72
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 570 ----
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 + -