📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 08/22/2008 16:08:58 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\pca\main.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJECT(.\ma
-in.obj)
stmt level source
1 /*********************************************************************/
2 //方波占空比测量
3 /*********************************************************************/
4 #include<C8051F000.h>
5 #include<define.h>
6 unsigned int Cat_INC1,Cat_INC2,Cat_DEC;
7 float space_rate,space,T_C,Time;
8 unsigned char Flow_Counts=0,Pulse_Counts=0,Flow_Counts1=0;
9 bit Flag=1;
10 void main()
11 {
12 1 float space_rate=0;
13 1 unsigned n=100;
14 1 WDTCN=0xde; //关看门狗
15 1 WDTCN=0xad;
16 1 SYSCLK_Init(); //时钟初始化
17 1 PORT_Init(); //端口初始化
18 1 PCA_Init(); //PCA初始化
19 1 CR=1; //启动PCA
20 1 EA=1;
21 1 // space_rate(100);
22 1 while(1)
23 1 {
24 2 // space_rate=(Cat_INC2-Cat_DEC)/(Cat_INC2-Cat_INC1);
25 2 }
26 1
27 1 }
28
29 void PCA0_ISR(void) interrupt 9
30 {
31 1 EA=0; //中断禁止
32 1
33 1 if(CCF1==1)
34 1 {
35 2
36 2 Pulse_Counts++;
37 2 CCF1=0;
38 2 if(Pulse_Counts==1)
39 2 {
40 3 PCA0CPM2=0x51; //模块2:负边沿捕捉方式、匹配中断允许
41 3 Cat_INC1=PCA0CPH1*256+PCA0CPL1;
42 3 Cat_INC1+=65536*Flow_Counts;
43 3 }
44 2 if(Pulse_Counts==2)
45 2 {
46 3 Cat_INC2=PCA0CPH1*256+PCA0CPL1;
47 3 Cat_INC2+=65536*Flow_Counts;
48 3 T_C=Cat_INC2-Cat_INC1;
49 3 space_rate=Time/T_C;
50 3
51 3 }
52 2 }
53 1 if(CCF2==1)
54 1 {
C51 COMPILER V7.06 MAIN 08/22/2008 16:08:58 PAGE 2
55 2 CCF2=0;
56 2 Flow_Counts1=Flow_Counts;
57 2 Cat_DEC=PCA0CPH2*256+PCA0CPL2;
58 2 Cat_DEC+=65536*Flow_Counts;
59 2 Time=Cat_DEC-Cat_INC1;
60 2 /* if(Flow_Counts1<18)
61 2 {
62 2 PCA0CPM1=0x60; //模块1:正边沿捕捉方式、匹配中断禁止
63 2 PCA0CPM2=0x51; //模块1:负边沿捕捉方式、匹配中断允许
64 2 Pulse_Counts=0; //清零
65 2 Flag=0;
66 2 } */
67 2
68 2 }
69 1
70 1 /* if(Flag==0)
71 1 {
72 1
73 1 Pulse_Counts++;
74 1 if(CCF2==1)
75 1 {
76 1 PCA0CPM1=0x61; //模块1:正边沿捕捉方式、匹配中断禁止
77 1 CCF1=0;
78 1 if(Pulse_Counts==1)
79 1 {
80 1 Cat_INC1=PCA0CPH1*256+PCA0CPL1;
81 1 }
82 1 if(Pulse_Counts==3)
83 1 {
84 1 Cat_INC2=PCA0CPH1*256+PCA0CPL1;
85 1 space_rate=(65536*(Flow_Counts1-1)+Cat_DEC+~Cat_INC1+1);
86 1 space_rate/=(65536*(Flow_Counts-1)+Cat_INC2+~Cat_INC1+1);
87 1 space_rate=1-space_rate;
88 1 }
89 1 }
90 1
91 1 if(CCF1==1)
92 1 {
93 1 if(Pulse_Counts==2)
94 1 {
95 1 CCF2=0;
96 1 Flow_Counts1=Flow_Counts;
97 1 Cat_DEC=PCA0CPH2*256+PCA0CPL2;
98 1 }
99 1 }
100 1 } */
101 1 if(CF==1)
102 1 {
103 2 CF=0;
104 2 Flow_Counts++;
105 2 }
106 1 EA=1; //开总中断
107 1 }
108
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 394 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 25 6
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
C51 COMPILER V7.06 MAIN 08/22/2008 16:08:58 PAGE 3
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 + -