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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機直流電機控制器制作 匯編語言程序

[復制鏈接]
跳轉到指定樓層
樓主
湊一個熱鬧,多年前給一家公司做的推桿控制器,有遙控,正反轉,暫停,到位停止,過載保護等等功能
窗戶自動開啟,電機正反轉,升降控制,折疊控制都可以用上。

匯編寫的!!




單片機源程序如下:

  ;                       輸入端口                                                                       輸出端口
                                                                                ;                    2.4    對碼輸出(確認對碼)
                                                                                        ;                    2.0    LED輸出
                        ;                             3.2    手動折疊                                        ;                    2.3    蜂鳴器輸出
                        ;                             3.3    手動打開                            ;                    2.1    繼電器折疊
                        ;                             3.4    座位傳感器                                ;                    2.2    繼電器打開
                        ;                      3.5    備用(輪椅車程序用)                                                                                       
                        ;                      3.6    備用                                                                                                     
                        ;                      1.0    推桿過載                                                   
                        ;                      1.1    推桿確認
                        ;                      1.2    對碼按鍵
                        ;                      1.7    遙控按鍵折疊
                        ;                      1.6    遙控按鍵打開
              ORG   00H


L1     :          MOV   61H     ,  #0
                          MOV   60H     ,  #0
                          MOV   65H      ,  #50

;==========================================================================================                          
                          MOV       P3    ,  #0FFH
                          MOV       P1    ,  #0FFH

W         :   MOV       R7     ,    #2                                ;程序入口
W1        :   
              ACALL     DKQ
                          DJNZ      R7      ,   W1
                          CLR       P2.3
                          ACALL     K21
                          SETB      P2.3
;========================================================================對碼入口
LOOP     :      ACALL     FM
                            JNB       P1.2         ,        LOOP1
                            JMP       B2


LOOP1     :     MOV      66H      ,   #15
LOOP2     :     CLR      P2.0
                                CLR      P2.4
                                ACALL    FM
                                SETB     P2.0
                                ACALL    FM
                                DJNZ     66H           ,       LOOP2
                                SETB     P2.0
                                SETB     P2.4
                                JMP      LOOP4

;========================================================================對碼入口

LOOP3      :     ACALL     FM
                 CLR       P2.3
                                 JB        P1.7                   ,       LOOP3
                                 JB        P1.6                   ,       LOOP3
                                 SETB      P2.3
                                 ACALL     FM
                                 JMP       B2


LOOP4      :      MOV       67H            ,   #40
LOOP5      :          ACALL     FM
                                  JB        P1.7                   ,       LOOP3
                                  JB        P1.6                   ,       LOOP3
                                  DJNZ      67H            ,       LOOP5
                                  JMP       B2









;=======================================================待機操作

B2       :      CLR       P2.0
                ACALL     FM      
                JNB       P3.2               ,        ZHANG1                   ;到折疊程序
                                JNB       P3.3                   ,        ZHANG2                   ;到打開程序
                                JB        P1.7                   ,        ZHANG1                   ;到折疊程序
                                JB        P1.6                   ,        ZHANG2                   ;到打開程序
                                JNB       P1.2         ,        LOOP           ;對碼學習
                                JMP       B2                                                               ;停止返回

;=======================================================折疊按鍵防抖和干擾

ZHANG1      :         MOV       R4    ,    #255                                       ;防抖時間設置
Z10         :    MOV       R5    ,    #255
Z12         :    MOV       R6    ,    #3
                 DJNZ      R6    ,    $
                                 DJNZ      R5    ,    Z12
                                 DJNZ      R4    ,    Z10
                 JNB       P3.2                  ,        Z11                   ;比較按鍵是否按下 ,按下跳轉
                 JB        P1.7                      ,        Z11                   ;比較按鍵是否按下 ,按下跳轉
                                 JMP       B2                                                           ;停止返回

;=======================================================折疊部分                                 
Z11                        :     JMP     C1                                                                   ;跳轉折疊主程序
                                  JMP     B2
;=======================================================打開按鍵防抖和干擾


ZHANG2      :         MOV       R4      ,    #255                               ;防抖時間設置
Z20         :    MOV       R5      ,    #255
Z22         :    MOV       R6      ,    #3
                 DJNZ      R6      ,    $
                                 DJNZ      R5      ,    Z22
                                 DJNZ      R4      ,    Z20
                 JNB       P3.3        ,        Z21                           ;比較按鍵是否按下 ,按下跳轉
                 JB        P1.6                   ,        Z21                           ;比較按鍵是否按下 ,按下跳轉
                                 JMP       B2
;=======================================================打開部分
Z21         :    JMP       D1
                                 JMP       B2                                                                                         ;跳轉打開主程序
;============================================================================================================以上是按鍵操作和遙控部分
;===========================================================================================================

C1          :           ACALL      DAKAI11
                   SETB      P2.0                                                     ;蜂鳴器開始響
                                   MOV        R7       ,        #10                 ;折疊延時設置
                                   JNB        P3.2           ,        C1                         ;按鍵確認
                   JB         P1.7           ,        C1                         ;按鍵確認
C2          :           
                   JNB              P3.4     ,        SS                         ;座位傳感器
                   CLR        P2.2                                                         ;折疊馬達啟動
                                   ACALL      FM
                                   ACALL      ZHEDIE                                                 ;折疊延時程序
                                   JNB        P1.0      ,    C3                                 ;檢測馬達運行
                                   ACALL      DWFZ                                                         ;行程到位反轉
                                   JMP        C4                                                         ;跳到報警子程序
SS           :           JMP        E3                  
                                   JMP        B2
C3           :           DJNZ       R7        ,    C2                                 ;折疊延時
                                   ACALL      ZDFZ                                                         ;折疊完成反轉
                                   JMP        B2                                         ;停止返回



C4           :        MOV         61H          ,        #3        ;折疊到位                   (三聲)
                                          ACALL       DKQ                                                ;蜂鳴器報警
                                          ACALL       BJ2                                                ;蜂鳴器報警
                                          DJNZ        65H      ,  C5
                                          JMP         L1
C5           :                  CLR         P2.0
                      ACALL       FM
                                          JNB         P3.2               ,        C4
                                      JNB         P3.3                   ,        ZHANG2
                                      JB          P1.7                   ,        C4
                                      JB          P1.6                   ,        ZHANG2
                                          JMP         C5

                                         
;-------------------------------------------------------------------------------------------------------------
D1         :            ACALL   DAKAI11
                   SETB      P2.0                                           ;蜂鳴器開始響
                                   MOV        R7       ,        #10                 ;打開延時設置
                                   JNB        P3.3           ,        D1
                   JB         P1.6           ,        D1
D2           :           CLR        P2.1                                                         ;打開馬達啟動
                                   ACALL      FM
                                   ACALL      DAKAI                                                    ;打開延時程序
                                   JNB        P1.0        ,      D3
                                   ACALL      DKFZ
                                   JMP        D4                                       
                                   JMP        B2


D3          :      DJNZ       R7            ,       D2
                                   ACALL      DKFZ
                                   JMP        B2                                         ;停止返回



D4        :                  MOV         61H          ,        #3                 ;打開到位                   (三聲)
                                 
                                  ACALL       DKQ
                                  ACALL       BJ2
                                  DJNZ        65H      ,  D5
                                  JMP         L1

D5      :                  CLR         P2.0
                  ACALL       FM
                                  JNB         P3.2               ,        D6
                                  JNB         P3.3                   ,        D4
                                  JB          P1.7                   ,        D6
                                  JB          P1.6                   ,        D4
                                  JMP         D5


D6       :        JMP         ZHANG1

                                 


;============================================================================================================以上是馬達的驅動部分
;===========================================================================================================


ZDGZ     :                          SETB        P2.2                                                                 ;=!!!!折疊過載保護
                      SETB        P2.3
                                          ACALL       DWFZ
                                          
GZ       :                          MOV         61H          ,        #4                        ;=!!!!報警設置和子程序                   (四聲)
                                          
                                          ACALL       DKQ
                                          ACALL       BJ2
                                          
GZ2      :                          ACALL       FM
                                          JNB         P3.2               ,        GZ
                                      JNB         P3.3                   ,        H2
                                      JB          P1.7                   ,        GZ
                                      JB          P1.6                   ,        H2
                                          JMP         GZ2
H2      :             JMP         ZHANG2
                                          JMP         B2

DKGZ    :                          SETB        P2.1                                                                 ;=!!!!打開過載保護
                      SETB        P2.3
                                          ACALL       DKFZ
                                          
GZ3       :                          MOV         61H          ,        #4                           ;=!!!!報警設置和子程序                           (四聲)
                                         
                                          ACALL       DKQ
                                          ACALL       BJ2
                                          
GZ4      :                          ACALL       FM
                                          JNB         P3.2               ,        H1
                                      JNB         P3.3                   ,        GZ3
                                      JB          P1.7                   ,        H1
                                      JB          P1.6                   ,        GZ3
                                          JMP         GZ4
H1       :            JMP         ZHANG1
                                          JMP         B2
;============================================================================================================以上是過流保護部分
;===========================================================================================================
;=======================================================折疊延時
ZHEDIE    :       CLR       P2.3                                          ;改成SETB,取消蜂鳴器
                  ACALL     ZD
                                   SETB      P2.3
                                  ACALL     ZD        
                                  RET

