模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)概要_第1頁
模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)概要_第2頁
模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)概要_第3頁
模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)概要_第4頁
模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)概要_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)前言車燈是行車安全的必備條件,除了具有照明作用,對(duì)其他車輛還具有轉(zhuǎn)向、剎車等警示作用。汽車轉(zhuǎn)向信號(hào)燈是汽車運(yùn)動(dòng)方向和車身狀態(tài)的表示信號(hào),關(guān)系著汽車的安全問題,因此基于單片機(jī)的汽車轉(zhuǎn)向燈控制器一直以來都是汽車電子設(shè)計(jì)中的一個(gè)十分重要的領(lǐng)域。本設(shè)計(jì)是設(shè)計(jì)一個(gè)單片機(jī)控制系統(tǒng),在汽車進(jìn)行左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車、合緊急開關(guān)、???、倒車等操作時(shí),實(shí)現(xiàn)對(duì)各種信號(hào)指示燈的控制。它主要是對(duì)單片機(jī)的并行輸入/輸出口電路的應(yīng)用來控制發(fā)光二極管的亮滅閃爍,再加上一些串口電路按鍵電路復(fù)位電路來模擬汽車轉(zhuǎn)向燈的功能,并在protel上顯示此時(shí)的汽車轉(zhuǎn)向燈發(fā)光的狀態(tài)。汽車上的轉(zhuǎn)向燈包括左頭燈、右頭燈

2、、左尾燈、右尾燈,儀表盤的兩個(gè)指示燈。當(dāng)汽車轉(zhuǎn)彎、剎車、??繒r(shí),轉(zhuǎn)向燈發(fā)出不同的信號(hào)汽車轉(zhuǎn)彎或??繒r(shí),相應(yīng)的信號(hào)燈要發(fā)出閃爍的燈光信號(hào),目前國內(nèi)廣泛使用電熱式閃光器產(chǎn)生閃光信號(hào)。閃爍頻率在 50110 次/分,但是一般控制在 6095 次/分之間。閃光器是通過調(diào)節(jié)鎳鉻絲的拉力和觸點(diǎn)的間隙來滿足頻率要求的,燈泡功率的大小也會(huì)影響閃爍頻率,因此在更換閃光器或燈泡時(shí)調(diào)整比較困難。同時(shí),系統(tǒng)沒有檢測(cè)故障的功能,駕駛員無法知道車外的轉(zhuǎn)向燈及故障指示燈是否點(diǎn)亮,從而影響行車安全。到目前為止,我們還沒有發(fā)現(xiàn)能檢測(cè)這種故障的有效方法。因此針對(duì)上述問題,我們用AT89C51單片機(jī)設(shè)計(jì)了一套模擬汽車轉(zhuǎn)向燈控制系統(tǒng)

3、。作用就是用LED產(chǎn)生閃光信號(hào),從而達(dá)到檢測(cè)除故障的效果。因?yàn)槭悄M的汽車轉(zhuǎn)向燈控制系統(tǒng),所以在檢查信號(hào)燈故障的時(shí)候,不能借助熔絲盒、繼電器、SW、B接柱這些器件來診斷故障,只能在LED燈產(chǎn)生閃光信號(hào)時(shí)檢測(cè)信號(hào)燈的故障。1 汽車轉(zhuǎn)向燈介紹1.1 汽車轉(zhuǎn)向燈功能分析汽車轉(zhuǎn)向信號(hào)裝置主要由轉(zhuǎn)向燈、閃光器、轉(zhuǎn)向燈開關(guān)等組成,轉(zhuǎn)向燈的閃爍由閃光器控制,由此可知汽車轉(zhuǎn)向信號(hào)有很大一部分都是由汽車轉(zhuǎn)向燈來完成的,本設(shè)計(jì)中轉(zhuǎn)向燈的閃光器是由電容式閃光器實(shí)現(xiàn)的,接通轉(zhuǎn)向燈開關(guān)后,轉(zhuǎn)向燈就會(huì)開始工作。1.1.1 汽車轉(zhuǎn)向燈的作用轉(zhuǎn)向信號(hào)燈分別裝在車身前,后端的左右兩側(cè)。汽車在轉(zhuǎn)彎、變更車道或路邊停放時(shí),打開轉(zhuǎn)向

4、信號(hào)燈,向交警、行人及其其它車輛表明駕駛員的意圖。為了引人注目轉(zhuǎn)向信號(hào)燈不僅亮度很強(qiáng),且在其電路中裝有使信號(hào)燈光的閃爍器。轉(zhuǎn)向信號(hào)燈由閃光繼電器和轉(zhuǎn)向開關(guān)控制,當(dāng)所有轉(zhuǎn)向信號(hào)燈同時(shí)閃爍時(shí),作為危險(xiǎn)報(bào)警信號(hào),由危險(xiǎn)報(bào)警信號(hào)開關(guān)控制。閃爍式轉(zhuǎn)向信號(hào)燈可單獨(dú)設(shè)置,也可與前小燈(或后小燈)合成一體,在該種情況下一般用雙絲燈泡,有的汽車后轉(zhuǎn)向信號(hào)燈和后燈合成一體。1.2 設(shè)計(jì)方案及原理模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)電路是由單片機(jī)AT89C51、復(fù)位、時(shí)鐘、LED顯示電路、按鍵電路構(gòu)成等幾部分組成。系統(tǒng)框圖如圖1.2-1所示:按鍵電路AT89C51LED顯示電路圖1.2-1 系統(tǒng)框圖1.3 系統(tǒng)設(shè)計(jì)模擬汽車轉(zhuǎn)

5、向燈控制系統(tǒng)設(shè)計(jì)要求在汽車進(jìn)行左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車、合緊急開關(guān)停靠、倒車等操作時(shí),實(shí)現(xiàn)對(duì)各種信號(hào)指示燈的控制。根據(jù)設(shè)計(jì)要求,制定總體的設(shè)計(jì)思想。 以單片機(jī)AT89C51為核心芯片通過控制LED的顯示來模擬汽車轉(zhuǎn)向燈,即用開關(guān)K1-K6的閉合分別模擬剎車、緊急、停靠、左轉(zhuǎn)、右轉(zhuǎn)、倒車操作;用LED發(fā)光二極管D1-D8的亮滅顯示來模擬汽車的故障指示燈、左頭燈、右頭燈、左轉(zhuǎn)彎信號(hào)燈、右轉(zhuǎn)彎信號(hào)燈左尾燈、右尾燈、倒車燈的顯示情況。轉(zhuǎn)向時(shí),規(guī)定左右尾燈、左右頭燈儀表板上2個(gè)指示燈相應(yīng)地發(fā)出閃爍信號(hào);應(yīng)急開關(guān)合上時(shí), 6個(gè)信號(hào)燈都應(yīng)閃爍;汽車剎車時(shí),2個(gè)尾燈發(fā)出穩(wěn)定亮信號(hào);如正當(dāng)轉(zhuǎn)向時(shí)剎車,轉(zhuǎn)向時(shí)原應(yīng)閃爍

6、的信號(hào)仍應(yīng)閃爍。它們都是頻率為1Hz低頻閃爍,在汽車??慷?块_關(guān)合上時(shí),左頭燈、右頭燈、左尾燈、右尾燈按頻率為30Hz的高頻閃爍。任何上述之外的開關(guān)組合,都將出現(xiàn)故障指示燈閃爍閃爍頻率為30Hz。1.4 工作原理1.4.1 開關(guān)狀態(tài)控制開關(guān)狀態(tài)檢測(cè),對(duì)AT89C51來說是輸入關(guān)系,可輪流檢測(cè)每個(gè)開關(guān)狀態(tài),以每個(gè)開關(guān)的狀態(tài)讓相應(yīng)的發(fā)光二極管指示;也可以一次性檢測(cè)六路開關(guān)狀態(tài),即用MOV A, P2 指令一次性把P2 端口的狀態(tài)全部讀入,取低6位的狀態(tài)來指示。1.4.2 輸出狀態(tài)控制以LED發(fā)光二極管D0D7 來指示,此設(shè)計(jì)用指令MOV P2, #B 方法來實(shí)現(xiàn)。1.4.3 定時(shí)器和計(jì)數(shù)器在模擬

7、汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)中,常常要求有一些實(shí)時(shí)時(shí)鐘電路,以實(shí)現(xiàn)定時(shí)控制、定時(shí)測(cè)量或延時(shí)動(dòng)作,也要求有計(jì)數(shù)器能對(duì)外部事件計(jì)數(shù),實(shí)現(xiàn)定時(shí)/計(jì)數(shù),有軟件,數(shù)字電路和可編程定時(shí)/計(jì)數(shù)器3種方法,這里采用的AT89C51可編程定時(shí)/計(jì)數(shù)器來設(shè)計(jì)的,AT89C51系列單片機(jī)中采用16位的定時(shí)器/計(jì)數(shù)器執(zhí)行。設(shè)計(jì)中利用定時(shí)器/計(jì)數(shù)器0,一個(gè)軟件計(jì)數(shù)器產(chǎn)生低頻(1Hz)閃爍功能。利用定時(shí)器/計(jì)數(shù)器0來產(chǎn)生為時(shí)60ms的定時(shí)信號(hào),以實(shí)現(xiàn)高頻(60Hz)閃爍功能。1.4.4 中斷系統(tǒng)在CPU和外設(shè)交換信息時(shí),存在著快速CPU和慢速外設(shè)時(shí)間矛盾,機(jī)器內(nèi)部有時(shí)可能會(huì)出現(xiàn)突發(fā)事件,為此,在這次模擬汽車轉(zhuǎn)向燈控制著系統(tǒng)設(shè)計(jì)

8、中采用中斷技術(shù)。利用MCS-51系列單片機(jī)的可編程定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)來實(shí)現(xiàn)燈閃爍的延時(shí)和故障檢測(cè)當(dāng)檢測(cè)到操作錯(cuò)誤,可以利用中斷系統(tǒng)請(qǐng)求CPU及時(shí)處理這些故障。1.4.5 汽車轉(zhuǎn)向燈控制在汽車轉(zhuǎn)彎或應(yīng)急狀態(tài)下,外部信號(hào)燈和儀表板它們指示燈的閃爍頻率為1Hz,稱低頻信號(hào)。當(dāng)??块_關(guān)合上時(shí),外部信號(hào)燈以60Hz頻率閃爍此時(shí)為高頻信號(hào)。汽車轉(zhuǎn)彎燈設(shè)計(jì)8個(gè)按鍵控制信號(hào)燈的轉(zhuǎn)向、停靠、應(yīng)急等。按鍵安排為:K0鍵為剎車開關(guān);K1鍵為緊急開關(guān);K2鍵為??块_關(guān);K3鍵為左轉(zhuǎn)彎開關(guān);K4鍵為右轉(zhuǎn)彎開關(guān);K5鍵為倒車開關(guān)。2 控制系統(tǒng)總體設(shè)計(jì)2.1 控制系統(tǒng)總體設(shè)計(jì)思路模擬汽車轉(zhuǎn)向燈控制系統(tǒng)設(shè)計(jì)主要是依靠一個(gè)

9、單片機(jī)控制系統(tǒng)完成的,這個(gè)單片機(jī)控制系統(tǒng)在汽車進(jìn)行左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車、合緊急開關(guān)、停靠、倒車等操作時(shí),實(shí)現(xiàn)對(duì)各種信號(hào)指示燈的控制。從而達(dá)到模擬汽車轉(zhuǎn)向燈的功能。2.2 轉(zhuǎn)向燈控制系統(tǒng)總電路圖振蕩器啟動(dòng)時(shí)間不超過10ms,在加電情況下,可以使單片機(jī)復(fù)位。電平復(fù)位將復(fù)位端通過電阻與Vcc相連,按鍵脈沖復(fù)位是利用RC分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。在按鍵電平復(fù)位和按鍵脈沖復(fù)位兩種簡(jiǎn)單的復(fù)位電路中,干擾易串入復(fù)位端,轉(zhuǎn)向燈控制系統(tǒng)總電路圖如圖2.2-1所:圖2.2-1 轉(zhuǎn)向燈控制系統(tǒng)總電路圖3 硬件設(shè)計(jì)3.1 按鍵電路根據(jù)設(shè)計(jì)的要求,本設(shè)計(jì)選用獨(dú)立式鍵盤。其工作原理為,單片機(jī)引腳作為輸入使用,首先置“

10、1”。當(dāng)鍵沒有被按下時(shí),單片機(jī)引腳上為高電平;而當(dāng)鍵被按下去后引腳接地,單片機(jī)引腳上為低電平。是否有鍵按下,以及被按下的是哪一個(gè)可以通過單片機(jī)引腳電平顯示出來。下圖是電路板上按鍵的接法,5個(gè)按鍵分別接到P1.0、P1.1、P1.2、P1.3、P1.4和P1.5。對(duì)于這種接法,各程序可以采用不斷查詢的方法,其功能就是:檢測(cè)是否有鍵閉合,判斷鍵號(hào)并轉(zhuǎn)入相應(yīng)的鍵處理。如圖3.1-1所示:圖3.1-1 按鍵電路3.2 時(shí)鐘電路采用單片機(jī)內(nèi)部晶振。如圖2所示,在MCS-51系列單片機(jī)內(nèi)部有一個(gè)高增益反向放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片外部XTAL1和XTAL2之間跨

11、接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。外接晶體振蕩器以及電容C5和C7構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中,C5和C5的大小會(huì)對(duì)振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度特性有一定的影響。如圖3.2-1所示:圖3.2-1 時(shí)鐘電路3.3 復(fù)位電路上電復(fù)位電路如圖3所示,是利用外部復(fù)位電路實(shí)現(xiàn)。振蕩器啟動(dòng)時(shí)間不超過10ms,在加電情況下,可以使單片機(jī)復(fù)位。電平復(fù)位將復(fù)位端通過電阻與Vcc相連,按鍵脈沖復(fù)位是利用RC分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。如圖3.3-1所示:圖3.3-1 復(fù)位電路3.4 LED顯示電路本設(shè)計(jì)通過驅(qū)動(dòng)芯片ULN2803將AT89C5

12、1單片機(jī)的P1口輸出與LED發(fā)光二極管相連當(dāng)AT89C51單片機(jī)的P1引腳是高電平時(shí),LED不亮,當(dāng)P1引腳是低電平時(shí),LED亮。但是在汽車轉(zhuǎn)向燈里要根據(jù)汽車方向來控制信號(hào)燈,而實(shí)現(xiàn)LED的亮與滅。4 軟件設(shè)計(jì)主程序中完成對(duì)汽車轉(zhuǎn)向燈控制系統(tǒng)的初始化工作,判斷是否有鍵被按下,當(dāng)開關(guān)沒有動(dòng)作時(shí)無輸出,調(diào)用延時(shí)程序,延時(shí)1s,當(dāng)判斷有開關(guān)被按下時(shí),進(jìn)入中斷。中斷程序主要完成各開關(guān)按下時(shí)汽車轉(zhuǎn)向燈信號(hào)的相應(yīng)顯示,其中也在各分支中調(diào)用了延時(shí)程序,以使LED在不同的分支以相應(yīng)的頻率閃爍。在Protel軟件中,找到所需要的元器件,調(diào)入后,連線,下載程序到AT89C51芯片中,運(yùn)行可看到相應(yīng)的信號(hào)燈亮或閃爍

13、。原理圖按鍵連線:P1.0=剎車;P2.1=熄滅;P1.1=???;P2.2=左轉(zhuǎn);P1.2=右轉(zhuǎn);P2.0=倒車;鍵值是根據(jù)P1的狀態(tài)來確定的。例:P1=,表明剎車鍵按下,它的鍵值是3EH(只看后面六位),P1.1=,表明剎車鍵松開,它的鍵值是0EH,而P1.2=,它的鍵值是1EH,表明左轉(zhuǎn)向燈熄滅,P2.1=,它的鍵值是2EH,表明緊急轉(zhuǎn)向,P2.0=,表明倒車轉(zhuǎn)向燈打開,它的鍵值是4EH。具體過程如圖4-1所示:圖4-1 汽車轉(zhuǎn)向燈控制系統(tǒng)鍵功能程序流程圖4.1 總控制程序設(shè)計(jì)汽車轉(zhuǎn)向燈控制系統(tǒng)子程序設(shè)計(jì)、系統(tǒng)中斷服務(wù)程序設(shè)計(jì)、按鍵功能程序設(shè)計(jì)汽車轉(zhuǎn)向燈控制系統(tǒng)子程序設(shè)計(jì),子程序是構(gòu)成單片

14、機(jī)應(yīng)用程序必不可少的一部分,由于AT89C51單片機(jī)有ACALL和LCALL兩條子程序調(diào)用子令,將K1和K2設(shè)置成出口參數(shù)用于補(bǔ)充P1和P2接口,此函數(shù)中的參數(shù)值的是檢測(cè)故障的位置。由于電路連接對(duì)應(yīng)的是單片機(jī)的P3口,所以該函數(shù)要借助輔助子函數(shù)unsigned char getQ(unsigned char i)來將18轉(zhuǎn)化為P2口的P20P27管腳即:0x01,0x02,0x04,0x10,0x20,0x40,0x80.以支持單總線操作。所以如果要檢測(cè)第8號(hào)監(jiān)測(cè)點(diǎn),循環(huán)指示燈C程序設(shè)計(jì)如下。#include #define_MHZ_12 /設(shè)置單片機(jī)使用的晶振頻率unsigned int c

15、ount=0,precount,Maichong;void t1 (void); /t1定時(shí)子函數(shù)void int1(void) interrupt1; /中斷服務(wù)子函數(shù)void Yudi(void); /判斷循環(huán)燈子函數(shù)sbit Q7=p33;sbit int1=p33;main() t1(); /調(diào)用定時(shí)子程序while(precount!=0)Yudi();P0=Maichong; /調(diào)用轉(zhuǎn)向燈多少子程序t1();void t1 (void);TMOD=0x10; /定時(shí)器1工作在方式1,即為16位計(jì)數(shù)器TH1=0X01; /設(shè)置60ms定時(shí)時(shí)間的初值TL1=0XA0;TR1=1; /啟

16、動(dòng)T1IT1=1; /設(shè)置INTR1中斷方式為邊沿觸發(fā)方式,負(fù)跳變時(shí)產(chǎn)生中斷EA=1;ET1=1; /允許定時(shí)器1中斷EX1=1; /允許外部中斷1中斷EA=1; /CPU開放中斷count=0;void int1(void) interrupt1; /外部中斷1處理函數(shù)TR1=0;TH1=0X15;TL1=0XA0;while (int1=0);count +;precount=count;TR1=1;void Yudi(void); /轉(zhuǎn)向傳感器子程序 if(precount=3&precount=12&precount20) Maichong=0FH;else Maichong=00HM

17、aichong=P0;在汽車轉(zhuǎn)向系統(tǒng)中斷服務(wù)設(shè)計(jì)中,依然使用的是AT89C51單片機(jī),在AT89C51中有6個(gè)中斷源,其中有兩個(gè)為外部中斷源,也就是在單片機(jī)外部引腳上加了觸發(fā)信號(hào),以便產(chǎn)生中斷請(qǐng)求,T0、T1、T2、T3、T4的入口地址分別是00003H,000BH,0013H,001BH,當(dāng)這4個(gè)接口發(fā)出請(qǐng)求信號(hào)時(shí),閃光燈會(huì)依次亮起來,以右轉(zhuǎn)彎狀態(tài)仿真圖為例,轉(zhuǎn)彎燈仿真圖見附錄1,C程序設(shè)計(jì)如下。#include #include float pwmcycle, pwmcycle1,pwmcycle2;char E(k)8,Ec(k)8;sbit pwm1=P0.0;sbit pwm1=P0

18、.1;sbit pwm2=P0.3;sbit pwm2=P0.4;void delay(unit m); /聲明延時(shí)函數(shù)void dianji(void);void timer1(void)interrupt 0 using 1;void timer2(void)interrupt 1 using 1;void shijiancha(void);void Tongbu(void);void gengxin(void);mainP1=P0; dianji();shijiancha();tongbu();dengxin();if(timer1!=timer2) dianji();void dela

19、y(unit m) /延時(shí)1ms子程序 uchar i;while(m-)for(i=125;i0;i-)void dianji(void) /循環(huán)子程序 while (Maichong=4) if(SA1=1 or SA3=1) P0=09H;else if(SA0=1or SA2=1)P0=12H; pwmcycle=40%delay(20);P0=00H;delay(30);while (Maichong=16) if(SA1=1 or SA3=1) P0=09H;else if(SA0=1or SA2=1)P0=12H; pwmcycle=60%delay(30);P0=00H;del

20、ay(20);void shijiancha(void)TMOD=0x11; /定時(shí)方式,工作在方式1TH0=0xff;TL0=0xff;TH1=0xff;TL1=0xff;IT0=1;IT1=1;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;void timer1(void)interrupt 0 using 1unsigned char tmp1,tmp2;dotmp1=TH0;tmp2=TL0;timer1=256*tmp1+tmp2;TH0=0;TL0=0;void timer2(void)interrupt 1 using 1unsigned char tmp3,tmp4

21、;dotmp3=TH1;tmp4=TL1;timer2=256*tmp3+tmp4;TH0=0;TL0=0;void Tongbu(void) /兩電機(jī)同步子程序int e(k),ec(k);for(k=0;k+) e(k)=timer1(k)-timer2(k); ec(k)=E(k)-E(k-1); if(e(k)25ms)e(k)=25ms;else if(e(k)50ms)ec(k)=50ms;)else if(ec(k)15ms) /時(shí)間誤差置位規(guī)律 E(k)0=1;else if (e(k)8ms&e(k)0&e(k)-8ms&e(k)0)E(k)4=1;else if(e(k)=

22、-15ms&e(k)-8ms)E(k)5=1;else if (e(k)16&ec(k)0&ec(k)-16&ec(k)=-30&ec(k)=-16)Ec(k)4=1;while(E(k)6=1) /查表 if(Ec(4)=1) U=-3;else if(Ec(3)=1) U=-2;else if(Ec(2)=1) U=-2;else if(Ec(1)=1) U=-1;else if(Ec(0)=1) U=0;while(E(k)5=1) if(Ec(4)=1) U=-3;else if(Ec(3)=1) U=-2;else if(Ec(2)=1) U=-2;else if(Ec(1)=1)

23、U=-1;else if(Ec(0)=1) U=0;按鍵功能程序設(shè)計(jì),鍵盤和LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中常用的輸入/輸出裝置本設(shè)計(jì)采用的是動(dòng)態(tài)接口程序,采用各數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示的頻率較高時(shí),利用P1.0,P2.0,P3.0,P4.0這些接口完成程序碼的輸出,另一接口完成各數(shù)碼管的輪流點(diǎn)亮,根據(jù)數(shù)碼管顯示部分的電路設(shè)計(jì)可知,兩個(gè)數(shù)碼管的顯示只需要控制6個(gè)單片機(jī)引腳。其中AA、BB、CC、DD引腳連接的是74LS47芯片的輸入引腳,單片機(jī)控制這四個(gè)引腳輸出的2進(jìn)制數(shù)經(jīng)過74LS47譯碼,控制數(shù)碼管顯示相應(yīng)的十進(jìn)制數(shù)字其中l(wèi)ock1,lock2分別連接兩個(gè)74HC573使能端,當(dāng)

24、lock1=0,lock2=1時(shí),紅色數(shù)碼管保持當(dāng)前讀數(shù)不變,藍(lán)色數(shù)碼管根據(jù)AA、BB、CC、DD的輸出信號(hào)改變數(shù)字,當(dāng)lock1=1lock2=0時(shí),藍(lán)色數(shù)碼管保持當(dāng)前讀數(shù)不變,紅色數(shù)碼管根據(jù)P1、P2、P3、P4的輸出信號(hào)改變燈的循環(huán)循序。該程序中包含了毫秒延時(shí)函數(shù),具體仿真圖見附錄2,匯編語言程序設(shè)計(jì)如下。ORG0000H AJMP START1 ORG0030HSAME EQU4EHSTART1: MOVP1,#00H;無輸入時(shí)無輸出START: MOVA,P3 ;讀P3口數(shù)據(jù) ANLA,#1FH ;取用P3口的低五位數(shù)據(jù) CJNEA,#1FH,SHIY ;對(duì)P3口低五位數(shù)據(jù)進(jìn)行判斷

25、AJMPSTART1SHIY: MOVSAME, A LCALLYS ;延時(shí) MOVA,P3 ;讀P3口的數(shù)據(jù) ANLA,#1FH ;取用P3口的低五位數(shù)據(jù) CJNEA,#1FH,SHIY1 ;對(duì)P3口的低五位數(shù)據(jù)進(jìn)行判斷 AJMPSTART1 ;開關(guān)沒有動(dòng)作時(shí)無輸出SHIY1: CJNEA,SAME,START1 CJNEA,#17H,NEXT1 ;P3.3=0時(shí)進(jìn)入左轉(zhuǎn)分支 AJMPLEFTNEXT1: CJNEA,#0FH,NEXT2 ;P3.4=0時(shí)進(jìn)入右轉(zhuǎn)分支 AJMPRIGHTNEXT2: CJNEA,#1DH,NEXT3 ;P3.1=0時(shí)進(jìn)入緊急分支 AJMPEARGENEXT3

26、: CJNEA,#1EH,NEXT4 ;P3.0=0時(shí)進(jìn)入剎車分支 AJMPBRAKENEXT4: CJNEA,#1BH,NEXT5 ;P3.2=0時(shí)進(jìn)入??糠种?AJMPSTOPNEXT5: AJMPERROR ;其他情況進(jìn)入錯(cuò)誤分支LEFT: MOVP1,#2AH ;左轉(zhuǎn)分支YS: MOV R7,#04H ;延時(shí)YS0: MOVR6, #0FFHYS1: DJNZR6, YS1 DJNZR7, YS0 RETY1s: MOVR7,#04H ;延時(shí)Y1s1: MOVR6, #0FFHY1s2: MOVR5, #0FFH DJNZR6, Y1s2 DJNZR7, Y1s1 RETY100ms:

27、 MOVR7,#66H;延時(shí)Y100ms1: MOVR6, #0FFHY100ms2: DJNZR6, Y100ms2 DJNZ R7, Y100ms1 RET END5 結(jié)束語緊張的畢業(yè)設(shè)計(jì)即將結(jié)束了,這期間讓我學(xué)到了許多知識(shí),讓我懂得了對(duì)待科學(xué)要嚴(yán)謹(jǐn)、認(rèn)真的道理。這將是我在今后工作學(xué)習(xí)中的一筆寶貴財(cái)富。本文在查閱了大量文獻(xiàn)的基礎(chǔ)上,結(jié)合實(shí)際應(yīng)用問題,對(duì)模擬汽車轉(zhuǎn)向燈控制系統(tǒng)進(jìn)行了研究。目前的轉(zhuǎn)向燈系統(tǒng)都是電子結(jié)構(gòu)的,采用感應(yīng)式的模擬汽車向燈系統(tǒng)只是在少數(shù)高級(jí)轎車上有應(yīng)用,因?yàn)槟壳笆褂玫墓怆娹D(zhuǎn)向傳感器大都是由國外廠商一統(tǒng)天下,因而,價(jià)格比較昂貴,很難普及。本文利用單片機(jī)控制系統(tǒng)來實(shí)現(xiàn)模擬的汽

28、車轉(zhuǎn)向燈系統(tǒng)的狀態(tài)。原因是成本低廉,性能穩(wěn)定,可靠性高,易于在大客車和低檔轎車上普及應(yīng)用,有廣泛的市場(chǎng)應(yīng)用前景。關(guān)于單片機(jī)控制系統(tǒng)的設(shè)計(jì),還有一些特殊情況未在本文所研究之內(nèi),仍有待進(jìn)一步研究。在設(shè)計(jì)的過程中也遇到了很多的問題。首先是在程序的設(shè)計(jì)上,由于所控制的分支太多,所以花了很長時(shí)間才整理出程序,在三個(gè)不同時(shí)間的延時(shí)的設(shè)計(jì)過程中,由于自己忽略了定時(shí)器選擇的定時(shí)模式,導(dǎo)致了延時(shí)計(jì)算的錯(cuò)誤,在經(jīng)過同學(xué)指點(diǎn)后多次計(jì)算終于實(shí)現(xiàn)了LED以10Hz和30Hz頻率閃爍;其次在軟件的安裝方面,這次課設(shè)需要用到Visio畫圖軟件,Protel、Keil仿真軟件等一系列軟件,因?yàn)殡娔X的問題致使安裝的時(shí)候出現(xiàn)了各

29、種狀況,但在同學(xué)的幫助下最后還是安裝成功;最后就是在仿真時(shí),由于對(duì)軟件環(huán)境不熟悉,不過在請(qǐng)教老師之后最終完成仿真。畢業(yè)設(shè)計(jì)是對(duì)我們大學(xué)三年學(xué)習(xí)生活的實(shí)踐和總結(jié)。讓我們把學(xué)會(huì)把理論運(yùn)用到實(shí)際中。整個(gè)設(shè)計(jì)中都傾注了胡老師大量的心血,對(duì)我的設(shè)計(jì)思路,設(shè)計(jì)方案的決定、構(gòu)思都給予了重要的指導(dǎo),使得我少走了不少彎路,我的畢業(yè)設(shè)計(jì)才能按時(shí)、順利的完成。同時(shí)還要感謝幫助過我的同學(xué)們,謝謝你們?cè)谠O(shè)計(jì)中給我的支持與動(dòng)力。畢業(yè)設(shè)計(jì)中用到了軟件來分別設(shè)計(jì)原理圖和仿真圖,同時(shí)也用到了等軟件來編寫運(yùn)行控制程序。在一定程度上加深了對(duì)以上軟件的認(rèn)識(shí)與理解,也加強(qiáng)了對(duì)這些軟件的運(yùn)用和掌握。綜合設(shè)計(jì)題目來源于生活,讓我們?cè)诖髮W(xué)期間學(xué)習(xí)的理論知識(shí)顯得并不是那么空洞得到了很好的實(shí)踐,也使得對(duì)自己的發(fā)展

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論