標(biāo)題: 51單片機(jī)工業(yè)流程控制匯編代碼 [打印本頁]
作者: a779097484 時間: 2019-11-29 07:22
標(biāo)題: 51單片機(jī)工業(yè)流程控制匯編代碼
在工業(yè)控制中,象沖壓、注塑、輕紡、制瓶等生產(chǎn)過程,都是一些繼續(xù)生產(chǎn)過程,按某種順序有規(guī)律地完成預(yù)定的動作,對這類繼續(xù)生產(chǎn)過程的控制稱為稱順序控制,例注塑機(jī)工藝過程大致按"合模→注射→延時→開模→產(chǎn)伸→產(chǎn)退"順序動作,用單片機(jī)最易實現(xiàn)。
P1.0~P1.6控制七只發(fā)光二極管的點亮,模擬注塑機(jī)的七道工序,低電平有效,設(shè)定每道工序時間轉(zhuǎn)換為延時。P3.4為開工啟動開關(guān),高電平啟動;P3.3為外部故障輸入模擬信號,低電平報警;P1.7為報警聲音輸出。設(shè)定前6道工序每道工序只有一位輸出低電平點亮一位LED,第七道工序三位有輸出,點亮三位LED。
圖片1.png (10.36 KB, 下載次數(shù): 52)
下載附件
2019-11-29 07:21 上傳
注意程序中將P1.7改成了P2.7
把八路撥動開關(guān)某兩位用兩條數(shù)據(jù)線,分別接P3.3、P3.4,然后把P1 口的P1.0-P1.連接到八路LED指示燈。用P2.7口接蜂鳴器。按圖接好連線。
把P3.3
撥到高電平,然后執(zhí)行程序,把P3.4撥到高電平,開工啟動流水線,觀察發(fā)光二極管點亮情況,確定工序執(zhí)行是否正常。然后把P3.3置為低電平,看是否有聲音報警,然后撤銷中斷。觀察報警是否停止,是否從剛才報警時一道程序執(zhí)行下去。- 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 ;保護(hù)現(xiàn)場
- PO17: MOV P1,#0FFH;報警,停止所有工序
- MOV 20H, #0A0H ;振蕩次數(shù)
- PO18: SETB P2.7 ;振蕩
- ACALL PO1A ;延時
- CLR P2.7 ;停振
- ACALL PO1A ;延時
- DJNZ 20H, PO18 ;不為0轉(zhuǎn)
- CLR P2.7 ;停振
- ACALL PO1A
- JNB P3.3, PO17 ;故障消除嗎?
- MOV R2, B ;恢復(fù)現(xiàn)場
- 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設(shè)置延時時間
- 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
復(fù)制代碼
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |