基于單片機的LCD汽車數(shù)字測速儀_第1頁
基于單片機的LCD汽車數(shù)字測速儀_第2頁
基于單片機的LCD汽車數(shù)字測速儀_第3頁
基于單片機的LCD汽車數(shù)字測速儀_第4頁
基于單片機的LCD汽車數(shù)字測速儀_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 XX大學本科畢業(yè)設計基于AT89C51的LCD數(shù)字測速儀的設計測量汽車車速學生姓名XXX院系名稱工學院專業(yè)名稱電氣工程及其自動化班 級 2007級 1班學 號XXXXXX指導教師XXX完成時間2011年 5月 18日基于AT89C51的數(shù)字測速儀學生姓名:XXX 指導教師:XXX 內(nèi)容摘要隨著居民生活水平的不斷提高,家用轎車開始普及為人們娛樂、休閑代步的工具。汽車測速儀能夠滿足人們最基本的需求,讓人們能清楚地知道當前的速度、里程、時間等物理量。以便做出判斷和采取必要的措施,以防止交通事故的發(fā)生。測速儀作為汽車最基本、最重要的部件之一,在汽車的運行過程中起著至關重要的作用。一個性能良好、測量精

2、確、穩(wěn)定的測速系統(tǒng),從某種意義上說,直接影響著汽車乃至司乘人員的生命安全。本論文主要闡述一種基于光電傳感器的汽車測速儀的設計。以 AT89C52 單片機為核心,OPTC 光斷續(xù)器測轉(zhuǎn)數(shù),實現(xiàn)對汽車速度、時間的測量統(tǒng)計,并能將汽車的里程數(shù)及速度信息送單片機,并通過單片機輸出驅(qū)動信號,用LCD實時顯示。文章詳細介紹了汽車測速儀的硬件電路和軟件設計。硬件部分利用光電傳感器組件將汽車每轉(zhuǎn)一圈的脈沖數(shù)傳入單片機系統(tǒng),然后單片機系統(tǒng)將信號經(jīng)過處理送顯示。軟件部分用C語言進行編程,采用模塊化設計思想。該系統(tǒng)硬件電路簡單,子程序具有通用性,完全符合設計要求。關鍵詞:速度;時間;光斷續(xù)器;單片機;LCD顯示Th

3、e car speedometer design based on the AT89C51ABSTRACTWith the developing of peoples life, the car is becoming the universal tool of transportation and substitute for walking and becoming the first choice of entertainment and exercising. The car speedometer can fulfill the basic need of peoples life,

4、 so that they can learn the speed、 the mileage 、the time of the car. For that people could take some necessary measures in case of any accident happened by a dangerous speed. As one of the most basic and important part of a car, speedometer is taking an important role during the cars running. To som

5、e extent, an accurate and stable speedometer has a effect on the drivers life directly.In this paper, the car speedometer design based on the photoelectric sensor element is elaborated. By AT89C52 as kernel, using photoelectric sensor element to measure revolution, the measure and statistic are achi

6、eved. The car speed can be displayed on LCD. In this article, the hardware circuit and software design of car speedometer instrument are introduced in detail. About the hardware, the pulse number is transmitted of one cycle of the car into Single Chip Microcomputer system. Then the signal processed

7、by Single Chip Microcomputer system is sent to display scream. About the software, in C language; the program is designed in the mode of modules. The system has simple hardware, common sub-program, and meets the demand of design.KEY WORDS: Mileage / speed; Time;temperature;photoelectric sensor eleme

8、nt; Single chip microcomputer; LCD目錄1、設計背景12、欲實現(xiàn)功能33、系統(tǒng)硬件設計43.1系統(tǒng)框圖及測速原理43.2單片機AT89C5253.3 OPTC光電斷續(xù)器63.4 液晶顯示LM016L73.5 三端穩(wěn)壓集成器LM7805.83.6電源84 、軟件設計.94.1 程序流程圖. 94.2 C語言編程. 9 5 、系統(tǒng)仿真及調(diào)試.10 6 、元器件清單.11 7 、結語.11 8 、附錄.13附錄1 實驗仿真電路.13 附錄2 源程序.14 9 、參考文獻.2310 、致謝.24基于AT89C51的LCD數(shù)字測速儀1  設計背景隨著人們生活水平

9、的逐漸提高,人們對于生活質(zhì)量的要求也日益增加,尤其是對出行的要求。汽車在中國普遍作為代步工具,對于忙碌的現(xiàn)代人來說,無疑是一種較好的省時方法?,F(xiàn)代社會的快速發(fā)展,中國經(jīng)濟的快速增長,社會上機動車擁有量也急速增多。根據(jù)統(tǒng)計資料表明,未來機動車增長趨勢不會下降,小汽車進入尋常百姓家,給人們生活帶來極大的便利。但是,在追求省時、舒適的同時,安全也日益成為人們關注的焦點。交通事故頻發(fā),又給人們的生活增添了煩惱和不幸。據(jù)調(diào)查,每100例交通事故中,由于超速行駛造成的占60以上,正所謂十次事故九次快!而且凡是由于超速所導致的交通事故,大部分都是惡性事故,對司乘人員造成嚴重傷害。因而作為汽車的必要組成部分之

10、一,測速系統(tǒng)扮演著舉足輕重的作用。已經(jīng)成熟的測速方式中,光電式傳感器較其他的具有有以下優(yōu)點:1、檢測距離長:如在對射型中保留10m以上的檢測距離,便能實現(xiàn)其他檢測手段(磁性、超聲波等)無法檢測的距離。2、對檢測物體的限制少:由于以檢測物體引起的遮光和反射為檢測原理,所以不象接近傳感器等將檢測物體限定在金屬,它可對玻璃.塑料.木材.液體等幾乎所有物體進行檢測。3、響應時間短:光本身為高速,并且傳感器的電路都由電子零件構成,所以不包含機械性工作時間,響應時間非常短。4、分辨率高:能通過高級設計技術使投光光束集中在小光點,或通過構成特殊的受光光學系統(tǒng),來實現(xiàn)高分辨率。也可進行微小物體的檢測和高精度的

11、位置檢測。5、可實現(xiàn)非接觸的檢測:可以無須機械性地接觸檢測物體實現(xiàn)檢測,因此不會對檢測物體和傳感器造成損傷。因此,傳感器能長期使用。6、可實現(xiàn)顏色判別通過檢測物體形成的光的反射率和吸收率根據(jù)被投光的光線波長和檢測物體的顏色組合而有所差異。利用這種性質(zhì),可對檢測物體的顏色進行檢測。7、便于調(diào)整:在投射可視光的類型中,投光光束是眼睛可見的,便于對檢測物體的位置進行調(diào)整。光電傳感器是以光電效應為基礎,將光信號轉(zhuǎn)換為電信號的傳感器。光電傳感器是采用光電元件作為檢測元件的傳感器。它首先把被測量的變化轉(zhuǎn)換成光信號的變化,然后借助光電元件進一步將光信號轉(zhuǎn)換成電信號。所謂光電效應,即是當用光照射物體時,物體受

12、到一連串具有能量光子的轟擊,于是物體材料中的電子吸收光子能量而發(fā)生的相應的電效應,如電導率變化、發(fā)射電子或產(chǎn)生電動勢等。通常將光電效應分三類:其一,光照在光電材料上,材料表面的電子吸收能量,若電子吸收的能量足夠大時,電子會克服束縛脫離材料表面而進入外界空間,從而改變光電子材料的導電性,這種現(xiàn)象稱為外光電效應?;谕夤怆娦墓怆娫泄怆姽堋⒐怆姳对龉艿?。其二,當受到光照射時,吸收電子能量,其電阻率降低的導電現(xiàn)象稱為光導效應。它屬于內(nèi)光電效應,這種光電元件有光敏電阻等。其三,在光線作用下能使物體產(chǎn)生一定方向電動勢的現(xiàn)象稱為光生伏特效應。據(jù)此效應制造的光電器件有光電池,光電二極管,管控晶閘管和光

13、耦合器等。光電傳感器一般由三部分構成,它們分為:發(fā)送器、接收器和檢測電路,如圖1所示,發(fā)送器對準目標發(fā)射光束,發(fā)射的光束一般來源于半導體光源,發(fā)光二極管(LED)、激光二極管及紅外發(fā)射二極管,光束不間斷地發(fā)射。接收器有光電二極管、光電三極管等。在接收器的前面,裝有光學元件如透鏡和光圈等。在其后面是檢測電路,它能濾出有效信號和應用該信號。此外,光電開關的結構元件中還有發(fā)射板和光導纖維,三角反射板是結構牢固的發(fā)射裝置。它由很小的三角錐體反射材料組成,能夠使光束準確地從反射板中返回,具有實用意義。它可以在與光軸0到25的范圍改變發(fā)射角,使光束幾乎是從一根發(fā)射線,經(jīng)過反射后,還是從這根反射線返回。圖1

14、 光電器件原理圖 光電傳感器是一種依靠被測物與光電元件和光源之間的關系,來達到測量目的的,因此光電傳感器的光源扮演著很重要的角色,光電傳感器的電源要是一個恒光源,電源穩(wěn)定性的設計至關重要,電源的穩(wěn)定性直接影響到測量的準確性,常用光源有以下幾種: 1、發(fā)光二極管: 它是一種把電能轉(zhuǎn)變成光能的半導體器件。它具有體積小、功耗低、壽命長、響應快、機械強度高等優(yōu)點,并能和集成電路相匹配。因此,廣泛地用于計算機、儀器儀表和自動控制設備中。 2、絲燈泡: 這是一種最常用的光源,它具有豐富的紅外線。如果選用的光電元件對紅外光敏感,構成傳感器時可加濾色片將鎢絲燈泡的可見光濾除,而僅用它的紅外線做光源,這樣,可有

15、效防止其他光線的干擾。 3、激光: 激光與普通光線相比具有能量高度集中,方向性好,頻率單純、相干性好等優(yōu)點,是很理想的光源。由光源、光學通路和光電器件組成的光電傳感器在用于光電檢測時,還必須配備適當?shù)臏y量電路。測量電路能夠把光電效應造成的光電元件電性能的變化轉(zhuǎn)換成所需要的電壓或電流。不同的光電元件,所要求的測量電路也不相同。最近十年來,焊縫跟蹤技術的研究、應用得到了飛速的發(fā)展,尤其是焊縫傳感技術已從簡單的機械接觸、電磁感應轉(zhuǎn)變?yōu)樾畔⒘扛?、精確度更高的電弧傳感、光電(視覺)傳感等方式。由于光電傳感器具有反應速度快,精度高、分辨力高、可靠性好,體積小,重量輕、功耗低、便于集成、可實現(xiàn)非接觸測量等

16、優(yōu)點,因而被廣泛應用于軍事、通訊、檢測與工業(yè)自動控制等各個領域中。光電傳感器的典型應用之一是光電開關與光斷續(xù)器。光電開關與光斷續(xù)器都是用來檢測物體的靠近、通過等狀態(tài)。近年來,隨著生產(chǎn)的自動化,機電一體化的發(fā)展,光電開關與光電斷續(xù)器已經(jīng)發(fā)展成為系列產(chǎn)品,其品種及產(chǎn)量日益增加。我們可以根據(jù)需要,選用適當?shù)漠a(chǎn)品,而不必自行設計光路和電路。光斷續(xù)器是一個整體結構,其檢測距離只有幾毫米至幾十毫米。光斷續(xù)器發(fā)射、接收器做在體積很小的同一塑料殼體中,所以兩者能可靠對準??煞譃檎跀嗍胶头瓷涫絻煞N。遮斷式的槽寬,深度及光敏元件各不同,反射式的檢測距離較短,多用于安裝空間較小的場合。由于檢測范圍小,光電斷續(xù)器的發(fā)

17、光二極管可用直流電驅(qū)動,紅外LED的正向壓降約1.2到1.5V,驅(qū)動電流控制在幾十毫安。光電斷續(xù)器是較便宜,簡單,可靠的光電器件,廣泛用于自動控制系統(tǒng),機電一體化設備,辦公設備和家用電器中。將光電傳感器運用于汽車測速,通過車輪帶動碼盤旋轉(zhuǎn),而碼盤上面開有等間隔的孔,在旋轉(zhuǎn)一周中間隔的通光與遮光,使傳感器發(fā)出脈沖。 利用軟件計算出汽車速度,并通過單片機輸出信號驅(qū)動LCD顯示。有了實時測速系統(tǒng),駕駛員才能知道自己的運動情況,才能夠及時調(diào)整車速,避免因過速而引發(fā)事故,保護自己以及他人的生命及財產(chǎn)安全。具有相當?shù)膶嵱眉把芯績r值。2 欲實現(xiàn)功能2.1 對汽車進行實時速度的測量,顯示出速度值。2.2 可以

18、利用軟件自行設定采樣頻率。3 系統(tǒng)硬件設計3.1 系統(tǒng)框圖及測速原理電源電路 復位電路主控模塊AT89C51OPTC光斷續(xù)器LCD顯示模塊晶振電路圖2 基于AT89C52單片機的LCD數(shù)字測速儀系統(tǒng)框圖光電式傳感器是將光通量轉(zhuǎn)換為電量的一種傳感器。光電式傳感器的基礎是光電轉(zhuǎn)換元件的光電效應。光電效應:由光的粒子學說可知,光可以認為是由具有一定能量的粒子所組成,而每個光子所具有的能量E與其頻率成正比。光照射在物體上就可看成是一連串的具有能量E的粒子轟擊在物體上。所謂光電效應既是由于物體吸收了能量為E的光后產(chǎn)生的效應。光電傳感器必須經(jīng)過光波調(diào)制,光波的調(diào)制像無線電波的傳送和接收,將收音機調(diào)到某臺,

19、就可以忽略其他的無線電波信號。未經(jīng)調(diào)制的傳感器只有通過使用長焦距鏡頭的機械屏蔽手段,使接收器只能接收到發(fā)射器發(fā)出的光,才能使其能量變得高。相比之下,經(jīng)過調(diào)制的接收器能忽略周圍的光,只對自己的光或具有相同調(diào)制頻率的光做出響應。在遮斷方式中,傳送和接收器件以適當?shù)拈g隙相對固定,用一軟磁(例如軟鐵)翼片作為運動工作部件,當冀片進入間隙時,作用到光電傳感器上的光線被部分或全部遮斷,以此來調(diào)節(jié)工作電壓,被傳感的運動信息加在冀片上。將光電傳感器安裝于擋板的兩側,擋板(軟鐵)固定于車輪上面,隨著車輪一起轉(zhuǎn)動,擋板(軟鐵)開有等間隔的孔。當車輪轉(zhuǎn)過一周,傳感器便會間斷地接收光子照射,進而產(chǎn)生感應的脈沖電壓。通

20、過光斷續(xù)器對外部物理量(通光與遮光)進行測量,再將物理信號轉(zhuǎn)換為電壓信號(脈沖電壓),輸入單片機,單片機對所輸入的電壓信號,在匯編程序的控制之下,進行處理、計算、儲存,最后通過LCD輸出顯示速度、里程的信息。 本設計中用到的主要部件包括單片機AT89C52、夏普龍公司的OPTC光電斷續(xù)器、LCD液晶顯示屏、三端穩(wěn)壓集成器LM7805。3.2 單片機AT89C51 由于AT89C51系列單片機已經(jīng)停產(chǎn),綜合內(nèi)存RAM容量、中斷源及價格等因素考慮,故本設計選擇51系列的強化型:AT89C52單片機。其二者區(qū)別如下:1、RAM 空間增大:AT89C51 有128 字節(jié)的內(nèi)部 RAM,AT89C52

21、的內(nèi)部 RAM 擴展為 256 字節(jié); 2、內(nèi)部FLASH變大:AT89C51 有 4K 字節(jié)的內(nèi)部 FLASH PERAM,而AT89C52 的內(nèi)部FLASH PERAM 增加1倍,達到8K。 3、中斷源增加:AT89C52 除了具備 AT89C51 的定時器/計數(shù)器 T0 和定時器/計數(shù)器 T1,還額外增加了一個定時器/計數(shù)器 T2。AT89C52單片機是美國Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,片內(nèi)含8KB的可反復檫寫的程序存儲器和12kB的隨機存取數(shù)據(jù)存儲器(RAM),器件采用Atmel公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)配置通用8位

22、中央處理器(CPU)和Flash存儲單元,功能強大的AT89C52單片機可靈活應用于各種控制領域。AT89C52單片機屬于AT89C51單片機的增強型,與Intel公司的80C52在引腳排列、硬件組成、工作特點和指令系統(tǒng)等方面兼容。其主要工作特性是: 片內(nèi)程序存儲器內(nèi)含8KB的Flash程序存儲器,可擦寫壽命為1000次;片內(nèi)數(shù)據(jù)存儲器內(nèi)含256字節(jié)的RAM;具有32根可編程I/O口線;具有3個可編程定時器;中斷系統(tǒng)是具有8個中斷源、6個中斷矢量、2個級優(yōu)先權的中斷結構;串行口是具有一個全雙工的可編程串行通信口;具有一個數(shù)據(jù)指針DPTR;低功耗工作模式有空閑模式和掉電模式;具有可編程的3級程序

23、鎖定位; AT89C52工作電源電壓為5(1+0.2)V,且典型值為5V;AT89C52最高工作頻率為24MHzAT89C52為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。V

24、CC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。圖3 AT89C52管腳圖3.3 OPTC光斷續(xù)器光斷續(xù)器都是用來檢測物體的靠近、通過等狀態(tài)。其發(fā)射、接收器做在體積

25、很小的同一塑料殼體中,所以兩者能可靠對準??煞譃檎跀嗍胶头瓷涫絻煞N,遮斷式的槽寬,深度及光敏元件各不同,反射式的檢測距離較短,多用于安裝空間較小的場合。由于檢測范圍小,光電斷續(xù)器的發(fā)光二極管可用直流電驅(qū)動,紅外LED的正向壓降約1.2到1.5V,驅(qū)動電流控制在幾十毫安。光電斷續(xù)器是較便宜,簡單,可靠的光電器件,廣泛用于自動控制系統(tǒng),機電一體化設備,辦公設備和家用電器中。本設計采用遮斷式光電斷續(xù)器,將其輸出端口與單片機的P3.2口相連接,用于向單片機提供一定頻率的脈沖。 圖4 光電斷續(xù)器3.4 液晶顯示LM016LLM016L液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強的指

26、令集,可以實現(xiàn)字符移動,閃爍等功能,LM016L與單片機MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時,液晶模塊處于內(nèi)部模式,不響應外部操作指令和接受數(shù)據(jù),DDRAM用來存儲顯示的字符,能存儲80個字符碼,CGROM由8位字符碼生成5

27、*7點陣字符160中和5*10點陣字符32種??梢宰远x8個5*7點陣字符或者4個5*10點陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或CGRAM但愿,LM016L液晶模塊的引腳功能如下表所示圖5 LM016L功能引腳圖在本設計中,我們將LCD的D0D7口分別與單片機的p1.0p1.7口相連接,因p1口是一個準雙向口,可用作通用I/O口。內(nèi)部有上拉電阻與電源相連。實際上,電阻是兩個場效應管(FET)并在一起:一個FET為負載管,其電阻固定。另一個FET可工作在導通或者截止狀態(tài),使其總阻值變化近似為0或阻值很大的兩種

28、情況。當阻值近似為0時,可將引腳快速拉致高電平;當阻值很大時,P1口為高阻輸入狀態(tài)。當p1口輸出高電平時,能向外提供電流負載,所以不必再接上拉電阻。3.5 三端穩(wěn)壓集成器LM7805圖6 LM7805硬件圖LM7805是常用的三端穩(wěn)壓器,一般使用的是TO-220封裝,能提供DC 5V的輸出電壓,應用范圍廣,內(nèi)含過流和過載保護電路。帶散熱片時能持續(xù)提供1A的電流,如果使用外圍器件,它還能提供不同的電壓和電流。將此器件與9V電源串聯(lián)連接,其中,2腳接地。1、3腳串入電路中,從而達到將9V電源穩(wěn)壓到5V,共給單片機使用的目的。同時,可以使電源電壓穩(wěn)定,延長系統(tǒng)壽命保證單片機工作的穩(wěn)定性及系統(tǒng)測量精度

