基于單片機的工業(yè)順序控制
掌握工業(yè)順序控制程序的簡單編程,中斷的使用。
實驗內(nèi)容
1.實驗原理圖:
2.實驗內(nèi)容
8032的P1.0—P1.6控制注塑機的七道工序,現(xiàn)模擬控制七只發(fā)光二極管的點亮,高電平有效,設(shè)定每道工序時間轉(zhuǎn)換為延時,P3.4為開工啟動開關(guān),低電平啟動。P3.3為外故障輸入模擬開關(guān),P3.3為0時不斷告警。P1.7為報警聲音輸出,設(shè)定6道工序只有一位輸出,第七道工序三位有輸出。
3、實驗說明
實驗中用外部中斷0,編中斷服務(wù)程序的關(guān)鍵是:
(1)保護進入中斷時的狀態(tài),并在退出中斷之前恢復(fù)進入狀態(tài)。
(2)必須在中斷程序中設(shè)定是否允許中斷重入,即設(shè)置EX0位。
一般中斷程序進入時應(yīng)保護PSW、ACC以及中斷程序使用但非其專用的寄存器,本實驗中未涉及。
三、程序
程序清單:
ORG 0013H
LJMP HA2S3
ORG 0580H
HA2S: MOV P1,#07FH
ORL P3,#00H
HA2S1: JNB P3.4,HA2S1
ORL IE,#84H
ORL IP,#04H
MOV PSW,#00H
MOV SP,#53H
HA2S2: MOV P1,#07EH
ACALL HA2S7
MOV P1,#07DH
ACALL HA2S7
MOV P1,#07BH
ACALL HA2S7
MOV P1,#077H
ACALL HA2S7
MOV P1,#06FH
ACALL HA2S7
MOV P1,#05FH
ACALL HA2S7
MOV P1,#03FH
ACALL HA2S7
SJMP HA2S2
HA2S3: MOV B,R2
HA2S4: MOV P1,#07FH
MOV 20H,#0A0H
HA2S5: SETB P1.7
ACALL HA2S6
CLR P1.7
ACALL HA2S6
DJNZ 20H,HA2S5
CLR P1.7
ACALL HA2S6
JNB P3.2,HA2S4
MOV R2,B
RETI
HA2S6: MOV R2,#06H
ACALL DELAY
RET
HA2S7: MOV R2,#30H
ACALL DELAY
RET
DELAY: PUSH 02H
DELAY1: PUSH 02H
DELAY2: PUSH 02H
DELAY3: DJNZ R2,DELAY3
POP 02H
DJNZ R2,DELAY2
POP 02H
DJNZ R2,DELAY1
POP 02H
DJNZ R2,DELAY
RET
END
四、實驗步驟
① P3.4連K1,P3.2連K2,P1.0—P1.6分別連到L1—L7,P1.7連SIN(電子音響輸入端)。
②K1開關(guān)撥在上面,K2撥在上面。
③用連續(xù)方式從起始地址0580H開始運行程序(輸入0580后按EXEC鍵),此時應(yīng)在等待開工狀態(tài)。
④K1撥至下面(顯低電平),各道工序應(yīng)正常運行。
⑤K2撥至下面(低電平),應(yīng)有聲音報警(人為設(shè)置故障)。
⑥K2撥至上面(高電平),即排除故障,程序應(yīng)從剛才報警的那道工序繼續(xù)執(zhí)行。
評論