久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1656|回復: 0
打印 上一主題 下一主題
收起左側

一個單片機電梯程序,有毛病嗎?求幫助

[復制鏈接]
跳轉到指定樓層
樓主
ID:773367 發表于 2020-6-9 09:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
;*********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    P3,#1FH       ;數碼管顯示"1"
          JB      P1.7,$         ;等待開始工作指令
          SETB   P0.6
          SETB   TR1              ;啟動T1
                                   ;10ms一次讀取按鍵
;*********一樓上升按鍵選擇程序***********
UP1:     MOV    A,20H         ;目前在1樓
           ORL    A,21H          ;取得>1樓請求情況
           ORL    A,22H
           ANL    A,#0EH
           JZ      UP1             ;無請求,則等待
           CLR    P0.7             ;上升指示燈亮
           ACALL  DLY             ;上升2s
;*********二樓上升按鍵選擇程序***********
UP2:     MOV    P3,#2FH       ;到達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        ;上升指示燈滅
           MOV     R2,#0     ;5s定時開始
           CJNE    R2,#50,$   ;等待5s延時
UP22:    MOV    A,20H
           ORL     A,21H
           ORL     A,22H
           ANL     A,#0CH        ;取得>2樓請求情況
           JNZ      UP23
           AJMP     DOWN22        ;>2樓無請求,轉2樓下降
UP23:     CLR     P0.7             ;上升指示燈亮
           ACALL   DLY            ;上升2s
;*********三樓上升按鍵選擇程序***********
UP3:      MOV   P3,#3FH          ;到達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             ;上升指示燈滅
           MOV    R2,#0           ;5s定時開始
           CJNE    R2,#50,$       ;等待5s延時
UP32:     MOV    A,20H  
           ORL     A,21H
           ORL     A,22H
           ANL     A,#08H           ;取得>3樓請求情況
           JNZ      UP33
           AJMP    DOWN32           ;>3樓無請求,轉3樓下降
UP33:     CLR     P0.7                ;上升指示燈亮
           ACALL    DLY                ;上升2s
UP34:    MOV     P3,#4FH            ;到達4樓,數碼管顯示"4"
;*********四樓下降按鍵選擇程序***********
UP41:    CLR     20.H3                 ;清4樓電梯間下降請求標志位
          CLR      22H.3                 ;清電梯內目標4樓請求標志位
          SETB     P0.7                  ;上升指示燈滅
          MOV     R2,#0               ;5s定時開始
          CJNE     R2,#50,$           ;等待5s延時
UD4:    MOV     A,50H
          ORL     A,21H
          ORL     A,22H
          ANL     A,#07H           ;取得<4樓的請求情況
          JNZ      DOWN4
          AJMP    UD4
DOWN4: CLR     P0.6              ;下降指示燈亮
          ACALL   DLY              ;下降2s
;*********三樓下降按鍵選擇程序***********
DOWN3: MOV     P3,#3FH            ;到達3樓,數碼管顯示"3"
          JB      21H.2,DOWN31     ;是3樓電梯間的下降請求,轉DOWN31
          JB      22H.2,DOWN31     ;是電梯內目標3樓請求,轉DOWN31
         S JMP    DOWN32
DOWN31:CLR    21H.2                ;清3樓電梯間下降請求標志位
          CLR    22H.2                ;清電梯內目標3樓請求標志位
          SETB    P0.6                ;下降指示燈滅
          MOV     R2,#0              ;5s定時開始
          CJNE     R2,#50,$            ;等待5s延時
DOWN32:MOV  A,20H
          ORL     A,21H
          ORL   A,22H
          ANL     A,#03H         ;取得<3樓的請求情況
          JNZ      DOWN33
         AJMP    UP32             ;<3無樓請求,轉3樓上升
DOWN33:CLR    P0.6               ;下降指示燈亮
     ACALL     DLY
;*********二樓下降按鍵選擇程序***********
DOWN2: MOV   P3,#2FH          ;到達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              ;下降指示燈滅
          MOV  R2,#0           ;5s定時開始
          CJNE   R2,#50,$       ;等待5s延時
DOWN22:MOV  A,20H
      ORL     A,21H
          ORL     A,22H
          ANL    A,#02H         ;取得<2的請求情況
      JNZ     DOWN23
          AJMP    UP22           ;<2樓請求,轉2樓上升
DOWN23:CLR   P0.6      ;下降指示燈亮
     ACALL  DLY
DOWN1: MOV    P3,#1FH      ;到達1,數碼管顯示"1"
DOWN11:CLR     21H.0          ;清電梯內目標1請求標志位
          SETB     P0.6          ;下降指示燈滅
      MOV     R2,#0         ;0 s定時開始
     CJNE   R2,#50,$   ;5s延時
CJNE     R3,#0,DOWN12 ;Stop鍵是否按下過
          AJMP    UP1
DOWN12:CLR   P0.6             ;若Stop鍵按下過,轉S1停止工作
          CLR      P0.7
          AJMP     S1
;定時器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

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品66 | 精品福利视频一区二区三区 | 国产传媒毛片精品视频第一次 | 精品久久久久久久久久久久久久 | 久热精品在线播放 | 日韩精品一区二区三区视频播放 | 国产精品久久久久久婷婷天堂 | 九九热在线观看视频 | 欧美在线视频网 | 成人在线视频免费观看 | 亚洲国产中文字幕 | 国产成人精品久久二区二区91 | 日韩欧美国产精品 | 国产精品久久久久久久白浊 | 婷婷桃色网 | av男人的天堂av| 国产成人久久av免费高清密臂 | 欧美视频在线播放 | 金莲网| 欧美一区二区三区在线 | 国产亚洲成av人片在线观看桃 | 日韩精品免费视频 | 日本久久精品视频 | 九九在线精品视频 | 国产在线精品一区二区 | 在线看片网站 | 日韩在线第一 | 五月天激情综合网 | 日韩视频精品在线 | 国产小网站 | 久久久久国产精品一区二区 | 一区二区三区四区毛片 | 天天草天天干天天 | 亚洲精品一区中文字幕乱码 | 激情五月婷婷 | 欧美成年视频 | 久久国产精品视频 | 亚洲电影专区 | 91精品国产乱码麻豆白嫩 | 天天色天天 | 日韩av第一页 |