29、。3.6 電源這里采用9V的南孚堿性電池供電,用LM7805進行穩(wěn)壓處理,將9V穩(wěn)降到5V以供單片機以及各芯片使用。經(jīng)測試9V電池完全可以滿足實際需要。這里采用我們熟知的串口通訊方式,AT89C52具有一個可編程的全雙工串行通信口,它可以用作UART,也可以用作同步移位寄存器,其幀格式可以有8位、10位、11位,并能設置各種波特率,給使用帶來很大的靈活性。其中,電源的穩(wěn)定性很重要,它關系著單片機的工作穩(wěn)定性,更為系著整個系統(tǒng)的穩(wěn)定性與壽命長短。故必須利用LM7805芯片進行穩(wěn)壓處理,在實驗調(diào)試過程中,應該使用示波器觀察電壓波形及幅值的穩(wěn)定性,以便于進行下一步的調(diào)整。4 軟件設計 4.1 程序流

30、程圖初始化開始OPTC光電斷續(xù)器數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)算法處理LCD顯示 圖7 基于AT89C52單片機LCD數(shù)字測速儀主程序流程圖通常對于轉(zhuǎn)速或速度的測量可轉(zhuǎn)化為對信號頻率(或周期)的檢測,對信號頻率的檢測最常采用的方法有3種:計數(shù)法、周期法和多倍周期法。其中,計數(shù)法適合于測高頻,測低頻時所需時間較長故誤差較大。周期法適合測低頻,測高頻信號時要求參考脈沖頻率高,故誤差大。這兩種方法共同優(yōu)點是實現(xiàn)比較簡單。而多倍周期法在一定程度上可以解決高低頻之間的矛盾,但實現(xiàn)相對困難。因為多倍周期法要預先確定一個恰當?shù)谋稊?shù)N。而N的預先確定是比較困難的。如果N取的不當,也會使檢測時間增長或高頻時有較大的誤差。在本設計

31、中,對多倍周期法進行了一定的改進,并提出了一個簡單的N的算法,既可以自動確定恰當?shù)腘,又可以滿足高低頻信號的檢測要求。4.2 C語言編程 程序語言采用C語言編程,C語言在很多方面都可以用,不僅僅是在軟件開發(fā)上,各類科研都是需要用到C語言的。具體應用比如我是學硬件的,單片機以及嵌入式系統(tǒng)都可以用C來開發(fā)。 C 語言發(fā)展如此迅速, 而且成為最受歡迎的語言之一,主要因為它具有強大的功能。許多著名的系統(tǒng)軟件, 如DBASE PLUS、DBASE 都是由C 語言編寫的。用C語言加上一些匯編語言子程序, 就更能顯示C 語言的優(yōu)勢了, 像PC- DOS 、WORDSTAR等就是用這種方法編寫的。 歸納起來C

32、語言具有下列特點: 1. C是中級語言它把高級語言的基本結構和語句與低級語言的實用性結合起來。C語言可以象匯編語言一樣對位、字節(jié)和地址進行操作, 而這三者是計算機最基本的工作單元。 2. C是結構式語言結構式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序?qū)哟吻逦? 便于使用、維護以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用, 并具有多種循環(huán)、條件語句控制程序流向, 從而使程序完全結構化。 3. C語言功能齊全C 語言具有各種各樣的數(shù)據(jù)類型, 并引入了指針概念,可使程序效率更高。另外C 語言也具有強大的圖形功能, 支持

33、多種顯示器和驅(qū)動器。而且計算功能、邏輯判斷功能也比較強大,可以實現(xiàn)決策目的編游戲,編3D游戲,做數(shù)據(jù)庫,做聯(lián)眾世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。 4. C語言適用范圍大C 語言還有一個突出的優(yōu)點就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于多種機型。 C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它解釋型高級語言,有一些大型應用軟件也是用C語言編寫的。 C語言具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)值計算的高級語言。在本次設計中,用C語言編程,采用模塊化思想,將各

34、功能模塊寫入子程序,在主程序中加以調(diào)用。程序移植性好,且C語言面向?qū)ο螅^匯編語言簡單,易懂。5 系統(tǒng)仿真及調(diào)試單片機系統(tǒng)的硬件調(diào)試和軟件調(diào)試是密不可分的,許多硬件錯誤往往在軟件調(diào)試中發(fā)現(xiàn)和糾正。但是,通常是先排除明顯的硬件故障以后,再和軟件結合起來調(diào)試以進一步排除故障。硬件的調(diào)試是基礎,如果硬件調(diào)試不能通過,軟件的調(diào)試則無從談起。 硬件的調(diào)試主要是把電路各種參數(shù)調(diào)整到符合設計要求。先排除硬件電路故障,包括設計性錯誤和工藝性故障。一般原則是先靜態(tài)后動態(tài)。硬件靜態(tài)調(diào)試主要是檢測電路是否有短路、斷路、虛焊等,檢測芯片引腳焊接是否有錯位,數(shù)碼管段位是否焊接正確。利用萬用表或邏輯測試儀器,檢查電路中的

35、各器件以及引腳是否連接正確,是否有短路故障。在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,先查Vcc與GND之間的電位,正常范圍為4.85V。單片機AT89C52是系統(tǒng)的核心,利用萬用表檢測單片機電源引腳Vcc(40腳)為+5V,晶振是否正常工作(可用示波器測試,也可以用萬用表檢測兩引腳電壓一般在1.82.3V之間)、復位引腳RST(復位時為高電平,單片機工作時候為低電平)、EA是否為高電平。6 元器件清單基于AT89C51單片機的LCD測速儀元件清單元件名稱型號數(shù)量/個用途單片機AT89C521控制核心晶振12Mhz1晶振電路電容30pf2

36、晶振電路電解電容20uf/10V1復位電路電源Vcc+9v南孚堿性電池1提供電源LCD顯示器LM016L 1顯示電路光斷續(xù)器OPTC1信號輸入電路電阻10k1復位電路電位器10k2調(diào)節(jié)電路按鍵1復位電路穩(wěn)壓器LM78051穩(wěn)定系統(tǒng)電壓 7 結語經(jīng)過兩個多月的努力,基于AT89C51的LCD測速儀設計終于完成。 在整個設計過程中,出現(xiàn)過很多的難題,但都在老師和同學的幫助下順利解決了,在不斷的學習過程中我體會到:寫論文是一個循序漸進的過程,從最初剛寫論文時對測速儀問題的模糊認識到最后能夠?qū)υ搯栴}有深刻的認識,我體會到實踐對于學習的重要性。以前只是知曉理論,沒有經(jīng)過實踐考驗,對知識的理解不夠明確。通

37、過這次的設計,將所學知識運用于實踐,總結出凡是需躬行,求學需嚴謹。從開始接到論文題目到設計方案的確定,再到論文文章的完成,頭腦中的設計思路慢慢清晰。在這段時間里,我學到了很多知識,也有很多感觸。通過這次設計我學會了獨立的學習和探索,查看相關的資料和書籍,使自己的設計逐步完善起來,每一次改進都使我收益頗豐。做設計需要有系統(tǒng)、連貫的思維方式和方法,對待要解決的問題,要耐心的去運用已有的資源來充實自己。同時我也深刻的認識到,在對待一個新事物時,一定要從整體考慮,完成一步之后再作下一步,這樣才能更加有效。雖然我的設計不是很成熟,還有很多不足之處,但是我付出了自己的勞動,我相信只有經(jīng)歷過的人才會明白其中

38、的酸甜苦辣。這次做設計的經(jīng)歷也使我終身受益,我感受到做設計是要真正用心去做的一件事情,是真正的自己學習的過程和研究的過程。在本次設計過程中,時間緊迫、任務重。尤其是對C語言以及相關芯片編程控制的不熟練,通過查詢大量的書籍文獻,借助網(wǎng)絡資源,和師兄學長們一起交流,特別是得到輔導教師的大力支持,指導。經(jīng)過自己的摸索、研究,終于如期完成指導教師交給的任務。以上是對本次設計的功能及使用說明。誠然,本次的這款設計產(chǎn)品還有許多亟待改進的地方,包括功能上及軟件的設計上。這是一個基于51單片機的作品,現(xiàn)在看來可以改進的地方很多,比如在體積上,可一選用更小封裝的單片機等。軟件方面可以采用嵌套功能等。 8 附錄附

