單片機(jī)的工業(yè)順序控制實(shí)驗(yàn)
掌握工業(yè)順序控制程序的簡單編程,中斷的使用。
實(shí)驗(yàn)內(nèi)容
1.實(shí)驗(yàn)原理圖:
2.實(shí)驗(yàn)內(nèi)容
8032的P1.0—P1.6控制注塑機(jī)的七道工序,現(xiàn)模擬控制七只發(fā)光二極管的點(diǎn)亮,高電平有效,設(shè)定每道工序時(shí)間轉(zhuǎn)換為延時(shí),P3.4為開工啟動(dòng)開關(guān),低電平啟動(dòng)。P3.3為外故障輸入模擬開關(guān),P3.3為0時(shí)不斷告警。P1.7為報(bào)警聲音輸出,設(shè)定6道工序只有一位輸出,第七道工序三位有輸出。
3、實(shí)驗(yàn)說明
實(shí)驗(yàn)中用外部中斷0,編中斷服務(wù)程序的關(guān)鍵是:
(1)保護(hù)進(jìn)入中斷時(shí)的狀態(tài),并在退出中斷之前恢復(fù)進(jìn)入狀態(tài)。
(2)必須在中斷程序中設(shè)定是否允許中斷重入,即設(shè)置EX0位。
一般中斷程序進(jìn)入時(shí)應(yīng)保護(hù)PSW、ACC以及中斷程序使用但非其專用的寄存器,本實(shí)驗(yàn)中未涉及。
三、程序
程序清單:
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
四、實(shí)驗(yàn)步驟
① P3.4連K1,P3.2連K2,P1.0—P1.6分別連到L1—L7,P1.7連SIN(電子音響輸入端)。
②K1開關(guān)撥在上面,K2撥在上面。
③用連續(xù)方式從起始地址0580H開始運(yùn)行程序(輸入0580后按EXEC鍵),此時(shí)應(yīng)在等待開工狀態(tài)。
④K1撥至下面(顯低電平),各道工序應(yīng)正常運(yùn)行。
⑤K2撥至下面(低電平),應(yīng)有聲音報(bào)警(人為設(shè)置故障)。
⑥K2撥至上面(高電平),即排除故障,程序應(yīng)從剛才報(bào)警的那道工序繼續(xù)執(zhí)行。
評論