右图是HRSC501,在p2.3口还接了下拉电阻,这个是临时连的演示一下。
安装好以后,人通过传感器没有反应,但是直接把5V电压源接2.3口却有效果,这是为什么啊?但是程序仿真是ok的
跪求大佬指点
这个是单片机程序
ORG 000H
LJMP STAR
ORG 000BH
LJMP BO
ORG 0013H
LJMP CLOSE
ORG 0040H
STAR:
MOV SP,#60H
MOV P0,#0H
CLR P2.3
MOV R2,#2
DELAY0:MOV R3,#150 //延时30S
DELAY1:MOV R4,#200
DELAY2:MOV R5,#250
DELAY3:DJNZ R5,DELAY3
DJNZ R4,DELAY2
DJNZ R3,DELAY1
DJNZ R2,DELAY0
CLR P2.0
SETB EA
SETB EX1
SETB IT1
SCAN:MOV C,P2.3 //扫描
JC SCAN2
LJMP SCAN
SCAN2:
LCALL DE
MOV C,P2.3
JNC SCAN
LCALL ALARM
SCAN3:MOV C,P2.3 //传感器高电平是否结束
JNC SCAN
LJMP SCAN3
DE: //延时0.1s
MOV R3,#1
DE1:MOV R4,#200
DE2:MOV R5,#250
DE3:DJNZ R5,DE3
DJNZ R4,DE2
DJNZ R3,DE1
ALARM:
SETB ET0
SETB TR0
MOV TMOD,#01H
LJMP BO
BO: //计时器0产生方波
MOV P0,#79H
MOV TL0,#83H
MOV TH0,#0FFH
CPL P2.1
CPL P2.2
RETI
CLOSE:MOV P0,#0H //关闭报警
CLR ET0
SETB P2.1
SETB P2.2
RETI
END
|