ZD         :      MOV       R0      ,   #255
ZD1        :      MOV       R1      ,   #255
ZD2        :      MOV       R2      ,   #15   
                  DJNZ      R2      ,    $
                                  DJNZ      R1      ,    ZD2
                                  JNB       P3.2               ,        E1
                                  JNB       P3.3                   ,        E1
                                  JB        P1.7                   ,        E1
                                  JB        P1.6                   ,        E1
                                  JNB            P3.4           ,        E3                                 ;座位傳感器
                                  JNB       P1.1           ,        ZDGZ                         ;檢測電流
                                  DJNZ      R0      ,    ZD1
                                  RET                                    


;=======================================================打開延時

DAKAI     :       CLR       P2.3                                                  ;改成SETB,取消蜂鳴器
                  ACALL     DK
                                   SETB      P2.3
                                  ACALL     DK        
                                  RET

DK         :      MOV       R0      ,   #255
DK1        :      MOV       R1      ,   #255
DK2        :      MOV       R2      ,   #15   
                  DJNZ      R2      ,    $
                                  DJNZ      R1      ,    DK2
                                  JNB       P3.2               ,        E2
                                  JNB       P3.3                   ,        E2
                                  JB        P1.7                   ,        E2
                                   JB        P1.6                   ,        E2
                                  JNB       P1.1           ,             DKGZ                           ;檢測電流
                                  DJNZ      R0      ,    DK1
                                  RET                                    
;=========================================================================================================以上是馬達運行延時程序
;===========================================================================================================


DAKAI11     :      CLR       P2.3
                   ACALL     DKQ
                                    SETB      P2.3
                                   ACALL     DKQ        
                                   RET

DKQ         :      MOV    R0      ,   #255
DKQ1        :      MOV    R1      ,   #255
DKQ2        :      MOV    R2      ,   #15     
                   DJNZ   R2      ,    $
                                   DJNZ   R1      ,    DKQ2
                                   DJNZ   R0      ,    DKQ1
                                   RET                                    



;============================================================================================================以上是允許開始的空程序
;===========================================================================================================
;============  折疊暫停程序

E1             :          SETB        P2.2
                      SETB        P2.3
                                          JNB         P3.2               ,        E1
                                      JNB         P3.3                   ,        E1
                                      JB          P1.7                   ,        E1
                                      JB          P1.6                   ,        E1
                                          MOV         61H          ,        #1                        ;=!!!!報警設置和子程序                   (一聲)
                                          ACALL       ZDFZ
                                          ACALL       DKQ
                                          ACALL       BJ2
                                          JMP         B2

;============  打開暫停程序
E2             :          SETB        P2.1
                      SETB        P2.3
                                          JNB         P3.2               ,        E2
                                      JNB         P3.3                   ,        E2
                                      JB          P1.7                   ,        E2
                                      JB          P1.6                   ,        E2
                                          MOV         61H          ,        #1                      ;=!!!!報警設置和子程序
                                          ACALL       DKFZ
                                          ACALL       DKQ
                                          ACALL       BJ2
                                          JMP         B2
;============================================================================================================以上是暫停處理部分
;===========================================================================================================
;============ 座位傳感器
E3              :          SETB        P2.2                                                                 ;=!!!!座位傳感器保護
                      SETB        P2.3
                                          ;ACALL       ZDFZ
                                          
E31       :                          MOV         61H          ,        #2                        ;=!!!!報警設置和子程序                        (二聲)
                                          
                                          ACALL       DKQ
                                          ACALL       BJ2
                                          

E32      :                          MOV         R7           ,        #15

E34      :                          ACALL       FM
                      JNB         P3.2               ,        E31
                                      JNB         P3.3                   ,        E33
                                      JB          P1.7                   ,        E31
                                      JB          P1.6                   ,        E33
                                          DJNZ        R7           ,        E34

E33      :            JMP        ZHANG2
                                          JMP        B2
;============================================================================================================以上是座位傳感器部分
;===========================================================================================================

;============  折疊反轉
ZDFZ           :        SETB        P2.2
                        ACALL       K01
                                                CLR         P2.1
                                                ACALL       K11
                                                SETB        P2.1
                                                RET


;============  打開反轉
DKFZ           :        SETB        P2.1
                        ACALL       K01
                                                CLR         P2.2
                                                ACALL       K11
                                                SETB        P2.2
                                                RET


;============  打開反轉
DWFZ           :        SETB        P2.2
                        ACALL       K01
                                                CLR         P2.1
                                                ACALL       K21
                                                SETB        P2.1
                                                RET


