<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

    一種用AT89C2051制作的新穎汽車尾燈指示器

    發布時間:2011-11-5 21:04    發布者:z_lzdq
    關鍵詞: AT89C2051 , 尾燈
    本文介紹一種新穎的汽車尾燈指示器,指示器由特制的發光二極管點陣組成,共有八組,每組同時點亮由九個發光二極管,置于汽車后玻璃窗上,共有五種顯示狀態,當有停車或剎車信號時,八組發光管點陣全點,有后退信號時,發光二極管點陣閃亮,當有危險信號時,八組發光二極管分為左右兩組交替閃亮,有右轉彎信號時,右邊四組發光二極管從中間向右邊依次點亮,有左轉彎信號時,左邊四組發光二極管從中間向左邊依次點亮,在轉彎信號未消失時不斷重復,此指示器新穎別致,給人以賞新悅目的感覺。
    本裝置采用的AT89C2051芯片是Atmel公司生產的自帶2KB可編程Flash存儲器的與MSC-51兼容的高性能處理器。它與常規的51芯片有相同的核心和相近的結構功能如RAM、定時/記數器、中斷結構、串行口、振蕩器和時鐘電路等;有最高達24MHz的振蕩頻率,有較少的精簡I/O端口,因此體積很小,非常適用做小型應用系統的處理器。

    匯編程序及詳細注釋如下:
    STOP          BIT 32H    ;剎車標志
    DANGE         BIT 33H    ;危險標志
    BACK          BIT 34H    ;倒車標志
    RIGHT         BIT 35H    ;右轉標志
    LEFT          BIT 36H    ;左轉標志
    FLASH         BIT 37H    ;閃爍標志
    LRSET         BIT 38H    ;依次點亮標志
    COUNT         EQU 32H    ;依次亮點計數器

            ORG   0000H
            AJMP  MAIN    ;跳轉主程序
            ORG   0030H
            AJMP  MAIN
    MAIN:   NOP
            MOV   R0,#20H      ;20H至60H單元清零
            MOV   A,#0
    RES:    MOV   @R0,A
            INC   R0
            CJNE  R0,#60H,RES

            MOV   SP,#60H      ;設置堆棧指針為60H
            MOV   COUNT,#0     ;清依次顯示循環計數器
            CLR   TIME_OUT     ;清定時時間到標志
            CLR   EA
            CLR   RIGHT        ;清右轉標志
            CLR   STOP         ;清剎車標志
            CLR   DANGE        ;清危險標志
            CLR   BACK         ;清倒車標志
            CLR   LEFT         ;清左轉標志
            CLR   LRSET        ;清依次點亮標志

    LOP:    ACALL  DL1          ;調用延時子程序
            ACALL  DL1          ;調用延時子程序


            CPL   FLASH       ;閃爍標志取反
            JNB   LRSET,LOP1  ;無依次點亮標志轉LOP1
            INC   COUNT       ;依次點亮計數器加1
            MOV   A,COUNT
            CJNE  A,#5,LOP1
            MOV   COUNT,#0    ;計數計到5清零
    LOP1:   ACALL CL          ;調用過程處理子程序
    LOPA:   ACALL KEY         ;調用按鍵處理子程序
            AJMP  LOP         ;返回主循環

    DL1 :     MOV   R6,#200  ;延時子程序
    DL11:     MOV   R5,#250
              DJNZ  R5,$
              DJNZ  R6,DL11
              RET

    CL:     NOP              ;過程處理子程序
    JNB   STOP,CL1
            MOV   A,#0FFH    ;有停車或剎車標志

            CPL   A          ; 顯示器全亮
            MOV   P1,A
            AJMP  CLE
    CL1:    JNB   DANGE,CL2
            JB    FLASH,CL11     ;有危險標志

            MOV   A,#0FH         ;左右兩組顯示器交替閃爍
            MOV   P1,A
            AJMP  CLE
    CL11:   MOV   A,#0F0H
            MOV   P1,A
            AJMP  CLE
    CL2:    JNB   BACK,CL3         
            JB    FLASH,CL21    ;有倒車標志
            MOV   A,#0FFH       ;顯示器做全亮或全滅交替
            MOV   P1,A          ;顯示器全亮
            AJMP  CLE
    CL21:   MOV   A,#00H
            MOV   P1,A          ;顯示器全滅
            AJMP  CLE
    CL3:    JNB   RIGHT,CL4

            MOV   DPTR,#RIGHT_CHAR  ;有右轉標志
            MOV   A,COUNT ;右邊四個一組的發光陣列依次循環亮
            MOVC  A,@A+DPTR  ;取顯示值
            CPL   A
            MOV   P1,A
            AJMP  CLE
    CL4:    JNB   LEFT,CL5
            MOV   DPTR,#LEFT_CHAR    ;有左轉標志
            MOV   A,COUNT ;左邊四個一組的發光陣列依次循環亮
            MOVC  A,@A+DPTR   ;取顯示值
            CPL   A
            MOV   P1,A
            AJMP  CLE
    CL5:    MOV   A,#0   ;若無任何標志,關閉顯示器
            CPL   A
            MOV   P1,A
    CLE:    RET

    KEY:    NOP                ;  按鍵處理子程序
    CLR   STOP         ;  清除停止標志  
            CLR   DANGE        ;  清除危險標志  
            CLR   BACK         ;  清除倒車標志  
            CLR   RIGHT        ;  清除右轉標志
            CLR   LEFT         ;  清除左轉標志
            JNB   P3.2,KEY1
            SETB  STOP         ;  P3.2有鍵按下,置停止標志
            AJMP  KEYE
    KEY1:   JNB   P3.3,KEY11
            SETB  DANGE        ;  P3.3有鍵按下,置危險標志
    KEY11:  MOV   A,P3
            CJNE  A,#22H,KEY2  


            SETB  DANGE    ;  P3.5 P3.1同時按下,置危險標志
            AJMP  KEYE
    KEY2:   JNB   P3.4,KEY3
            SETB  BACK      ;P3.4有鍵按下,置倒車標志
            AJMP  KEYE
    KEY3:   JNB   P3.5,KEY4
            SETB  RIGHT      ;P3.5有鍵按下,置右轉標志
            JB    LRSET,KEYE
            SETB  LRSET      ;設置左右轉循環顯示標志         
            MOV   COUNT,#0   ;循環顯示計數器清零
            AJMP  KEYE
    KEY4:   JNB   P3.1,KEY5
            SETB  LEFT       ;P3.1有鍵按下,置左轉標志
            JB    LRSET,KEYE
            SETB  LRSET      ;設置左右轉循環顯示標志
            MOV   COUNT,#0   ;循環顯示計數器清零
            AJMP  KEYE
    KEY5:   CLR   LRSET     ;清左右轉循環顯示標志
    KEYE:   RET
    LEFT_CHAR:   DB 00H,10H,30H,70H,0F0H   ;從右到左依次點亮值
    RIGHT_CHAR:  DB 00H,08H,0CH,0EH,0FH  ;從左到右依次點亮值
        END
    本文地址:http://www.portaltwn.com/thread-78778-1-1.html     【打印本頁】

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

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