欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3520|回復: 1
收起左側

電梯控制系統匯編語言程序

[復制鏈接]
ID:317930 發表于 2018-4-27 17:15 | 顯示全部樓層 |閱讀模式
電梯控制系統匯編語言程序
單片機源程序如下:
  1.          ORG     0000H
  2.          AJMP    START
  3.          ORG     000BH
  4.          AJMP    TIME
  5.          ORG     001BH
  6.          AJMP    TIME1
  7. ;*********START啟動程序***********
  8. START: MOV    TMOD,#11H
  9.           MOV    IE,#8AH
  10.           MOV    TH0,#3CH       ;定時100ms
  11.           MOV    TL0,#0B0H
  12.           MOV    TH1,#0ECH      ;定時10ms
  13.           MOV    TL1,#78H
  14.           SETB   TR0
  15.           MOV    SP,#6FH
  16. ;*********STOP停止程序***********
  17. STOP:    CLR     P0.6
  18.           CLR     P0.7
  19.           MOV    R3,#0
  20.           MOV    DPTR,#06H       ;數碼管顯示“1”
  21.           JB      P1.7,$         ;等待開始工作指令
  22.           CLR     P2.4
  23.           CLR     P2.5            ;電動機制動
  24.           SETB    P0.6
  25.           SETB    P2.7            ;蜂鳴器報警
  26.           SETB   TR1              ;啟動T1
  27.                                    ;10ms一次讀取按鍵
  28. ;*********一樓上升按鍵選擇程序***********
  29. UP1:     MOV    A,20H         ;目前在1樓
  30.            ORL    A,21H          ;取得>1樓請求情況
  31.            ORL    A,22H
  32.            ANL    A,#0EH
  33.            JZ      UP1             ;無請求,則等待
  34.            CLR    P0.7             ;上升指示燈亮
  35.            SETB   P2.5              
  36.            SETB   P2.7             ;電動機正轉上升
  37. ;*********二樓上升按鍵選擇程序***********
  38. UP2:     MOV   DPTR,#5BH       ;到達2樓,數碼管顯示“2”
  39.            JB      20H.1,UP21    ;是2樓電梯間的上升請求,轉UP21
  40.            JB      22H.1,UP21    ;是電梯內目標2樓請求,轉UP21
  41.            SJMP   UP22
  42. UP21:    CLR     20H.1       ;清二樓電梯間上升請求標志位
  43.            CLR     22H.1       ;清電梯內目標2樓請求標志位
  44.            SETB    P0.7        ;上升指示燈滅
  45. SETB    P2.4
  46.            SETB    P2.6           ;電機正轉電梯門開
  47.            MOV     R2,#0     ;5s定時開始
  48.            CJNE    R2,#50,$   ;等待5s延時
  49.            CLR     P2.6             ;門關
  50. SETB   P2.5              
  51.            SETB   P2.7             ;電動機正轉上升
  52. UP22:    MOV    A,20H
  53.            ORL     A,21H
  54.            ORL     A,22H
  55.            ANL     A,#0CH        ;取得>2樓請求情況
  56.            JNZ      UP23
  57.            AJMP     DOWN22        ;>2樓無請求,轉2樓下降
  58. UP23:     CLR     P0.7             ;上升指示燈亮
  59. SETB   P2.5
  60.            SETB   P2.7             ;電動機正轉上升
  61.          
  62. ;*********三樓上升按鍵選擇程序***********
  63. UP3:      MOV   DPTR,#4FH         ;到達3樓,數碼管顯示“3”
  64.             JB     20H.2,UP31        ;是3樓電梯間的上升請求,轉UP31
  65.             JB     22H.2,UP31       ;是電梯內目標3樓請求,轉UP31
  66.            SJMP   UP32
  67. UP31:     CLR    20H.1            ;清3樓電梯間上升請求標志位
  68.            CLR     22H.1            ;清電梯內目標3樓請求標志位
  69.            SETB    P0.7             ;上升指示燈滅
  70. SETB    P2.4            
  71. SETB    P2.6            ;門開
  72. MOV    R2,#0           ;5s定時開始
  73. CJNE    R2,#50,$       ;等待5s延時        
  74. CLR     P2.6             ;門關
  75. SETB   P2.5
  76.            SETB   P2.7             ;電動機正轉上升
  77.          
  78. UP32:     MOV    A,20H  
  79.            ORL     A,21H
  80.            ORL     A,22H
  81.            ANL     A,#08H           ;取得>3樓請求情況
  82.            JNZ      UP33
  83.            AJMP    DOWN32           ;>3樓無請求,轉3樓下降
  84. UP33:     CLR     P0.7                ;上升指示燈亮
  85. SETB   P2.5
  86.            SETB   P2.7             ;電動機正轉上升         
  87. UP34:    MOV     DPTR,#66H            ;到達4樓,數碼管顯示“4”
  88. ;*********四樓下降按鍵選擇程序***********
  89. UP41:    CLR     20H.3                 ;清4樓電梯間下降請求標志位
  90.           CLR      22H.3                 ;清電梯內目標4樓請求標志位
  91.           SETB     P0.7                  ;上升指示燈滅
  92. SETB    P2.4            
  93. SETB    P2.6            ;門開
  94. MOV    R2,#0           ;5s定時開始
  95. CJNE    R2,#50,$       ;等待5s延時        
  96. CLR     P2.6             ;門關
  97. SETB   P2.5
  98.            SETB   P2.7             ;電動機正轉上升
  99. UD4:    MOV     A,50H
  100.           ORL     A,21H
  101.           ORL     A,22H
  102.           ANL     A,#07H           ;取得<4樓的請求情況
  103.           JNZ      DOWN4
  104.           AJMP    UD4
  105. DOWN4: CLR     P0.6              ;下降指示燈亮
  106.            SETB   P2.5              
  107.            CLR    P2.7              ;下降
  108.                         
  109. ;*********三樓下降按鍵選擇程序***********
  110. DOWN3: MOV     DPTR,#4FH            ;到達3樓,數碼管顯示“3”
  111.           JB    21H.2,DOWN31    ;是3樓電梯間的下降請求,轉DOWN31
  112.           JB    22H.2,DOWN31     ;是電梯內目標3樓請求,轉DOWN31
  113.           SJMP    DOWN32
  114. DOWN31:CLR    21H.2                ;清3樓電梯間下降請求標志位
  115.           CLR    22H.2                ;清電梯內目標3樓請求標志位
  116.           SETB    P0.6                ;下降指示燈滅
  117.           SETB    P2.4
  118.           SETB    P2.6              ;門開
  119. MOV    R2,#0           ;5s定時開始
  120. CJNE    R2,#50,$       ;等待5s延時  
  121.           CLR    P2.6              ;門關
  122.            SETB   P2.5              
  123.            CLR    P2.7              ;下降
  124. DOWN32:MOV  A,20H
  125.           ORL     A,21H
  126.           ORL   A,22H
  127.           ANL     A,#03H         ;取得<3樓的請求情況
  128.           JNZ      DOWN33
  129.          AJMP    UP32             ;<3無樓請求,轉3樓上升
  130. DOWN33:CLR    P0.6               ;下降指示燈亮
  131.           SETB   P2.5              
  132.            CLR    P2.7              ;下降
  133. ;*********二樓下降按鍵選擇程序***********
  134. DOWN2: MOV   DPTR,#5BH          ;到達2樓,數碼管顯示“2”
  135.           JB      21H.1,DOWN21    ;是2電梯間的下降請求,轉DOWN21
  136.           JB      22H.1,DOWN2        ;是電梯內目標3樓請求,轉DOWN21
  137.          SJMP    DOWN22
  138. DOWN21:CLR   21H.1            ;清2樓電梯間下降請求標志位
  139.           CLR    22H.1             ;清電梯內目標2樓請求標志位
  140.           SETB   P0.6              ;下降指示燈滅
  141.           SETB    P2.4
  142.           SETB    P2.6              ;門開
  143. MOV    R2,#0           ;5s定時開始
  144. CJNE    R2,#50,$       ;等待5s延時  
  145.           CLR    P2.6              ;門關
  146.            SETB   P2.5              
  147.            CLR    P2.7              ;下降
  148. DOWN22:MOV  A,20H
  149.       ORL     A,21H
  150.           ORL     A,22H
  151.           ANL    A,#02H         ;取得<2的請求情況
  152.       JNZ     DOWN23
  153.           AJMP    UP22           ;<2樓請求,轉2樓上升
  154. DOWN23:CLR   P0.6      ;下降指示燈亮
  155.           SETB   P2.5              
  156.           CLR    P2.7              ;下降
  157. DOWN1: MOV    DPTR,#06H      ;到達1,數碼管顯示“1”
  158. DOWN11:CLR     21H.0          ;清電梯內目標1請求標志位
  159.           SETB     P0.6          ;下降指示燈滅
  160.      SETB    P2.4
  161.          SETB    P2.6              ;門開
  162. MOV    R2,#0           ;5s定時開始
  163. CJNE    R2,#50,$       ;等待5s延時  
  164.           CLR    P2.6              ;門關
  165.           SETB   P2.5              
  166.           CLR    P2.7              ;下降
  167. CJNE     R3,#0,DOWN12 ;Stop鍵是否按下過
  168.           AJMP    UP1
  169. DOWN12:CLR   P0.6             ;若Stop鍵按下過,轉S1停止工作
  170.           CLR      P0.7
  171.           AJMP     STOP
  172. ;定時器T0中斷服務程序:5s計時
  173. TIME:  MOV     TH0,#3CH
  174.           MOV     TL0,#0B0H
  175.           INC      R2              ;R2計數器
  176.           RETI
  177. ;********* T1中斷服務程序:按鍵狀態檢查***********
  178. TIME1:    MOV     TH1,#0ECH          ;每10s檢查一次按鍵
  179.             MOV     TL1,#78H
  180.             MOV     6EH,A
  181.             MOV     30H,P1              ;讀入所有按鍵狀態
  182.             MOV     31H,P3
  183.             JB        P1.6,TIME11         ;若Stop鍵未按下,則正常運行
  184.             MOV     R3,#0FFH          ;Stop鍵按下,標志R3置非0數
  185.             MOV     20H,#0             ;清除全部電梯間上升請求
  186.             MOV     21H,#0             ;清除全部電梯間下降請求
  187.             MOV   22H,#0             ;清除全部電梯內目標樓層請求
  188.             MOV     30H,#0FFH         ;修改讀入的按鍵狀態,使之為
  189.             MOV     31H,#0FEH         ;電梯內目標為一樓
  190.             CLR      TR1                ;并關閉T1,不再讀取按鍵
  191. TIME11:  MOV   A,30H
  192.             CPL      A
  193.             ANL     A,#07H           ;取得電梯間上升請求
  194.             ORL     20H,A
  195.             MOV   A,20H             ;取得上升指示燈狀態
  196.             CPL     A
  197.             ANL    A,#07H
  198.             MOV   32H,A
  199.             MOV   A,30H
  200.             CPL    A
  201.             ANL   A,#38H          ;取得電梯間下降請求
  202.             RR     A
  203.             RR     A
  204.             ORL    21H,A
  205.             MOV   A,21H
  206.             CPL    A
  207.             ANL   A,#0EH
  208.             RL   A
  209.             RL     A
  210.             ORL   32H,A
  211.             MOV   A,P0
  212.             ANL    A,#0C0H
  213.             ORL    A,32H
  214.             MOV   P0,A             ;刷新上升、下降請求指示燈
  215.             MOV    A,31H
  216.             ANL    A,#0FH     ;取得電梯內目標樓層請求
  217.             ORL   22H,A
  218.        MOV    A,22H
  219.             CPL     A
  220.             MOV   P2,A     ;刷新電梯內目標樓層指示燈
  221. TIME12:  MOV  A,6EH
  222.             RETI
  223. ;********* 2s延時程序***********
  224. DLY:       MOV     R5,#20
  225. DLY1:   MOV     R6,#100
  226. DLY2:   MOV     R7,#250
  227.              DJNZ     R7,$
  228.              DJNZ     R6,DLY2
  229.              DJNZ     R5,DLY1
  230.              RET
  231.              END
  232. ;**************** PWM控制電梯門開關程序 ************************
  233.             ORG      0000H
  234.            LMP      START
  235.            ORG      000EH
  236.            LMP      ZDCX
  237.            ORG      0100H
  238.     START:MOV   SP,#30H  ;系統初始化,定時值為0.1
  239.            MOV   DPTR,#TAB
  240.            MOV   TL0,#9CH
  241.                           MOV   TH0,#9CH
  242.                           MOV   TMOD,#02H  ;定時器T0工作方式2
  243.            MOV   IE,#82H
  244.            SETB  TR0
  245.            LCALL  QUZHI  ;取第一個R0的值
  246.            MOV   R0,#A
  247.            CLR   P2.4
  248.       LP: JNB   20H,LP  ;輸出PWM波形
  249.            CLR   20H
  250.            DJNZ   R0,LP
  251.            CPL   P2.4
  252.            LCALL  QUZHI;
  253.            CNE  #55H,LP1 ;當所取的數是結束標志55時,
  254.                           ;程序重新開始
  255.            LMP   START
  256.       LP1:MOV   R0,A
  257.            LMP   LP
  258.     QUZHI:MOV   A,#00H   ;取值子程序
  259.            MOVC  A,@+DPTR
  260.             INC   DPTR
  261.             RET
  262.       ZDCX:SETB   20H
  263.             RETI
  264.        TAB:DB  7,6,15,12,24,6,30,6,24,12,15,6,7,55  ;55為結束標志
  265.             END
  266. ;*************PWM控制電梯上升與下降程序*************
  267.            ORG      0000H
  268.            LMP      START
  269.            ORG      000EH
  270.            LMP      ZDCX
  271.            ORG      0100H
  272.     START:MOV   SP,#30H
  273.            MOV   DPTR,#TAB
  274.            MOV   TL0,#9CH
  275.                           MOV   TH0,#9CH
  276.                           MOV   TMOD,#02H
  277.            MOV   IE,#82H
  278.            SETB  TR0
  279.            LCALL  QUZHI
  280.            MOV   R0,#A
  281.             CLR   P2.5
  282.        LP: JNB   20H,LP
  283.             CLR   20H
  284.             DJNZ   R0,LP
  285.             CPL   P2.5
  286.             LCALL  QUZHI;
  287.             CNE  #55H,LP1
  288.             LMP   START
  289.        LP1:MOV   R0,A
  290.             LMP   LP
  291.      QUZHI:MOV   A,#00H
  292.             MOVC  A,@+DPTR
  293.             INC   DPTR
  294.             RET
  295.       ZDCX:SETB   20H
  296.             RETI
  297.        TAB:DB  5,10,15,20,5,10,15,5,5,10,15,20,5,10,5,55
  298.             END

復制代碼



單片機.doc

296.05 KB, 下載次數: 17, 下載積分: 黑幣 -5

電梯控制系統匯編語言程序

回復

使用道具 舉報

ID:642619 發表于 2020-11-15 16:47 | 顯示全部樓層
有電路圖嗎
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

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