找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5848|回復: 2
打印 上一主題 下一主題
收起左側(cè)

單片機工業(yè)控制程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60416 發(fā)表于 2014-10-13 11:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
;工業(yè)控制程序
;實驗?zāi)康?
;1.掌握單片機開發(fā)系統(tǒng)的使用
;2.掌握一次性在線仿真調(diào)試的全過程
;3.掌單片機如何編程及中斷的應(yīng)用
;實驗原理:
;在工業(yè)控制中,象沖壓、注塑、輕紡、制瓶等生產(chǎn)過程,都是一些斷續(xù)生產(chǎn)過程,
;這些斷續(xù)生產(chǎn)過程又都是按某種順序有規(guī)律地完成預定的動作。對這類斷續(xù)生
;產(chǎn)過程的控制稱順序控制。
;例如注塑機要生產(chǎn)一個工件,其工藝過程大致按"合�!⑸洹訒r→開模
; →產(chǎn)伸→產(chǎn)退"這么個時間順序動作。這種順序控制采用單片機是很容易實現(xiàn)的。
;本實驗是以控制注塑機為例而設(shè)計的典型時間順序控制實驗。   
   ; 我們把89XX P0口的0-6位依次用發(fā)光二極管作為模擬輸出指示,
;共分7道工序,P1.7為聲光報警,P3.4為開工啟動開關(guān),P3.2,P3.3為外部故障輸入模擬開關(guān),
;低電平告警。
;為了問題簡單化,我們設(shè)定每道工序只有一位有輸出(高電平燈亮),工作流程表如下:
;P0.7  P0.6  P0.5  P0.4  P0.3  P0.2  P0.1  P0.0  工序  控制字
;0     0     0     0     0     0     0     1     1     01H
;0     0     0     0     0     0     1     0     2     02H
;0     0     0     0     0     1     0     0     3     04H
;0     0     0     0     1     0     0     0     4     08H
;0     0     0     1     0     0     0     0     5     10H
;0     0     1     0     0     0     0     0     6     20H
;0     1     0     0     0     0     0     0     0     40H
;1     0     0     0     0     0     0     0     0     80H
;以上設(shè)硬件接線為高電平有效,如果設(shè)硬件接線為低電平有效(灌電流,減小CPU功耗),
;LED燈亮,你又如何寫出控制字!請你畫出程序流程圖!
        ORG     0000H  ;工業(yè)順序控制程序
        AJMP    MIN  ;轉(zhuǎn)主程序
        ORG     0003H  ;INT0中斷入口地址
        AJMP    INTA  ;轉(zhuǎn)中斷服務(wù)程序
        ORG     0013H  ; INT1中斷入口地址
        AJMP    INTB  ;轉(zhuǎn)中斷服務(wù)程序
        ORG     0050H  ;主程序
MIN:  MOV SP,#50H   
MOV     P0,#0FFH ;關(guān)P0口(設(shè)高電平LED燈亮)
        MOV     P3,#0FFH ;關(guān)P3口(設(shè)低電平工作
L0056:  JNB     T0,$  ;等開工(P3.4)
        ORL     IE,#85H  ;允許INT0,INT1中斷
        ORL     IP,#04H  ;設(shè)為INT1為優(yōu)先中斷
L005F:  MOV     P0,#0FEH ;執(zhí)行工序1
        ACALL   S00E0  ;延時
        MOV     P0,#0FDH ; 執(zhí)行工序2
        ACALL   S00E0  ;
        MOV     P0,#0FBH ; 執(zhí)行工序3
        ACALL   S00E0  ;
        MOV     P0,#0F7H ; 執(zhí)行工序4
        ACALL   S00E0  ;
        MOV     P0,#0EFH ; 執(zhí)行工序5
        ACALL   S00E0  ;
        MOV     P0,#0DFH ; 執(zhí)行工序6
        ACALL   S00E0  ;
        MOV     P0,#0BFH ; 執(zhí)行工序7
        ACALL   S00E0  ;
MOV P0,#7FH  ;執(zhí)行工序8
        ACALL   S00E0  ;
        SJMP    L005F  ;循環(huán)
        ORG     0090H  ;INT0中斷服務(wù)程序
INTA:   MOV     B,R2  ;保護現(xiàn)場
        MOV     P0,#0FFH ;關(guān)輸出
        MOV     20H,#0F0H ;報警聲參數(shù)
L0098:  SETB    P1.7  ;P1.7輸出報警聲
        ACALL   S00D0  ;延時時間比INT1長
        CLR     P1.7   ;
        ACALL   S00D0  ;
        DJNZ    20H,L0098 ;不為零轉(zhuǎn)
        CLR     P1.7   ;
        ACALL   S00E0  ;
        JNB     INT0,L0098 ;INT0為零繼續(xù)報警
        MOV     R2,B  ; INT0為1不報警,恢復現(xiàn)場
        SETB    P1.7
RETI      ;中斷返回
ORG 00B0H   ; INT1中斷服務(wù)程序
INTB:   MOV     B,R2  ; 保護現(xiàn)場
        MOV     P1,#0FFH ; 關(guān)輸出
        MOV     B,#20H  ; 報警聲參數(shù)
L00B8:  SETB    P1.7  ; P1.7輸出報警聲
        ACALL   S00D6  ; 延時時間比INT0短
        CLR     P1.7   ;
        ACALL   S00D6  ;
        DJNZ    20H,L00B8 ; 不為零轉(zhuǎn)
        CLR     P1.7   ;
        ACALL   S00E0  ;
        JNB     INT1,L00B8 ; INT1為零繼續(xù)報警
        MOV     R2,B  ; INT1為1不報警,恢復現(xiàn)? SETB    P1.7
        RETI      ; 中斷返回
  ORG  00D0H
S00D0:  MOV     R2,#07H  ;
        ACALL   S00EB  ;
        RET         ;
  ORG  00D6H
S00D6:  MOV     R2,#05H  ;
        ACALL   S00EB
        RET     
        ORG     00E0H  ;
S00E0:  MOV     R2,#25H
        ACALL   S00EB
RET
        ORG     00EBH  ;通用延時子程序
S00EB:  PUSH    02H  ;R2(復位后R2即為02H)存放時間常數(shù),進棧保護
L00ED:  PUSH    02H  ; R2進棧保護
L00EF:  PUSH    02H  ; 進棧
L00F1:  DJNZ    R2,$  ;R2不為零等待
        POP     02H  ;出棧
        DJNZ    R2,L00EF ; R2不為零轉(zhuǎn)
        POP     02H  ; 出棧
        DJNZ    R2,L00ED ; R2不為零轉(zhuǎn)
        POP     02H  ; 出棧
        DJNZ    R2,S00EB ; R2不為零轉(zhuǎn)
        RET       ;子程序返回
        END


評分

參與人數(shù) 1黑幣 +5 收起 理由
舞風 + 5 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:76408 發(fā)表于 2018-1-31 16:54 | 只看該作者
好東西,收藏了。謝謝。
回復

使用道具 舉報

板凳
ID:340011 發(fā)表于 2018-5-28 19:06 | 只看該作者
喜歡實用的,贊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表