




已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計(論文) 設(shè)計課題: 基于單片機的汽車尾燈控制 摘 要本次的課題是基于單片機的汽車尾燈控制器,該設(shè)計課題主要由STC89C52RC單片機為核心展開的汽車尾燈控制電路的設(shè)計方法,用發(fā)光二極管模擬汽車尾燈,可以用VB上位機界面和按鍵開關(guān)作為轉(zhuǎn)彎等控制信號,并且把信息顯示在LCD1602上。在VB6.0環(huán)境下,上位機利用MSCOMM通信控件與單片機之間串口通信實現(xiàn)上位機控制汽車尾燈。設(shè)計電路能很好的綜合運用我們所學(xué)習(xí)到的單片機、C語言、VB上位機編程,熟悉電子電路設(shè)計的基本方法。關(guān)鍵詞:STC89C52RC;發(fā)光二極管;單片機;C語言; VB上位機;MSCOMM控件 引言3一 設(shè)計任務(wù)31.1 任務(wù)說明31.2 任務(wù)分析3二 設(shè)計方案選擇及論證42.1 方案一:采用555定時器等構(gòu)成的汽車尾燈電路42.2 方案二:由STC89C52RC及其外圍電路構(gòu)成的汽車尾燈控制器42.3 方案比較和選擇42.4 系統(tǒng)框圖5三 系統(tǒng)硬件原理介紹73.1 單片機STC89C52RC介紹73.2 LCD1602液晶屏介紹83.3系統(tǒng)結(jié)構(gòu)原理圖、器件選擇93.4 硬件電路總原理圖143.5 硬件設(shè)計原理及狀態(tài)圖14四程序流程154.1下位機軟件程序154.1.1 鍵盤掃程序設(shè)計流程圖154.2.1 顯示程序設(shè)計流程圖174.2 VB上位機界面設(shè)計184.2.1設(shè)計方案原理與設(shè)計特點分析18五仿真圖實物調(diào)試205.1仿真圖205.2實物圖21六課設(shè)總結(jié)21參考文獻22附錄一23引言汽車作為現(xiàn)代交通工具已經(jīng)大量進入人們的生活,隨著電子技術(shù)的發(fā)展,對于汽車的控制電路也已經(jīng)從過去的全人工開關(guān)控制發(fā)展到了智能化的控制。汽車尾燈控制器是隨著汽車智能化技術(shù)的發(fā)展而迅速發(fā)展起來的,汽車尾燈一般基于微處理器的硬件電路結(jié)構(gòu)構(gòu)成,而正因為硬件電路的局限性,不能隨意的更改電路的功能和性能,且可靠性得不到保證,因此對汽車尾燈控制系統(tǒng)的發(fā)展帶來局限性,難以滿足現(xiàn)代智能化的要求。本次的設(shè)計是基于單片機的汽車尾燈控制器,用發(fā)光二極管模擬汽車尾燈,用VB上位機和按鍵開關(guān)作為汽車轉(zhuǎn)彎等控制信號,實現(xiàn)汽車尾燈的智能化控制。一 設(shè)計任務(wù)1.1 任務(wù)說明 本次課題主要是以STC89C52RC為核心的單片機控制電路,它主要模擬了汽車尾燈系統(tǒng)的正常行駛、轉(zhuǎn)彎、剎車、倒車、夜間行駛等狀態(tài)下的發(fā)光情況,實現(xiàn)了汽車尾燈控制的智能化。1.2 任務(wù)分析設(shè)計一個基于單片機的汽車尾燈控制器,其具體設(shè)計要求如下:1)汽車白天正常行駛時指示燈全滅;2)汽車右(左)轉(zhuǎn)彎時,前后最右(左)邊和右(左)側(cè)那個指示燈亮并閃爍;3)汽車臨時剎車時車尾燈全部亮;4)汽車倒車時尾燈中間4個指示燈亮;5)汽車夜間行駛時,車前燈全亮,尾燈兩邊各中間的燈亮;6)可通過串口連接PC控制車尾燈(自己發(fā)揮部分);二 設(shè)計方案選擇及論證2.1 方案一:采用555定時器等構(gòu)成的汽車尾燈電路采用譯碼器74LS138、計數(shù)器74LS161、脈沖產(chǎn)生器555、開光控制電路、顯示驅(qū)動電路、發(fā)光二極管以及各種邏輯元件等構(gòu)成的汽車尾燈控制電路。由于汽車左右轉(zhuǎn)彎時,四個指示燈循環(huán)點亮,所以用四進制計數(shù)器控制譯碼器電路順序輸出低電平,從而控制尾燈按要求點亮,達到模擬汽車轉(zhuǎn)彎、剎車、正常行駛等狀態(tài)。由于行車時都是開關(guān)控制,所以每一個開關(guān)都應(yīng)該有一個消除機械振動的裝置,可以用基本SR觸發(fā)器來實現(xiàn)。2.2 方案二:由STC89C52RC及其外圍電路構(gòu)成的汽車尾燈控制器 STC89C52RC 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。本次單片機的控制系統(tǒng)以STC89C52RC為控制器,鍵盤為輸入信號,由于STC89C52RC本身的功能強大,汽車轉(zhuǎn)彎燈的驅(qū)動用單片機的驅(qū)動功能來完成。使得單片機的功能得到了充分的運用;并且顯示電路從并行IO口輸出,由限流電阻和發(fā)光二極管組成,低電平使發(fā)光二極管導(dǎo)通,顯示出相應(yīng)的信號燈亮滅情況,實現(xiàn)了左轉(zhuǎn)、右轉(zhuǎn)、剎車、應(yīng)急燈多種狀態(tài)下的控制效果。2.3 方案比較和選擇方案一中,要使用多種控制電路,實現(xiàn)的方法繁雜且不靈活,成本高,搭建好電路后調(diào)試起來不方便,不可以任意定義各種狀態(tài),電路的可靠性以及可擴展性不高,且與本次課題所要求運用的知識相悖,因此不宜使用此方案。方案二中,以單片機為核心,而單片機的編程比較直接,且可重復(fù)擦除修改,硬件電路搭建方便簡單。搭建好電路后通過STC89C52RC來編寫程序,控制LED的亮滅,大大的簡化了系統(tǒng)結(jié)構(gòu),降低材料的成本,提高系統(tǒng)的先進性和可靠性,能實現(xiàn)控制器的智能化。由于采用此種方法開發(fā)的系統(tǒng)其升級和改進較為方便,因此本次課題選用方案二。采用串口連接筆記本電腦,通過VB上位機控制LED的亮滅,實現(xiàn)真正意義上的智能化控制。2.4 系統(tǒng)框圖圖2.4.1 系統(tǒng)結(jié)構(gòu)框圖整個系統(tǒng)包括電源電路、時鐘電路、復(fù)位電路、按鍵電路、發(fā)光二極管顯示電路、液晶屏顯示電路、串口電路、單片機、PC上位機等。其中主要由按鍵電路和PC上位機發(fā)出控制信號,由顯示電路顯示信號的具體狀態(tài)。三 系統(tǒng)硬件原理介紹3.1 單片機STC89C52RC介紹 圖3.1.1STC89C52RC引腳圖(1)STC89C52RC部分引腳功能介紹:1、VCC:STC89C52RC電源正端輸入,接+5V。2、VSS:電源地端。3、XTAL1:單芯片系統(tǒng)時鐘的反相放大器輸入端。4、XTAL2:系統(tǒng)時鐘的反相放大器輸出端,一般在設(shè)計上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機。5、RESET:STC89C52RC的重置引腳,高電平動作,當(dāng)要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。3.2 LCD1602液晶屏介紹1602LCD主要技術(shù)參數(shù):顯示容量:162個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.954.35(WH)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ù)5RW讀寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極表10-13:引腳接口說明表第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。3.3 系統(tǒng)結(jié)構(gòu)原理圖、器件選擇(1)電源電路圖3.3.1 電源電路電源電路可以給單片機提供工作所需電源,有指示燈提示,燈亮?xí)r表示提供正常工作電壓。(2)時鐘電路圖3.3.2 時鐘電路時鐘電路中使用的12M晶振,為單片機提供系統(tǒng)時鐘。(3)復(fù)位電路 圖3.3.3 復(fù)位電路復(fù)位電路是單片機能上電復(fù)位,當(dāng)程序混亂跑飛時可以通過按鍵手動復(fù)位。(4)按鍵電路 圖3.3.4 按鍵電路按鍵電路可以通過按鍵來模擬汽車的轉(zhuǎn)彎、剎車、應(yīng)急等各種狀態(tài),控制LED和液晶屏的顯示。(5)發(fā)光二極管顯示電路 圖3.3.5 發(fā)光二極管顯示電路發(fā)光二極管可以模擬汽車車燈,顯示各種控制信號的效果。(6)液晶屏顯示電路 圖3.3.6 液晶屏顯示電路液晶屏顯示電路可以直觀的顯示出汽車的行進狀態(tài),增加尾燈系統(tǒng)的可視性。 (7) 串口電路 為了使單片機內(nèi)的電平與計算機的電平一樣需要利用電平轉(zhuǎn)換,MAX232芯片是專為RS232標(biāo)準(zhǔn)串口設(shè)計的單電源點平轉(zhuǎn)換芯片。其特點如下:1)符合所有的RS232技術(shù)標(biāo)準(zhǔn);2)只需要單一 +5V電源供電;3)片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓;4)功耗低,典型供電電流5mA;5)內(nèi)部集成2個RS-232C驅(qū)動器;6)高集成度,片外最低只需4個電容即可工作;7)連接方式如圖5所示。 圖5串口連接3.4 硬件電路總原理圖圖3.4.1 總原理圖硬件總原理分解如3.3.13.3.6各圖所示,完整的實現(xiàn)了汽車尾燈的控制,用按鍵模擬控制信號,用發(fā)光二極管和液晶屏顯示狀態(tài),達到所有指標(biāo)。3.5 硬件設(shè)計原理及狀態(tài)圖本次由按鍵作為控制信號,發(fā)光二極管模擬汽車尾燈,狀態(tài)表如下所示:駕駛操作輸出信號LED1LED2 LED3LED4LED5LED6LED7LED8左轉(zhuǎn)滅滅閃爍滅滅滅滅 滅右轉(zhuǎn)滅滅滅閃爍滅滅滅滅剎車亮亮亮亮亮亮亮亮正常行駛亮亮滅滅亮亮滅滅夜間行駛亮亮滅滅滅滅亮亮倒車行駛滅滅滅滅亮亮亮亮本次課題主要以STC89C52RC為核心展開的汽車尾燈控制器,通過原理仿真以及實物制作,完整的實現(xiàn)了汽車尾燈智能化控制的效果,相比以前用數(shù)字邏輯電路原理打成的汽車尾燈更方便、更簡單。制作出的實物板有6個控制狀態(tài)的按鍵,可以搭配起來控制6種汽車的行駛狀態(tài),完美的模擬了汽車尾燈控制系統(tǒng),完成本次課題的全部指標(biāo)。四程序流程4.1下位機軟件程序4.1.1 鍵盤掃程序設(shè)計流程圖鍵掃程序的過程為:開始時,先判斷是否有鍵閉合,無鍵閉合時,返回繼續(xù)判斷,有鍵閉合時,先去抖動,然后確定是否有鍵按下,若無鍵按下,則返回繼續(xù)判斷是否有鍵閉合,若有鍵按下,則判斷鍵號,然后釋放,若釋放按鍵完畢,則返回,若沒有釋放按鍵,則返回繼續(xù)釋放。其流程圖如圖所示。軟件設(shè)計思路,程序開始后進入初始化,然后掃描鍵盤等待有鍵按下。如果沒有鍵按下則一直掃描,如果有鍵按下,則判斷是哪個鍵,如果為1鍵,則正常行駛;為2鍵,則右轉(zhuǎn);為3鍵,則左車;為4鍵,則應(yīng)急狀態(tài);為5鍵,則倒車行駛;為6鍵,則夜間行駛。圖4.3.1 軟件流程圖4.2.1 顯示程序設(shè)計流程圖圖 4.2.1 顯示程序流程圖顯示程序的過程為:顯示開始時,先進行LCD的初始化,判斷是否顯示漢字或ACSII碼或圖形,若不顯示,則返回,若顯示的是漢字或ACSII碼,則進行相應(yīng)功能的設(shè)置,然后送地址和數(shù)據(jù),再判斷是否顯示完,顯示完則返回,沒有顯示完則繼續(xù)送地址,若顯示的是圖形,則先進行相應(yīng)功能的設(shè)置,再送行地址和列地址,然后送數(shù)據(jù),最后判斷是否顯示完,顯示完則返回,沒有顯示完則繼續(xù)送行地址和列地址。其流程圖如圖7所示。(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.2 VB上位機界面設(shè)計4.2.1設(shè)計方案原理與設(shè)計特點分析(1)IO控制系統(tǒng)原理框圖: 發(fā)送數(shù)據(jù) 將PC機和單片機通過RS232連接,通過上位機軟件可以向單片機發(fā)送數(shù)據(jù)來測試兩者的通訊狀態(tài),同時單片機也可以向上位機軟件返回數(shù)據(jù),以顯示當(dāng)前通信狀態(tài)是否正常。以及用上位機軟件控制單片機上的指示燈工作。從而實現(xiàn)簡單的IO控制系統(tǒng)。(2)上位機軟件(3)通信協(xié)議本通信系統(tǒng)使用了一個簡單的通信協(xié)議,就是每當(dāng)向單片機發(fā)送一個特定字符串時,單片機在接收到字符串時會向上位機軟件反饋一條信息,來表明上位機軟件和硬件是否正常通信,制定通信協(xié)議時需要指定端口號,關(guān)鍵代碼如下: MSComm1mPort = “ ” MSComm1.InputMode = “ ” MSComm1.RThreshold = “ ” MSComm1.SThreshold = “ ” MSComm1.Settings = MSComm1.PortOpen = “ ” VB上位機界面通過協(xié)議控制車燈的智能開關(guān)。五仿真圖實物調(diào)試5.1仿真圖5.2實物圖6 課設(shè)總結(jié)本次的課設(shè)作品的主要元件為STC89C52RC,在其控制下保證了系統(tǒng)的正常工作,達到模擬汽車尾燈控制的效果,實現(xiàn)汽車尾燈的智能化控制。兩周的課程設(shè)計,相較于之前所選修的各種實驗課程,此次更增加了自己的動手實踐能力。理論與實踐還是有一定的差距的,在理論上不管多精確的數(shù)據(jù),一旦用于實際中,就不得不考慮其儀器,器件的誤差,以及自己操作上的能力。而且,在課設(shè)過程中添加了自己的思考,該選擇怎樣的電阻、電容,想要修改最后的輸出,應(yīng)該在什么地方做改變。雖然是一些很基礎(chǔ)的東西,但僅僅是書上的理論學(xué)習(xí),會讓人對知識遺忘得比較快,相反,通過自己動手實踐過的東西,會更加記憶深刻??粗约撼晒χ谱鞒鰜淼碾娐钒逵X得很有成就感。通過這次課設(shè)教我還學(xué)會很多關(guān)于電子產(chǎn)品知識。進一步的認(rèn)識了我們現(xiàn)實生活電子產(chǎn)品,了解和掌握了一些簡單電子元件的運用,大大的擴展了我們的知識面。提高了自己以后在學(xué)習(xí) 生活中自己動手能力。給我們很大的啟發(fā),很有助于我們將來的學(xué)習(xí)生活和工作。在查閱資料中,獲得了許多額外的知識,開拓視野。在原理圖的設(shè)計、使用proteus仿真、使用Altium繪制、實物的制作、板子調(diào)試等整個過程中加強了我們分析問題和解決問題的能力,深刻體味到實踐是檢驗真理的唯一標(biāo)準(zhǔn)這一道理??偠灾?,這次課設(shè),讓我們受益匪淺。 參考文獻1李廣弟,朱月秀,王秀山.單片機基礎(chǔ)M.北京:航空航天大學(xué)出版社,2000.2康華光,陳大欽.電子技術(shù)基礎(chǔ)模擬部分M.武漢:高等教育出版社,1998.3謝自美.電子線路設(shè)計實驗測試(第二版).武漢:華中理工出版社,2000.4戴佳.51單片機C 語言應(yīng)用程序設(shè)計實例精講M.電子工業(yè)出版社,2006.5徐愛鈞,彭秀華。Keil Cx51 V7.0單片機高級語言編程與Vision2應(yīng)用實踐M.北京:電子工業(yè)出版社,2006.附錄一單片機源程序:#includereg52.-;uchar code cdis6 = -night-;uchar code cdis7 = -;uchar code cdis61 = -night-;uchar code cdis71 = My Control ;* *檢查LCD忙狀態(tài) *lcd_busy為1時,忙,等待。lcd-busy為0時,閑,可寫指令與數(shù)據(jù)。 * * bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result); * *寫指令數(shù)據(jù)到LCD *RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 * *void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; * *寫顯示數(shù)據(jù)到LCD *RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 * *void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; * * LCD初始化設(shè)定 * *void lcd_init() delay1(15); lcd_wcmd(0x38); 16*2顯示,5*7點陣,8位數(shù)據(jù) delay1(5); lcd_wcmd(0x38); delay1(5); lcd_wcmd(0x38); delay1(5); lcd_wcmd(0x0c); 顯示開,關(guān)光標(biāo) delay1(5); lcd_wcmd(0x06); 移動光標(biāo) delay1(5); lcd_wcmd(0x01); 清除LCD的顯示內(nèi)容 delay1(5);* * 設(shè)定顯示位置 * *void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80); 數(shù)據(jù)指針=80+地址變量*void initUART(void) 串口必須作以下初始化,才能正常工作。 TMOD=0x20; M1=1,M0=0 定時器1工作方式2(定時常數(shù)重裝,8 位) SCON=0x50; SM0=0,SM1=1,REN=1 串口工作方式1,允許接收 TH1=0xfd; 晶振11.0592時,波特率9600 TL1=0xfd; TL1計數(shù),溢出后,TH1值送入TL1EA=1; 開總中斷 ES=1; 允許串口中斷 TR1=1; 啟動定時器1 void main(void) uchar m; P1=0x00;P2=0xff;P0=0; delay1(10); 延時 lcd_init(); 初始化LCD lcd_pos(0); 設(shè)置顯示位置為第一行的第1個字符 for(m=0;m16;m+) lcd_wdat(cdis7m); initUART(); lcd_pos(0x40); 設(shè)置顯示位置為第二行第1個字符 for(m=0;m16;m+) lcd_wdat(cdis2m); while(1) lcd_pos(0); 設(shè)置顯示位置為第一行的第1個字符 for(m=0;m16;m+) lcd_wdat(cdis7m); 白天正常行駛指示燈全滅 if(KEY1=1)delay(10);if(KEY1=1) P2=0xff; lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis1m);汽車右轉(zhuǎn) ;亮并且閃if(KEY2=1) delay(10); if(KEY2=1) P2=0xff; while(1) LED3=LED3; delay(100); lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis4m); if(KEY4=1|KEY3=1|KEY1=1|KEY5=1|KEY6=1) break; 汽車左轉(zhuǎn) ;亮并且閃if(KEY3=1) delay(10);if(KEY3=1) P2=0xff;while(1) LED4=LED4; delay(100); lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis3m); if(KEY4=1|KEY2=1|KEY1=1|KEY5=1|KEY6=1) break; 汽車臨時剎車全部亮if(KEY4=1) delay(10);if(KEY4=1) P2=0x00; lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis2m); 汽車倒車;中間四個燈亮if(KEY5=1) delay(10);if(KEY5=1) P2=0xff; delay(1); LED5=0; LED6=0; LED7=0; LED8=0;LED1=0;LED2=0; lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis5m); 汽車夜間行駛車前燈全亮。尾燈兩邊的中間 燈亮 if(KEY6=1) delay(10);if(KEY6=1) P2=0xff; delay(1); LED1=0; LED2=0; LED5=0; LED6=0; lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis6m); void UARTinterrupt(void) interrupt 4 uchar m; lcd_pos(0); 設(shè)置顯示位置為第一行的第1個字符 for(m=0;m16;m+) lcd_wdat(cdis71m);if(RI) RI=0; while(1) if (SBUF=1) 單引號內(nèi)表示ASCII碼 白天正常行駛指示燈全滅 P2=0xff; lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis1m); if(SBUF=2|SBUF=3|SBUF=4|SBUF=5|SBUF=6 |KEY4=1|KEY3=1|KEY1=1|KEY5=1|KEY6=1|KEY2=1 ) break; else if(SBUF =2) 汽車右轉(zhuǎn) ;亮并且閃 if(SBUF=1|SBUF=3|SBUF=4|SBUF=5|SBUF=6|KEY4=1|KEY3=1|KEY1=1|KEY5=1|KEY6=1|KEY2=1) while(1); P2=0xff; delay(100); P2=0xfb;delay(100); lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis4m); break; break; else if(SBUF =3) 汽車左轉(zhuǎn) ;亮并且閃 if(SBUF=1|SBUF=2|SBUF=4|SBUF=5|SBUF=6|KEY4=1|KEY3=1|KEY1=1|KEY5=1|KEY6=1|KEY2=1) while(1); P2=0xff; delay(100); P2=0xf7;delay(100); lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis3m); break; break; else if(SBUF=4) 汽車臨時剎車全部亮 P2=0x00;lcd_pos(0x40); for(m=0;m16;m+)lcd_wdat(cdis2m);if(SBUF=1|SBUF=3|SBUF=2|SBUF=5|SBUF=6|KEY4=1|KEY3=1|KEY1=1|KEY5=1|KEY6=1|KEY2=1 ) break; else if(SBUF=5) 汽車倒車;中間四個燈亮 P2=0xff;delay(1); LED5=0; LED6=0; LED7=0; LED8=0;LED1=0;LED2=0; lcd_pos(0x40); for(m=0;m16;m+)lcd_wdat(cdis5m); if(SBUF=1|SBUF=3|SBUF=4|SBUF=2|SBUF=6|KEY4=1|KEY3=1|KEY1=1|KEY5=1|KEY6=1|KEY2=1 ) break; else if(SBUF=6)汽車夜間行駛車前燈全亮。尾燈兩邊的中間 燈亮 P2=0xff; delay(1); LED1=0; LED2=0; LED5=0; LED6=0; lcd_pos(0x40); for(m=0;m16;m+) lcd_wdat(cdis6m); if(SBUF=1|SBUF=3|SBUF=4|SBUF=5|SBUF=2|KEY4=1|KEY3=1|KEY1=1|KEY5=1|KEY6=1|KEY2=1 ) break; else TI = 0;Vb上位機程序 Private Sub Check3_Click()If MSComm1.PortOpen = True Then If Check3.Value = 1 Then Check1.Caption = 尾燈控制 Else Check3.Caption = 按鍵控制 End IfElseMsgBox 請打開串口End IfEnd SubPrivate Sub Command1_Click() MSComm1.Output = 1 Check1.Value = 0 Check2.Value = 0 Shape2.FillColor = vbRed Shape3.FillColor = vbBlack Shape4.FillColor = vbBlack Shape5.FillColor = vbBlack Shape6.FillColor = vbBlack Shape7.FillColor = vbBlackEnd SubPrivate Sub Command10_Click()EndEnd SubPrivate Sub Command2_Click() MSComm1.Output = 6 Check1.Value = 0 Check2.Value = 0 Shape7.FillColor = vbRed Shape3.FillColor = vbBlack Shape4.FillColor = vbBlack Shape5.FillColor = vbBlack Shape6.FillColor = vbBlack Shape2.FillColor = vbBlack End SubPrivate Sub Command3_Click()Check1.Value = 1 Check2.Value = 0Shape3.FillColor = vbRedShape2.FillColor = vbBlack Shape4.FillColor = vbBlack Shape5.FillColor = vbBlack Shape6.FillColor = vbBlack Shape7.FillColor = vbBlackEnd SubPrivate Sub Command4_Click()Check2.Value = 1Check1.Value = 0 MSComm1.Output = 2Shape4.FillColor = vbRedShape3.FillColor = vbBlack Shape2.FillColor = vbBlack Shape5.FillColor = vbBlack Shape6.FillColor = vbBlack Shape7.FillColor = vbBlackEnd SubPrivate Sub Command6_Click() MSComm1.Output = 4 Check1.Value = 0 Check2.Value = 0Shape5.FillColor = vbRedShape3.FillColor = vbBlack Shape4.FillColor = vbBlack Shape2.FillColor = vbBlack Shape6.FillColor = vbBlack Shape7.FillColor = vbBlackEnd SubPrivate Sub Command7_Click() MSComm1.Output = 5 Check1.Value = 0 Check2.Value = 0 Shape6.FillColor = vbRed Shape3.FillColor = vbBlack Shape4.FillColor = vbBlack Shape5.FillColor = vbBlack Shape2.FillColor = vbBlack Shape7.FillColor = vbBlack End SubPrivate Sub Command5_Click()On Error GoTo ErrorHandlerIf Command5.Caption = 打開串口 Then Command5.Caption = 關(guān)閉串口 MSComm1mPort = Val(Mid(Combo1.Text, 4, Len(Combo1.Text) - 3) 設(shè)置串口號 MSComm1.Settings = Combo2.Text & , & Combo3.Text & , & Combo4.Text & , & Combo5.Text 設(shè)置波特率、校驗位、數(shù)據(jù)位、停止位 If Combo6.Text = 二進制 Then MSComm1.InputMode = comInputModeBinary 設(shè)置數(shù)據(jù)格式為二進制 Else MSComm1.InputMode = comInputModeText 設(shè)置數(shù)據(jù)格式為字符制 End If Shape1.FillColor = vbRed MSComm1.PortOpen = True MSComm1.InBufferCount = 0 清空接收緩沖區(qū) MSComm1.RThreshold = 1 緩沖區(qū)中接收到一個字符,就產(chǎn)生一次OnComm事件 Else Command5.Caption = 打開串口 Shape1.FillColor = vbBlack MSComm1.PortOpen = False End IfProcedureExit: Exit SubErrorHandler: MsgBox 確認(rèn)串口 Resume ProcedureExitEnd SubPrivate Sub Timer1_Timer()If Check1.Value = 1 ThenMSComm1.Output = 3End IfEnd SubPrivate Sub Timer2_Timer()If Check2.Value = 1 ThenMSComm1.Output = 2End IfEnd Sub袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目調(diào)查報告
- 數(shù)字孿生技術(shù)在結(jié)構(gòu)構(gòu)件失效機制研究中的應(yīng)用
- 數(shù)字時代江蘇老年群體數(shù)字融入困境及對策研究
- 大學(xué)學(xué)生社團活動審批管理制度?
- 2025江西省吉安市中等專業(yè)學(xué)校工作人員招聘考試真題
- 2025江蘇省東臺中等專業(yè)學(xué)校工作人員招聘考試真題
- 淘寶設(shè)計部管理制度
- 清掃用具間管理制度
- 渣土車油料管理制度
- 滾鐵環(huán)社團管理制度
- 醫(yī)院結(jié)核感染培訓(xùn)
- 大學(xué)生應(yīng)急救護知到智慧樹章節(jié)測試課后答案2024年秋西安歐亞學(xué)院
- 臨床心內(nèi)科主任競聘稿
- 電動工器具安全使用培訓(xùn)
- 防水工程專項施工方案
- 日本建設(shè)項目可視化、安全文明、工藝管理總結(jié)
- 【MOOC】思想道德與法治-南開大學(xué) 中國大學(xué)慕課MOOC答案
- 網(wǎng)絡(luò)管理與維護綜合實訓(xùn)課程
- 遼寧大學(xué)《材料力學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 新安全生產(chǎn)法圖文培訓(xùn)
- 2年級關(guān)聯(lián)詞專項練習(xí)題含答案
評論
0/150
提交評論