{SH%XQ3G@3Q(7U27~LBP8Y4.png (31.9 KB, 下載次數: 43)
下載附件
2020-12-16 18:06 上傳
15BFD0EA6E25078C01AF99EDF516B691.png (388.81 KB, 下載次數: 32)
下載附件
2020-12-16 18:07 上傳
右圖是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
|