欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
電梯控制系統匯編語言程序
[打印本頁]
作者:
mmn188
時間:
2018-4-27 17:15
標題:
電梯控制系統匯編語言程序
電梯控制系統匯編語言程序
單片機源程序如下:
ORG 0000H
AJMP START
ORG 000BH
AJMP TIME
ORG 001BH
AJMP TIME1
;*********START啟動程序***********
START: MOV TMOD,#11H
MOV IE,#8AH
MOV TH0,#3CH ;定時100ms
MOV TL0,#0B0H
MOV TH1,#0ECH ;定時10ms
MOV TL1,#78H
SETB TR0
MOV SP,#6FH
;*********STOP停止程序***********
STOP: CLR P0.6
CLR P0.7
MOV R3,#0
MOV DPTR,#06H ;數碼管顯示“1”
JB P1.7,$ ;等待開始工作指令
CLR P2.4
CLR P2.5 ;電動機制動
SETB P0.6
SETB P2.7 ;蜂鳴器報警
SETB TR1 ;啟動T1
;10ms一次讀取按鍵
;*********一樓上升按鍵選擇程序***********
UP1: MOV A,20H ;目前在1樓
ORL A,21H ;取得>1樓請求情況
ORL A,22H
ANL A,#0EH
JZ UP1 ;無請求,則等待
CLR P0.7 ;上升指示燈亮
SETB P2.5
SETB P2.7 ;電動機正轉上升
;*********二樓上升按鍵選擇程序***********
UP2: MOV DPTR,#5BH ;到達2樓,數碼管顯示“2”
JB 20H.1,UP21 ;是2樓電梯間的上升請求,轉UP21
JB 22H.1,UP21 ;是電梯內目標2樓請求,轉UP21
SJMP UP22
UP21: CLR 20H.1 ;清二樓電梯間上升請求標志位
CLR 22H.1 ;清電梯內目標2樓請求標志位
SETB P0.7 ;上升指示燈滅
SETB P2.4
SETB P2.6 ;電機正轉電梯門開
MOV R2,#0 ;5s定時開始
CJNE R2,#50,$ ;等待5s延時
CLR P2.6 ;門關
SETB P2.5
SETB P2.7 ;電動機正轉上升
UP22: MOV A,20H
ORL A,21H
ORL A,22H
ANL A,#0CH ;取得>2樓請求情況
JNZ UP23
AJMP DOWN22 ;>2樓無請求,轉2樓下降
UP23: CLR P0.7 ;上升指示燈亮
SETB P2.5
SETB P2.7 ;電動機正轉上升
;*********三樓上升按鍵選擇程序***********
UP3: MOV DPTR,#4FH ;到達3樓,數碼管顯示“3”
JB 20H.2,UP31 ;是3樓電梯間的上升請求,轉UP31
JB 22H.2,UP31 ;是電梯內目標3樓請求,轉UP31
SJMP UP32
UP31: CLR 20H.1 ;清3樓電梯間上升請求標志位
CLR 22H.1 ;清電梯內目標3樓請求標志位
SETB P0.7 ;上升指示燈滅
SETB P2.4
SETB P2.6 ;門開
MOV R2,#0 ;5s定時開始
CJNE R2,#50,$ ;等待5s延時
CLR P2.6 ;門關
SETB P2.5
SETB P2.7 ;電動機正轉上升
UP32: MOV A,20H
ORL A,21H
ORL A,22H
ANL A,#08H ;取得>3樓請求情況
JNZ UP33
AJMP DOWN32 ;>3樓無請求,轉3樓下降
UP33: CLR P0.7 ;上升指示燈亮
SETB P2.5
SETB P2.7 ;電動機正轉上升
UP34: MOV DPTR,#66H ;到達4樓,數碼管顯示“4”
;*********四樓下降按鍵選擇程序***********
UP41: CLR 20H.3 ;清4樓電梯間下降請求標志位
CLR 22H.3 ;清電梯內目標4樓請求標志位
SETB P0.7 ;上升指示燈滅
SETB P2.4
SETB P2.6 ;門開
MOV R2,#0 ;5s定時開始
CJNE R2,#50,$ ;等待5s延時
CLR P2.6 ;門關
SETB P2.5
SETB P2.7 ;電動機正轉上升
UD4: MOV A,50H
ORL A,21H
ORL A,22H
ANL A,#07H ;取得<4樓的請求情況
JNZ DOWN4
AJMP UD4
DOWN4: CLR P0.6 ;下降指示燈亮
SETB P2.5
CLR P2.7 ;下降
;*********三樓下降按鍵選擇程序***********
DOWN3: MOV DPTR,#4FH ;到達3樓,數碼管顯示“3”
JB 21H.2,DOWN31 ;是3樓電梯間的下降請求,轉DOWN31
JB 22H.2,DOWN31 ;是電梯內目標3樓請求,轉DOWN31
SJMP DOWN32
DOWN31:CLR 21H.2 ;清3樓電梯間下降請求標志位
CLR 22H.2 ;清電梯內目標3樓請求標志位
SETB P0.6 ;下降指示燈滅
SETB P2.4
SETB P2.6 ;門開
MOV R2,#0 ;5s定時開始
CJNE R2,#50,$ ;等待5s延時
CLR P2.6 ;門關
SETB P2.5
CLR P2.7 ;下降
DOWN32:MOV A,20H
ORL A,21H
ORL A,22H
ANL A,#03H ;取得<3樓的請求情況
JNZ DOWN33
AJMP UP32 ;<3無樓請求,轉3樓上升
DOWN33:CLR P0.6 ;下降指示燈亮
SETB P2.5
CLR P2.7 ;下降
;*********二樓下降按鍵選擇程序***********
DOWN2: MOV DPTR,#5BH ;到達2樓,數碼管顯示“2”
JB 21H.1,DOWN21 ;是2電梯間的下降請求,轉DOWN21
JB 22H.1,DOWN2 ;是電梯內目標3樓請求,轉DOWN21
SJMP DOWN22
DOWN21:CLR 21H.1 ;清2樓電梯間下降請求標志位
CLR 22H.1 ;清電梯內目標2樓請求標志位
SETB P0.6 ;下降指示燈滅
SETB P2.4
SETB P2.6 ;門開
MOV R2,#0 ;5s定時開始
CJNE R2,#50,$ ;等待5s延時
CLR P2.6 ;門關
SETB P2.5
CLR P2.7 ;下降
DOWN22:MOV A,20H
ORL A,21H
ORL A,22H
ANL A,#02H ;取得<2的請求情況
JNZ DOWN23
AJMP UP22 ;<2樓請求,轉2樓上升
DOWN23:CLR P0.6 ;下降指示燈亮
SETB P2.5
CLR P2.7 ;下降
DOWN1: MOV DPTR,#06H ;到達1,數碼管顯示“1”
DOWN11:CLR 21H.0 ;清電梯內目標1請求標志位
SETB P0.6 ;下降指示燈滅
SETB P2.4
SETB P2.6 ;門開
MOV R2,#0 ;5s定時開始
CJNE R2,#50,$ ;等待5s延時
CLR P2.6 ;門關
SETB P2.5
CLR P2.7 ;下降
CJNE R3,#0,DOWN12 ;Stop鍵是否按下過
AJMP UP1
DOWN12:CLR P0.6 ;若Stop鍵按下過,轉S1停止工作
CLR P0.7
AJMP STOP
;定時器T0中斷服務程序:5s計時
TIME: MOV TH0,#3CH
MOV TL0,#0B0H
INC R2 ;R2計數器
RETI
;********* T1中斷服務程序:按鍵狀態檢查***********
TIME1: MOV TH1,#0ECH ;每10s檢查一次按鍵
MOV TL1,#78H
MOV 6EH,A
MOV 30H,P1 ;讀入所有按鍵狀態
MOV 31H,P3
JB P1.6,TIME11 ;若Stop鍵未按下,則正常運行
MOV R3,#0FFH ;Stop鍵按下,標志R3置非0數
MOV 20H,#0 ;清除全部電梯間上升請求
MOV 21H,#0 ;清除全部電梯間下降請求
MOV 22H,#0 ;清除全部電梯內目標樓層請求
MOV 30H,#0FFH ;修改讀入的按鍵狀態,使之為
MOV 31H,#0FEH ;電梯內目標為一樓
CLR TR1 ;并關閉T1,不再讀取按鍵
TIME11: MOV A,30H
CPL A
ANL A,#07H ;取得電梯間上升請求
ORL 20H,A
MOV A,20H ;取得上升指示燈狀態
CPL A
ANL A,#07H
MOV 32H,A
MOV A,30H
CPL A
ANL A,#38H ;取得電梯間下降請求
RR A
RR A
ORL 21H,A
MOV A,21H
CPL A
ANL A,#0EH
RL A
RL A
ORL 32H,A
MOV A,P0
ANL A,#0C0H
ORL A,32H
MOV P0,A ;刷新上升、下降請求指示燈
MOV A,31H
ANL A,#0FH ;取得電梯內目標樓層請求
ORL 22H,A
MOV A,22H
CPL A
MOV P2,A ;刷新電梯內目標樓層指示燈
TIME12: MOV A,6EH
RETI
;********* 2s延時程序***********
DLY: MOV R5,#20
DLY1: MOV R6,#100
DLY2: MOV R7,#250
DJNZ R7,$
DJNZ R6,DLY2
DJNZ R5,DLY1
RET
END
;**************** PWM控制電梯門開關程序 ************************
ORG 0000H
LMP START
ORG 000EH
LMP ZDCX
ORG 0100H
START:MOV SP,#30H ;系統初始化,定時值為0.1
MOV DPTR,#TAB
MOV TL0,#9CH
MOV TH0,#9CH
MOV TMOD,#02H ;定時器T0工作方式2
MOV IE,#82H
SETB TR0
LCALL QUZHI ;取第一個R0的值
MOV R0,#A
CLR P2.4
LP: JNB 20H,LP ;輸出PWM波形
CLR 20H
DJNZ R0,LP
CPL P2.4
LCALL QUZHI;
CNE #55H,LP1 ;當所取的數是結束標志55時,
;程序重新開始
LMP START
LP1:MOV R0,A
LMP LP
QUZHI:MOV A,#00H ;取值子程序
MOVC A,@+DPTR
INC DPTR
RET
ZDCX:SETB 20H
RETI
TAB:DB 7,6,15,12,24,6,30,6,24,12,15,6,7,55 ;55為結束標志
END
;*************PWM控制電梯上升與下降程序*************
ORG 0000H
LMP START
ORG 000EH
LMP ZDCX
ORG 0100H
START:MOV SP,#30H
MOV DPTR,#TAB
MOV TL0,#9CH
MOV TH0,#9CH
MOV TMOD,#02H
MOV IE,#82H
SETB TR0
LCALL QUZHI
MOV R0,#A
CLR P2.5
LP: JNB 20H,LP
CLR 20H
DJNZ R0,LP
CPL P2.5
LCALL QUZHI;
CNE #55H,LP1
LMP START
LP1:MOV R0,A
LMP LP
QUZHI:MOV A,#00H
MOVC A,@+DPTR
INC DPTR
RET
ZDCX:SETB 20H
RETI
TAB:DB 5,10,15,20,5,10,15,5,5,10,15,20,5,10,5,55
END
復制代碼
單片機.doc
2018-4-27 17:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
296.05 KB, 下載次數: 17, 下載積分: 黑幣 -5
電梯控制系統匯編語言程序
作者:
sdhfg
時間:
2020-11-15 16:47
有電路圖嗎
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1