📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 03/29/2008 22:13:16 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 /*===============================================================*/
2 /*函数名称: main.c */
3 /*函数功能: 主函数,调用各模块 */
4 /*基本思想: 单端输入,定时启动,由T2定时,选择AIN0.3为ADC0转化通道
- */
5 /*修改记录: 无修改记录 */
6 /*编写作者: t483-4-19chenyong */
7 /*编写日期: 2007-4-06 */
8 /*===============================================================*/
9 #include "common.h"
10 #include "TS12864A.h"
11 #include "show.h"
12 #include "adc.h"
13 #define N 10
14 bit isnewdata;
15 int xdata k=0,count=0;
16 //long ad_value=0; //真实测量电压值
17 float xdata sum=0,average_value=0;
18 float xdata realvol[N];
19 extern long ad_value; //真实测量电压值
20
21 void main()
22 {
23 1 Port_Initial();
24 1 SYSCLK_Init();
25 1 LCD_Init(); //液晶初始化
26 1 CleanScreen();
27 1 adc0_initial(); //ADC0初始化
28 1 EA=1;
29 1 while(1)
30 1 {
31 2 /* if(isnewdata) //滑动滤波
32 2 {
33 2 Display_Character(0,3,19); //电压
34 2 Display_Character(2,3,20);
35 2 Display_Character(4,3,15); //单位
36 2 Display_Char(14,3,19);
37 2 realvol[k++]=ad_value;
38 2 if(k==N)
39 2 {
40 2 k=0;
41 2 }
42 2 sum=0;
43 2 for(count=0;count<N;count++)
44 2 {
45 2 sum=sum+realvol[count];
46 2 }
47 2 sum=(float)sum/100;
48 2 sum=(float)sum/100;
49 2 average_value=sum/N;
50 2 Show_FloatData(average_value,3); //显示电压值
51 2 EA=0;
52 2 Port_Initial();
53 2 adc0_initial(); //ADC0初始化
54 2 EA=1;
C51 COMPILER V8.02 MAIN 03/29/2008 22:13:16 PAGE 2
55 2 isnewdata=0;
56 2 } */
57 2 //=====================================================================
58 2 if(isnewdata) //滑动滤波
59 2 {
60 3 Display_Character(0,3,19); //电
61 3 Display_Character(2,3,20); //压
62 3 Display_Character(4,3,15); //:
63 3 Display_Char(14,3,19); //单位V
64 3
65 3 realvol[k]= ad_value; /*减去噪声干扰*/
66 3 sum=sum+realvol[k];
67 3 k++;
68 3 EA=0;
69 3 Port_Initial();
70 3 adc0_initial(); //ADC0初始化
71 3 EA=1;
72 3 if(k>(N-1))
73 3 {
74 4 k=0;
75 4 sum=(float)sum/100;
76 4 sum=(float)sum/1000; /*把原来100改为1000*/
77 4 average_value=sum/N;
78 4 Show_FloatData(average_value,3); //显示电压值
79 4 }
80 3
81 3 isnewdata=0 ;
82 3 }
83 2
84 2
85 2
86 2 }
87 1 }
88
89
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 350 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 52 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -