多媒體汽車動態(tài)儀表板設計說明_第1頁
多媒體汽車動態(tài)儀表板設計說明_第2頁
多媒體汽車動態(tài)儀表板設計說明_第3頁
多媒體汽車動態(tài)儀表板設計說明_第4頁
多媒體汽車動態(tài)儀表板設計說明_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

...42/47多媒體汽車動態(tài)儀表板設計摘要當今世界,由于汽車性能不斷提高,使得汽車電子控制程度也越來越高。汽車電子控制裝置必須迅速、準確地處理各種信息,并通過電子儀表顯示出來。統(tǒng)儀表一般是機電式模擬儀表,只能為駕駛員提供汽車運行中必要而又少量的數據信息,已遠遠不能滿足現代汽車新技術、高速度的要求。本系統(tǒng)設計的汽車電子儀表面板,以STC12C5A08AD單片機為微處理控制模塊進行數據的采集和處理,該控制器屬于單時鐘/機器周期的單片機是高速、低功耗、強抗干擾的新一代8051單片機,其指令代碼完全兼容8051,但是速度比8051快8-12倍;本系統(tǒng)中選用了ST188紅外反射傳感器設計的測速模塊,ST188能夠在4-13毫米的圍實現車速的檢測;在系統(tǒng)溫度方面選用DS18B20溫度傳感器,該傳感器能夠實時的顯示溫度的變化,能夠與時的展現出汽車行動的水溫變化,但是該溫度傳感器的測溫圍有限,很有局限性;為了使系統(tǒng)能夠更好的北PC機遠程控制,所以我設計了利用MAX232芯片轉換電壓的串口通信接口電路;最后還設計了LED報警電路和各種輔助電路,利用這些電路模塊,通過單片機的信號處理,最后將需要的數據顯示到LCD12864顯示模塊之中,以達到設計要求。關鍵字:汽車儀表多媒體儀器STC12C5A08ADST188傳感器DS18B20溫度傳感器LCD12864MAX232ABSTRACTSIntoday'sworld,Duetocontinuouslyimproveperformanceofthecar,theincreasinglyhighlevelofautomotiveelectroniccontrol.Automotiveelectroniccontroldevicemustbequicklyandaccuratelyhandleallkindsofinformationdisplayedbytheelectronicinstruments.Systeminstrumentationisgenerallyelectromechanicalanaloginstruments,andcanonlyprovidethedriverwiththecarrunningnecessaryandasmallamountofdatacannotmeetthenewtechnologyofthemodernautomobile,high-speedrequirements.ThesystemdesignofautomotiveelectronicinstrumentpaneltoSTC12C5A08ADsingle-chipmicroprocessorcontrolmodulefordataacquisitionandprocessing.Controllerisasingleclock/machinecycleMCUisanewgenerationofhigh-speed,lowpowerconsumption,stronganti-jamming8051,itsinstructioncodeisfullycompatiblewith8051,butthespeedis8-12timesfasterthanthe8051.ST188infraredreflectancesensordesignofthegunmoduleisselectedinthissystem,ST188speeddetectionintherangeof8-13mm.SelectionoftheDS18B20temperaturesensorinthesystemtemperature,thesensorcanbereal-timedisplayoftemperaturechanges,canshowthechangesinwatertemperatureofthecaractioninatimelymanner,butthetemperaturerangeofthetemperaturesensorislimited,verylimited.TomakethesystembeabletobetterNorthPC,remotecontrol,soIdesignedaswitchingvoltageoftheMAX232chipserialcommunicationsinterfacecircuits.AlsodesignedtheLEDalarmcircuitandvariousauxiliarycircuits,thecircuitmodule,signalprocessingbythemicrocontroller,thefinalwilldisplaythedataneededtoLCD12864displaymodulehastomeetthedesignrequirements.Keywords:AutomotiveinstrumentMultimediaapparatus12C5A08ADST188sensorDS18B20temperaturesensorLCD12864MAX232目錄第一章緒論11.1課題研究的背景和意義11.1.1課題研究的背景11.1.2課題研究的意義21.2多媒體汽車儀表本體概述31.3課題研究的主要容3第二章系統(tǒng)硬件設計方案52.1硬件總體設計思想52.2硬件總體方框圖的設計5第三章系統(tǒng)硬件電路設計73.1單片機主控模塊73.1.1單片機的選型73.1.2單片機的管腳介紹83.1.3STC12型單片機的特點介紹93.2溫度傳感器模塊103.2.1溫度傳感器的選型103.2.2溫度傳感器的電路設計113.2.3溫度傳感器的部結構123.2.4溫度傳感器的測溫原理123.3ST188紅外反射測速傳感器133.3.1ST188實物圖管腳介紹與測速的實現133.3.2ST188特點介紹143.3.3ST188傳感器的電路原理圖143.3.3ST188的光電特性與參數確定153.4液晶顯示模塊163.4.1液晶顯示器的選型163.4.2液晶顯示器的電路設計圖173.4.3液晶顯示器的管腳和功能173.4.4液晶顯示器的使用注意事項183.5模擬傳感器電路設計193.6串口電路模塊設計203.6.1串口通信電路的設計思想203.6.2串口通信功能實現與電路203.7其他各種輔助電路模塊213.7.1USB電源供電模塊223.7.2晶振模塊223.7.3復位電路模塊233.7.4按鍵電路模塊243.7.5LED報警指示燈模塊25第四章系統(tǒng)抗干擾設計264.1本系統(tǒng)干擾來源和特點264.2本系統(tǒng)的抗干擾設計26第五章系統(tǒng)軟件的設計275.1編程語言介紹275.1.1C語言簡介275.1.2C語言與匯編語言混用285.1.3C51編程中斷處理285.2軟件模塊設計295.2.1主程序的設計295.2.2溫度傳感器程序設計305.2.3液晶顯示程序設計315.2.4ST188測速程序設計325.2.5AD轉換模塊設計33第六章總結和展望346.1畢業(yè)設計工作總結346.2后期工作展望35結束語36致37參考文獻38附錄39附錄1元件清單39附錄2PCB設計電路原理圖40附錄3PCB板子圖41附錄4焊接成型成品圖42第一章緒論1.1課題研究的背景和意義我們在研究各種項目的時候,都必須對該課題的背景以與研究該課題的意義做出深刻的研究和討論,這不僅能夠使我們了解該課題的過去的發(fā)展歷程,同時也可以使我們明確該行業(yè)現階段的發(fā)展趨勢,以與未來的我所研究的該課題的演化方向。下面我就從研究背景和研究意義兩方面做出闡述。1.1.1課題研究的背景當今世界,由于汽車排放、節(jié)能、安全和舒適性等使用性能不斷提高,使得汽車電子控制程度也越來越高。汽車電子控制裝置必須迅速、準確地處理各種信息,并通過電子儀表顯示出來.使駕駛員與時了解并掌握汽車的運行狀態(tài),妥善處理各種情況。因此電子儀表顯示裝置成為現代汽車的發(fā)展新潮流.具有非常廣闊的發(fā)展空間汽車走過了100多年的發(fā)展歷程,汽車儀表也在不斷開發(fā)和發(fā)展之中。汽車儀表發(fā)展,按其工作原理上取得的重大技術創(chuàng)新來分,經過了四代:第一代汽車儀表是基于機械作用力而工作的機械式儀表,即機械機心表;第二代汽車儀表的工作原理基于電測原理,即通過各類傳感器將被測的非電量變換成電信號加以測量,稱之為電氣式儀表;第三代為模擬電路電子式;第四代為步進電動機式全數字汽車儀表。目前汽車儀表正在向全數字化,智能化方向發(fā)展,所以多媒體汽車儀表板,將是未來汽車儀表中最熱門的研究課題。第三代汽車用儀表工作原理與電氣式儀表基本一樣,只是用電子器件取代原來的電氣器件。隨著集成電路技術突飛猛進的發(fā)展,這種儀表現在均采用汽車儀表專用集成電路,是國汽車儀表目前的主流產品,經過多年的發(fā)展,其結構形式經歷了動圈式機心和動磁式機心階段。電子器件經歷了分立器件和專用集成電路階段。發(fā)展到今天以塑料件為主;圍繞提高指示精度和指針平穩(wěn)性,由動圈式發(fā)展成動磁式等。第四代全數字式汽車儀表從其應用的技術手段上看,還是電子技術疇,也屬于電子式儀表,但信號處理方式已從模擬變成數字。其最顯著的特征是工作原理與第三代汽車儀表完全不同。1.1.2課題研究的意義隨著光學、電子技術的迅速發(fā)展,特別是計算機技術在汽車儀表中的廣泛應用,汽車儀表正向數字化和智能化方向發(fā)展。從汽車儀表的發(fā)展趨勢來看,也可反映出汽車電子化水平正在快速的提高。就目前的形式來看,伴隨著智能化逐步進入我們的生活,所以人們迫切要求汽車儀表板的設計更加的智能化、可視化、人性化,使人們操作起來簡單明了,容易懂。而未來的趨勢更加趨向于觸覺控制技術和語音控制技術。觸覺遠離了傳統(tǒng)按鍵的各種接觸不良的缺陷,只需要觸摸,就可以開啟各種提示信息以與各種資訊。這兩種技術將會在未來很長一段時間占據整個汽車儀表市場,這也是該課題研究的多媒體汽車儀表的意義所在。對于我們應屆本科生而言,尤其是在汽車氛圍十分濃厚的汽車學院,我們更加有必要對汽車類課題加以研究,寧外我們現階段所學習的知識大多都屬理論知識,缺少實踐,所以我認為我研究多媒體汽車儀表板課題對于自身的意義有以下四點:1.為了將四年在大學里面所學的知識系統(tǒng)化的進行匯總。四年里我們所學的知識,大多是僅限于理論知識,所學的都比較片面,當在實踐生產中運用的時候,并不能很快的將理論結合到實際中,所以借此機會可以將四年所學,再重新學習一遍并結合課題需要,獨立完成該課題的設計與實現。2.為了展示汽車數字化電子儀表比傳統(tǒng)汽車儀表更具優(yōu)越性和靈活性。在大規(guī)模集成電路技術迅速發(fā)展的今天,微處理器處理速度越來越快,性能要求也越來越高,集成電路的密度越來越密集,體積越來越小,部結構越來越復雜,功能也越來越強大。隨著傳統(tǒng)儀表的部分功能硬件不斷地被軟件取代,整個系統(tǒng)的集成度也在不斷提高。本課題設計的就是一個基于89C51\o"單片機"單片機的\o"汽車組合"汽車數字儀表板,目的主要在于實現一個汽車數字化電子儀表板的低端方案,同時也展現出汽車電子儀表板的優(yōu)越。3.為了證明一套完整的系統(tǒng)必定具有軟件和硬件兩部分組成。記得我們所學匯編語言的時候,書本中曾說過硬件是軀體,軟件是靈魂,當一套系統(tǒng)只有軟件沒有硬件時,他就只是一個幽靈,當一套系統(tǒng)只有硬件沒有軟件時,他就只是一具尸體,毫無生氣。只有軟件和硬件相互相成,才能夠成完美的系統(tǒng)。4.為了將所學的單片機更加系統(tǒng)化的加深認識。單片機是我們電子專業(yè)很有發(fā)展前景的專業(yè)方向,通過該課題的研究與設計,可以將單片機的學習推向系統(tǒng)化、專業(yè)化,為我畢業(yè)參加工作打下堅實的基礎。1.2多媒體汽車儀表本體概述多媒體技術就是利用電腦把文字、圖形、影象、動畫、聲音與視頻等媒體信息都數位化,并將其整合在一定的交互式界面上,使電腦具有交互展示不同媒體形態(tài)的能力。它極大的改變了人們獲取信息的傳統(tǒng)方法,符合人們在信息時代的閱讀方式。多媒體技術的發(fā)展改變了計算機的使用領域,使計算機由辦公室、實驗室中的專用品變成了信息社會的普通工具,廣泛應用于工業(yè)生產管理、學校教育、公共信息咨詢、商業(yè)廣告、軍事指揮與訓練,甚至家庭生活與娛樂等領域。汽車儀表是安裝在汽車上,用于指示或顯示汽車行駛以與發(fā)動機運行時的工作狀況,并向駕駛員隨時提供汽車運行中的狀態(tài)、參數等信息,是汽車必備的裝置。汽車儀表技術是汽車高精確技術的重要容,現在大致可以分為三類:機械式、電氣式,電子式。多媒體技術現在日趨發(fā)展,本課題所研究的就是在傳統(tǒng)的數字汽車儀表板中加入多媒體技術,讓多媒體技術控制汽車儀表,使汽車儀表更加的人性化。多媒體\o""汽車動態(tài)儀表板是未來汽車汽車儀表的發(fā)展的方向,未來的汽車儀表必定會集汽車工況顯示、娛樂、通信、報警、安全于一體,為駕乘人員提供一個新穎方便的信息溝通環(huán)境。多媒體\o""汽車動態(tài)儀表板既有模擬儀表的連續(xù)感覺,又有數字儀表的確定性顯示。在本課題中我使用51單片機、ST188紅外反射測速傳感器、LCD12864液晶顯示屏、模/數轉換器件與數字式溫度傳感器DS18B20等對傳統(tǒng)的模擬車用儀表進行技術改進,設計并實現了新型全數字的簡易汽車儀表系統(tǒng)。1.3課題研究的主要容傳統(tǒng)的汽車儀表只能給駕駛者提供汽車運行中必要而又少量的數據信息,已遠遠不能滿足現代汽車新技術、高速度的要求。隨著汽車工業(yè)的不斷發(fā)展,汽車開發(fā)商也在儀表盤上費盡心思,讓小小的儀表盤變得越來越漂亮,功能越來越多越來越智能化,從實用開始走向時尚、美觀,未來的汽車儀表必定完成實用與時尚的完美結合。汽車儀表是駕駛員與汽車進行信息交流的重要接口和界面,是車輛安全行駛的重要保證。隨著電子技術的廣泛應用,傳統(tǒng)汽車儀表逐漸被微處理器為核心的電子控制數字儀表取代。然而,目前國車輛儀表數字化水平還不高,絕大部分儀表還是模擬式的,而大多數模擬儀表表頭的體積較大、數量多,使得顯示系統(tǒng)擁擠不堪,影響美觀;另外一些模擬儀表故障率高,增加了用戶的經濟負擔,減小了車輛行使的安全系數。為克服這些缺點,本課題中提出用單片機、模/數轉換器件、數字式溫度傳感器DS18B20、ST188紅外反射測速傳感器等對其進行技術改進,設計并實現了新型全數字儀表系統(tǒng),該儀表系統(tǒng)有顯示直觀準確、靈敏度高、使用壽命長、靈巧美觀、成本低等優(yōu)點。.第二章系統(tǒng)硬件設計方案硬件是一套系統(tǒng)不可或缺的主要組成部分,它是構成一個系統(tǒng)的物理設備,就如同一個人的軀體,這里我們主要運用51單片機為主控系統(tǒng),再加上其他的輔助芯片,與單片機一起提供功能控制。通常我們說的系統(tǒng)硬件一般都包括:運算器、控制器、寄存器、輸入設備、輸出設備五大部分。2.1硬件總體設計思想本課題所用到的C51單片機微處理器,其本身就包含了運算器、控制器、寄存器三部分。我們利用這個優(yōu)勢,在為該單片機添加上輸入和輸出設備,并對他們加以連接,從而構成一個完整的硬件系統(tǒng)。在經過微處理器后,通過液晶屏實時的顯示出我們所需要的數據,如水溫、車速、油量、油壓等等。本課題中最主要的芯片除了C51單片機之外,還有就是DS18B20溫度芯片和ST188紅外反射測速傳感器芯片,這兩個芯片起到了模擬水溫度以與模擬測速的功能,是該課題最重要的兩大功能。同時為了是系統(tǒng)更加完美,在設計中加入抗干擾元素,使系統(tǒng)的故障率降低,同時也使得整個系統(tǒng)更加與時、準確,提高了安全性、可靠性,更具有智能化和人性化。2.2硬件總體方框圖的設計該系統(tǒng)硬件主要包括以下幾個模塊:AT89C51主控模塊、DS18B20溫度傳感器模塊、車速ST188紅外反射傳感器模塊、ADC0809模/數轉換模塊、LCD12864顯示模塊等。其中AT89C51主要完成外圍硬件的控制以與一些運算功能,DS18B20傳感器完成對溫度的檢測,并通過單片機轉換為輸出信號,ST188測速傳感器通過發(fā)射的紅外線在芯片上面放一個轉動的電機,通過電機帶動葉片轉動,從而使ST188將接收到的轉動信號反社會芯片部,從而對外輸出一個脈沖計數,在通過單片機的信號采集和處理,就可以測出這時候行車的車速,再通過測定的行車時間,并通過計算就可以獲得行車的里程,ADC0809完成將模擬信號轉換成數字信號的功能,LCD12864液晶顯示器模塊起到匯總的作用,它是對所有的單片機采集和處理之后輸出的字符、信號、數字等進行顯示,給人一種最直觀的效果。除了這些最重要的模塊之外,我還在PCB設計中添加了串口模塊以便于程序的下載,能夠實現對單片機的遠程控制。還有很多輔助電路,如復位電路、晶振電路、4個共陽極的LED報警顯示電路、4個按鍵電路。這些輔助電路看似很簡單,但是在一個完整系統(tǒng)中卻是必不可少的。通過初步的構思和設計,我制定了比較簡單的電路結構圖,如圖2.1是本課題的硬件設計的總體框圖。圖2.1硬件總體框圖第三章系統(tǒng)硬件電路設計硬件電路設計是本課題的最重要的環(huán)節(jié),完成了本課題硬件的設計,就完成了該次設計一大半的工作。為了達到操作簡單、成本較低、功能較為全面的目的,我在硬件電路設計中,下了苦功夫,力爭把硬件模塊做到最好。硬件設計的一般流程是:本系統(tǒng)所需各種元器件的選擇;電路原理圖的繪制以與PCB板的生成;焊接PCB印制電路板;硬件的檢查和維護;硬件的調試;在我設計的硬件電路中,主要包括單片機主控模塊、溫度傳感器電路模塊、測速電路模塊、液晶顯示模塊、模擬傳感器電路模塊、串口電路模塊、電源模塊、按鍵模塊、報警顯示燈模塊等等,下面我將逐一進行介紹。3.1單片機主控模塊單片微型計算機簡稱單片機,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的縮寫MCU表示單片機,它最早是被用在工業(yè)控制領域[1]。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機3.1.1單片機的選型本課題是汽車電子類典型的儀表設計,最基本的控制系統(tǒng)就是選擇單片機進行控制,微處理器接收經過輸入處理電路處理的各種各樣的信號,然后通過各種計算并控制所需要輸出的值,按照課題要求適時地向執(zhí)行機構發(fā)送控制信號。當前的MCU中基本上做實驗使用的都是8位和16位的,至于32位的MCU常使用在商業(yè)領域。就該課題而言,出于對安裝空間和儀表板的簡潔性考慮,我們所選用的MCU芯片體積必須要盡量的小,而且對儀表的實時性和準確性要求也比較高,同時要求微處理器的運算速度快,精度比較高,同時價格合理。所以綜合考慮之下,本系統(tǒng)選擇的是宏晶科技公司生產的STC12C5A08AD單片機。STC12C5A08AD是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。STC12C5A08AD是宏晶公司生產的單時鐘/機器周期的單片機,該單片機指令完全兼容8051單片機,但是速度是8051單片機的8-12倍。部有專用的復位電路,自帶8路高速10位A/D轉換,主要針對強干擾場合。3.1.2單片機的管腳介紹STC12C5A08AD單片機可為你提供許多高性價的應用,靈活的貢獻于各種控制領域。本課題就是借助單片機的價格低廉、性能全面、功能多等等的優(yōu)越性,再利用外界元器件,與單片機構成一個可簡易可行的汽車儀表最小系統(tǒng)。圖3.1單片機STC12C5A08AD由圖3.1可知,圖中STC12單片機共有四十個管腳,主要分為P0口、P1口、P2口、P3口。P0口是一組8位漏極開路行雙向I/O口,也是地址/數據總線復用口。在單片機中由于單片機部P0口中是沒有上拉電阻的,所以在使用P0口的時候,必須為其加上上拉電阻。在這里P0口作為數據輸出口,送入到液晶顯示器中,所以上拉電阻必須要大一點,通常都選用10K的電阻。P1口和P2口都是是一個自帶部上拉電阻的8位雙向I/O口,他們的輸入緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。在該系統(tǒng)中,P1口中P1.0-P1.2三個管腳作為A/D轉換功能引腳,P1.4-P1.6接的是TM12864J液晶顯示的功能引腳,P1.3管腳接的是溫度傳感器的數據輸入管教。P3口的作用于P1和P2口一樣,但是P3口除了作為一般的I/O接口之外還有重要的第二功能,這里的P3口所接的使鍵盤按鍵,并未使用其第二功能,所以對P3口第二功能只做了解即可,如表3.1所示P3口的第二功能。表3.1P3口第二功能表端口第二功能P3.0串口1數據接收端RXDP3.1串口1數據發(fā)送端TXDP3.2外部中斷0輸入口P3.3外部中斷1輸入口P3.4定時器/計數器0的外部輸入T0和其時鐘輸出CLKOUT0P3.5定時器/計數器1的外部輸入T1和其時鐘輸出CLKOUT1P3.6外部數據存儲寫脈沖P3.7外部數據存儲讀脈沖。3.1.3STC12型單片機的特點介紹單片機部一般都分為:中央處理器(CPU)、部存儲器、定時/計數器、中斷信號、串并行I/O接口五大部分組成。其中CPU是單片機的核心容,主要用于完成系統(tǒng)的信號計算和控制功能與一般的非單片微型機相比,單片機具有以下特點:(1)具有較強的通用性又有想當的專用性,尤其適用于各種控制系統(tǒng);(2)片帶有定時器/計數器;(3)片設有多個I/O接口,便于系統(tǒng)擴展與信息交換;(4)可以使用匯編語言和C語言。其中匯編語言中指令系統(tǒng)的指令字節(jié)數較少,程序執(zhí)行速度快,節(jié)省存儲器。而C語言方便大多數初學者使用。3.2溫度傳感器模塊溫度傳感器就是利用物質的各種物理性質隨溫度變化的規(guī)律把溫度轉換為電量的傳感器。溫度傳感器是溫度測量儀表的核心部分,品種繁多。按測量方式可分為接觸式和非接觸式兩大類,按照傳感器材料與電子元件特性分為熱電阻和熱電偶兩類。3.2.1溫度傳感器的選型溫度傳感器的種類繁多,形狀各異,而且各自的要求和用途也都不一樣,而我們模擬測試汽車水溫的系統(tǒng),為了操作簡單,易于實現,所以趨向于選擇非接觸式的溫度傳感器,而且非接觸式傳感器測量的上限不受感溫元件耐溫程度的限制,所以很多非接觸式溫度傳感器對最高可測溫度沒有限制。綜上所述,本課題我們選用的是DS18B20溫度傳感器。DS18B20是美國DALLAS半導體公司繼DS1820之后最新推出的一種改進型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式??梢苑謩e在93.75ms和750ms完成9位和12位的數字量,并且從DS18B20讀出的信息或寫入DS18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數據總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結構更趨簡單,可靠性更高。它在測溫精度、轉換時間、傳輸距離、分辨率等方面較DS1820有了很大的改進,給用戶帶來了更方便的使用和更令人滿意的效果。DS18B20具有以下特點[3]:(1)獨特的單線接口方式:DS18B20與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。(2)在使用中不需要任何外圍元件。(3)可用數據線供電,電壓圍:+3.0~+5.5V。(4)測溫圍:-55~+125℃。固有測溫分辨率為0.5℃。(5)通過編程可實現9~12位的數字讀數方式。(6)用戶可自設定非易失性的報警上下限值。(7)支持多點組網功能,多個DS18B20可以并聯在惟一的三線上,實現多點測溫。(8)負壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。3.2.2溫度傳感器的電路設計DS18B20是采取三管腳封裝的元器件,所以接線電路十分簡單,該芯片的三個管腳分別是:電源管腳、GND管腳、數據輸出管腳。數據輸出管腳接入到單片機的P1.3口,傳感器DS18B20具有體積小、精度高、適用電壓寬、可組網等優(yōu)點,在實際應用中取得了良好的測溫效果。DS18B20溫度傳感器的使用十分方便,只要把它的GND、VCC引腳分別接地和+5V,然后把另一個引腳接單片機的串行通信口就可以使用了。下圖4.2就是DS18B20溫度傳感器和單片機組成的一個測溫系統(tǒng)。圖3.2DS18B20電路圖由圖3.2可知,DS18B20是單總線溫度傳感器,數據線是漏極開路,如果DS18B20沒接電源,則需要數據線強上拉,給DS18B20供電;如果DS18B20接有電源,也需要一個上拉電阻使其穩(wěn)定的工作。這個上拉電阻通常比較大,在這里我們選用5.1K的上拉電阻。3.2.3溫度傳感器的部結構DS18B20采用3腳PR35封裝或8腳SOIC封裝,溫度傳感器可編程的分辨率為9~12位,溫度轉換為12位數字格式最大值為750毫秒用戶可定義的非易失性溫度報警設置,具體運行流程與其部結構框圖如圖3.3所示。圖3.3DS18B20部結構圖3.2.4溫度傳感器的測溫原理DS18B20的測溫原理如圖3.4所示,圖中低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入,圖中還隱含著計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖后進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55℃所對應的基數分別置入減法計數器1和溫度寄存器中,減法計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到減法計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是DS18B20的測溫原理。圖3.4DS18B20部測溫電路3.3ST188紅外反射測速傳感器光敏二極管是最常見的光傳感器,ST188就是采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成的。光敏二極管的外型與一般二極管一樣,只是它的管殼上開有一個嵌著玻璃的窗口,以便于光線射入,為增加受光面積,PN結的面積做得較大,光敏二極管工作在反向偏置的工作狀態(tài)下,并與負載電阻相串聯,當無光照時,它與普通二極管一樣,反向電流很小(小于μA),稱為光敏二極管的暗電流;當有光照時,載流子被激發(fā),產生電子-空穴,稱為光電載流子。在外電場的作用下,光電載流子參于導電,形成比暗電流大得多的反向電流,該反向電流稱為光電流。光電流的大小與光照強度成正比,于是在負載電阻上就能得到隨光照強度變化而變化的電信號[7]。下面面我將從以下幾個方面介紹ST188紅外反射傳感器。3.3.1ST188實物圖管腳介紹與測速的實現由圖3.5可知,該傳感器共有四個管腳,其中A-k為紅外發(fā)射管,C-E為紅外接收管。該傳感器長9mm,寬度5mm,傳感器高度為8mm,所以這個芯片很小,而且很便宜,也比較實用,但是這個傳感器檢測距離有限,測速時性能不太穩(wěn)定。在測速時,當沒有轉動信號反射紅外線時,CE之間截止,無電流流過,輸出電壓為電源電壓,信號脈沖為高電平。當有轉動信號反射紅外線時,部的三極管的BE端飽和導通,與此同時CE也導通,輸出端就相當于接地,此時輸出電壓信號為低電平。這樣就能相當于一個方波函數發(fā)生器輸出脈沖。圖3.5ST188實物圖3.3.2ST188特點介紹ST188傳感器體積小巧,是巡線小車必備的傳感器功能也比較多,在這里用于汽車模擬汽車儀表中的測速傳感器,測量速度。ST188主要特點有:ST188采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成;ST188檢測距離可調圍大,4-13mm可用;ST188采用非接觸檢測方式;3.3.3ST188傳感器的電路原理圖ST188紅外反射測速傳感器的優(yōu)點是形態(tài)小巧,價格低廉,成本比較低,但是ST188的缺點是測速距離有限,而且測速不太穩(wěn)定。在汽車上面,主要是通過電磁元件進行測速,該測試的方式是通過切割電磁場的磁感線來產生脈沖計數,已達到對汽車速度檢測的目的。雖然測速方案多種多樣,但是結合自身能力以與課題的要求考慮,我選擇使用ST188紅外反射測速傳感器來實現該課題的測速功能,該課題中ST188輸出的波形在很大程度上都是有干擾的,顯示波形會很不穩(wěn)定,所以為了使輸出的方波呈現規(guī)則形狀,我在ST188輸出的管腳上面接了一個LM324運算放大器,在電路中起到了放大電壓信號的作用,使ST188輸出的微弱的高電平和低電平信號經過該元件,輸出穩(wěn)定的方波。該LM324為同相放大器,電路的電壓放大倍數AV由外接電阻R3和R1決定,R1為滑動變阻器,我們假設接入電阻為RX,他的放大倍數為:AV=1+R3/RX。我設計的ST188測速電路圖如圖3.6所示。圖3.6ST188傳感器測速原理圖3.3.3ST188的光電特性與參數確定1.ST188傳感器的光電特性表3.2ST188光電特性表項目符號測試條件最小典型最大單位輸入正向電流VfIf=20mA-1.251.5V方向電流IrVR=3V--10uA輸出集電極暗電流ICEOVCE=20V--1uA集電極亮電流IlVCE=15VIf=8mAH10.30--mAH20.40--mAH30.50--mA飽和壓降VCEIf=8mA,Ic=0.15mA--0.4V傳輸特性響應時間TRIf=20mA,Vce=5VRC=100歐-10-usTF-10-us2.ST188電路參數的確定根據光電特性,選取發(fā)射管的靜態(tài)電流為20mA。典型的壓降為1.25V,最大供電電壓一般不能超過1.5V,如果供電電壓為5V,那么,此時在發(fā)射管上需要串聯電阻,有電路圖3.6知,電阻大小為R4=(5-1.25)V/0.02A,即得出:R4=187.5歐姆,取標稱電阻,R=200,那么此時的電流小于20mA,但是不影響結果。所以在A_K端必須要接上一個200歐的電阻。C_E端口的電阻比較靈活,一般選用2-10K的上拉電阻3.4液晶顯示模塊人們對液晶顯示器并不陌生最常見的有如計算器、電子表、數字萬用表、電子游戲機等,顯示的主要是數字、專用符號和固定圖形,因為是屬段式顯示,顯示的容就無法多變。隨著大量電子儀器、設備的多功能化、智能化,并且普遍采用人機交互方式,需要能夠顯示更為豐富的信息和通用性較強的顯示器,而點陣式LCD顯示器能夠滿足這些要求,同時用大規(guī)模專用集成電路作為點陣LCD的控制驅動,使用者僅僅直接送人數據和指令就可實現所需的顯示。3.4.1液晶顯示器的選型針對我們大學生而言,現在我們學習使用的液晶顯示屏主要分為LCD1602和LCD12864這兩種。LCD1602液晶[10]是一種專門用來顯示字幕、數字、符號等的點陣型液晶模塊。該液晶的有若干5*7或者5*11點陣字符組成,每個點陣字符位都可以顯示一個字符,1602實際是指現實的容為16*2,就是說只可以顯示兩行,每一行只有16個字符液晶模塊,顯示16個字或者數字。LCD12864[10]液晶分為帶字庫和不帶字庫的,LCD12864型號也各有不同,它的顯示分辨率為128*64的點陣,可以顯示16*16點陣的漢字,還可以顯示圖片,功能十分全面,12864最大的優(yōu)點是功耗低,使用低電壓供電,同時價格比較便宜。該液晶能夠顯示四行八列漢字和字符。結合本課題的設計規(guī)則,我使用液晶是為了顯示該系統(tǒng)模擬的溫度、車速、油量、壓力等等的實時信號,所以LCD1602還不能夠完全實現該功能,綜合考慮之下本課題選用TM12864J液晶顯示器對信號進行顯示。3.4.2液晶顯示器的電路設計圖圖3.7TM12864與單片機連接圖TM12864J共有20個引腳,功能各異,所以在設計電路圖的時候,液晶與單片機連接是很重要的,這決定了以后的系統(tǒng)顯示問題,在這20個管腳中,其中有八條數據線,三條控制線,設計的液晶與單片機的線路連接圖如上圖4.9所示。由圖3.7可知,單片機的P0口與液晶芯片的數據端相連,電阻R8接的是一個500歐的滑動變阻器,在顯示過程中,必須調節(jié)滑動變阻器,因為液晶屏只有在固定的某個的位置才能夠顯示數據。其中4、5、6管腳分別為選擇數據/指令控制、讀數據/寫數據、使能端三大控制引腳。3.4.3液晶顯示器的管腳和功能我使用的液晶的型號是TM12864J,該液晶共有20個管腳,管腳功能各不一樣,液晶芯片管腳功能介紹如表3.3所示。該液晶屬于不帶字庫的分左右半屏的液晶顯示器,它的左右半屏分別由CS1、CS2控制,當CS1=1,CS2=0為右半屏工作,當CS1=0,CS2=1為左半屏工作。該液晶有復位的RESET管腳,但是其部本身自帶了上電復位,所以我們在不需要經常復位的情況下,可以將該復位管腳懸空。該液晶模塊最后的兩個引腳是背光源,在我設計的系統(tǒng)中背光源和各個模塊共用一個電源,所以我直接將他們短接。在這20個管腳中RS、R/W、EN三大控制引腳最為重要。表3.3TM12864J液晶管腳功能表管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3-5V電源正3V0H/L對比度(亮度)調整4RS(D/I)H/LRS=“H”,表示DB7-DB0為顯示數據RS=“H”,表示DB7-DB0為顯示指令數據5R/WH/LR/W=“H”,E=“H”,數據被讀到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的數據被寫到IR或DR6ENH/L使能信號,此液晶為高電平有效7-14DB0H/L三態(tài)數據線15CS1H/L管腳為“H”:選擇右半屏顯示數據16CS2H/L管腳為“H”:選擇左半屏顯示數據17RESETH/L復位端口,低電平有效18VOUTLCD驅動電壓輸出端19AVDD背光源正極(5V)20KVSS背光源負極3.4.4液晶顯示器的使用注意事項TM12864J液晶顯示器在使用的時候,必須有程序驅動,所以在寫入和讀取數據的時候,就會出現各種錯誤,我大致分析了一下務必注意以下幾點:欲在某一個位置顯示中文字符時,應先設定顯示字符位置,即先設定顯示地址,再寫入中文字符編碼;顯示ASCII字符過程與顯示中文字符過程一樣。不過在顯示連續(xù)字符時,只須設定一次顯示地址,由模塊自動對地址加1指向下一個字符位置,否則,顯示的字符中將會有一個空ASCII字符位置;當字符編碼為2字節(jié)時,應先寫入高位字節(jié),再寫入低位字節(jié);模塊在接收指令前,向處理器必須先確認模塊部處于非忙狀態(tài),即讀取忙標志時“忙”標志位需為“0”,方可接受新的指令。如果在送出一個指令前不檢查“忙”標志,則在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確定執(zhí)行完成。再加上我是用的液晶型號為TM12864J,此液晶分左右半屏,可以分別顯示數據。同時在初始化和讀寫數據的時候,都必須對左右半屏進行分開的操作。3.5模擬傳感器電路設計圖3.8模擬傳感器電路圖設計電路圖如圖3.10所示,該電路為氣壓、油壓、油量等參數的測量采用模擬傳感器,其輸出的模擬信號通過單片機自帶的模/數轉換后將數字信號輸入單片機89C51中,經過相應軟件處理后輸出。為了使電路設計更加簡單化,從而設計了幾個模擬的傳感器,該模擬傳感器是以滑動變阻器為主要元器件,當滑動變阻器短接為零時,此時電壓信號為最大值;當滑動變阻器完全接入系統(tǒng)中的時候,電壓為最小值。再通過芯片的模數轉化功能,利用編程實現模擬信號的數字化顯示,最后再通過液晶顯示屏能夠顯示出來,用以達到預期效果。3.6串口電路模塊設計串口通訊對單片機而言意義重大,不但可以實現將單片機的數據傳輸到計算機端,而且也能實現計算機對單片機的控制,我們在設計好硬件電路之后,軟件的程序一般都是通過串口通信,使程序寫入單片機中的,是硬件不可或缺的電路。再加上其所需電纜線少,接線簡單,所以得到了廣泛的運用。3.6.1串口通信電路的設計思想本課題中設計一個51單片機與電腦串口通訊系統(tǒng),實現單片機與PC機之間的遠程通信,串口通信在該課題中是輔助電路。在該課題中我主要設計的是接收模塊,利用MAX232來實現接口電路,我們使用DB9串口座(母口)與MAX232相應的管腳相連,并將相應的軟件程序轉入電路中,即可運行。當電路是相對獨立時,可直接調速電路參數值,其影響和干擾就小。在滿足接收模塊的要求后可單獨對控制進行調整,程序的編入,接收部分相應的結果就可以實現,從而實現了電腦對遠端單片機的控制。3.6.2串口通信功能實現與電路用單片機的串口和PC進行串行通信時,通常都需要進行兩種不同的電平之間的轉換,該課題中單片機所用的是TTL電平(+5V為高電平,低電平為0V),而計算機的串口為RS-232C電平,其中高電平為-12V,低電平為+12V。這里要強調的是RS-232C電平為負邏輯電平。我參考平時實驗的串口電路中,大多使用的電平轉換芯片都是美信公司生產的MAX232芯片,該芯片可以直接完成以上兩種電平的轉換。MAX232電平轉換芯片把TTL電平從0V和5V轉換到3V~15V或-3V~-15V之間[11]。圖3.9串口電路原理圖由圖3.9可知,該課題中P3.1和P3.0口實現了P3口第二功能,作為串行口的輸入接入單片機中。由上圖可以看出串口通信的數據傳輸的具體過程是:MAX232的11腳接單片機TXD端P3.1,TTL電平從單片機的TX端發(fā)出,經過MAX232轉換為RS-232電平后從MAX232的14腳T1OUT發(fā)出,再連接到系統(tǒng)板上的串口座的第2腳RXD,至此計算機端接收到數據。PC機發(fā)送數據時從PC機串口座上的第3腳TXD端發(fā)出數據,再逆向流向單片機的RX端P3.0接收數據。3.7其他各種輔助電路模塊除了上面的各種大型電路設計之外,一個系統(tǒng)必須還有很多的輔助電路。在該系統(tǒng)中輔助電路有:電源電路、晶振電路、復位電路、按鍵電路、報警LED電路等等。電源是向自己設計的電子設備提供功率的裝置,它提供了該系統(tǒng)所有部件所需要的電能。電源是任何電子系統(tǒng)不可缺少的部分,電源功率的大小,將會直接影響到該設計系統(tǒng)的工作性能和使用壽命。晶振的作用在于產生時鐘頻率信號,該系統(tǒng)中所使用的晶振頻率是標準的11.0592MHz,通常單片機系統(tǒng)中的晶振都是整個系統(tǒng)所有部件所共用的,這樣便于系統(tǒng)的各個部分能夠保持一致。該電路設計中,缺少語音提醒功能,所以我設計了四個LED指示燈,當溫度或者速度到達一定程度的時候,LED指示燈會提出報警。復位電路一般來說要是不需要經常復位的話,該電路可以省略。3.7.1USB電源供電模塊單片機開發(fā)板的供電一般都采用電腦的USB提供,USB的電壓本身就是5V,這個和單片機的電源需求相匹配。再加上電腦的USB最大能夠提供500mA的電流,基本上可以滿足單片機上元器件的工作需求,綜合考慮之下,本系統(tǒng)的電源部分采取電腦的USB供電。USB供電電路的電路圖如圖3.10所示,該電路簡單易懂,而且該電路與自制的變壓器電源供電相比,USB供電更加安全可靠,穩(wěn)定性好。由該圖3.10可知,該電路中有一個USB母口,用來與電腦連接,SW1A是一個六腳自鎖開關,D5是一個發(fā)光二極管,主要用于只是電源是否接通,發(fā)光二極管不能直接接入電路中,這樣可能會導致發(fā)光二極管燒毀。與Led連接的電阻決定了LED的亮度,但是該電阻最小不得小于330歐。圖3.10USB電源電路3.7.2晶振模塊晶振在該系統(tǒng)中為單片機提供時鐘信號,通常我們使用的很多單片機部都自帶晶振,但是一般為了是系統(tǒng)設計更加完美化,我們都自主的設計一個晶振電路。晶振代表了該系統(tǒng)運行和處理數據的速度。晶振電路圖如3.11所示,我設計的時候晶振選用的是標準的11.0592MHz,但是在實際焊接板子的時候,焊接的是12MHz的晶振,對于晶振電路中的電容,一般沒有硬性的要求,但是不能太大,一般最常規(guī)的選擇為20pF到30pF之間,在該課題中我選擇的是22pF的電容。圖3.11晶振電路圖3.7.3復位電路模塊在單片機中,復位電路都是微分電路復位,在意義上一般有兩種:手動復位和上電復位,電路原理圖如圖3.12所示。手動按鈕復位。手動按鈕復位的時候需要人為的在復位輸入端RST上面加入高電平如圖3.12所示,在電源和RST之間接一個開關按鈕。當人為按下按鈕的時候,電源的高電平直接接入RST中,再加上人的動作一般會是按鈕保持幾十毫秒左右,這樣才使得復位要求得以滿足。上電復位。如圖3.12所示就是在RST管腳上接一個電容到電源端,再接一個10K的下拉電阻接地,就可以實現上電復位。上電復位的工作過程是在加電時,復位電路通過電容加給RST端一個短暫的高電平信號,此高電平信號隨著VCC對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復位,RST端的高電平信號必須維持足夠長的時間才行。圖3.12復位電路原理圖3.7.4按鍵電路模塊按鍵電路是一個完整系統(tǒng)中不可或缺的輔助型電路,它的功能各異,可以根據自己的需要對按鍵設置不同的功能。在該系統(tǒng)中,我一共設計了四個按鍵,該按鍵屬于獨立按鍵,如圖3.13所示,此設計為低電平按鍵有效,當我們未按鍵的時候,按鍵引腳一直處于高電平狀態(tài),此時按鍵功能不工作;當我們按下一個按鍵的時候,從而導致按鍵與地接通,是電源直接接到地了,導致單片機的接線管腳處于低電平,實現按鍵功能。圖3.13開關按鍵電路3.7.5LED報警指示燈模塊在該系統(tǒng)中,我采用的是LED指示燈報警顯示的方案,在汽車儀表中,不論是水溫還是速度一旦操過一定的限度必須要采取報警提示,該電路中一共設計了四個報警信號燈,他們分別對應的是水溫報警、測速報警、壓力報警、油量耗盡報警。駕駛員在行駛過程中接收到報警信號的時候,就會采取相應的措施,以防發(fā)生駕駛事故,為車主帶來不必要的麻煩,這也是設計人性化的表現之一。該系統(tǒng)中四個共陽極的LED指示燈,分別接在單片機P2口的0-3個管腳上。該電路屬于低電平點亮LED電路,如下圖3.14所示。圖3.14LED報警電路第四章系統(tǒng)抗干擾設計由于本課題儀表系統(tǒng)設計的本意是針對現實生活中的車輛而設計的,該課題以單片機為核心控制系統(tǒng)。在實際應用中,電子設備所在環(huán)境復雜,一般都比較惡劣,所以系統(tǒng)在工作時會受到來自系統(tǒng)部或外部的各種干擾。如果系統(tǒng)沒有抗干擾的設計,就會受到干擾源的影響,是系統(tǒng)工作極不穩(wěn)定,嚴重的可能會導致系統(tǒng)崩潰。因此完全的系統(tǒng)中也必須有抗干擾設計[9]。4.1本系統(tǒng)干擾來源和特點在本系統(tǒng)中的干擾是來自元器件自身工作產生的,該干擾信號通過單片機的地址總線、電源線、信號線、電容等等,他們將會影響系統(tǒng)工作的正常狀態(tài),使本應該存儲的數據發(fā)生錯誤或丟失。4.2本系統(tǒng)的抗干擾設計(1)該系統(tǒng)有良好的接地,接地不良的時候,將形成明顯的干擾,該印制電路板為兩層,電源在上面層共用一個電源供電,地在下面一層共用一個接地點。(2)在給STC2C5A08AD單片機、MAX232芯片、LM324芯片的供電電源上接一個0.1uF的瓷片電容,該電容用于濾波整形,使供電電源更加穩(wěn)定,同時減少有源信號對系統(tǒng)的干擾。(3)選擇時鐘頻率相對較低的單片機,外部時鐘是高頻的噪聲源不僅能夠引起自身系統(tǒng)的干擾,還可能對外界產生干擾,該系統(tǒng)中選用的STC12C5A08AD單片機的工作頻率為:0-35MHz,而普通的8051單片機的工作頻率為:0-420MHz,相比之下,該系統(tǒng)選用的單片機的時鐘頻率很低,增加了系統(tǒng)的可靠性。第五章系統(tǒng)軟件的設計我們電子類專業(yè)所學的系統(tǒng)一般來說都是硬件和軟件相互結合,最后共同達到該系統(tǒng)的功能。所謂軟件就是一系列按照特定順序組織的指令的集合,在該系統(tǒng)中軟件指的是能夠被下載到單片機中實現具體功能的程序。軟件是用戶與我設計的硬件系統(tǒng)之間的一個接入口,軟件就像一個人的靈魂,在沒有硬件支撐的時候,它是一個幽靈,沒有載體,所以只有當硬件和軟件相互結合起來,才能算是一個完整的系統(tǒng)。5.1編程語言介紹自大學以來,我四年所接觸過的高級語言有:VB、C、C++、匯編語言等等,各種語言各不一樣,而如今我們電子行業(yè)中最熱門的語言是C語言,相對于匯編語言來說C語言簡單明了,可讀性很強,是當今電子工程設計師們最鐘愛的一門語言。5.1.1C語言簡介C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.RITCHIE于1972年推出。它提供了十分完備的規(guī)化流程控制結構。因此采用C51語言設計單片機應用系統(tǒng)程序時,首先要盡可能地采用結構化的程序設計方法,這樣可使整個應用系統(tǒng)程序結構清晰,易于調試和維護。對于一個較大的程序,可將整個程序按功能分成若干個模塊,不同的模塊完成不同的功能。對于不同的功能模塊,分別指定相應的入口參數和出口參數,而經常使用的一些程序最好編成函數,這樣既不會引起整個程序管理的混亂,還可增強可讀性,移植性也好。在研制單片機應用系統(tǒng)時,匯編語言也是一種常用的軟件工具。它能直接操作硬件,指令的執(zhí)行速度非???。但匯編指令系統(tǒng)的固有格式受硬件結構的限制很大,且難于編寫與調試,可移植性也差,而且若不是開發(fā)者自己編寫的的程序,很難看懂匯編語言程序。隨著單片機硬件性能的提高,其工作速度越來越快,因此在編寫單片機應用系統(tǒng)程序時,更著重于程序本身的編寫效率。使用C語言可以使它縮短開發(fā)周期,降低開發(fā)成本,而且開發(fā)出的系統(tǒng)易于維護,可靠性高,可移植性好,即使在代碼的使用效率上,也完全可以和匯編語言相比,因此目前它已成為開發(fā)C51系列單片機的流行工具。5.1.2C語言與匯編語言混用C51編譯器能對C語言源程序進行高效率的編譯,生成高效簡潔的代碼,在絕大多數場合采用C語言編程即可完成預期的目的。但有時為了編程直觀或某些特殊地址的處理,還須采用一定的匯編語言編程。而在另一些場合,出于某種目的,匯編語言也可調用C語言。在這種混合編程中,關鍵是參數的傳遞和函數的返回值。它們必須有完整的約定,否則數據的交換就可能出錯。我總結了一下在C51單片機語言中嵌套匯編語言的時候必須注意以下幾點:在文件欄必須選中FileGroup和C51程序原文件,在配置文件選項中激活“產生匯編(SRC)文件”,“編譯(SRC)文件”和“創(chuàng)建工程(目標)時包含”三個選項;根據選擇的編譯模式,并且把相應的庫文件加入工程中;在C51語言中必須聲明需要調用的函數為外部函數;在匯編語言程序中必須聲明被調用子程序為公共子程序,在被調用的文件中還需要聲明此文件是可重新定位的;5.1.3C51編程中斷處理在該系統(tǒng)中程序設計中的測速部分,就是利用的中斷過程來處理的。一次完整的中斷必定是由中斷請求、中斷響應、中斷處理三個階段組成。中斷請求。它是由中斷源發(fā)出的并送給CPU的控制信號,由中斷源設備通過將觸發(fā)器置為高電平完成的。中斷響應。當CPU接到中斷請求的時候,要是滿足:中斷觸發(fā)器為“1”狀態(tài)、CPU剛結束了一條指令的執(zhí)行過程、新請求的中斷優(yōu)先級比現階段的優(yōu)先級要高這三個條件的話,系統(tǒng)就會響應中斷。中斷響應的時候,系統(tǒng)會把程序計數器PC的容保存到堆棧中,一邊處理完中斷后,回到原程序中。中斷處理過程。首先關中斷,其次保存斷電保護現場,再開中斷,其次執(zhí)行中斷服務程序,最后關中斷,返回。5.2軟件模塊設計我們設計軟件的時候并不是一蹴而就的,必須分成各個模塊,這樣既能夠加快編程的速度,還能很容易的檢查處錯誤便于我們修改。在該系統(tǒng)中,主要的編程模塊有:溫度傳感器程序設計、ST188測速程序設計、液晶顯示程序、AD轉換程序設計。在設計程序的時候我們一般分為三步走:明確編程想要系統(tǒng)實現的功能,要解決什么問題,達到什么要求。畫出該程序設計的基本方框圖,設計出程序的算法。運用KEIL軟件編寫程序,調試和編譯,得出最終的結果。5.2.1主程序的設計主程序是該系統(tǒng)的編程的總體設計方案,是設計程序的一個具體思路的體現。在本系統(tǒng)中,主程序最主要的工作是對各個模塊的子程序進行調用。為了使程序的可讀性增強,我在本系統(tǒng)程序設計中選擇模塊形式的程序設計方案,設計中該系統(tǒng)共包括:DS18B20測溫子程序、ST188測序子程序、A/D轉換子程序、LCD12864顯示子程序四個模塊,在主程序中只需對各個模塊進行初始化函數的調用以與對各模塊功能函數的調用,就可以實現系統(tǒng)的整體顯示。圖5.1主程序設計方框5.2.2溫度傳感器程序設計圖5.2DS18B20程序設計方框程序設計框圖如下圖5.2所示,該設計以DS18b20為溫度傳感器,模擬測量水溫,以AT89C51單片機為控制核心組成的測溫系統(tǒng)。該系統(tǒng)選用USB口統(tǒng)一供電,采用串口方式對其進行程序下載,本課題中DS18B20的數據接口與單片機的P1.3口連接,并在輸出數據端設置一個5.1K的上拉電阻,用于保持該信號端口始終處于高電平狀態(tài)。該程序設計比較簡單,最主要是對該芯片進行初始化,以與該芯片輸出的溫度信號并非數字信號,所以在最后顯示的時候必須乘以0.0625,用以轉化為數字的攝氏溫度。5.2.3液晶顯示程序設計LCD12864液晶顯示器是128*64的點陣,該液晶具有左半屏和右半屏之分,分別由CS1、CS2控制,當CS1為高電平的時候選擇的是右半屏,當CS2為高電平的時候顯示的是左半屏,通過此原理來編寫C程序。該液晶的控制程序設計主要包含兩個方面的容:一個是底層的驅動程序設計、一個是應用程序設計,用以實現各種文字和數據的顯示。底層的驅動程序主要在于液晶和單片機接口的設定,簡而言之就是在編程的時候定義各個驅動管腳。應用程序的主要設計思想是:以底層驅動程序為根本,再結合該系統(tǒng)所需要的應用要求,給出常用的程序函數,在實際的工作中可以直接調用這些子函數,從而縮短了程序的開發(fā)時間。應用程序的設計中包括對液晶的初始化、清屏程序、顯示漢字程序等等。程序設計結構框圖如下圖5.3所示。圖5.3TM12864J液晶顯示程序框圖5.2.4ST188測速程序設計在ST188芯片的上方放置一個轉動的電機,通過紅外反射出一個相等的扇形區(qū)域,從而反射端反回一個信號,最后信號的高低電平判斷是由C_E端判斷,C_E輸出端是一個三極管,當沒有信號被接受到的時候,CE端截止,從而輸出的電壓為電源電壓,此時為高電平,當有信號輸入時,C端導通,從而電源電壓接地,此時輸出從高電平變成低電平,為了使輸出的信號成為穩(wěn)定的方波,所以在ST188信號輸出端接了一個LM324運算放大器。在由ST188傳感器發(fā)出信號,這時通過P3.4口來告訴單片機,這時就讓變量自動加1,產生計數。在ST188測速程序的設計中,必須要使用P3.4口的T/C0定時器/計數器0,將其設置為計數模式,并計算出ST188電路輸出的脈沖(方波)的個數,我們可以測試出輪子轉一周相對應的脈沖個數,從而可以通過編程計算出路程,路程=圈數×電機模擬旋轉的車輪的周長,再用路程除以時間,就是該系統(tǒng)所需要的速度。最后將所得結果送到LCD顯示出來,來達到實時顯示里程的效果。由于要數字顯示出來,因而在本次設計中同時也得使用LCD液晶顯示屏。該程序的設計方框圖如圖5.4所示。圖5.4ST188程序設計方框圖5.2.5AD轉換模塊設計在該系統(tǒng)中,我是用的單片機芯片是STC12C5A08AD,該單片機直接兼容傳統(tǒng)的89C52芯片,該單片機部自帶8路10位的高速A/D裝換器,轉換速度可達到250KHz(25萬次/秒),此為8路電壓輸入型A/D,可以用于各種檢測。當單片機上電復位后,P1口微上拉型I/O口,我們在編程的時候通過軟件設置將P1口的8路引腳的任何一個引腳設置為A/D轉換,當不需要作為A/D使用的時候該P1口可繼續(xù)作為普通I/O口使用,正是由于該單片機的這個特性,使我在設計電路時可以省下很多空間。在系統(tǒng)中要使A/D轉換中斷得以實現就必須做到以下幾點:(1)必須將單片機的總中斷置高電平,這一位不控制了整個系統(tǒng)的運行,而該A/D轉換器就在單片機中。(2)A/D中斷控制位必須要置為高電平,在該設計的系統(tǒng)中以P0口默認為A/D轉換口,所以一開始初始化中就先將P0口置為0XFF。第六章總結和展望熟語說“是騾子是馬,拉出來溜溜就知道了”,畢業(yè)設計就如同大學給每個即將畢業(yè)的學生的最后一個能力測試,畢業(yè)設計是一個綜合性的考核,它是將四年來我們所學的專業(yè)技術融合在一起的最好的證明。通過最后一學期的畢業(yè)設計完全可以測試我們大學四年里面是否真正的去努力學習和實踐過。6.1畢業(yè)設計工作總結本課題設計了多媒體汽車動態(tài)儀表系統(tǒng),它包括了硬件和軟件兩大部分,所以它是以ALTIUMDESIGNER和KEILUVISION2為開發(fā)平臺,前者設計PCB電路,后者編寫程序。其主要的工作如下:本文介紹了汽車儀表的發(fā)展歷程以與分析了未來的發(fā)展趨勢,個人認為汽車儀表在未來階段趨向于語音智能化控制,該方向汽車儀表最終必定占據整個汽車市場通過十天對ALTIUMDESIGNER的視頻學習,初步掌握了設計和繪制PCB的工作步驟,在自己的努力之下,慢慢的繪制出該系統(tǒng)的PCB板圖,當然在制作過程中遇到相當多的問題,主要是對該運行環(huán)境并沒有熟練掌握,最后在老師和同學的指導下,完成了PCB板的電器檢查,最后確認無誤后發(fā)給嘉立創(chuàng)PCB制板公司定做。我設計的板子是兩層板,屬于最簡單的設計。當PCB印制板被制板公司郵寄回來后,我在我校的電子實驗室里面借到了所需要的所有電器元件。最后將印制板焊

溫馨提示

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

評論

0/150

提交評論