83 lines
2.8 KiB
Plaintext
83 lines
2.8 KiB
Plaintext
|
C51 COMPILER V9.59.0.0 ULTRASONIC 03/12/2024 11:41:20 PAGE 1
|
|||
|
|
|||
|
|
|||
|
C51 COMPILER V9.59.0.0, COMPILATION OF MODULE ULTRASONIC
|
|||
|
OBJECT MODULE PLACED IN .\Objects\Ultrasonic.obj
|
|||
|
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\Driver\Ultrasonic.c OPTIMIZE(8,SPEED) BROWSE INCDIR(..\Driver) DEBUG
|
|||
|
-OBJECTEXTEND PRINT(.\Listings\Ultrasonic.lst) TABS(2) OBJECT(.\Objects\Ultrasonic.obj)
|
|||
|
|
|||
|
line level source
|
|||
|
|
|||
|
1 #include "Ultrasonic.h"
|
|||
|
2 #include "intrins.h"
|
|||
|
3
|
|||
|
4 sbit Tx = P1 ^ 0;
|
|||
|
5 sbit Rx = P1 ^ 1;
|
|||
|
6 void Delay12us(void) //@12.000MHz
|
|||
|
7 {
|
|||
|
8 1 unsigned char data i;
|
|||
|
9 1
|
|||
|
10 1 _nop_();
|
|||
|
11 1 _nop_();
|
|||
|
12 1 i = 33; // 38
|
|||
|
13 1 while (--i)
|
|||
|
14 1 ;
|
|||
|
15 1 }
|
|||
|
16
|
|||
|
17 void Ut_Wave_Init()
|
|||
|
18 {
|
|||
|
19 1 unsigned char i;
|
|||
|
20 1 // <20><><EFBFBD><EFBFBD>8<EFBFBD><38>40kHz<48>ķ<EFBFBD><C4B7><EFBFBD>
|
|||
|
21 1 // f=40kHz->T=1/f=0.000025s=25us
|
|||
|
22 1 // 12.5us 1 12.5us 0
|
|||
|
23 1 for (i = 0; i < 8; i++)
|
|||
|
24 1 {
|
|||
|
25 2 Tx = 1;
|
|||
|
26 2 Delay12us();
|
|||
|
27 2 Tx = 0;
|
|||
|
28 2 Delay12us();
|
|||
|
29 2 }
|
|||
|
30 1 }
|
|||
|
31
|
|||
|
32 unsigned char Ut_Wave_Data()
|
|||
|
33 {
|
|||
|
34 1 unsigned int time;
|
|||
|
35 1 CH = CL = 0; // <20><><EFBFBD><EFBFBD>PCA<43>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
36 1 CCON = 0; // <20><>ʼ<EFBFBD><CABC>PCA<43><41><EFBFBD>ƼĴ<C6BC><C4B4><EFBFBD>/PCA<43><41>ʱ<EFBFBD><CAB1>ֹͣ/<2F><><EFBFBD><EFBFBD>CF/
|
|||
|
37 1
|
|||
|
38 1 EA = 0; // <20>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
39 1 Ut_Wave_Init(); // <20><><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
40 1 EA = 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
41 1 CR = 1; // PCA<43><41>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
42 1 while (Rx && !CF) // TF1
|
|||
|
43 1 ; // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
44 1 CR = 0; // PCAֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|||
|
45 1 if (CF == 0)
|
|||
|
46 1 {
|
|||
|
47 2 time = CH << 8 | CL; // <20><>λΪ<CEBB><CEAA><EFBFBD><EFBFBD>
|
|||
|
48 2 // L=V*T/2
|
|||
|
49 2 return (time * 0.017); // <20><><EFBFBD>صĵ<D8B5>λ<EFBFBD><CEBB>cm
|
|||
|
50 2 }
|
|||
|
51 1 else
|
|||
|
52 1 {
|
|||
|
53 2 CF = 0;
|
|||
|
54 2 return 0;
|
|||
|
C51 COMPILER V9.59.0.0 ULTRASONIC 03/12/2024 11:41:20 PAGE 2
|
|||
|
|
|||
|
55 2 }
|
|||
|
56 1 }
|
|||
|
|
|||
|
|
|||
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
|||
|
CODE SIZE = 93 ----
|
|||
|
CONSTANT SIZE = ---- ----
|
|||
|
XDATA SIZE = ---- ----
|
|||
|
PDATA SIZE = ---- ----
|
|||
|
DATA SIZE = ---- ----
|
|||
|
IDATA SIZE = ---- ----
|
|||
|
BIT SIZE = ---- ----
|
|||
|
END OF MODULE INFORMATION.
|
|||
|
|
|||
|
|
|||
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|