色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 一種用AT89C2051制作的新穎汽車尾燈指示器

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

          作者: 時間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

          本文介紹一種新穎的汽車尾燈指示器,指示器由特制的發(fā)光二極管點陣組成,共有八組,每組同時點亮由九個發(fā)光二極管,置于汽車后玻璃窗上,共有五種顯示狀態(tài),當(dāng)有停車或剎車信號時,八組發(fā)光管點陣全點,有后退信號時,發(fā)光二極管點陣閃亮,當(dāng)有危險信號時,八組發(fā)光二極管分為左右兩組交替閃亮,有右轉(zhuǎn)彎信號時,右邊四組發(fā)光二極管從中間向右邊依次點亮,有左轉(zhuǎn)彎信號時,左邊四組發(fā)光二極管從中間向左邊依次點亮,在轉(zhuǎn)彎信號未消失時不斷重復(fù),此指示器新穎別致,給人以賞新悅目的感覺。

          本文引用地址:http://cafeforensic.com/article/201610/309783.htm

          本裝置采用的AT89C2051芯片是Atmel公司生產(chǎn)的自帶2KB可編程Flash存儲器的與MSC-51兼容的高性能處理器。它與常規(guī)的51芯片有相同的核心和相近的結(jié)構(gòu)功能如RAM、定時/記數(shù)器、中斷結(jié)構(gòu)、串行口、振蕩器和時鐘電路等;有最高達(dá)24MHz的振蕩頻率,有較少的精簡I/O端口,因此體積很小,非常適用做小型應(yīng)用系統(tǒng)的處理器。

          匯編程序及詳細(xì)注釋如下:

          STOP BIT 32H ;剎車標(biāo)志

          DANGE BIT 33H ;危險標(biāo)志

          BACK BIT 34H ;倒車標(biāo)志

          RIGHT BIT 35H ;右轉(zhuǎn)標(biāo)志

          LEFT BIT 36H ;左轉(zhuǎn)標(biāo)志

          FLASH BIT 37H ;閃爍標(biāo)志

          LRSET BIT 38H ;依次點亮標(biāo)志

          COUNT EQU 32H ;依次亮點計數(shù)器

          ORG 0000H

          AJMP MAIN ;跳轉(zhuǎn)主程序

          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 ;設(shè)置堆棧指針為60H

          MOV COUNT,#0 ;清依次顯示循環(huán)計數(shù)器

          CLR TIME_OUT ;清定時時間到標(biāo)志

          CLR EA

          CLR RIGHT ;清右轉(zhuǎn)標(biāo)志

          CLR STOP ;清剎車標(biāo)志

          CLR DANGE ;清危險標(biāo)志

          CLR BACK ;清倒車標(biāo)志

          CLR LEFT ;清左轉(zhuǎn)標(biāo)志

          CLR LRSET ;清依次點亮標(biāo)志

          LOP: ACALL DL1 ;調(diào)用延時子程序

          ACALL DL1 ;調(diào)用延時子程序

          CPL FLASH ;閃爍標(biāo)志取反

          JNB LRSET,LOP1 ;無依次點亮標(biāo)志轉(zhuǎn)LOP1

          INC COUNT ;依次點亮計數(shù)器加1

          MOV A,COUNT

          CJNE A,#5,LOP1

          MOV COUNT,#0 ;計數(shù)計到5清零

          LOP1: ACALL CL ;調(diào)用過程處理子程序

          LOPA: ACALL KEY ;調(diào)用按鍵處理子程序

          AJMP LOP ;返回主循環(huán)

          DL1 : MOV R6,#200 ;延時子程序

          DL11: MOV R5,#250

          DJNZ R5,$

          DJNZ R6,DL11

          RET

          CL: NOP ;過程處理子程序

          JNB STOP,CL1

          MOV A,#0FFH ;有停車或剎車標(biāo)志

          CPL A ; 顯示器全亮

          MOV P1,A

          AJMP CLE

          CL1: JNB DANGE,CL2

          JB FLASH,CL11 ;有危險標(biāo)志

          MOV A,#0FH ;左右兩組顯示器交替閃爍

          MOV P1,A

          AJMP CLE

          CL11: MOV A,#0F0H

          MOV P1,A

          AJMP CLE

          CL2: JNB BACK,CL3

          JB FLASH,CL21 ;有倒車標(biāo)志

          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 ;有右轉(zhuǎn)標(biāo)志

          MOV A,COUNT ;右邊四個一組的發(fā)光陣列依次循環(huán)亮

          MOVC A,@A+DPTR ;取顯示值

          CPL A

          MOV P1,A

          AJMP CLE

          CL4: JNB LEFT,CL5

          MOV DPTR,#LEFT_CHAR ;有左轉(zhuǎn)標(biāo)志

          MOV A,COUNT ;左邊四個一組的發(fā)光陣列依次循環(huán)亮

          MOVC A,@A+DPTR ;取顯示值

          CPL A

          MOV P1,A

          AJMP CLE

          CL5: MOV A,#0 ;若無任何標(biāo)志,關(guān)閉顯示器

          CPL A

          MOV P1,A

          CLE: RET

          KEY: NOP ; 按鍵處理子程序

          CLR STOP ; 清除停止標(biāo)志

          CLR DANGE ; 清除危險標(biāo)志

          CLR BACK ; 清除倒車標(biāo)志

          CLR RIGHT ; 清除右轉(zhuǎn)標(biāo)志

          CLR LEFT ; 清除左轉(zhuǎn)標(biāo)志

          JNB P3.2,KEY1

          SETB STOP ; P3.2有鍵按下,置停止標(biāo)志

          AJMP KEYE

          KEY1: JNB P3.3,KEY11

          SETB DANGE ; P3.3有鍵按下,置危險標(biāo)志

          KEY11: MOV A,P3

          CJNE A,#22H,KEY2

          SETB DANGE ; P3.5 P3.1同時按下,置危險標(biāo)志

          AJMP KEYE

          KEY2: JNB P3.4,KEY3

          SETB BACK ;P3.4有鍵按下,置倒車標(biāo)志

          AJMP KEYE

          KEY3: JNB P3.5,KEY4

          SETB RIGHT ;P3.5有鍵按下,置右轉(zhuǎn)標(biāo)志

          JB LRSET,KEYE

          SETB LRSET ;設(shè)置左右轉(zhuǎn)循環(huán)顯示標(biāo)志

          MOV COUNT,#0 ;循環(huán)顯示計數(shù)器清零

          AJMP KEYE

          KEY4: JNB P3.1,KEY5

          SETB LEFT ;P3.1有鍵按下,置左轉(zhuǎn)標(biāo)志

          JB LRSET,KEYE

          SETB LRSET ;設(shè)置左右轉(zhuǎn)循環(huán)顯示標(biāo)志

          MOV COUNT,#0 ;循環(huán)顯示計數(shù)器清零

          AJMP KEYE

          KEY5: CLR LRSET ;清左右轉(zhuǎn)循環(huán)顯示標(biāo)志

          KEYE: RET

          LEFT_CHAR: DB 00H,10H,30H,70H,0F0H ;從右到左依次點亮值

          RIGHT_CHAR: DB 00H,08H,0CH,0EH,0FH ;從左到右依次點亮值



          關(guān)鍵詞: AT89C2051 尾燈

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