基于51單片機的速度檢測系統(tǒng)_第1頁
基于51單片機的速度檢測系統(tǒng)_第2頁
基于51單片機的速度檢測系統(tǒng)_第3頁
基于51單片機的速度檢測系統(tǒng)_第4頁
基于51單片機的速度檢測系統(tǒng)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本科畢業(yè)設計(論文) 基于51單片機的速度檢測系統(tǒng)摘 要在工程實踐中,經(jīng)常會遇到各種需要測量轉(zhuǎn)速的場合,測量轉(zhuǎn)速的方法分為模擬式和數(shù)字式兩種。模擬式采用測速發(fā)電機為檢測元件,得到的信號是模擬量。數(shù)字式通常采用光電編碼器,霍爾元件等為檢測元件,得到的信號是脈沖信號。隨著微型計算機的廣泛應用,特別是高性能價格比的單片機的出現(xiàn),轉(zhuǎn)速測量普遍采用以單片機為核心的數(shù)字式測量方法。本文便是運用單片機控制的智能化測量自行車轉(zhuǎn)速。自行車在運行過程中,需要對其進行監(jiān)控,轉(zhuǎn)速是一個必不可少的一個參數(shù)。本系統(tǒng)就是對自行車轉(zhuǎn)速進行測量,并顯示轉(zhuǎn)速,了解自行車運行的基本狀況。本設計主要用AT89C51作為控制核心,由霍

2、爾傳感器、LED數(shù)碼顯像管、及24C02構(gòu)成。詳細介紹了單片機的測量轉(zhuǎn)速系統(tǒng)及串行通訊。充分發(fā)揮了單片機的性能。本文重點是測量速度并顯示在4位LED數(shù)碼管上。其優(yōu)點硬件是電路簡單,軟件功能完善,測量速度快、精度高、控制系統(tǒng)可靠,性價比較高等特點。關鍵字:MSC-51(單片機); 計算機; 傳感器 自動化 測量 Speed test brief introductionAbstract:In the bike practice, we will meet each kind to need frequently to survey the rotational speed the situati

3、on, the survey rotational speed method divides into the simulation type and the digital two kinds. The simulation type uses measured that the fast generator is the detecting element, obtains the signal simulates the the de graduated from the design of the issue is control of the intelligent use of s

4、peed measuring instrument.The aticle is the motor speed measurement, and basic situation. This topic describes the design steps and method of humidity measurement system which based on chipdesign a system which can measure temperature and humidity, show the measurement results and warming. This syst

5、em uses AT89C51 as the main chip, use a new integrated digital temperature and humidity sensor DHT11 gather the temperature and humidity data.It uses C language to design system programming on development platform. The main design is divided .Key words:single chip; intelligence; computer; transimite

6、r; test.目 錄第1章 引言1第2章 系統(tǒng)介紹22.1 系統(tǒng)結(jié)構(gòu)22.2 系統(tǒng)要求3第3章 硬件電路設計43.1 單片機模塊43.2 霍爾傳感器模塊93.3 顯示模塊103.424C02存儲器簡介11第4章 軟件設計144.1編譯語言的選擇144.2程序模塊144.3集成開發(fā)環(huán)境Keil介紹17第5章調(diào)試225.1系統(tǒng)硬件調(diào)試225.2 系統(tǒng)軟件調(diào)試225.3 系統(tǒng)整體調(diào)試23結(jié) 論24致 謝24參考文獻25附件1原理圖26附件2 PCB板27附件3 實物28附件4 程序28 III第1章 引 言 自行車被發(fā)明及使用到現(xiàn)在已有兩百多年的歷史,在這兩百年間人類在不斷的嘗試與研發(fā)過程中,自行

7、車發(fā)展的目的也從最早的代步工具轉(zhuǎn)換成休閑娛樂的用途,隨著生活水平的提高,人們希望自行車的功能更強大,比如說對行車信息的掌握,而里程計/速度計正滿足了這個需求?,F(xiàn)在先進的里程/速度計能夠顯示實時的速度和里程,是人們實時掌握相關信息,更好的安全行車。 我國是自行車大國,據(jù)統(tǒng)計,平均每個家庭擁有2.6兩自行車,自行車在人們的日常生活中扮演者越來越重要的角色,上班,旅行,等等。很多行為都能看到它的身影。它已成為了我們生活中不可或缺的一員了。 常常聽說汽車摩托超速行駛造成交通事故,但很少說自行車超速。其實是我們太小看這一問題了,在網(wǎng)上有一份調(diào)查報告說,全國和自行車有關的交通事故,相當大比例是由自行車速度

