📄 noname2.lst
字号:
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE NONAME2
OBJECT MODULE PLACED IN D:\东美\89C52~2\NONAME2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\东美\89C52~2\NONAME2.C DB SB OE
line 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 22
9 #define maichong 6 //脉冲个数
10 #define shijian 60000 //时间
11
12 sbit P3_3=P3^3;
13 sbit P3_5=P3^5;
14 sbit P3_2=P3^2;
15 sbit P1_5=P1^5;
16 sbit P1_6=P1^6;
17 sbit P1_7=P1^7;
18
19 uchar flag_int1; //外中断输入的标志位
20
21 uchar m_flag;
22 bit bhead=0;
23 bit send_flag=0;
24
25
26 /*外中断1的控制T1计数子程序*/
27 void int1svr(void) interrupt 2
28 {
29 1 TR0=1; //打开定时器T0
30 1 TR1=1; //打开计数器T1
31 1 ET0=1; //开定时器中断
32 1 ET1=1; //开定时器中断
33 1 l++;
34 1 }
35 void int0svr(void) interrupt 0
36 {
37 1 EX0=0; //关外部中断0
38 1 EX1=1; //开外部中断1
39 1 flag0=1;
40 1 P1_7=!P1_7;
41 1 }
42 /*T0定时溢出子程序*/
43 void timer0(void) interrupt 1
44 {
45 1 TH0=0;
46 1 TL0=0;
47 1 N=N+1;
48 1 }
49
50 /*T1计数器溢出子程序*/
51 void timer1(void) interrupt 3
52 {
53 1 TH1=0;
54 1 TL1=0;
55 1 M=M+1;
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 2
56 1 }
57 void send() interrupt 4
58 {
59 1 TI=0;
60 1 if(!bhead)
61 1 {
62 2 SBUF=0x7F;
63 2 bhead=1;
64 2 while(!TI);
65 2
66 2 }
67 1 else
68 1 {
69 2 SBUF=senddata[l]; //按顺序发送帧数据
70 2 while(!TI);
71 2 l++;
72 2 if(l==senddata_shu)
73 2 {
74 3 SBUF=0x7f; //按顺序发送帧数据
75 3 while(!TI);
76 3 }
77 2 else if(l>senddata_shu)
78 2 {
79 3 TI=0;
80 3 }
81 2 }
82 1 }
83 /*
84 void send() interrupt 4
85 {
86 TI=0;
87 // EX1=0;
88 if(!bhead)
89 {
90 SBUF=0x7F;
91 bhead=1;
92 while(!TI);
93
94 }
95 else if(l==1)
96 {
97 //SBUF=0x55;
98 SBUF=guangdian>>16;
99 while(!TI);
100 }
101 else if(l==2)
102 {
103 SBUF=guangdian>>8;
104 while(!TI);
105 }
106 else if(l==3)
107 {
108 SBUF=guangdian;
109 while(!TI);
110 }
111 else if(l==4)
112 {
113 SBUF=T0_total>>16;
114 while(!TI);
115 }
116 else if(l==5)
117 {
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 3
118 SBUF=T0_total>>8;
119 while(!TI);
120 }
121 else if(l==6)
122 {
123 SBUF=T0_total;
124 while(!TI);
125 }
126 /* else if(l==6)
127 {
128 SBUF=T1_total>>16;
129 while(!TI);
130 } */
131 /* else if(l==7)
132 {
133 SBUF=T1_total>>8;
134 while(!TI);
135 }
136 else if(l==8)
137 {
138 SBUF=T1_total;
139 while(!TI);
140 } */
141 /* else if(l==10)
142 {
143 SBUF=T2_total>>16;
144 while(!TI);
145 } */
146 /* else if(l==9)
147 {
148 SBUF=T2_total>>8;
149 while(!TI);
150 }
151 else if(l==10)
152 {
153 SBUF=T2_total;
154 while(!TI);
155 }
156 else if(l==11)
157 {
158 SBUF=freq>>8;
159 while(!TI);
160 }
161 else if(l==12)
162 {
163 SBUF=freq;
164 while(!TI);
165 }
166 else if(l==13)
167 {
168 SBUF=k>>8;
169 while(!TI);
170 }
171 else if(l==14)
172 {
173 SBUF=k;
174 while(!TI);
175 }
176 else if(l==15)
177 {
178 SBUF=T0_total1>>16;
179 while(!TI);
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 4
180 }
181 else if(l==16)
182 {
183 SBUF=T0_total1>>8;
184 while(!TI);
185 }
186 else if(l==17)
187 {
188 SBUF=T0_total1;
189 while(!TI);
190 }
191 else if(l==18)
192 {
193 SBUF=T1_total1>>16;
194 while(!TI);
195 }
196 else if(l==19)
197 {
198 SBUF=T1_total1>>8;
199 while(!TI);
200 }
201 else if(l==20)
202 {
203 SBUF=T1_total1;
204 while(!TI);
205 }
206 else if(l==21)
207 {
208 SBUF=0x7f;
209 while(!TI);
210 }
211 else
212 TI=0;
213 l++;
214
215 } */
216 void timer1_INT(void)
217 {
218 1 EA=1;
219 1 // IT0=1; //下降沿触发
220 1 PCON=0X00;
221 1 IT1=1;
222 1 EX1=0;
223 1 TMOD=0x51; //T1为16位计数器,T0为16位定时器
224 1 TH0=0;
225 1 TL0=0;
226 1 TH1=0;
227 1 TL1=0;
228 1 ES = 0; //关闭串口中断
229 1 M=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -