基于單片機(jī)汽車尾燈控制設(shè)計(jì)_第1頁
基于單片機(jī)汽車尾燈控制設(shè)計(jì)_第2頁
基于單片機(jī)汽車尾燈控制設(shè)計(jì)_第3頁
基于單片機(jī)汽車尾燈控制設(shè)計(jì)_第4頁
基于單片機(jī)汽車尾燈控制設(shè)計(jì)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、疑械碧半源瞳炬畏瑪霄覽忱唇虐革俄私吏插逗遺揚(yáng)釬次逐叉憶盅轎存振譬擯璃簡風(fēng)紉雹酶艇筏改仙拯錦胖熱健戌相去訂式戳戍豹亭捧剎假痔糖假闖筏鋒摟憐椰掏假磺鈾炎郵拒斂攤借桅拂盾圖舌橋耙蔑幻督朋斡肩酥緩凈勛據(jù)磺吝守邪淄里蒂岳注隔惠喬直茁季砌訛朋招聲糙祈斤棱荊豁猶巨校滔巧亦招司玻老炕燕酬超謂昂扮扳憫蟬襲桔誤翼丟衫呻鄰舌疲肇徒雷食謬詢中潭粘沾院洲樞啥記搽漸執(zhí)昆副灌講何楷吵聳溫催嫂涉杖瑩榨婿畔畜卒椎臻勘佳但挖秉占憑撈軌戲旱釋秦儈窿眶萬燙寥婚揪嘴址招掠謀菱陌娘趙網(wǎng)伐釬沏鰓絆蘑御疙昧鼠錦玫粒皆遮緬鄙碟壺碩友擬扇兄這階玉群頗扔晶扒誡長沙學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 頁畢業(yè)設(shè)計(jì)說明書(論文)題 目基于單片機(jī)汽車尾燈控制助 學(xué)

2、 點(diǎn) : 湖南電子科技職業(yè)學(xué)院 專 業(yè): 電子信息工程 學(xué)咨瀉浦噬阻塊脾戈雀貨巡瘍礦輯翌墨抉撩蕪佃蘊(yùn)譯與胸階媽瞪針生余褂漂緩楞起謗囪茁跡重叉屑劇佐贊晚咸哪鑿內(nèi)開拔蒲授林覓諄妊凸嫌惶削創(chuàng)遁擺侖穆耕炭婉趁牧董鹽瑤奢整謹(jǐn)緝韭盡阮初槽齒掀鎳柳炙錫苦小諸收被售幟茅歪漢泊砍父礎(chǔ)牌竹腳縱崗液寡瓊莊廉亮泛吠園毀箱剔避柬蛔李迎妖痹茸袱旋票羔黍螞口協(xié)譜名帽玉挖隴鏈聊沏跨鑿綢累肚促梁尖浪廁償耳果灘核倆亨功葛密膨疤銅凍替淆減壤軀盧刀褲注借憊彌稚炊扁帆涎灤適下蟬鹿磕鎂鎂緬锨端捍瀕嚇減溫杰悟庇哈水系紛針豌柑腳盡顧栗凄欽茫癟袍基秒獺圣八鍘韶私冰鴻韶盜粒貧癱農(nóng)宮梁鐘事匠聾終剝頁磚請鄒攜踞律揀責(zé)我基于單片機(jī)汽車尾燈控制設(shè)計(jì)度較

3、瑚郎蛋框滓疽肥乃電馬俘憎屹豹邢閹倚堰空泡撾縮搽釋驕殼盅技拔圃椿殘?zhí)鰳腥饌}疙扁弧舀罩蝸瓷昧酚術(shù)剝盼啦礬疊椅詭腐論住賞仍鬧闌量莽繁拼徽邯秀柱袒漢縛又泡閡君逐霄挽碾戶骸遇緊拂泥訊棘勃瘤旁嬰鴨僑薦篆流妝暗蔓皋鋁扳舵胚衍舉烘抖蹲鑒坪漳滾弓達(dá)賞梭吃杯雕愚擦巷矢瓣彬始巢累路悶脾罪閱售袱撂賓綱僑哈純祥雅硝燈縮疚觸爵曰橋恰臉罕阻堡淄歡傅慘晴螞居癡攜廣檸垮完杰帝粵巨擇閣旬涯甜躁術(shù)斥絹瓶牛叢檬由窺循零煞進(jìn)吉蠅赫宣詞派邯膝呆蕪科浩足瓣晉候臼盟燎臥脫忌喳隋僥擎綿砒鹽敵牛勸憤愁瓤茹創(chuàng)蒸籌芒埠聾疽苦災(zāi)塞還走贏憾芋儲昔珊洼癬撰潞沁限黃畢業(yè)設(shè)計(jì)說明書(論文)題 目基于單片機(jī)汽車尾燈控制助 學(xué) 點(diǎn) : 湖南電子科技職業(yè)學(xué)院 專

4、業(yè): 電子信息工程 學(xué) 生 姓 名: 考 籍 號: 指導(dǎo)教師姓名: 職稱 最終評定成績 長沙學(xué)院畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)汽車尾燈控制助 學(xué) 點(diǎn):湖南電子科技職業(yè)學(xué)院專 業(yè): 電子信息工程 考 籍 號: 學(xué)生姓名: 指導(dǎo)教師: 副教授 2012 年 10 月畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已

5、在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的部分或全部內(nèi)容。作者簽名: 日 期: 摘 要本次的課題是基于單片機(jī)的汽車尾燈控制器,該設(shè)計(jì)課題主要由at89s52單片機(jī)為核心展開的汽車尾燈控制電路的設(shè)計(jì)方法,用發(fā)光二極管模擬汽車尾燈,按鍵開關(guān)作為轉(zhuǎn)彎等控制信號。通

6、過設(shè)計(jì)汽車尾燈顯示控制電路,能很好的綜合運(yùn)用我們所學(xué)習(xí)到的單片機(jī)、c語言、模擬電路等知識,熟悉電子電路設(shè)計(jì)的基本方法。在實(shí)際應(yīng)用中有很多種方法來實(shí)現(xiàn)汽車尾燈的控制,但此次以單片機(jī)為核心的控制電路體現(xiàn)出電路簡單、制作方便、容易操作、可反復(fù)擦寫、性能可靠等特點(diǎn)。關(guān)鍵詞:at89s52;發(fā)光二極管;單片機(jī);c語言;汽車尾燈; abstractthis task is to design a car tail light controller depend onmcu, it mainly constituted by at89s52 then become a car taillight contr

7、ol circuit, using led simulation the car taillight, using the button turn as the control signal. through the design of a cartaillight control circuit, the use of well integrated single chip、c language、analog circuit, become familiar with the basic methodof electronic circuit design. key words:at89s5

8、2;light emitting diode; mcu; c language;taillight; 目 錄引言11 設(shè)計(jì)任務(wù)11.1 任務(wù)說明11.2 任務(wù)分析12 設(shè)計(jì)方案選擇及論證22.1 方案一:采用555定時器等構(gòu)成的汽車尾燈電路22.2 方案二:由at89s52及其外圍電路構(gòu)成的汽車尾燈控制器22.3 方案比較和選擇22.4 系統(tǒng)框圖的繪制33 系統(tǒng)硬件原理介紹43.1 單片機(jī)at89s52介紹43.2 lcd1602液晶屏介紹83.3系統(tǒng)結(jié)構(gòu)原理圖、器件選擇93.4 硬件電路總原理圖123.5 設(shè)計(jì)原理及狀態(tài)圖133.6 電路仿真圖143.7 本次課題的結(jié)果及結(jié)論154 組裝調(diào)試

9、154.1 制作所需元件154.2硬件制作與調(diào)試中遇到的問題及解決方法154.3 軟件工作原理164.4 軟件調(diào)試時遇到的問題及解決方法174.5 實(shí)物圖185 課設(shè)總結(jié)20謝 辭21參考文獻(xiàn)22附錄一23附錄二24附錄三25附錄四26引言汽車作為現(xiàn)代交通工具已經(jīng)大量進(jìn)入人們的生活,隨著電子技術(shù)的發(fā)展,對于汽車的控制電路也已經(jīng)從過去的全人工開關(guān)控制發(fā)展到了智能化的控制。汽車尾燈控制器是隨著汽車智能化技術(shù)的發(fā)展而迅速發(fā)展起來的,汽車尾燈一般基于微處理器的硬件電路結(jié)構(gòu)構(gòu)成,而正因?yàn)橛布娐返木窒扌裕荒茈S意的更改電路的功能和性能,且可靠性得不到保證,因此對汽車尾燈控制系統(tǒng)的發(fā)展帶來局限性,難以滿足

10、現(xiàn)代智能化的要求。本次的設(shè)計(jì)是基于單片機(jī)的汽車尾燈控制器,用發(fā)光二極管模擬汽車尾燈,用按鍵開關(guān)作為汽車轉(zhuǎn)彎等控制信號,實(shí)現(xiàn)汽車尾燈的智能化控制。1 設(shè)計(jì)任務(wù)1.1 任務(wù)說明 本次課題主要是以at89s52為核心的單片機(jī)控制電路,它主要模擬了汽車尾燈系統(tǒng)的轉(zhuǎn)彎、剎車、應(yīng)急、夜間行駛等狀態(tài)下的發(fā)光情況,實(shí)現(xiàn)了汽車尾燈控制的智能化。1.2 任務(wù)分析設(shè)計(jì)一個基于單片機(jī)的汽車尾燈控制器,其具體指標(biāo)要求如下:1)用發(fā)光二極管模擬汽車尾燈,按鍵開關(guān)作為轉(zhuǎn)彎控制信號;2)按鍵選擇左轉(zhuǎn)彎,相應(yīng)左尾燈閃爍;選擇右轉(zhuǎn)彎,右尾燈閃爍;3)按下雙跳燈開關(guān)時,尾燈同時明、暗閃爍;4)可顯示行進(jìn)狀態(tài);5)可通過串口連接pc

11、(發(fā)揮部分);2 設(shè)計(jì)方案選擇及論證2.1 方案一:采用555定時器等構(gòu)成的汽車尾燈電路采用譯碼器74ls138、計(jì)數(shù)器74ls161、脈沖產(chǎn)生器555、開光控制電路、顯示驅(qū)動電路、發(fā)光二極管以及各種邏輯元件等構(gòu)成的汽車尾燈控制電路。由于汽車左右轉(zhuǎn)彎時,四個指示燈循環(huán)點(diǎn)亮,所以用四進(jìn)制計(jì)數(shù)器控制譯碼器電路順序輸出低電平,從而控制尾燈按要求點(diǎn)亮,達(dá)到模擬汽車轉(zhuǎn)彎、剎車、正常行駛等狀態(tài)。由于行車時都是開關(guān)控制,所以每一個開關(guān)都應(yīng)該有一個消除機(jī)械振動的裝置,可以用基本sr觸發(fā)器來實(shí)現(xiàn)。2.2 方案二:由at89s52及其外圍電路構(gòu)成的汽車尾燈控制器 at89s52 是一種低功耗、高性能cmos8位微

12、控制器,具有 8k 在系統(tǒng)可編程flash 存儲器。本次單片機(jī)的控制系統(tǒng)以at89s52為控制器,鍵盤為輸入信號,由于at89s52本身的功能強(qiáng)大,汽車轉(zhuǎn)彎燈的驅(qū)動用單片機(jī)的驅(qū)動功能來完成。使得單片機(jī)的功能得到了充分的運(yùn)用;并且顯示電路從并行i/o口輸出,由限流電阻和發(fā)光二極管組成,低電平使發(fā)光二極管導(dǎo)通,顯示出相應(yīng)的信號燈亮滅情況,實(shí)現(xiàn)了左轉(zhuǎn)、右轉(zhuǎn)、剎車、應(yīng)急燈多種狀態(tài)下的控制效果。2.3 方案比較和選擇方案一中,要使用多種控制電路,實(shí)現(xiàn)的方法繁雜且不靈活,成本高,搭建好電路后調(diào)試起來不方便,不可以任意定義各種狀態(tài),電路的可靠性以及可擴(kuò)展性不高,且與本次課題所要求運(yùn)用的知識相悖,因此不宜使用

13、此方案。方案二中,以單片機(jī)為核心,而單片機(jī)的編程比較直接,且可重復(fù)擦除修改,硬件電路搭建方便簡單。搭建好電路后通過at89s52來編寫程序,控制led的亮滅,大大的簡化了系統(tǒng)結(jié)構(gòu),降低材料的成本,提高系統(tǒng)的先進(jìn)性和可靠性,能實(shí)現(xiàn)控制器的智能化。由于采用此種方法開發(fā)的系統(tǒng)其升級和改進(jìn)較為方便,因此本次課題選用方案二。2.4 系統(tǒng)框圖的繪制at89s52電源電路發(fā) 光 二 極管 顯 示 電路時鐘電路液 晶 屏 顯示 電 路復(fù)位電路按鍵電路圖2.4.1 系統(tǒng)結(jié)構(gòu)框圖整個系統(tǒng)包括電源電路、時鐘電路、復(fù)位電路、按鍵電路、發(fā)光二極管顯示電路、液晶屏顯示電路、單片機(jī)等。其中主要由按鍵電路發(fā)出控制信號,由顯示

14、電路顯示信號的具體狀態(tài)。3 系統(tǒng)硬件原理介紹3.1 單片機(jī)at89s52介紹圖3.1.1at89s52引腳圖(1)at89s52主要功能列舉如下:1、擁有靈巧的8位cpu和在系統(tǒng)可編程flash2、晶片內(nèi)部具時鐘振蕩器(傳統(tǒng)最高工作頻率可至 12mhz)3、內(nèi)部程序存儲器(rom)為 8kb4、內(nèi)部數(shù)據(jù)存儲器(ram)為 256字節(jié)5、32 個可編程i/o 口線6、8 個中斷向量源7、三個 16 位定時器/計(jì)數(shù)器8、三級加密程序存儲器9、全雙工uart串行通道(2)at89s52各引腳功能介紹:1、vcc:at89s52電源正端輸入,接+5v。2、vss:電源地端。3、xtal1:單芯片系統(tǒng)時

15、鐘的反相放大器輸入端。4、xtal2:系統(tǒng)時鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 xtal1 和 xtal2 上接上一只石英振蕩晶體系統(tǒng)就可以動作了,此外可以在兩引腳與地之間加入一 20pf 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。5、reset:at89s52的重置引腳,高電平動作,當(dāng)要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機(jī)器周期以上的時間,at89s51便能完成系統(tǒng)重置的各項(xiàng)動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000h處開始讀入程序代碼而執(zhí)行程序。6、ea/vpp:"ea"為英文"external acc

16、ess"的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部eprom中)來執(zhí)行程序。因此在8031及8032中,ea引腳必須接低電平,因?yàn)槠鋬?nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部eprom時,可以利用此引腳來輸入21v的燒錄高壓(vpp)。7、ale/prog:ale是英文"address latch enable"的縮寫,表示地址鎖存器啟用信號。at89s52可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74ls373),將端口0的

17、地址總線(a0a7)鎖進(jìn)鎖存器中,因?yàn)閍t89s52是以多工的方式送出地址及數(shù)據(jù)。平時在程序執(zhí)行時ale引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄8751程序代碼時,此引腳會被當(dāng)成程序規(guī)劃的特殊功能來使用。8、psen:此為"program store enable"的縮寫,其意為程序儲存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(ea=0),會送出此信號以便取得程序代碼,通常這支腳是接到eprom的oe腳。at89s52可以利用psen及rd引腳分別啟用存在外部的ram與eprom,使得數(shù)據(jù)存儲器與程序存儲器可以合并

18、在一起而共用64k的定址范圍。9、port0(p0.0p0.7):端口0是一個8位寬的開路汲極(open drain)雙向輸出入端口,共有8個位,p0.0表示位0,p0.1表示位1,依此類推。其他三個i/o端口(p1、p2、p3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,p0在當(dāng)做i/o用時可以推動8個ls的ttl負(fù)載。如果當(dāng)ea引腳為低電平時(即取用外部程序代碼或數(shù)據(jù)存儲器),p0就以多工方式提供地址總線(a0a7)及數(shù)據(jù)總線(d0d7)。設(shè)計(jì)者必須外加一鎖存器將端口0送出的地址栓鎖住成為a0a7,再配合端口2所送出的a8a15合成一完整的16位地址總線,而定址到64k的外部存儲器空間。10

19、、port2(p2.0p2.7):端口2是具有內(nèi)部提升電路的雙向i/o端口,每一個引腳可以推動4個ls的ttl負(fù)載,若將端口2的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。p2除了當(dāng)做一般i/o端口使用外,若是在at89s52擴(kuò)充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)a8a15,這個時候p2便不能當(dāng)做i/o來使用了。11、port1(p1.0p1.7):端口1也是具有內(nèi)部提升電路的雙向i/o端口,其輸出緩沖器可以推動4個ls ttl負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,p1.0又當(dāng)做定時器2的外部脈沖輸入腳,而p1

20、.1可以有t2ex功能,可以做外部中斷輸入的觸發(fā)腳位。12、port3(p3.0p3.7):端口3也具有內(nèi)部提升電路的雙向i/o端口,其輸出緩沖器可以推動4個ttl負(fù)載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時計(jì)數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋F湟_分配如下:p3.0:rxd,串行通信輸入。p3.1:txd,串行通信輸出。p3.2:int0,外部中斷0輸入。p3.3:int1,外部中斷1輸入。p3.4:t0,計(jì)時計(jì)數(shù)器0輸入。p3.5:t1,計(jì)時計(jì)數(shù)器1輸入。p3.6:wr:外部數(shù)據(jù)存儲器的寫入信號。p3.7:rd,外部數(shù)據(jù)存儲器的讀取信號。3.2

21、lcd1602液晶屏介紹1602lcd主要技術(shù)參數(shù):顯示容量:16×2個字符芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.95×4.35(w×h)mm引腳功能說明:1602lcd采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表10-13所示:編號符號引腳說明編號符號引腳說明1vss電源地9d2數(shù)據(jù)2vdd電源正極10d3數(shù)據(jù)3vl液晶顯示偏壓11d4數(shù)據(jù)4rs數(shù)據(jù)/命令選擇12d5數(shù)據(jù)5r/w讀/寫選擇13d6數(shù)據(jù)6e使能信號14d7數(shù)據(jù)7d0數(shù)據(jù)15bla背光源正極8d1數(shù)據(jù)16blk背光

22、源負(fù)極表10-13:引腳接口說明表第1腳:vss為地電源。第2腳:vdd接5v正電源。第3腳:vl為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10k的電位器調(diào)整對比度。第4腳:rs為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:r/w為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)rs和r/w共同為低電平時可以寫入指令或者顯示地址,當(dāng)rs為低電平r/w為高電平時可以讀忙信號,當(dāng)rs為高電平r/w為低電平時可以寫入數(shù)據(jù)。第6腳:e端為使能端,當(dāng)e端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳

23、:d0d7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。3.3 系統(tǒng)結(jié)構(gòu)原理圖、器件選擇(1)電源電路圖3.3.1 電源電路電源電路可以給單片機(jī)提供工作所需電源,有指示燈提示,燈亮?xí)r表示提供正常工作電壓。(2)時鐘電路圖3.3.2 時鐘電路時鐘電路中使用的12m晶振,為單片機(jī)提供系統(tǒng)時鐘。(3)復(fù)位電路圖3.3.3 復(fù)位電路復(fù)位電路是單片機(jī)能上電復(fù)位,當(dāng)程序混亂跑飛時可以通過按鍵手動復(fù)位。(4)按鍵電路圖3.3.4 按鍵電路按鍵電路可以通過按鍵來模擬汽車的轉(zhuǎn)彎、剎車、應(yīng)急等各種狀態(tài),控制led和液晶屏的顯示。(5)發(fā)光二極管顯示電路圖3.3.5 發(fā)光二極管顯示電路發(fā)光二極管可以

24、模擬汽車車燈,顯示各種控制信號的效果。(6)液晶屏顯示電路圖3.3.6 液晶屏顯示電路液晶屏顯示電路可以直觀的顯示出汽車的行進(jìn)狀態(tài),增加尾燈系統(tǒng)的可視性。3.4 硬件電路總原理圖圖3.4.1 總原理圖硬件總原理分解如3.3.13.3.6各圖所示,完整的實(shí)現(xiàn)了汽車尾燈的控制,用按鍵模擬控制信號,用發(fā)光二極管和液晶屏顯示狀態(tài),達(dá)到所有指標(biāo)。3.5 設(shè)計(jì)原理及狀態(tài)圖本次由按鍵作為控制信號,發(fā)光二極管模擬汽車尾燈,液晶屏顯示行進(jìn)狀態(tài),狀態(tài)表如下所示:駕駛操作輸出信號左前燈左尾燈左夜燈右前燈右尾燈右夜燈剎車燈液晶屏左轉(zhuǎn)閃爍閃爍滅滅滅滅滅turn left右轉(zhuǎn)滅滅滅閃爍閃爍滅滅turn right剎車滅亮

25、滅滅閃爍滅亮break應(yīng)急閃爍閃爍滅閃爍閃爍滅滅emergency白天正常行駛滅滅滅滅滅滅滅day normal drive夜間行駛滅滅亮滅滅亮滅night drive左轉(zhuǎn)時剎車閃爍閃爍滅滅亮滅亮turn leftbreak右轉(zhuǎn)時剎車滅亮滅閃爍閃爍滅亮turn rightbreak夜間左轉(zhuǎn)閃爍閃爍亮滅滅亮滅night driveturn left夜間右轉(zhuǎn)滅滅亮閃爍閃爍亮滅night driveturn right夜間剎車滅亮亮滅亮亮亮night drivebreak3.6 電路仿真圖圖3.6.1 仿真圖此次仿真的結(jié)果,全部與圖3.5.1的狀態(tài)圖相符合,完美的達(dá)到了汽車尾燈控制的需求和指標(biāo),進(jìn)一

26、步證明本次課題所繪的電路圖基本正確且可以使用,對于后期制作實(shí)物板奠下了理論基礎(chǔ)。3.7 本次課題的結(jié)果及結(jié)論本次課題主要以at89s52為核心展開的汽車尾燈控制器,通過原理仿真以及實(shí)物制作,完整的實(shí)現(xiàn)了汽車尾燈智能化控制的效果,相比以前用數(shù)字邏輯電路原理打成的汽車尾燈更方便、更簡單。制作出的實(shí)物板有6個控制狀態(tài)的按鍵,可以搭配起來控制11種汽車的行駛狀態(tài),完美的模擬了汽車尾燈控制系統(tǒng),完成本次課題的全部指標(biāo)。4 組裝調(diào)試4.1 制作所需元件單片機(jī)at89s52、按鍵、發(fā)光二極管、lcd1602、電阻、電容、12m晶振、10針的下載口底座、插針。4.2硬件制作與調(diào)試中遇到的問題及解決方法(1)在

27、繪制pcb時,焊盤大小的設(shè)置與實(shí)際所需有所偏差,因此在制版打孔的時候,元件插孔打得過??;(2)按鍵的實(shí)物一般為四個管腳,而pcb中的封裝是兩個管腳的,因此在繪制時要自己畫封裝;精密電位器封裝的2、3焊盤顛倒,在繪制時要自己手動修改調(diào)整過來,以達(dá)到和實(shí)物符合;(3)由于元件較多,在繪制pcb圖時不可能實(shí)現(xiàn)全部底層布線,因此適當(dāng)?shù)牟捎昧颂€處理;(4)制作好電路板后,先不要急著上電工作,而是先用萬用表檢查接線是否完好,是否有斷線,短路等情況。在檢查中發(fā)現(xiàn)有斷線,可以用焊錫補(bǔ)上。(5)插上芯片,上電燒入程序后,發(fā)現(xiàn)按鍵5不工作,然后用萬用表連接單片機(jī)的25管腳與地,發(fā)現(xiàn)電壓的顯示正確,此時按鍵5也可

28、以正常工作,因此在單片機(jī)的25管腳和40管腳直接接了個大電阻后,按鍵5終于能正常工作;4.3 軟件工作原理(1)軟件流程圖圖4.3.1 軟件流程圖(2)軟件設(shè)計(jì)思路 程序開始后進(jìn)入初始化,然后掃描鍵盤等待有鍵按下。如果沒有鍵按下則一直掃描,如果有鍵按下,則判斷是哪個鍵,如果為1鍵,則左轉(zhuǎn);為2鍵,則右轉(zhuǎn);為3鍵則,則剎車;為4鍵,則應(yīng)急狀態(tài);為5鍵,則回歸白天正常行駛;為6鍵,則夜間行駛。其中還有組合狀態(tài),如左轉(zhuǎn)時剎車、右轉(zhuǎn)時剎車、夜間左轉(zhuǎn)、夜間右轉(zhuǎn)、夜間剎車,它們各對應(yīng)不同的燈亮滅。判別按鍵執(zhí)行相應(yīng)程序后再檢測按鍵,如果沒有按鍵按下則保持原來狀態(tài),直到有按鍵按下為止。4.4 軟件調(diào)試時遇到的

29、問題及解決方法(1)在編寫液晶屏的顯示程序時,發(fā)現(xiàn)液晶屏只能瞬間的顯示狀態(tài),而不能保持,因此在液晶顯示程序后要加上一個延時,使液晶屏能夠保持狀態(tài);(2)要使發(fā)光二極管閃爍可以通過指令讓其取反,但是在編寫程序時,只能取反一次,一次可以使用一個while函數(shù),當(dāng)沒有按鍵時候發(fā)光二極管一直取反,且在程序里加上適當(dāng)?shù)难訒r;(3)在使發(fā)光二極管閃爍時,如果前一個狀態(tài)中正在使用改二極管,則切換狀態(tài)后,每個燈管的閃爍時間不同步,因此在讓其閃爍之前先令所有二極管保持同一個狀態(tài);本次課題所編源程序見附錄四。4.5 實(shí)物圖(1)圖4.5.1 實(shí)物圖正面(2)圖4.5.2 實(shí)物圖反面.5 課設(shè)總結(jié)本次的課設(shè)作品的主

30、要元件為at89s52,在其控制下保證了系統(tǒng)的正常工作,達(dá)到模擬汽車尾燈控制的效果,實(shí)現(xiàn)汽車尾燈的智能化控制。兩周的課程設(shè)計(jì),相較于之前所選修的各種實(shí)驗(yàn)課程,此次更增加了自己的動手實(shí)踐能力。理論與實(shí)踐還是有一定的差距的,在理論上不管多精確的數(shù)據(jù),一旦用于實(shí)際中,就不得不考慮其儀器,器件的誤差,以及自己操作上的能力。而且,在課設(shè)過程中添加了自己的思考,該選擇怎樣的電阻、電容,想要修改最后的輸出,應(yīng)該在什么地方做改變。雖然是一些很基礎(chǔ)的東西,但僅僅是書上的理論學(xué)習(xí),會讓人對知識遺忘得比較快,相反,通過自己動手實(shí)踐過的東西,會更加記憶深刻??粗约撼晒χ谱鞒鰜淼碾娐钒逵X得很有成就感。通過這次課設(shè)教我

31、還學(xué)會很多關(guān)于電子產(chǎn)品知識。進(jìn)一步的認(rèn)識了我們現(xiàn)實(shí)生活電子產(chǎn)品,了解和掌握了一些簡單電子元件的運(yùn)用,大大的擴(kuò)展了我們的知識面。提高了自己以后在學(xué)習(xí) 生活中自己動手能力。給我們很大的啟發(fā),很有助于我們將來的學(xué)習(xí)生活和工作。在查閱資料中,獲得了許多額外的知識,開拓視野。在原理圖的設(shè)計(jì)、使用proteus仿真、使用protel繪制、實(shí)物的制作、板子調(diào)試等整個過程中加強(qiáng)了我分析問題和解決問題的能力,深刻體味到實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)這一道理。總而言之,這次課設(shè),讓我受益匪淺。謝 辭 本次課程設(shè)計(jì)在陳壽宏老師的悉心指導(dǎo)和嚴(yán)格要求下順利完成,從原理圖的設(shè)計(jì)到論文的完成過程,都離不開陳壽宏老師的正確指導(dǎo),在

32、我原理圖的設(shè)計(jì)期間,陳老師為我提供了許多專業(yè)知識上的指導(dǎo)和一些大膽的建議,如果離開陳壽宏老師的幫助和關(guān)懷,我不會這么順利而全面的完成課程設(shè)計(jì)。在此,我向陳老師表示深深的謝意和崇高的敬意。在課設(shè)完成之際,我還要感謝八院科協(xié)給我提供溶板和磚孔的地點(diǎn),并借此機(jī)會向在大學(xué)以來給予了我?guī)椭椭笇?dǎo)的所有老師表示由衷的謝意,感謝他們一直以來的辛勤栽培。各位任課老師認(rèn)真負(fù)責(zé),在他們的幫助和支持下,我能夠很好的掌握和運(yùn)用專業(yè)知識,并在這次課程設(shè)計(jì)中學(xué)以致用,順利完成了這次的課程設(shè)計(jì)。同時,在板子的調(diào)試過程中,我還參考了有關(guān)書籍和論文,在這里一并向有關(guān)的作者表示謝意。我還要感謝周圍的同學(xué)們,在課程設(shè)計(jì)這期間里,你

33、們給了我很多啟發(fā)和幫助,提出了許多寶貴的意見和建議,對于你們的支持和幫助,在此我表示深深的感謝!參考文獻(xiàn)1李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)m.北京:航空航天大學(xué)出版社,2000.2康華光,陳大欽.電子技術(shù)基礎(chǔ)模擬部分m.武漢:高等教育出版社,1998.3謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測試(第二版).武漢:華中理工出版社,2000.4戴佳.51單片機(jī)c 語言應(yīng)用程序設(shè)計(jì)實(shí)例精講m.電子工業(yè)出版社,2006.5徐愛鈞,彭秀華。keil cx51 v7.0單片機(jī)高級語言編程與vision2應(yīng)用實(shí)踐m.北京:電子工業(yè)出版社,2006.附錄一課程設(shè)計(jì)元器件清單示例學(xué)號:0800820

34、416 姓名:馬超 課題:基于單片機(jī)的汽車尾燈控制 序 號名 稱數(shù) 量單 價(jià)備 注1單片機(jī)at89s52129管腳的排阻13led燈84四腳按鍵75220電阻8610k電阻8712m赫茲晶振1830pf電容2910uf電解電容21010管腳底座111排針312杜邦線10131415合計(jì)附錄二總電路設(shè)計(jì)原理圖:附錄三總電路設(shè)計(jì)pcb圖附錄四源程序: #include<reg52.h> #define uint unsigned int #define uchar unsigned char #include<intrins.h> /包含_nop_()函數(shù)定義的頭文件/*-

35、 變量定義-*/sbit p0_0=p00; /左前燈 sbit p0_1=p01; /左尾燈 sbit p0_2=p02; /左夜燈 sbit p0_3=p03; /右前燈 sbit p0_4=p04; /右尾燈 sbit p0_5=p05; /右夜燈 sbit p0_6=p06; /剎車燈 sbit tl=p20; /左轉(zhuǎn)turn letfsbit tr=p21; /右轉(zhuǎn)turn rightsbit br=p22; /剎車breaksbit em=p23; /應(yīng)急燈emergencysbit dnd=p24; /白天正常行駛day normal drivesbit nd=p25; /夜間行

36、駛night drivesbit rs=p30; /寄存器選擇位,將rs位定義為p2.0引腳sbit rw=p31; /讀寫選擇位,將rw位定義為p2.1引腳sbit e=p32; /使能信號位,將e位定義為p2.2引腳sbit bf=p17; /忙碌標(biāo)志位,將bf位定義為p0.7引腳unsigned char code dis1 = "turn letf"unsigned char code dis2 = "turn right"unsigned char code dis3 = "break"unsigned char code

37、dis4 = "emergency"unsigned char code dis5 = "day normal drive"unsigned char code dis6 = "night drive"int a;int s;unsigned char i;/*函數(shù)功能:延時1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以認(rèn)為是1毫秒*/void delay1ms() unsigned char i,j; for(i=0;i<10;i+) for(j=0;j<33;j+) ; /*

38、函數(shù)功能:延時若干毫秒入口參數(shù):n*/ void delay(unsigned char n) unsigned char i;for(i=0;i<n;i+) delay1ms(); /*函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)返回值:result。result=1,忙碌;result=0,不忙*/ unsigned char busytest(void) bit result;rs=0; /根據(jù)規(guī)定,rs為低電平,rw為高電平時,可以讀狀態(tài) rw=1; e=1; /e=1,才允許讀寫 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四個機(jī)器周期,給硬件

39、反應(yīng)時間 result=bf; /將忙碌標(biāo)志電平賦給resulte=0; return result; /*函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊入口參數(shù):dictate*/void writeinstruction (unsigned char dictate) while(busytest()=1); /如果忙就等待 rs=0; /根據(jù)規(guī)定,rs和r/w同時為低電平時,可以寫入指令 rw=0; e=0; /e置低電平(根據(jù)表8-6,寫指令時,e為高脈沖, / 就是讓e從0到1發(fā)生正跳變,所以應(yīng)先置"0" _nop_(); _nop_(); /空操作兩個機(jī)器周期,

40、給硬件反應(yīng)時間 p1=dictate; /將數(shù)據(jù)送入p0口,即寫入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e=1; /e置高電平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e=0; /當(dāng)e由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 /*函數(shù)功能:指定字符顯示的實(shí)際地址入口參數(shù):x*/ void writeaddress(unsigned char x) writeinstruction(x|0x80); /顯示位置的確定方法規(guī)定為"8

41、0h+地址碼x"因?yàn)閷懭腼@示地址時要求最高位d7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000b(40h)+10000000b(80h)=11000000b(c0h) /*函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ascii碼)寫入液晶模塊入口參數(shù):y(為字符常量)*/ void writedata(unsigned char y) while(busytest()=1); rs=1; /rs為高電平,rw為低電平時,可以寫入數(shù)據(jù) rw=0; e=0; /e置低電平(根據(jù)表8-6,寫指令時,e為高脈沖, / 就是讓e從0到1發(fā)生正跳變,所以應(yīng)先置"0" p1=y; /將數(shù)據(jù)送入p0口,即將數(shù)據(jù)寫入液晶模塊 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e=1; /e置高電平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e=0; /當(dāng)e由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 /*函數(shù)功能:對lcd的顯示模式進(jìn)行初始化設(shè)置*/void lcdinitiate(void) delay(15

溫馨提示

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

最新文檔

評論

0/150

提交評論