8、過快引起的,自信車的超速造成交通事故而把其他機動車當成替罪的羔羊,是一件很冤枉的,因此說行車過程中對速度的把握是一件很重要的事情。 智能化轉(zhuǎn)速測量可以對自行車的轉(zhuǎn)速進行測量,車在運行的過程中,適時對轉(zhuǎn)速的測量有效地可以反映車的狀況。 目前國內(nèi)外測量電機轉(zhuǎn)速的方法很多,按照不同的理論方法,先后產(chǎn)生過模擬測速法(如離心式轉(zhuǎn)速表、用電機轉(zhuǎn)矩或者電機電樞電動勢計算所得)、同步測速法(如機械式或閃光式頻閃測速儀)以及計數(shù)測速法。計數(shù)測速法又可分為機械式定時計數(shù)法和電子式定時計數(shù)法。傳統(tǒng)的電機轉(zhuǎn)速檢測多采用測速發(fā)電機或光電數(shù)字脈沖編碼器,也有采用電磁式(利用電磁感應原理或可變磁阻的霍爾元件等)、電容式(對

9、高頻振蕩進行幅值調(diào)制或頻率調(diào)制)等,還有一些特殊的測速器是利用置于旋轉(zhuǎn)體內(nèi)的放射性材料來發(fā)生脈沖信號其中應用最廣的是光電式,光電式測系統(tǒng)具有低慣性、低噪聲、高分辨率和高精度的優(yōu)點加之激光光源、光柵、光學碼盤、CCD 器件、光導纖維等的相繼出現(xiàn)和成功應用,使得光電傳感器在檢測和控制領域得到了廣泛的應用本系統(tǒng)主要由傳感器,單片機AT89C51構(gòu)成??梢詫Υ蠓秶D(zhuǎn)速進行測量, 測量的轉(zhuǎn)速精度高。 第2章 系統(tǒng)介紹 2.1 系統(tǒng)結(jié)構(gòu) 本文首先介紹了此系統(tǒng)的結(jié)構(gòu)要求、技術(shù)指標以及主要內(nèi)容等;再論述了總體設計過程,確定了技術(shù)指標及器件的選擇;接著重描述了系統(tǒng)硬件電路設計、硬件設計框圖及所使用的各種芯片功能

10、與特性;接著重點剖析了軟件設計的過程,最后通過調(diào)試達到目標。 轉(zhuǎn)速測量的方案選擇,一般要考慮傳感器的結(jié)構(gòu)、安裝以及測速范圍與環(huán)境條 件等方面 的適用性;本論文中給出的速度測量方案,經(jīng)過我查資料、構(gòu)思和自己的分析,從實現(xiàn)難度、熟悉程度、器件用量等方面綜合考慮,總體電路為以下方案。下面就看一下我對設計方案的簡要說明。 系統(tǒng)主要實現(xiàn)的功能是AT89C51單片機接收霍爾傳感器傳來的脈沖信號,由于霍爾器件直接輸出高低電平信號已完成對速度信號的處理,所以可以直接送到單片機的相關接口,單片機根據(jù)外部中斷,以及內(nèi)部定時器進行記數(shù)計算出自行車速度和里程送到LED顯示,該處LED顯示管采用4位共陽型,同時數(shù)據(jù)傳給

11、24C02,實現(xiàn)數(shù)據(jù)掉電后保存。同時在運行過程中交替顯示速度與里程信息。達到對行車信息的掌握。系統(tǒng)組成框圖如下2-1: 霍爾傳感器 LED顯示 單 片 機 AT89C51 復位電路 存儲 時鐘電路 圖2-1 系統(tǒng)框圖2.2 系統(tǒng)要求 將霍爾傳感器產(chǎn)生的脈沖信號輸出入到單片機的外部中斷端口,單片機工作在內(nèi)部定時器工作方式0,對周期信號進行內(nèi)部記數(shù),調(diào)用計算公式算出轉(zhuǎn)速,調(diào)用顯示程序顯示在LED上,同時通過串口向存儲單元發(fā)送轉(zhuǎn)速數(shù)據(jù)。主要內(nèi)容:(1)單片機部分主要完成自行車速度的測量。(2)LED部分主要是把速度顯示出來。(3) 24C02實現(xiàn)系統(tǒng)在掉電時的信息保存。根據(jù)系統(tǒng)要實現(xiàn)的功能以及要求,

12、要實現(xiàn)單片機的轉(zhuǎn)速測量主要是各個模塊的設計,定時器記數(shù)功能、以及LED驅(qū)動。單片機可通過編程控制外圍部件,能實現(xiàn)較高的自動化程度。以它為系統(tǒng)核心的控制模塊可實現(xiàn)主從控制,完成預定的任務。 硬件設計的任務是根據(jù)總體設計要求,在選擇的機型的基礎上,具體確定系統(tǒng)中所要使用的元器件,設計出系統(tǒng)的原理框圖、電路原理圖。89C51單片機通過INT0輸入傳感器的脈沖信號,P0口P2口接LED動態(tài)顯示和信息存儲。 軟件需要解決的是定時器0的記數(shù)和外部中斷0的設定、由于測量的轉(zhuǎn)速范圍大,所以低速和高速都要考慮在內(nèi),關鍵在于一個四字節(jié)除三字節(jié)程序的實現(xiàn)。顯示部分、需要有一個二進制到十進制的轉(zhuǎn)化程序,以及轉(zhuǎn)換成非壓

