📄 timer.lst
字号:
C51 COMPILER V7.06 TIMER 08/05/2008 00:32:33 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN D:\东美\89C52~1\TIMER.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\东美\89C52~1\TIMER.C DB SB OE
stmt level source
1
2 #include<reg52.h>
3 #include <noname1.h>
4 #include <absacc.h>
5
6 #define uchar unsigned char
7 #define uint unsigned int
8 #define senddata_shu 20
9
10 sbit P3_3=P3^3;
11 sbit P3_5=P3^5;
12 sbit P1_2=P1^2;
13 sbit P1_5=P1^5;
14 sbit P1_6=P1^6;
15 sbit P1_7=P1^7;
16
17 uchar flag_int1; //外中断输入的标志位
18 uchar m_flag;
19 bit bhead=0;
20 bit send_flag=0;
21
22 void int0svr(void) interrupt 0
23 {
24 1 EX0=0; //关外部中断0
25 1 m_flag=1;
26 1 EX1=1; //开外部中断1
27 1 }
28 /*外中断0的控制T1计数子程序*/
29 void int1svr(void) interrupt 2
30 {
31 1 if(flag_int1==1)
32 1 {
33 2 time_sgn[l]=0;
34 2 TR0=0;
35 2 time_sgn[l]=TL0;
36 2 TL0=0;
37 2 TR0=1;
38 2 m++;
*** ERROR C202 IN LINE 38 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
39 2 }
40 1 else
41 1 {
42 2 TR0=0;
43 2 TH0=0;
44 2 TL0=0;
45 2 TR0=1; //启动定时器
46 2 flag_int1=1;
47 2 m=0;
*** ERROR C202 IN LINE 47 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
48 2 }
49 1 }
50
51 /*T1计数子程序*/
52 void timer1(void) interrupt 3
53 {
C51 COMPILER V7.06 TIMER 08/05/2008 00:32:33 PAGE 2
54 1 TH0=0;
55 1 TL0=0;
56 1 N=N+1;
57 1 }
58
59 void send() interrupt 4
60 {
61 1 TI=0;
62 1 EX1=0;
63 1 if(!bhead)
64 1 {
65 2 SBUF=0xee;
66 2 bhead=1;
67 2 }
68 1 else
69 1 {
70 2 if(m<senddata_shu)
*** ERROR C202 IN LINE 70 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
71 2 SBUF=time_sgn[m];
*** ERROR C202 IN LINE 71 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
72 2 else
73 2 {
74 3 SBUF=0xff ;
75 3 TI=0;
76 3 }
77 2 m++;
*** ERROR C202 IN LINE 77 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
78 2 }
79 1 while(!TI);
80 1 }
81 void UART_INT(void)
82 {
83 1 EA=1;
84 1 IT0=1; //下降沿触发
85 1 IT1=1;
86 1 TMOD=0x21;
87 1 PCON=0x80; //波特率翻倍
88 1 SCON =0x50; //串口为工作1方式,波特率可变,允许串行接受
89 1 TH1 = 0xf3; //串口波特率设置,9600
90 1 TL1 = 0xf3;
91 1 ES = 1; //打开串口中断
92 1 ET1 = 0; //关闭计数器1中断
93 1 }
94 void main(void)
95 {
96 1 UART_INT();
97 1 P1_7=1;
98 1 m_flag=0;
99 1 flag_int1=0;
100 1
101 1 for(m=0;m<senddata_shu;m++)
*** ERROR C202 IN LINE 101 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
102 1 time_sgn[m]=m;
*** ERROR C202 IN LINE 102 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
103 1 m=0;
*** ERROR C202 IN LINE 103 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
104 1 bhead=0;
105 1 TR1=1;
106 1 TI=1; //开中断,通过串口发送数据去打印
107 1 while(m<=senddata_shu); //等待发送数据
*** ERROR C202 IN LINE 107 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
108 1 TI=0;
C51 COMPILER V7.06 TIMER 08/05/2008 00:32:33 PAGE 3
109 1 ES=0;
110 1 TR1=0;
111 1 // TH0=0;
112 1 // TL0=0;
113 1 while(1)
114 1 {
115 2 EX0=1; //打开外部中断0
116 2 m_flag=0;
117 2 while(m_flag==0);
118 2 m=0;
*** ERROR C202 IN LINE 118 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
119 2 flag_int1=0;
120 2 while( m<senddata_shu);
*** ERROR C202 IN LINE 120 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
121 2 EA=0; //采集2048个脉冲的频率后退出中断
122 2 EX1=0;
123 2 m=0;
*** ERROR C202 IN LINE 123 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
124 2 P1_7=0;
125 2 EA=1;
126 2 ES=1;
127 2 TR1=1;
128 2 TI=1; //开中断,通过串口发送数据去打印
129 2 while(m<=senddata_shu); //等待发送数据
*** ERROR C202 IN LINE 129 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
130 2 TI=0;
131 2 m=0;
*** ERROR C202 IN LINE 131 OF D:\东美\89C52~1\TIMER.C: 'm': undefined identifier
132 2 bhead=0;
133 2 ES=0;
134 2 senddata=0;
135 2 TR1=0;
136 2 EX0=1;
137 2 }
138 1 }
139
C51 COMPILATION COMPLETE. 0 WARNING(S), 14 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -