📄 ultrasonic2.lst
字号:
C51 COMPILER V7.50 ULTRASONIC2 08/20/2005 19:32:59 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE ULTRASONIC2
OBJECT MODULE PLACED IN ultrasonic2.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ultrasonic2.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<P89V51.H>
2 #include<LCD.C>
3 sbit P1_6 =P1^6;
4 sbit P1_7 =P1^7;
5 sbit P3_3 =P3^3;
6 unsigned char a,b;
7 unsigned int c;
8 void DisplayInt(Uchar X,Uchar Y,Uint f);
9 void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
10
11 void Delay(unsigned char c,unsigned char d,unsigned char e)
12 {
13 1 unsigned char i,j,k;
14 1 for(i=0;i<=c;i++)
15 1 {
16 2 for(j=0;j<=d;j++)
17 2 for(k=0;k<=e;k++);
18 2 }
19 1 }
20
21 void RigourTimer(unsigned char m)
22 {
23 1 unsigned char i;
24 1
25 1 for(i=0;i<m;i++)
26 1 {
27 2 TMOD=0x00;
28 2 TH0=0xff30/256;
29 2 TL0=0xff30%256;
30 2 TR0=1;
31 2 EX1=1;
32 2 do{}
33 2 while(!TF0);
34 2 TF0=0;
35 2 }
36 1 TR0=0;
37 1 EX1=0;
38 1 }
39
40 void counter(void) interrupt 0 using 3 //测出往返时间
41 {
42 1
43 1 EX0=0;
44 1 P1_7=!P1_7;
45 1
46 1 EA=1;
47 1 TR1=0;
48 1 a=TL1;
49 1 b=TH1;
50 1 }
51
52
53 ////////////////////////////////////////////////////////////
54
55 void timer1(void) interrupt 3 using 2
C51 COMPILER V7.50 ULTRASONIC2 08/20/2005 19:32:59 PAGE 2
56 {
57 1
58 1 TR1=0;
59 1
60 1 }
61
62 /////////////////////////////////////////////////////////////
63
64 main()
65 {
66 1
67 1
68 1
69 1 PSB=1;
70 1 RST=0;
71 1 Delay(10,1,1);
72 1 RST=1;
73 1 Delay(1,10,1);
74 1 Delay(10,1,1);
75 1 LCMInit();
76 1 Delay(10,1,1);
77 1 EA=1;
78 1 EX0=0;
79 1
80 1 while(1)
81 1 {
82 2
83 2
84 2 //IE0=0;
85 2 EX0=0;
86 2 EA=1;
87 2 P1_6=1;
88 2 RigourTimer(2); //P1.6控制超声波的发射,发射250us
89 2 P1_6=0;
90 2 RigourTimer(20); //避开盲区,以检测回波
91 2
92 2 TMOD=0x10;
93 2 TH1=0;
94 2 TL1=0;
95 2 TR1=1; //开定时器
96 2
97 2 //开外部中断1,关闭定时器1,测量回波返回时间
98 2 EA=1;
99 2 IT0=1;
100 2 EX0=1;
101 2
102 2 //Delay(20,1,50); //延时
103 2
104 2 c=((unsigned int)b<<8)+a;
105 2 DisplayInt(0,0,c); //LCD输出定时器1寄存器的值
106 2 Delay(20,10,50);
107 2 WriteCommandLCM(0x02,1); //光标重新定位
108 2 Delay(1,10,50);
109 2 }
110 1
111 1
112 1 }
113
114
115
116
C51 COMPILER V7.50 ULTRASONIC2 08/20/2005 19:32:59 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 625 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 11
IDATA SIZE = ---- 64
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -