以下是小弟寫的一個用作本公司保護測試站的一個小程序,我是第一次搞單片機,我在做軟傘件仿真時出現第七項超限.看不明白咋回事 ?請各會大是俠指點!!!
START: JNB P0.1,L1 ;有PG嗎?有PG就進行下一步測試
L1: CLR P1.0 ;3.3V短路RELAY ON
LCALL DELAY ;調用延遲參數
SETB P1.0 ;3.3V短路RELAY OFF
LCALL DELAY ;調用延遲參數
LCALL PS ;PS-ON開關啟動
JB P0.1,NG ;有PG嗎?有PG進行下一步測試,沒PG就停止測試,FALL燈亮,蜂鳴器長鳴
JNB P0.1,L2 ;檢測到PG信號,可以進行下一步測試
L2: CLR P1.2 ;5V短路RELAY ON
LCALL DELAY ;調用延遲參數
SETB P1.2 ;5V短路RELAY OFF
LCALL DELAY ;調用延遲參數
LCALL PS ;PS-ON開關啟動
JB P0.1,NG ;有PG嗎?有PG進行下一步測試,沒PG就停止測試,FALL燈亮,蜂鳴器長鳴
JNB P0.1,L3 ;檢測到PG信號,可以進行下一步測試
L3: CLR P1.3 ;12V短路RELAY ON
LCALL DELAY ;調用延遲參數
SETB P1.3 ;12V短路RELAY OFF
LCALL DELAY ;調用延遲參數
LCALL PS ;PS-ON開關啟動
JB P0.1,NG ;有PG嗎?有PG進行下一步測試,沒PG就停止測試,FALL燈亮,蜂鳴器長鳴
JNB P0.1,L4 ;檢測到PG信號,可以進行下一步測試
L4: CLR P0.0 ;切換到輕載測試OVP
LCALL DELAY ;調用延遲參數
CLR P1.4 ;3.3V過壓保護RELAY ON
LCALL DELAY ;調用延遲參數
SETB P1.4 ;3.3V過壓保護RELAY OFF
LCALL DELAY ;調用延遲參數
LCALL PS ;PS-ON開關啟動
JB P0.1,NG ;有PG嗎?有PG進行下一步測試,沒PG就停止測試,FALL燈亮,蜂鳴器長鳴
JNB P0.1,L5 ;檢測到PG信號,可以進行下一步測試
L5: CLR P1.5 ;5V過壓保護RELAY ON
LCALL DELAY ;調用延遲參數
SETB P1.5 ;5V過壓保護RELAY OFF
LCALL DELAY ;調用延遲參數
LCALL PS ;PS-ON開關啟動
JB P0.1,NG ;有PG嗎?有PG進行下一步測試,沒PG就停止測試,FALL燈亮,蜂鳴器長鳴
JNB P0.1,L6 ;檢測到PG信號,可以進行下一步測試
L6: CLR P1.6 ;12V過壓保護RELAY ON
LCALL DELAY ;調用延遲參數
SETB P1.6 ;12V過壓保護RELAY OFF
LCALL DELAY ;調用延遲參數
LCALL PS ;PS-ON開關啟動
SETB P0.0 ;切換到重載準備測試OCP
LCALL DELAY ;調用延遲參數
JB P0.1,NG ;有PG嗎?有PG進行下一步測試,沒PG就停止測試,FALL燈亮,蜂鳴器長鳴
JNB P0.1,PASS ;檢測到PG信號,可以進行下一步測試,PASS燈亮,進入自動脫PIN程序
PASS: CLR P0.2 ;PASS燈亮并拖PIN
DELAY: MOV R5,#40 ;延時時間0.4S
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
PS: CLR P1.1 ;位向反
LCALL DELAY ;調用延遲
SETB P1.1 ;位向復位
RET
NG: CLR P1.7 ;位向反
RET
END