39、錄1 實驗仿真電路圖9 本設計總電路圖附錄2 源程序:#include "reg51.h"#include "intrins.h"sbit LCM_RS=P30;sbit LCM_RW=P31;sbit LCM_EN=P37;#define BUSY 0x80 /常量定義#define DATAPORT P1#define uchar unsigned char#define uint unsigned int#define L50uchar str016,str116,count;uint speed;unsigned long time;void d

40、delay(uint);void lcd_wait(void);void display();void initLCM();void WriteCommandLCM(uchar WCLCM,uchar BusyC);void STR();void account();void int0_isr(void) interrupt 0 /*遙控使用外部中斷0,接P3.2口*/ unsigned int temp;time=count; TR0=0;temp=TH0;temp=(temp << 8) | TL0); TH0=0x3c; TL0=0xaf;count=0; TR0=1;tim

41、e=time*50000+temp;void time0_isr(void) interrupt 1 /*遙控使用定時計數(shù)器1 */ TH0 =0x3c; TL0 =0xaf; count+;void main(void) TMOD=0x01; /*TMOD T0選用方式1(16位定時) */ IP|=0x01; /*INT0 中斷優(yōu)先*/ TCON|=0x11; /*TCON EX0下降沿觸發(fā),啟動T0*/ IE|=0x83; TH0=0x3c; TL0=0xaf; initLCM(); WriteCommandLCM(0x01,1); /清顯示屏for(;)account();displa

42、y();void account()unsigned long a; if (time!=0)a=L*360000000/time;speed=a;void STR()str00='S'str01='p'str02='e' str03='e'str04='d'str05=' 'str06=(speed%100000)/10000+0x30;str07=(speed%10000)/1000+0x30;str08=(speed%1000)/100+0x30;str09='.'str010

43、=(speed%100)/10+0x30;str011=speed%10+0x30;str012='k'str013='m'str014='/'str015='h'/*延時K*1ms,12.000MHz*/void ddelay(uint k) uint i,j; for(i=0;i<k;i+) for(j=0;j<60;j+) ; /*寫指令到LCD子函數(shù)*/void WriteCommandLCM(uchar WCLCM,uchar BusyC) if(BusyC)lcd_wait();DATAPORT=WCLCM

44、; LCM_RS=0; /* 選中指令寄存器*/ LCM_RW=0; / 寫模式 LCM_EN=1;_nop_();_nop_();_nop_(); LCM_EN=0;/*寫數(shù)據(jù)到LCD子函數(shù)*/void WriteDataLCM(uchar WDLCM) lcd_wait( ); /檢測忙信號DATAPORT=WDLCM; LCM_RS=1; /* 選中數(shù)據(jù)寄存器 */ LCM_RW=0; / 寫模式 LCM_EN=1; _nop_();_nop_();_nop_(); LCM_EN=0;/*lcd內(nèi)部等待函數(shù)*/void lcd_wait(void) DATAPORT=0xff; /讀LC

45、D前若單片機輸出低電平,而讀出LCD為高電平,則沖突,Proteus仿真會有顯示邏輯黃色LCM_EN=1; LCM_RS=0; LCM_RW=1; _nop_(); _nop_();_nop_(); while(DATAPORT&BUSY) LCM_EN=0; _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); LCM_EN=0;/*LCD初始化子函數(shù)*/void initLCM( )DATAPORT=0;ddelay(15);WriteCommandLCM(0x38,0); /三次顯示模式設置,不檢測忙信號 ddelay(5); WriteCo

46、mmandLCM(0x38,0); ddelay(5); WriteCommandLCM(0x38,0); ddelay(5); WriteCommandLCM(0x38,1); /8bit數(shù)據(jù)傳送,2行顯示,5*7字型,檢測忙信號 WriteCommandLCM(0x08,1); /關閉顯示,檢測忙信號 WriteCommandLCM(0x01,1); /清屏,檢測忙信號 WriteCommandLCM(0x06,1); /顯示光標右移設置,檢測忙信號 WriteCommandLCM(0x0c,1); /顯示屏打開,光標不顯示,不閃爍,檢測忙信號/*顯示指定坐標的一個字符子函數(shù)*/void DisplayOneChar(uchar X,uchar Y,uc

溫馨提示

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

評論

0/150

提交評論