📄 super_wave.lst
字号:
C51 COMPILER V9.00 SUPER_WAVE 09/21/2012 19:52:01 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE SUPER_WAVE
OBJECT MODULE PLACED IN super_wave.OBJ
COMPILER INVOKED BY: E:\learingsoft\mcu\keil4\C51\BIN\C51.EXE super_wave.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit trig = P2^1;
5 sbit echo = P3^2;
6 bit flag = 0;
7 uint wave_time;
8 void delay_20us(){
9 1
10 1 uchar a ;
11 1 for(a = 0;a < 200;a++);
12 1 }
13
14 void delay(uint ms){
15 1
16 1 uchar a;
17 1 for(;ms > 0;ms--){
18 2 for(a = 0;a < 110;a++)
19 2 ;
20 2 }
21 1 }
22 int main(void){
23 1
24 1 uint distance = 0;
25 1 P1 = 0xfd;
26 1 TMOD = 0x01;
27 1 TH0 = 0;
28 1 TL0 = 0;
29 1 trig = 0;
30 1
31 1 while(1){
32 2
33 2
34 2 EA = 0;
35 2 trig = 1;
36 2 delay_20us();
37 2 trig = 0;
38 2
39 2 while(echo == 0);
40 2
41 2 TR0 = 1;
42 2 EX0 = 1;
43 2 IT0 = 0;
44 2 EA = 1;
45 2 delay(20);
46 2
47 2 if(flag == 1){
48 3
49 3 flag = 0;
50 3 distance = wave_time/58;
51 3 if(distance < 20)
52 3 P1 = 0x55;
53 3 else
54 3 P1 = 0xaa;
55 3 }
C51 COMPILER V9.00 SUPER_WAVE 09/21/2012 19:52:01 PAGE 2
56 2 }
57 1
58 1
59 1 }
60
61 void inter() interrupt 0{
62 1
63 1 TR0 = 0;
64 1 EX0 = 0;
65 1 wave_time = TH0*256 + TL0;
66 1 TH0 = 0;
67 1 TL0 = 0;
68 1 flag = 1;
69 1
70 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 167 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -