本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
用P0.0口发射超声波,P3.2口接收超,程序如下:
ORG 0000H
LJMP MIAN
ORG 0003H
LJMP INT_0
ORG 001BH
RETI
ORG 0040H
MIAN: MOV SP,#60H
LOOP: MOV TMOD,#01H ;当有按键按下时,发射超声波
MOV TH0,#00H
MOV TL0,#00H ;定时器0定时65ms,用于计时
MOV R0,#11H
SETB EA
SETB ET0
SETB TR0
LOOP1: CPL P0.0 ;1
MOV 30H,#02H ;2
LOOP2: NOP ;1
DJNZ 30H,LOOP2 ;2
NOP ;1
DJNZ R0,LOOP1 ;2 发射8个超声波
MOV R7,#07H
LCALL DELAY ;延时100μs
LOOP3: SETB EA
SETB EX0
SETB P1.2
JB P1.2,LOOP3
SJMP $
;接收到超声波后的中断程序,将时间存至40H,41H单元
INT_0: CLR EA
CLR TR0
MOV 40H,TL0 ;计时低位存于40H单元
MOV 41H,TH0 ;计时高位存于41H单元
CLR P1.2 ;点亮LED,表示接收到超声波
RETI
DELAY:
LP: MOV R6,#06H ;1
LP1: DJNZ R6,LP1 ;2
DJNZ R7,LP ;2
RET
END
我的问题是能发射出40kHz的方波信号,但接收不到,各位帮忙看一下程序对不对,为什么接收不到? |
|