在工業控制中,象沖壓、注塑、輕紡、制瓶等生產過程,都是一些繼續生產過程,按某種順序有規律地完成預定的動作,對這類繼續生產過程的控制稱為稱順序控制,例注塑機工藝過程大致按"合模→注射→延時→開模→產伸→產退"順序動作,用單片機最易實現。 P1.0~P1.6控制七只發光二極管的點亮,模擬注塑機的七道工序,低電平有效,設定每道工序時間轉換為延時。P3.4為開工啟動開關,高電平啟動;P3.3為外部故障輸入模擬信號,低電平報警;P1.7為報警聲音輸出。設定前6道工序每道工序只有一位輸出低電平點亮一位LED,第七道工序三位有輸出,點亮三位LED。
圖片1.png (10.36 KB, 下載次數: 52)
下載附件
2019-11-29 07:21 上傳
注意程序中將P1.7改成了P2.7 把八路撥動開關某兩位用兩條數據線,分別接P3.3、P3.4,然后把P1 口的P1.0-P1.連接到八路LED指示燈。用P2.7口接蜂鳴器。按圖接好連線。 把P3.3 撥到高電平,然后執行程序,把P3.4撥到高電平,開工啟動流水線,觀察發光二極管點亮情況,確定工序執行是否正常。然后把P3.3置為低電平,看是否有聲音報警,然后撤銷中斷。觀察報警是否停止,是否從剛才報警時一道程序執行下去。- ORG 0000H
- AJMP MAIN
- ORG 0013H
- AJMP IX1P
- ORG 0500H
- MAIN: MOV SP,#60H
- ORL IE,#84H;10000001B EA = 1; EX1 = 1
- ;開外部中斷1
- PO11: JB P3.4,PO12
- JNB P3.4,PO11
- IX1P: MOV B, R2 ;保護現場
- PO17: MOV P1,#0FFH;報警,停止所有工序
- MOV 20H, #0A0H ;振蕩次數
- PO18: SETB P2.7 ;振蕩
- ACALL PO1A ;延時
- CLR P2.7 ;停振
- ACALL PO1A ;延時
- DJNZ 20H, PO18 ;不為0轉
- CLR P2.7 ;停振
- ACALL PO1A
- JNB P3.3, PO17 ;故障消除嗎?
- MOV R2, B ;恢復現場
- RETI
- PO12: MOV P1, #0FEH ;第一道工序
- ACALL PO1B
- MOV P1, #0FDH ;第二道工序
- ACALL PO1B
- MOV P1, #0FBH ;第三道工序
- ACALL PO1B
- MOV P1, #0F7H ;第四道工序
- ACALL PO1B
- MOV P1, #0EFH ;第五道工序
- ACALL PO1B
- MOV P1, #0DFH ;第六道工序
- ACALL PO1B
- MOV P1, #8FH ;第七道工序
- ACALL PO1B
- SJMP PO11
- PO19: MOV R2, #10H
- ACALL DELY ;延時1
- RET
- PO1A: MOV R2, #06H
- ACALL DELY ;延時2
- RET
- PO1B: MOV R2, #30H
- ACALL DELY ;延時3
- RET
- ORG 0200H
- DELY: PUSH 02H ;R2設置延時時間
- DEL2: PUSH 02H
- DEL3: PUSH 02H
- DEL4: DJNZ R2,DEL4
- POP 02H
- DJNZ R2,DEL3
- POP 02H
- DJNZ R2,DEL2
- POP 02H
- DJNZ R2,DELY
- RET
- END
復制代碼
|