;=======================================================蜂鳴器程序

FMQ       :                  MOV       R3     ,     60H
FMQ1      :       CLR       P3.3
                  CLR       P2.0
                  ACALL     FM
                                   SETB      P3.3
                                  SETB      P2.0
                                  ACALL     FM        
                                  DJNZ      60H     ,    FMQ1
                                  RET

FM         :      MOV    R0      ,   #255
FM1        :      MOV    R1      ,   #255
FM2        :      MOV    R2      ,   #5      
                  DJNZ   R2      ,    $
                                  DJNZ   R1      ,    FM2
                                  DJNZ   R0      ,    FM1
                                  RET                                    
                                   
                                 
;=======================================================暫停反轉延時設置
K1                 :        MOV    R0      ,   #255
K2       :        MOV    R1      ,   #255
K3       :        MOV    R2      ,   #5     
                  DJNZ   R2      ,    $
                                  DJNZ   R1      ,    K3
                                  DJNZ   R0      ,    K2
                                  RET                                    

K11       :       MOV    R0      ,   #255
K12       :       MOV    R1      ,   #255
K13       :       MOV    R2      ,   #5       ;=========折疊反轉延時設置
                  DJNZ   R2      ,    $
                                  DJNZ   R1      ,    K13
                                  DJNZ   R0      ,    K12
                                  RET                                    

                                   
                                   
K21       :       MOV    R0      ,   #255
K22       :       MOV    R1      ,   #255
K23       :       MOV    R2      ,   #15      ;=========打開反轉延時設置3022,3041---10    3051----35              (????????????????)
                  DJNZ   R2      ,    $
                                  DJNZ   R1      ,    K23
                                  DJNZ   R0      ,    K22
                                  RET                                    

;===========================================================================================================蜂鳴器的報警設置                                   
;===========================================================================================================                                                   
;=======================================================蜂鳴器報警處理程序

BJ       :                  MOV       R3     ,    #6
BJ1      :        CLR       P3.3
                  ACALL     G1
                                   SETB      P3.3
                                  ACALL     G1        
                                  DJNZ      R3    ,    BJ1
                                  RET

G1         :      MOV    R0      ,   #200
G11        :      MOV    R1      ,   #180
G12        :      MOV    R2      ,   #2                         ;==蜂鳴器短聲
                  DJNZ   R2      ,    $
                                  DJNZ   R1      ,    G12
                                  DJNZ   R0      ,    G11
                                  RET                                                                        
                  
BJ2       :                                                                                    ;==61H放置報警參數
BJ21      :       CLR       P2.3
                  CLR       P2.0
                  ACALL     G2
                                   SETB      P2.3
                                  SETB      P2.0
                                  ACALL     G2        
                                  DJNZ      61H    ,    BJ21
                                  RET

G2         :      MOV    R0      ,   #255
G21        :      MOV    R1      ,   #255
G22        :      MOV    R2      ,   #4                         ;==蜂鳴器長聲
                  DJNZ   R2      ,    $
                                  DJNZ   R1      ,    G22
                                  DJNZ   R0      ,    G21
                                  RET                                                                                                           
                                   
K01                 :         MOV    R0      ,   #255
K02       :        MOV    R1      ,   #255
K03       :        MOV    R2      ,   #25     
                  DJNZ   R2      ,    $
                                  DJNZ   R1      ,    K03
                                  DJNZ   R0      ,    K02
                                  RET                                                                        
                                   
                                  END

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区综合 | 中文二区 | 国产在线观看一区二区三区 | 黄色电影在线免费观看 | 天天操天天天干 | 高清国产一区二区 | 91看片网 | 97精品国产 | 91亚洲国产成人久久精品网站 | 天堂av资源 | 欧美一区成人 | 日本在线你懂的 | 亚洲欧美日韩久久久 | 懂色一区二区三区免费观看 | 国产精品久久久久久中文字 | www.亚洲国产精品 | 91精品国产91久久久久久丝袜 | 日韩三极 | 午夜激情影院 | 欧美黑人激情 | 永久看片 | 国产成人综合在线 | 久久久久久久香蕉 | 久久久www| 一级片免费观看 | 久久久久久九九九九九九 | 日韩1区2区 | 久久精品日产第一区二区三区 | 在线成人 | 久草网在线视频 | 日韩在线小视频 | 日韩成人在线视频 | 免费观看一级特黄欧美大片 | 国产一区二区三区在线 | 国产高清免费在线 | 中文字幕av中文字幕 | 国产精品国产精品国产专区不片 | 国产精品99久 | 日韩国产高清在线观看 | 日韩欧美在线一区二区 | 电影午夜精品一区二区三区 |