13、縮BCD 的程序后、才能進行調(diào)用查表程序送到顯示。PC機串口和單片機串行口的工作方式,包括串行口的通訊速率、奇偶校驗位、停止位等均由通信部分的軟件部分實現(xiàn)。轉(zhuǎn)速部分軟件設計思路: AT89C51單片機的P3.2口接收傳感器的信號。主要編寫一個外部中斷服務程序INT_0,讀取記數(shù)值的三個字節(jié),并再次清0記數(shù)初值以便下次的記數(shù)和計算。調(diào)用兩字節(jié)二進制-三字節(jié)十進制(BCD)轉(zhuǎn)換子程序BCD,再調(diào)用十進制轉(zhuǎn)換成非壓縮BCD程序CBCD、最后調(diào)用查表程序送顯示,系統(tǒng)要求單片機晶振12MHZ。軟件的具體設計將在后面介紹。 第3章 硬件電路設計硬件的功能由總體設計所規(guī)定,硬件設計的任務是根據(jù)總體設計要求,

14、在選擇的機型的基礎上,具體確定系統(tǒng)中所要使用的元器件,設計出系統(tǒng)的電路原理圖,必要時做一些部件實驗,以確定電路圖的正確性,以及工藝結(jié)構(gòu)的設計加工、印制板的制作、樣機的組裝等。設計單片機模塊,考慮到單片機本身的外圍電路較多,所以在單片機模塊方面需要極為小心。在整個電路設計時要考慮電平轉(zhuǎn)換電路.3.1 單片機模塊根據(jù)系統(tǒng)功能要求以及單片機硬件電路設計思路對單片機模塊進行設計,要使單片機準確的測量電機轉(zhuǎn)速,并且使測出的數(shù)據(jù)能顯示出來,所以整個單片機部分分為傳感器電路、時鐘電路、復位電路、執(zhí)行元件以及顯示電路五個部分。單片機我們采用AT89C51,其引腳圖如圖3-1,相較于INTEL公司的8051它本

15、身帶有一定的優(yōu)點。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存貯器,高性能CMOS 8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器, AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 圖3-1 AT89C51引腳圖主要特性:與MCS-51 兼容4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內(nèi)部RAM32可編程I

16、/O線兩個16位定時器/計數(shù)器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路管腳說明:1.VCC:供電電壓;2.GND:接地;3.P0口:P0口為一個8位漏極開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。4.P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部

17、下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。5.P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。

18、6.P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表31所示:7.RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。8.ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的

19、脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。表3-1 P3口引腳引 腳第二功能信 號 名 稱P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXDTXDINT0INT1T0T1WRRD串行數(shù)據(jù)接收串行數(shù)據(jù)發(fā)送外部中斷0請求外部中斷1請求定時器/計數(shù)器0計數(shù)輸入定時器/計數(shù)器1計數(shù)輸入外部RAM寫選通外部RAM讀選通9./PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。10./EA/V

20、PP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。11.XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。12.XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石英振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號

21、的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。時鐘電路是計算機的心臟,如圖3-2,它控制著計算機的工作節(jié)奏。MCS-51單片機允許的時鐘頻率是因型號而異的典型值為12MHZ 圖3-2 時鐘電路MCS-51內(nèi)部都有一個反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產(chǎn)生時鐘送至單片機內(nèi)部的各個部件。AT89C51是屬于CMOS8位微處

22、理器,它的時鐘電路在結(jié)構(gòu)上有別于NMOS型的單片機。單片機內(nèi)部(如AT89C51)有一個可控的負反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖42為CMOS型單片機時鐘電路框圖。振蕩器工作受/PD端控制,由軟件置“1”PD(即特殊功能寄存器PCON.1)使/PD0,振蕩器停止工作,整個單片機也就停止工作,以達到節(jié)電目的。清“0”PD,使振蕩器工作產(chǎn)生時鐘,單片機便正常運行。圖中SYS為晶振或陶瓷諧振器,振蕩器產(chǎn)生的時鐘頻率主要由SYS參數(shù)確定(晶振上標明的頻率)。電容C1和C2的作用有兩個:其一是使振蕩器起振,其二是對振蕩器的頻率f起微調(diào)作用(C1、C2大,f變?。?,其典型值為3

23、0pF。計算機在啟動運行時都需要復位,如圖3-3,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。 圖3-3 復位電路單片機采用的復位方式是自動復位方式。對于MOS(AT89C51)單片機只要接一個電容至VCC即可。在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定時間的高電平,只要高電平時間足夠長,就可以使MCS-51有效的復位。RST端在加電時應保持的高電平時間包括VCC的上升時間和振蕩器起振的時間,Vss上升時間若為10ms,振蕩器起振的時間和頻率有關。10MHZ時約為1ms,1MHZ時約為10ms,所以一般為了可靠的復位,RST在上電應保持20ms以

24、上的高電平。RC時間常數(shù)越大,上電RST端保持高電平的時間越長。若復位電路失效,加電后CPU從一個隨機的狀態(tài)開始工作,系統(tǒng)就不能正常運轉(zhuǎn)。3.2 霍爾傳感器模塊 CS3020霍爾開關電路最適于響應變化斜率陡峭的磁場并在磁通密度較弱的場合使用,適用于單極或多對磁環(huán)工作,它由反向電壓保護器、電壓調(diào)整器、霍爾電壓發(fā)生器、信號放大器、史密特觸發(fā)器和集電極開路的輸出級組成。工作溫度范圍為-40 150(存儲溫度為150),可適用于各種機及機電一體化領域。 霍爾傳感器是對磁敏感的傳感元件,常用于開關信號采集的有CS3020(如圖3-4)、CS3040等,這種傳感器是一個3端器件,外形與三極管相似,只要接上

25、電源、地,即可工作,輸出通常是集電極開路(OC)門輸出,工作電壓范圍寬,使用非常方便。將有字面對準自己,三根引腳從左向右分別是Vcc,地,輸出。圖3-4 CS3020外形圖 圖3-5 CS3020傳感器連接方式使用霍爾傳感器獲得脈沖信號,只要在轉(zhuǎn)軸的圓周上粘上一粒磁鋼,讓霍爾開關靠近磁鋼,就有信號輸出,轉(zhuǎn)軸旋轉(zhuǎn)時,就會不斷地產(chǎn)生脈沖信號輸出。如果在圓周上粘上多粒磁鋼,可以實現(xiàn)旋轉(zhuǎn)一周,獲得多個脈沖輸出。原理電路如圖3-5,在粘磁鋼時要注意,霍爾傳感器對磁場方向敏感,粘之前可以先手動接近一下傳感器,如果沒有信號輸出,可以換一個方向再試。 3.3 顯示模塊顯示電路采用LED數(shù)碼管動態(tài)顯示,LED是

26、一種外加電壓從而渡過電流并發(fā)出可見光的器件。LED是屬于電流控制器件,使用時必須加限流電阻。LED有單個LED和八段LED之分,也有共陰和共陽兩種。常用的七段顯示器的結(jié)構(gòu)如圖所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。1位顯示器由八個發(fā)光二極管組成,其中七個發(fā)光二極管ag控制七個筆畫(段)的亮或暗,另一個控制一個小數(shù)點的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少。此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進行正確的字型段碼編碼。才能顯示出正確的數(shù)字來,如圖3-6所示,為七段數(shù)碼管的管腳圖。圖3-6七段發(fā)光顯示器管為了

27、節(jié)省I/O口線,我們采用的動態(tài)顯示方式。所謂動態(tài)顯示,就一位一位地輪流點亮各位顯示器(掃描),對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導通電流有關,也與點亮時間和。5位共陰極顯示器和AT89C51的接口邏輯如圖所示。AT89C51的P0口作為段數(shù)據(jù)口,接上拉電阻到顯示器的各個段;P2口作為掃描口, 連接電路如圖3-7。 圖3-7 顯示管電路在AT89C51RAM存貯器中設置4個顯示緩沖器單元30H35H,分別存放4位顯示器的顯示數(shù)據(jù),AT89C51的P2口掃描輸出總是只在一位為低電平,即4位顯示器中僅有一位公共陰極為低電平,其它位為高電平,AT89C51的P0口相應位(陰極

28、為低)的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個字符,其它們?yōu)榘?,依次地改變P2口輸出為高的位,P0口輸出對應的段數(shù)據(jù),4位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。以上介紹的是一位的顯示管,在本次設計中,為方便連線,采用4位共陽極型。3.424C02存儲器簡介24C02 是一個2K 位串行CMOS E2PROM, 內(nèi)部含有256 個8 位字節(jié),CATALYST 公司的先進CMOS 技術(shù)實質(zhì)上減少了器件的功耗。AT24C02 有一個16 字節(jié)頁寫緩沖器。該器件通過IC 總線接口進行操作,有一個專門的寫保護功能。管腳封裝如圖3-8所示。DIP:雙列直插式封裝,是最簡單的一種封裝技術(shù)。 圖3-8 2

29、4c02外形24C02 支持IC,總線數(shù)據(jù)傳送協(xié)議IC,總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器,任何從總線接收數(shù)據(jù)的器件為接收器。數(shù)據(jù)傳送是由產(chǎn)生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都可以作為發(fā)送器或接收器,其9個動作控制著讀愈寫的各項操作,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式,通過器件地址輸入端A0、A1 和A2 可以實現(xiàn)將最多8 個24C02 器件連接到總線上。管腳描述如表 表3-2 24C02管腳功能SCL串行時鐘AT24C02 串行時鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘,這是一個輸入管腳。SDA 串行數(shù)據(jù)/地址AT24C02 雙向串行數(shù)據(jù)/

30、地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA 是一個開漏輸出管腳,可與其它開漏輸出或集電極開路輸出進行線或(wire-OR)。A0、A1、A2 器件地址輸入端這些輸入腳用于多個器件級聯(lián)時設置器件地址,當這些腳懸空時默認值為0。當使用AT24C02 時最大可級聯(lián)8 個器件。如果只有一個24C02 被總線尋址,這三個地址輸入腳(A0、A1、A2 )可懸空或連接到Vss,如果只有一個24C02 被總線尋址這三個地址輸入腳(A0、A1、A2 )必須連接到Vss。WP 寫保護:如果WP 管腳連接到Vcc,所有的內(nèi)容都被寫保護只能讀。當WP 管腳連接到Vss 或懸空允許器件進行正常的讀/寫操作。以前通過簡

31、單的器件之間替換比較,發(fā)現(xiàn)不同牌號的24C02其抗干擾性能是不一樣的,于是就認定24C02器件存在質(zhì)量好壞的問題。后來在一次偶然的機會里,發(fā)現(xiàn)有些24C02的WP引腳并不起到保護作用,也就是說將 WP引腳與CPU輸出引腳斷開并保持高電平的情況下,CPU仍然能夠?qū)?4C02中的數(shù)據(jù)進行修改寫入!在驚訝之余,筆者收集了許多不同牌號的24C02 進行試驗,除了基本的讀寫功能外,還對地址功能以及WP引腳保護功能進行了全面的檢測,發(fā)現(xiàn)一種ATMEL(激光印字)以及XICOR牌號的24C02具有全面的符合I2C總線協(xié)議的功能,而有些牌號24C02要么沒有WP引腳保護功能,要么沒有器件地址功能(即2 片24

32、C02不能共用一個I2C總線),有些甚至兩種功能均無。所以說一些同樣功能型號的電子器件在兼容性上往往會帶來意想不到的問題,值得引起注意。 在此數(shù)據(jù)以十進制BCD碼方式存入24C02,這樣可以提高有效數(shù)據(jù)的冗余度,即24C02中其有效數(shù)據(jù)為0-9,大于9則為無效數(shù)據(jù)。這樣,在數(shù)據(jù)寫入24C02之前就可以插入校驗子程序,對預備寫入的數(shù)據(jù)進行檢查,若該RAM數(shù)據(jù)已經(jīng)受到干擾,其值大多數(shù)應落在大于9的范圍內(nèi)(可能性百分比系數(shù)為246/256),故此當數(shù)據(jù)大于9時就禁止執(zhí)行寫入24C02的子程序,以免錯誤數(shù)據(jù)寫入24C02,而對正常需要修改的參數(shù)無影響。24C02中數(shù)據(jù)保持冗余度后,還可以對讀出數(shù)據(jù)進行

33、檢查,若為大于9的非正常數(shù)據(jù),說明24C02中數(shù)據(jù)已經(jīng)受到干擾,此干擾值是絕對不能用的.24C02連接方式如圖3-9所示。 圖3-9 24C02電路第4章 軟件設計 4.1編譯語言的選擇對于單片機的開發(fā)應用中,逐漸引入了高級語言,C語言就是其中的一種。匯編語言的可控性較高級語言來說更具優(yōu)越性。程序編寫語言比較常見的有C語言、匯編語言。匯編語言的機器代碼生成效率高,控制性好,但就是移植性不高。C語言編寫的程序比用匯編編寫的程序更符合人們的思考習慣。還有很多處理器都支持C編譯器,這樣意味著處理器也能很快上手。且具有良好的模塊化、容易閱讀、維護等優(yōu)點,且編寫的模塊程序易于移植?;贑語言和匯編語言的

34、優(yōu)缺點,本系統(tǒng)采用C語言編寫方法。軟件編寫的主體思路是將系統(tǒng)按功能模塊化劃分,然后根據(jù)模塊要實現(xiàn)的功能寫各個子程序。整個軟件程序的編寫采用查詢式方式編寫的。4.2程序模塊程序?qū)崿F(xiàn)的功能:與硬時間調(diào)整與顯示,數(shù)據(jù)存儲。功能子函數(shù)的調(diào)用。其中在子程序速度信號處理中,設N是內(nèi)部定時器的計數(shù)值,為三字節(jié),分別由TH0,TL0,VTT構(gòu)成;由于采用12MHz的晶振,所以Tc是1um,帶入上面公式,即可得到轉(zhuǎn)速的精確計算公式: N=60*11059200/12N=55296000/N。在主程序模塊中,需要完成對各接口芯片的初始化、自行車里程和速度的初始化、中斷向量的設計以及開中斷、循環(huán)等待等工作。另外,在

35、主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器、速度寄存器,并對它們進行初始化。然后主程序?qū)⒏鶕?jù)各標志寄存器的內(nèi)容,分別完成啟動、清除、計程和計速等不同的操作。P1.0用于顯示里程狀態(tài)和速度狀態(tài)。速度,高電平為顯示里程。中斷0用于對輪子圈數(shù)的計數(shù)輸入,輪子每轉(zhuǎn)一圈,霍爾傳感器輸出一個低電平脈沖。將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程數(shù)。中斷1用于控制定時器T1的啟/停,當輸入為0時關閉定時器。此控制信號是將輪子圈數(shù)的計數(shù)經(jīng)二分頻后形成。這樣,每次定時器T1的開啟時間剛好為轉(zhuǎn)一圈的時間,根據(jù)輪子的周長就可以計算出自行車的速度。其程序流程如圖4-1所示。 開始初始化P1.2=1?NP

36、1.3=1?P1.6=1?P1.7=1?出錯提示將車圈周長調(diào)入21H開中斷,啟動定時器P3.0=1?調(diào)用里程處理子程序調(diào)用速度處理子程序NNNYYYYNY 4-1主程序流程圖 下面我們將介紹除數(shù)是如何獲得的:單片機的轉(zhuǎn)速測量完成,定時器T0作為內(nèi)部定時器,外部中斷來的時候讀取TH0,TL0,并同時清零TH0、TL0,使定時器再次循環(huán)計內(nèi)部脈沖。此外,對于低速情況下,我們還要設定一個軟件計數(shù)器VTT,當外部中斷還沒來而內(nèi)部定時器已經(jīng)溢出,產(chǎn)生定時器0中斷時,增加VTT,作為三字節(jié)中的高字節(jié),三字節(jié)商為兩字節(jié)(最高轉(zhuǎn)速36000r/min足夠)的程序。當最后一位數(shù)據(jù)移出時轉(zhuǎn)換完成。當CS從低變?yōu)楦?/p>

37、時,A如想要進行下一次轉(zhuǎn)換,CS必須做一個從高到低的跳變 。開始顯示單元首址取顯示數(shù)據(jù)送段碼到P0口取段碼表首址調(diào)用延時送位選到P2口4位顯示結(jié)束返回Y修改顯示單元地址求下一位位選碼 4-2顯示流程圖具體程序見附件.4.3集成開發(fā)環(huán)境Keil介紹KEIL uVISION2是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),是眾多單片機開發(fā)軟件之一,它支持眾多不同公司的MCS51架構(gòu)的芯片,它集編輯,編譯,仿真于一體,同時還支持PLM(產(chǎn)品全生命周期管理)、匯編和C語言的程序設計,它的界面和常用的微軟VC+的界面相似,界面友好,易學易用,在調(diào)試程序,軟件仿真方面也有很

38、強大的功能。安裝好后,讓我們一起來建立一個小程序項目吧。即使你手中還沒有一塊實驗板,甚至沒有一塊單片機,不過沒有關系我們可以通過KEIL軟件仿真看到程序運行的結(jié)果。首先當然是運行KEIL51軟件。運行幾秒后,出現(xiàn)如圖的屏幕。圖4-3 啟動時點擊Project 菜單,選擇彈出的下拉式菜單中的New Project,如圖5-3-2。接著彈出一個標準Windows 文件對話窗口,如圖5-3-3,用法技巧也不是這里要說的,以后的章節(jié)中出現(xiàn)類似情況將不再說明。在“文件名”中輸入您的第一個C 程序項目名稱,這里我們用“test”,這是筆者慣用的名稱,大家不必照搬就是了,只要符合Windows 文件規(guī)則的文

39、件名都行?!氨4妗焙蟮奈募U展名為uv2,這是KEIL uVision2 項目文件擴展名,以后我們可以直接點擊此文件以打開先前做的項目。圖4-4 文件窗口選擇所要的單片機,這里我們選擇常用的Ateml 公司的AT89C51。此時屏幕如5-3-4 所示。AT89C51 有什么功能、特點呢?請看圖中右邊有簡單的介紹,是英文的。圖4-5 選取芯片首先我們要在項目中創(chuàng)建新的程序文件或加入已經(jīng)存在的程序文件。如果您沒有現(xiàn)成的程序,那么就要新建一個程序文件。在KEIL中有一些程序的Demo,在這里我們還是以一個C程序為例介紹如何新建一個C程序和如何加到您的第一個項目中吧。點 中1的新建文件的快捷按鈕,在2

40、中出現(xiàn)一個新的文字編輯窗口,這個操作也可以通過菜單FileNew 或快捷鍵CTRL+N 來實現(xiàn)。點擊圖5 中的3 保存新建的程序,也可以用菜單FileSave 或快捷鍵CTRL+S進行保存。因是新文件所以保存時會彈出類似5-3-3 的文件操作窗口,我們把第一個程序命名為test1.c,保存在項目所在的目錄中,這時您會發(fā)現(xiàn)程序單詞有了不同的顏色,說明KEIL 的C語法檢查生效了。如圖5-3-5鼠標在屏幕左邊的Source Group1 文件夾圖標上右擊彈出菜單,在這里可以作在項目中增加減少文件等操作。我們選“ Add File to Group Source Group 1”彈出文件窗口,選擇剛

41、剛保存的文件,按ADD 按鈕,關閉文件窗,程序文件已加到項目中了。這時在Source Group1 文件夾圖標左邊出現(xiàn)了一個小+號說明,文件組中有了文件,點擊它可以展開查看。圖4-6 把文件加入到項目文件組中C 程序文件已被我們加到了項目中了,下面就剩下編譯運行了。這個項目我們只是用做學習新建程序項目和編譯運行仿真的基本方法,所以使用軟件默認的編譯設置,它不會生成用于芯片燒寫的HEX 文件。要生成用于芯片燒寫的HEX 文件,應進行如下設置:在Creat HEX File前打選擇。 圖4-7燒寫中1、2、3都是編譯按鈕,不同的是1 是用于編譯單個文件。2是編譯當前項目,如果先前編譯過一次之后文件

42、沒有做動編輯改動,這時再點擊是不會再次重新編譯的。3是重新編譯,每點擊一次均會再次編譯鏈接一次,這就是開啟關閉調(diào)試模式的按鈕,它也存在于菜單DebugStartStop Debug Session 進入調(diào)試模式,軟件窗口樣式大致如圖5-3-8所示。圖中1 為運行,當程序處于停止狀態(tài)時才有效,2 為停止,程序處于運行狀態(tài)時才有效。3 是復位,模擬芯片的復位,程序回到最開頭處執(zhí)行。下載到單片機的內(nèi)部運行1)用KEIL (或用TOPICE52)生成的HEX文件步驟: 點擊Project 菜單,選擇彈出的下拉式菜單中的New Project; 選擇所要的單片機,如選擇常用的Ateml 公司的AT89C

43、51; 在項目中創(chuàng)建新的程序文件或加入已經(jīng)存在的程序文件; 如果沒有已經(jīng)存在的程序文件,新建、保存; 編譯; 調(diào)試 、生成HEX文件。2)下載本實驗箱提供ISP方式的下載,將KEIL生成的HEX文件下載到單片機的內(nèi)部flash。連接ISP下載器和單片機的ISP下載口。注意:單片機的P1.5 P1.6 P1.7不能被短接。3)ISP下載方法使用Easy 51Pro.exe軟件,運行界面如圖所示。圖4-8軟件運行界面4)ISP下載步驟 選擇器件 裝載HEX文件 擦除器件 寫器件5)運行將KEIL生成的HEX文件下載到單片機的內(nèi)部flash后,按REST鍵和關機后再開機即可運行單片機的內(nèi)部的程序。

44、第5章調(diào) 試在前面幾章中,我們詳細討論了硬件和軟件設計,但是要系統(tǒng)真正的運行起來達到預期的指標和功能,就必須對系統(tǒng)進行調(diào)試。系統(tǒng)的調(diào)試包括系統(tǒng)的硬件和軟件設計。5.1系統(tǒng)硬件調(diào)試焊接前應對整個電路板進行檢查。首先,用萬用表對印制的電路板線路進行檢查,該過程是在焊接元器件之前的必要工作,主要是檢查印制的電路板線路是否有斷路的情況,如果檢查沒有問題,則可以對元器件進行焊接。焊接前對電阻、電容的量值要進行測量、篩選,選擇與電路中參數(shù)值一致的元器件,在選擇芯片時,要注意芯片與設計要求的型號、規(guī)格和安裝是否一致。在焊接時,應將印制的電路板認真對照原理圖,查看元器件的引腳焊接是否正確。PCB版圖見附件2。

45、電路板焊接完成后,需要對每個元器件的引腳逐個進行檢查,一方面是檢查有沒有引腳虛焊或與其他信號線短路,另一方面是對器件引腳功能的再檢查,查看設計是否正確。檢查電路焊接沒有問題后,則可以進行上電測試。上電測試是調(diào)試的關鍵部分,按照系統(tǒng)方案設計的模塊化思想,應該分模塊測試系統(tǒng)。首先系統(tǒng)上電以后,測試各個電源端口和器件的電源部分是否工作正常,同時應注意系統(tǒng)中有無器件過熱情況,如果有的話,可能是相應的器件損壞或電路中有短路,需要認真檢查之后再加電。如果沒有問題,則可以進行功能的檢測。由于系統(tǒng)硬件較復雜,硬件電路裝配、焊接完成后,可能不能正常工作。為了方便調(diào)試,采用分塊調(diào)試的方法。在通電前,一定要檢查電源

46、電壓的幅值和極性,否則很容易造成芯片的損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V5.5V之間屬正常范圍。5.2 系統(tǒng)軟件調(diào)試硬件調(diào)試完成以后,軟件調(diào)試就非常重要。系統(tǒng)軟件調(diào)試時也要分模塊來進行調(diào)試,這樣才能使進程有條不紊的進行下去,而不至于出現(xiàn)混亂。首先,檢查LED液晶顯示屏。LED顯示屏上電后,檢查是否可以正常顯示,第一行顯示英文字符,第二行顯示時間,此時,按下按鍵即可對時間進行調(diào)整。其次,調(diào)試存儲模塊。檢查存儲模塊是否能夠讀寫信息,當存入一個數(shù)據(jù)的時候,讀出來,看是否與之前存入的數(shù)據(jù)一致,而可認為存儲模塊正常工作。再次,調(diào)試單片機與數(shù)模轉(zhuǎn)換模塊,在LED

47、模塊調(diào)試成功之后,就可以調(diào)試數(shù)模轉(zhuǎn)換模塊,在模擬的測試一個電壓,若能夠正常顯示記錄的數(shù)據(jù),則調(diào)試成功。最后調(diào)試傳感模塊,根據(jù)傳感器的要求,輸入一個9V高電壓和一個5V電壓,則傳感能經(jīng)過轉(zhuǎn)換,在顯示正常的電壓,則調(diào)試成功。5.3 系統(tǒng)整體調(diào)試本設計通過Keil C51軟件對程序進行編譯調(diào)試。在軟件和硬件的分別調(diào)試成功后,將程序的燒入單片機中后,進行整塊系統(tǒng)的調(diào)試,提供5V的電壓,使單片機和傳感器,和各個元件都能正常工作后,即把傳感器轉(zhuǎn)動,察看顯示的值與理論相符,調(diào)試成功。 結(jié) 論目前,隨著人們的生活節(jié)奏的改變,自行車的數(shù)量也越來越多,從而引發(fā)的交通是事故也急劇增加,其中大部分是由于超速。所以設計

48、具有民用價值的速度檢測儀的研制受到了人們的高度重視。設計能夠滿足生活需要,攜帶方便的便攜式速度檢測儀迫在眉睫。針對目前的現(xiàn)狀,該系統(tǒng)設計遵守體積小,質(zhì)量輕,性價比高的原則。軟件是用C語言相編寫的,具有很好的編寫語言的優(yōu)點,具有很好的可控性、模塊化和移植性。編寫的思路就是模塊化的思想,將系統(tǒng)的各個功能進行劃分,然后對各個模塊進行設計。本系統(tǒng)的主要模塊為傳感檢測、單片機處理、液晶顯示和存儲器存儲。首先要了解系統(tǒng)所要實現(xiàn)的功能;其次根據(jù)功能去選擇相應的硬件資源;再次將一個大的系統(tǒng)進行模塊化劃分,然后逐一去攻破。最后把所有模塊進行優(yōu)化整合,便得到了一個完整的系統(tǒng)?;谶@樣的思路,我才成功完成了速度檢測

49、儀的基本設計。 致 謝參考文獻1.何立民.單片機應用技術(shù)選編.北京M:北京航空航天大學出版社,1997,102.張有德.單片微機原理、應用與實驗J.上海:復旦大學出版社,1997,83.李朝青.單片機外圍數(shù)字M.北京:北京航空航天大學出版社,1998,44.梁廷立 .現(xiàn)代集成電路實用手冊M.北京:科學技術(shù)出版社,1999,65.于海生.微型計算機控制技術(shù)選編J.北京:清華大學出版社,1999.36.徐愛鈞.智能化測量控制儀表原理M. 北京:北京航空航天大學出版社,1995.117.周興華.手把手教你學單片機M.北京:北京航空航天大學出版社,1996,78.神龍工作室.Protel 2004 實用培訓教程J.北京:人民郵電出版社,1995,19.扈嘯,周旭升編著.單片機數(shù)據(jù)通信 J.成都:電子科技大學出版社,2002,910李全利、仲偉峰、徐軍.單片機原理及應用M.北京: 清華大學出版社 11何小艇、電子系統(tǒng)設計D. 浙江:浙江大學出版社 12 Atmels Self-gramming MictrollersRM. Odd Jostein 2003 13 Intel. MCS-51 Family of Single Chip Users ManualJ

溫馨提示

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

評論

0/150

提交評論