<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    單片機匯編語言編程:汽車轉向燈控制器

    發布時間:2016-3-10 09:09    發布者:designapp
    關鍵詞: 單片機 , 匯編語言 , 轉向燈
    按照題目要求,編寫了程序,用 PROTEUS 繪出了仿真電路圖。

    ;=============================================
    ;題目:汽車轉向燈控制器的編程
    ;1號鍵(左轉向)按下時 實現P3.6閃亮,P0-P2口左流水;
    ;2號鍵(右轉向)按下時 實現P3.7閃亮,P0-P2口右流水;
    ;3號鍵(剎車鍵)按下時 實現P0-P2口同時亮;
    ;4號鍵(緊急狀況鍵) 按下時 實現P3.6和P3.7同時閃亮。
    ;按鍵按住時,執行上述程序,按鍵松開后關閉所有燈。
    ;=============================================

    ;按照題目要求,編寫了程序,用 PROTEUS 繪出了仿真電路圖,運行起來如下所示:
      


    ;程序如下:
    L_T BIT 00H ;按鍵標志位
    R_T BIT 01H
    S_T BIT 02H
    J_J BIT 03H
    SAME EQU 30H;按鍵緩沖區
    Runw EQU 31H ;31H 32H,共16位數,當做流水燈
    SP_B EQU 33H ;棧底位置
    ;--------------------------------
    ORG 0000H
    SJMP START
    ORG 000BH
    SJMP T0_INT
    ;--------------------------------
    START:
    MOV TMOD, #01H
    MOV TH0, #4CH ;定時
    MOV R3, #5 ;250ms閃爍一次
    SETB TR0
    MOV IE, #82H ;開中斷
    MOV SP, #SP_B
    MOV Runw, #255
    MOV Runw + 1, #0
    ;--------------------------------
    M_LOOP:
    MOV A, P1 ;讀一次按鍵
    ANL A, #0FH
    MOV SAME, A ;保存
    MOV R7, #40 ;延時約20ms
    MOV R6, #0
    DJNZ R6, $
    DJNZ R7, $ - 4
    MOV A, P1 ;再讀一次按鍵
    ANL A, #0FH
    CJNE A, SAME, M_LOOP ;兩次不等則是抖動
    CPL A
    MOV C, ACC.3 ;保存按鍵信息
    MOV R_T, C
    MOV C, ACC.2
    MOV J_J, C
    MOV C, ACC.1
    MOV S_T, C
    MOV C, ACC.0
    MOV L_T, C
    SJMP M_LOOP ;繼續去讀
    ;--------------------------------
    T0_INT:
    MOV TH0, #4CH ;定時
    PUSH ACC
    DJNZ R3, T0_END ;不到5次就退出
    MOV R3, #5
    ;----------------------;以下每隔250ms執行一次
    LEFT:
    JNB L_T, RIGHT
    MOV A, Runw
    RRC A
    MOV Runw, A
    MOV A, Runw + 1
    RRC A
    MOV Runw + 1, A
    MOV A, Runw
    MOV ACC.7, C
    MOV Runw, A
    MOV P2, Runw
    MOV P0, Runw + 1
    SETB P3.7
    CPL P3.6
    JMP T0_END
    RIGHT:
    JNB R_T, STOP
    MOV A, Runw
    RLC A
    MOV Runw, A
    MOV A, Runw + 1
    RLC A
    MOV Runw + 1, A
    MOV A, Runw
    MOV ACC.0, C
    MOV Runw, A
    MOV P2, Runw
    MOV P0, Runw + 1
    CPL P3.7
    SETB P3.6
    JMP T0_END
    STOP:
    JNB S_T, JINJI
    MOV P2, #0
    MOV P0, #0
    SETB P3.7
    SETB P3.6
    JMP T0_END
    JINJI:
    JNB J_J, NOTHING
    MOV P2, #255
    MOV P0, #255
    CPL P3.7
    CPL P3.6
    JMP T0_END
    NOTHING: ;關閉所有的燈
    MOV P2, #255
    MOV P0, #255
    SETB P3.7
    SETB P3.6
    T0_END:
    POP ACC
    RETI
    ;--------------------------------
    END
    ;試驗的時候,應該釋放了前一個按鍵,再按下另一個按鍵,這才能有理想的結果。
    本文地址:http://www.portaltwn.com/thread-161871-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關在線工具

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