




已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
超速報警器設計思路 第2章系統(tǒng)原理2.1超速報警器設計思路2.1.1設計要求本論文設計的51單片機超速報警系統(tǒng)是具有數(shù)字顯示功能的,可以顯示車子的實際速度,只要車子的實際速度大于公路限定的速度是,汽車上的報警器就會利用蜂鳴器報警,從而提醒駕駛員減速慢行。 在設計電路時,我們應該考慮下面幾點要求1.在設計電路時,我們要遵守從整體到部分,把一個復雜的設計轉(zhuǎn)變?yōu)閹讉€簡單的問題,這樣可以方便解決。 2.設計電路時只要把最基本的性能做出來就行,不要太過復雜。 這樣做一是為了考慮每個人的接受能力不同,二是越復雜的電路元件用的就越多,元器件一多性價比就不高了。 3.還要保證設計電路的壽命和故障發(fā)生一次的頻率。 4.在設計電路時,電路界面上的按鍵一定要精辟,因為按鍵多了人們就會搞不清楚,每個人的知識水平還是存在差距的。 下面有兩種方案第一種方案方案一是具有輸入/輸出接口、RAM8155的芯片和具有速度變更能力的鍵盤電路,8155芯片有256個字節(jié)的數(shù)據(jù)存儲器,2個八位,1個一位輸入/輸出口和一個14位計數(shù)器。 系統(tǒng)的硬件電路簡圖如圖2.1所示。 常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文1圖2.1系統(tǒng)硬件電路簡圖在圖2.1系統(tǒng)硬件電路簡圖中,鍵盤鍵入是用來設置報警的速度,當實際車速大于最大速度是,聲光報警電路就會報警,霍爾傳感器是用來產(chǎn)生方波的。 霍爾傳感器的輸出接口接51單片機的外部中斷,輪子每轉(zhuǎn)一圈就會產(chǎn)生一次INT中斷請求,51單片機就會對這個零中斷請求的次數(shù)進行累計,并且將一秒內(nèi)的累計值轉(zhuǎn)化成汽車的速度,送到顯示區(qū)從而提供數(shù)據(jù)給顯示程序。 計算的公式是V=d60n3.6km/h。 其中,51單片機的累計值是n,汽車的車輪周長是d.在硬件電路圖中,傳感器的輸出時由AT89C51的INTO口的輸入保存在內(nèi)部數(shù)據(jù)存儲區(qū)中,8155芯片是AT89C51的外部擴展芯片,它的PB口是接發(fā)光數(shù)碼管的,PA4-PA0是發(fā)光數(shù)碼管的鍵盤豎線,PC0和PC1是鍵盤的橫線,這樣就組成了10個鍵盤的按鍵。 P2.6口在AT89C51中是用來接三極管放大器的從而驅(qū)動報警電路,P2.6口會一直輸出101010101010這樣重復的高低電平信號,控制報警電路報警。 報警電路只要輸出256HZ和350HZ的聲音每個0.73S時,就可以發(fā)出報警聲從而提醒司機。 汽車上的最大速度是用鍵盤存儲起來的。 51單片機檢測傳感器發(fā)出的信息,然后算出汽車的實際速度再送給LED顯示器,當實際速度大于最大速度時,報警電路就會報警,報警電路的硬件電路如圖2.2所示。 C430MHZR1122R105.1KR1210KR7100R1100R3100R2100R4R8100R6100R5100C130pFC230pFR95.1KC30.1uFGNDGND+5V+5VAD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TMROUT6PC037PC138TMRIN3PC239PC31PC42RESET4PC55U28155HEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U180511212A1211A1210A1213A129A121A342AB123A124A125A126A127A128AS5S3S4S2S1SPEAKERSPEAKERPNPPNP S6S7S8S9S10LEDLED1LED2LED3LED4B1B2B3B4B5B1B2B3B4B5A1A2A3A4A5A6A7A8A1A2A3A4A5A6A7A88051單片機8155+5傳感輸入常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文2圖2.2硬件電路圖方案二利用串行I/0的共陰極發(fā)光數(shù)碼管顯示器MAX7219和按鍵電路實現(xiàn)。 MAX7219是用來顯示實際速度和設定速度的,當實際速度大于最大速度是,報警電路就會發(fā)出報警聲,按鍵電路時用來設定報警的最大速度的。 系統(tǒng)的硬件電路簡圖和硬件電路圖如圖2.3和2.4所示。 圖2.3硬件電路圖圖2.4系統(tǒng)硬件電路圖2.1.2方案的比較及確定對于方案一和方案二,方案一是采用的8155芯片,8155芯片的接線管腳很多,但是鍵盤電路比較復雜,而且只能顯示實際速度,總體電路較為復雜;方案二電路采用的是MAX7219芯片,它是一個串行I/O的共陰極發(fā)光晶體管顯示器,常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文3可以顯示八位七段帶有小數(shù)點的共陰極數(shù)碼管,可以連在一起,連接只需3根線,而且速度的設定可以用多個按鈕操作,并且可以實現(xiàn)最大速度的變更,所以硬件電路簡單,操作方便。 對于本論文設計的汽車速度報警電路而言,設計的基礎就是采用現(xiàn)代的工藝,經(jīng)過計算機的處理科技,提高設計的精確度和穩(wěn)定性,再擴展其性能,是報警器不僅可以精確的顯示實際速度而且還要是操作簡單化。 對于此,設計的方案如圖2.5所示。 圖2.5設計方案圖2.2超速報警器的總原理圖超速報警電路是將汽車傳感器的實際車速送到傳感器電路中,從而得到一個與汽車速度頻率一樣的信號,并把結(jié)果送到單片機中計數(shù)。 得出的數(shù)值與51單片機內(nèi)部值相比較,如果比鍵盤輸入的上限值還要大則顯示汽車超速行駛,緊接著報警電路就會通過蜂鳴器進行報警。 該系統(tǒng)由電源電路、時鐘電路、復位電路、速度顯示電路、按鍵電路、鍵盤(設定報警車速值)、報警電路、霍爾傳感器連接電路和控制單片機組成。 總原理圖如圖2.6所示。 圖2.6總原理圖2.3超速報警器的優(yōu)點 1、只要車主超速時超速電路就會報警,從而提醒車主保證車主的人身安全。 電源電路時鐘電路復位電路報警電路按鍵電路霍爾傳感器連接電路顯示電路單片機常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文 42、超速報警器是將傳感器產(chǎn)生的車速信號與單片機相比較。 如果超過了標注值則可判斷汽車超速,蜂鳴器報警提示。 3、超速報警器的設計將電源電路、時鐘電路、復位電路、速度顯示電路、按鍵電路、報警電路、霍爾傳感器連接電路等電路組合起來組成超速報警器。 第3章超速報警器硬件設計3.1硬件概述3.1.1單片機的基本組成1.內(nèi)部程序存儲器(ROM)ROM只是一個通稱,實際上程序存儲器通常分ROM、EEPEOM和FLASH ROM即是用來存放程序所對應的二進制代碼的地方,因此稱為程序存儲器。 一旦程序固化到程序存儲器后是只讀部寫的,因此程序存儲器為READ-ONLY MEMORY.2.中央處理器(CPU)程序被固化到單片機后,系統(tǒng)上電,如果提供給單片機的電源系統(tǒng)、復位信號、時鐘信號均滿足要求,則單片機內(nèi)最核心的部件CPU開始工作。 工作的基本過程中央處理器的控制器從ROM中將代碼取出并分析該代碼,根據(jù)代碼對應的指令執(zhí)行。 如果從ROM中取出“C2H90H”,則CPU分析后就會向P1.0輸出低電平。 執(zhí)行完一條指令緊接著取下一個代碼,如此一條一條下去。 3.內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)51單片機的芯片8155中有256個ROM,但后面128個被專用寄存器強占了,給用戶使用的只有前面128個單元。 3.1.2AT89C51引腳圖引腳圖如圖3.1所示。 常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文5圖3.1引腳圖VCC供電電壓。 GND接地。 P0口電路中包含1個數(shù)據(jù)輸出存儲器、2個三態(tài)數(shù)據(jù)輸入緩沖器、1個數(shù)據(jù)輸出的驅(qū)動電路和1個輸出控制電路。 當對P0口進行寫操作是,由鎖存器和驅(qū)動電路構成數(shù)據(jù)輸出通路。 由于通路中已有輸出鎖存器,因此數(shù)據(jù)輸出時可以與外設直接連接,而不需要再加數(shù)據(jù)鎖存電路。 考慮到P0口既可以作為通用I/O口進行數(shù)據(jù)的輸入輸出,也可以作為單片機系統(tǒng)的地址/數(shù)據(jù)線使用。 為此在P0口的電路中有一個多路轉(zhuǎn)接電路MUX。 在控制信號的作用下,多路轉(zhuǎn)接電路可以分為接通鎖存器輸出或地址/數(shù)據(jù)線。 當做通用的I/O口使用時,內(nèi)部控制信號發(fā)出低電平,封鎖與門將輸出驅(qū)動電路的T1FET截止,同時使多路轉(zhuǎn)接電路MUX接通鎖存器的輸出通路。 當P0口作為輸出口使用時,內(nèi)部的寫脈沖加在D觸發(fā)器的CP端,數(shù)據(jù)寫入存儲器,并向端口引腳輸出。 而當P0口作為輸入口使用時,數(shù)據(jù)信號則直接從引腳通過輸入三態(tài)緩沖器進入內(nèi)部總線。 P1口因為P1口通常是I/0口使用的,所以在電路結(jié)構上與P0口有一些不同之處。 首先它再也不需要多路轉(zhuǎn)接電路MUX;其次是電路的內(nèi)部有上拉電阻,與場效應管共同組成輸出驅(qū)動電路。 因此P1口作為輸出口使用時,無須再外接上拉電阻。 當P1口作為輸入口使用時,同樣也需要先向其鎖存器寫“1”,使輸出驅(qū)動電路的FET截止。 P2口P2口電路中比P1口多了一個多路轉(zhuǎn)接電路MUX,這正好與P0口一樣。 P2口可以作為通用I/O口使用。 這時多路轉(zhuǎn)接開關接向鎖存器Q端。 但通常情況下,P2口也可以作為系統(tǒng)擴展的高8位地址線使用,此時多路轉(zhuǎn)接開頭應接到“地址”方向。 P3口P3口的特點是在于為適應引腳信號第二功能的需要,增加了第二功能控制邏輯。 由于第二功能信號有輸入和輸出兩類,因此分兩種情況說明。 對于第二功能為輸出的信號引腳,當作為I/O使用時,第二功能信號引線應保持高電平,與非門開通,以維持從鎖存器到輸出端數(shù)據(jù)輸出通路的暢通。 當輸出第二功能信號時,該位的鎖存器應置“1”,使與非門對第二功能信號的輸出是暢通的,從而實現(xiàn)第二功能信號的輸出。 對于第二功能為輸入的信號引腳,在口線的輸入通路上增加了一個緩沖器,輸入的第二功能信號就從這個緩沖器的輸出端取得。 而作為I/O使用的數(shù)據(jù)輸入,常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文6仍取自三態(tài)緩沖器的輸出端。 不管是作為輸入口還是第二功能信號輸入,輸出電路中的鎖存器輸出和第二功能輸出信號線都應該保持高電平。 表3.1P3口第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.20INT(外中斷0)P3.31INT(外中斷1)P3.4T0(定時/計數(shù)器0)P3.5T1(定時/計數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)3.1.3AT89C51單片機AT89C51是由美國的一家公司發(fā)明的,它是一個高性能、低電壓的八位單片機,芯片內(nèi)有4K字節(jié)的只讀程序存儲器PEOM和128字節(jié)的隨機數(shù)據(jù)存儲器ROM,AT89C51采用了美國公司高科技的生產(chǎn)技術,可以兼容51單片機的指令系統(tǒng),芯片是用八位CPU和FLASH存儲單元。 AT89C51單片機可以運用在許多高性價比的場合,還可以靈活運用。 3.1.4AT89C51主要性能參數(shù)1.可以和51單片機指令系統(tǒng)完全兼容;2.4K字節(jié)可以通過FLASH存儲器任意改寫;3.頻率范圍為0Hz-24MHz;4.程序存儲器可以加密;5.內(nèi)部存儲器有128*8個字節(jié);6.輸入輸出接口有32個;7.2個十六位計數(shù)/定時器;8.中斷源有六個;9.具有掉電和低功率模式。 3.1.5AT89C51功能特性概述AT89C51芯片具有以下幾種功能4K字節(jié)可以通過FLASH存儲器任意改寫,內(nèi)部存儲器有128*8個字節(jié),輸入輸出接口有32個,2個十六位計數(shù)/定時器,1個全雙工串行通信口。 即使空閑方式終止中央處理器工作,內(nèi)部存儲器、定時器、計數(shù)器還可以工作。 掉電模式會自動保存內(nèi)部存儲器的功能,但是振蕩器不工作直到下一個硬件復位。 3.1.6空閑節(jié)電模式AT89C51有空閑模式和掉電模式兩種省電模式。 這兩種模式是控制電源控制寄存器PCON中的PCON.1HE PCON.0兩個位來實現(xiàn)的。 掉電模式是PD,當PD=1時,將會把掉電模式和單片機模式同時激活,當PD和IOL同時為1,先激活掉電模式。 在空閑模式中,中央處理器會保持睡眠狀態(tài),并且芯片內(nèi)所有外部設備保持激活狀態(tài),這種方式是軟件產(chǎn)生的。 此刻,芯片中的內(nèi)部存儲器和所有的寄存器中的內(nèi)容會保持不變。 任何中斷請求和硬件復位都可以把空閑模式終止。 常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文7終止空閑工作模式的方法有兩種,第一種是只要任何一條中斷程序運行,PCON.0就會被硬件清理,從而終止空閑模式。 程序會先響應中斷,進入到中斷程序后,會將中斷程序執(zhí)行完并緊跟著中斷返回指令,下一條要執(zhí)行的指令就是進入空閑模式指令后面的一條指令。 第二種方式是通過硬件復位時空閑模式終止。 需要大家注意的是當有復位信號來終止空閑模式時,中央處理器常常從激活空閑模式指令的下一條模式開始執(zhí)行程序,要把內(nèi)部的復位操作完成,復位脈沖要保持24個機器周期有效,在這里,內(nèi)部程序禁止中央處理器訪問內(nèi)部存儲器,但可以訪問別的端口。 激活空閑模式的指令后面一條指令不能是存儲器的寫入指令,因為這樣做可能會使端口產(chǎn)生意外的寫入。 3.1.7掉電模式系統(tǒng)進入掉電模式中振蕩器會終止工作,進入掉電模式的最后一條被執(zhí)行的指令。 芯片中的內(nèi)部存儲器和功能寄存器的內(nèi)容會在終止掉電模式之前凍結(jié)。 只有硬件復位后才能推出掉電模式,復位后將會重新設定功能寄存器中的內(nèi)容但內(nèi)部存儲器中的內(nèi)容不會改變,在電源沒有恢復到正常電平前,復位是無效的,而且還要給予振蕩器重啟到正常工作的時間。 表3.2空閑和掉電模式外部引腳狀態(tài)表模式程序存儲器ALE PSENP0P1P2P3空閑模式內(nèi)部11數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)空閑模式外部11浮空數(shù)據(jù)地址數(shù)據(jù)掉電模式內(nèi)部00數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)掉電模式外部00浮空數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)AT89C51可以與51單片機室外指令和輸出管相互配合,可以將多功能八位中央處理器和存儲器組合到同一個芯片中去,可以進行一千次的修改數(shù)據(jù)循環(huán),數(shù)據(jù)可以保留十年。 它可以向許多控制系統(tǒng)提供性能穩(wěn)定且性價比搞得方案。 因此,在設計和制作電路中經(jīng)常會用到AT89C51芯片。 電路由AT89C51的18,19腳的時鐘端(XTALl及XTAL2)以及12MHz晶振X 1、電容C1,C2組成,采用片內(nèi)振蕩方式。 復位電路采用簡易的上電復位電路,主要由電阻R17,電容C3組成,分別接至AT89C51的RST復位輸入端。 3.1.8時鐘XTAL1和XTAL2XTAL1和XTAL2用于產(chǎn)生單片機工作所需要的時鐘。 單片機是一個復雜的時序電路,要使用CPU和各功能部件協(xié)調(diào)工作,必須要有一個統(tǒng)一的時鐘。 通常,有兩種產(chǎn)生時鐘的連接方式,一種是使用芯片內(nèi)部時鐘震蕩電路產(chǎn)生時鐘,另一種是在片外震蕩處理好的時鐘直接接入片內(nèi)。 內(nèi)部振蕩電路如圖3.2所示。 外部震蕩電路如圖3.3所示常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文8R3R4R5R6S0S1S3S2+5VBT0BT1BT2BT3速度設置增加減少確認單片機8051圖3.2內(nèi)部震蕩電路圖3.3外部振蕩電路3.2霍爾傳感器連接電路霍爾傳感傳感器是由著名的美國地質(zhì)學家Hall James發(fā)明的。 霍爾傳感器的功能屬于電磁效應的一種,這種功能是霍爾在18世紀研究導電機時不經(jīng)意間發(fā)現(xiàn)的。 他發(fā)現(xiàn)雖然導體、半導體等也能實現(xiàn)這樣的功能,但遠沒有霍爾元件功能強。 這項技術的發(fā)現(xiàn)時檢測行業(yè)、工業(yè)方面有了巨大的突破。 類似半導體材料的導電性能、載流子的性能的判斷都可以用霍爾效應來一一實現(xiàn)。 霍爾傳感器圖片和管腳圖如圖3.4所示。 圖3.4霍爾傳感器圖片和管腳圖在不導磁的圓材料最外面放上一塊帶磁的鋼材料,把霍爾傳感器放在不導磁圓材料的周圍任意地方。 只要圓盤轉(zhuǎn)一圈,傳感器就會產(chǎn)生一個脈沖。 因此利用圓盤轉(zhuǎn)動的速度單片機就可以測出傳感器產(chǎn)生脈沖的頻率了。 測速示意圖如圖3.5所示。 圖3.5測速示意圖3.3按鍵電路按鍵是由四個開關和四個上拉電阻組成,用到了8051單片機的BTO、BT 1、BT 2、BT3四個管腳,四個開關分別用來速度設置、速度提升、速度下降和速度的確定,對四個開關進行操作用戶可以對速度的最大值進行設定,同時還可以對速度進行調(diào)整,從而駕駛員可以根據(jù)地方的不同設置不同的速度,電路設計的靈活性非常強。 按鍵電路如圖3.6所示。 常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文9圖3.6按鍵電路圖3.4顯示電路顯示電路是用MAX7219芯片來實現(xiàn)的,MAX7219是一種用來串行輸入或串行輸出的顯示驅(qū)動器,它是共陰極顯示的。 每一個芯片可以控制八個七段帶有小數(shù)點的共陰極發(fā)光數(shù)碼管。 下圖中從A到G是發(fā)光二極管七段顯示器的驅(qū)動端,SEGDP是用來控制發(fā)光二極管的小數(shù)點的。 DP是顯示器七段小數(shù)點的IO,大小一般為40mA上下,若要調(diào)整可用軟件進行,關閉時要接地。 DIG7到DIG0是八位數(shù)值驅(qū)動線。 電流是從發(fā)光二極管的共陰極吸入的,從而得到顯示器的為驅(qū)動線,最大值可以到達500mA左右,關閉時接電源。 顯示電路連接圖如圖3.7所示。 圖3.7顯示電路連接圖3.5報警電路報警電路由兩種,一種為聲音報警,另一種為燈光報警。 這兩種電路對大多數(shù)人人來說都可以接受。 聲音報警電路由8051單片機、2個1K的電阻,一個晶體三極管和一個蜂鳴器組成。 聲音報警電路如圖3.8所示。 A14B16C20D23E21F15G17DP22DIG02DIG111DIG26DIG37DIG43DIG510DIG65DIG78DIN11LOAD12CLK13ISET18DOUT24U2MAX7219LED顯示屏LED顯示屏常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文10圖3.8聲音報警電路圖而燈光報警電路是由兩個發(fā)光二極管D 1、D2構成。 用這樣的方法來提示司機進行減速從而使交通事故發(fā)生的次數(shù)減少。 燈管報警電路圖如圖3.9所示。 圖3.9燈管報警電路圖3.6主控模塊本次設計是利用MCS51系列單片機中的8051作為中心的。 因為8051的抗干擾性能極強,在干擾很大的場合都能工作。 8051中央處理器的頻率是12MHZ,對于計數(shù)脈沖可以很快的進行處理。 8051的I/O共有三十二根線組成,它可以連接發(fā)光二極管顯示器,傳感器,存儲器等。 8051使用的電壓很低從而能耗也就低,這樣只要使用干電池對它供電就行了。 但是8051也有它的缺點,他只能存儲256B的數(shù)據(jù),這樣你可以利用外界存儲器芯片來彌補它的不足。 8051最小應用系統(tǒng)電路如圖3.10所示。 圖3.108051最小應用系統(tǒng)3.7MAX7219芯片常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文11MAX7219是一種串行I/O共陰極發(fā)光二極管顯示驅(qū)動器。 每一個芯片可以控制八個七段帶有小數(shù)點的共陰極發(fā)光數(shù)碼管。 MAX7219有掃描電路,一般掃描電路會單獨的進行工作除了要把顯示的數(shù)據(jù)進行更新外,這樣做可以節(jié)約時間和剩余用量的空間。 MAX7219芯片中有BCD譯碼器、驅(qū)動器、掃描電路、8*8的數(shù)據(jù)存儲器和寄存器。 設計單片機的指令可以控制MAX7219芯片,從而它的工作方式可以改變。 MAX7219工作圖如圖3.11所示。 圖3.11MAX7219工作圖上圖主要是用來說明DIN、CLK、LOAD這三個之間是怎么工作的。 其中DIN是數(shù)據(jù)輸入端,CLK和LOAD就是相當于橋梁的作用。 CLK的下降沿觸發(fā)是無效的,再看CLK的上升沿部分,二進制數(shù)據(jù)已經(jīng)存到了CLK的里面,之后又是下降沿又是無效的,緊接著上升沿部分,數(shù)據(jù)有存到了CLK的內(nèi)部,就這樣一直工作直到16個周期全部完成。 在這個過程中LOAD一直處于低電平的狀態(tài)下,只要這16個二進制數(shù)工作完它就會變到高電平狀態(tài)中去。 第4章超速報警器軟件設計4.1程序流程圖汽車超速報警器的總體流程圖如圖所示。 軟件編程采用C語言,用單片機的T1作為定時器,設定定時時間為1S。 由于單片機最大允許時間只有65S,需擴展定時時間。 一般有硬件擴展和軟件擴展兩種方式,本文采用軟件擴展方式。 設T0定時時間為50ms,定時時間一到,溢出中斷,在中斷服務程序中,對中斷次數(shù)寄存器加1,重復定時中斷20次,時間為1s。 1s定時時間到,讀取定時器T1(P3.5引腳)輸入的脈沖數(shù),為實時車速的頻率值。 將該頻率值與單片機內(nèi)部設定值比較,判定是否超速。 程序流程圖如圖4.1所示。 常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文12圖4.1程序流程圖軟件主要是由主程序、按鍵程序、中斷程序、發(fā)光二級管顯示程序、聲音或燈管報警程序組成。 硬件始化、子程序的調(diào)用還有顯示、報警等性能是由主程序來完成的。 數(shù)據(jù)處理程序是用來,監(jiān)測汽車行駛的速度是為了計算出車輛的時速,從而產(chǎn)生數(shù)據(jù)告知司機。 參數(shù)輸入是否得當是由按鍵程序來實現(xiàn)的。 車輛超速行駛會發(fā)出報警信號這是由報警程序來完成的。 顯示程序主要是顯示車主當前開車的速度,標準最大速度,是由發(fā)光二極管進行顯示。 主程序清單main()int i=0;float sum=0;int flag=0;unsigned longint a;char temp16;/定義字符顯示緩沖數(shù)組Init_Timer0();/初始化定時器0常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文13Init_Timer1();/初始化定時器1Init_zhongduan();/初始化外部中斷0和1LED_Init();/初始化液晶屏DelayMs (10);/延時用于穩(wěn)定,可以去掉LED_Clear();/清屏while (1)keyscan();sprintf(temp,mode:%d limit:%d,mode,speed_limit);LED_Write_String(0,0,temp);/顯示到液晶第1行pwm(time);if(OVERFLOWFLAG)/檢測溢出標志,溢出表明頻率過高,顯示溢出信息OVERFLOWFLAG=0;/標志清零LED_Write_String(0,1,overflow655KHz);if(TIMERFLAG)/定時100ms到,做數(shù)據(jù)處理(每100ms處理一次數(shù)據(jù))i+;a=TL0+TH0*256;/讀取計數(shù)值a=a*10;/實際值乘以10相當于做了變換1秒鐘轉(zhuǎn)了a圈a=a/4;/因為轉(zhuǎn)盤上面有4個孔除以4表示實際轉(zhuǎn)的圈數(shù)if(flag=0)/這句話在while循環(huán)中只運行一次sprintf(temp,speed:%06.0f r/s,(float)a);LED_Write_String(0,1,temp);/顯示到液晶第二行flag=1;TR0=1;/2個定時器打開TR1=1;TH0=0;/100ms過后使TH0和TL0的值為0,令計數(shù)器初值為0TL0=0;TIMERFLAG=0;/關閉計時計數(shù)標志sum=sum+a;if(i=2)/循環(huán)2次目的是為了使顯示的更清楚,消除顯示跳變的現(xiàn)象a=sum/2.0;i=0;sum=0;if(aspeed_limit)常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文14buzzer=0;time=time-5;elsebuzzer=1;sprintf(temp,speed:%06.0f r/s,(float)a);LED_Write_String(0,1,temp);/顯示到液晶第二行4.2脈沖計數(shù)程序設計AT89C51單片機內(nèi)有T0和T1兩個加法型16位定時器,在計數(shù)時,對P3.4和P3.5引腳上輸入外部信號進行計數(shù)。 程序流程圖如圖4.2所示。 圖4.2脈沖計數(shù)程序流程圖程序清單a、定時器T0初始化void Init_Timer0(void)TMOD|=0x01|0x04;/使用模式1,16位計數(shù)器,TH0=0x00;/給定初值TL0=0x00;EA=1;/總中斷打開ET0=1;/定時器中斷打開TR0=1;/定時器0開關打開b、定時器T1初始化常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文15void Init_Timer1(void)TMOD|=0x10;/使用模式1,使用|符號在使用多個定時器時不受影響TH1=HIGH;/給定初值,使用定時器最大值從0開始計數(shù)一直到65535溢出TL1=LOW;EA=1;/總中斷打開ET1=1;/定時器中斷打開TR1=1;/定時器開關打開c、定時器T0和T1中斷子程序void Timer0_isr(void)interrupt1TH0=00;/重新給定初值TL0=00;OVERFLOWFLAG=1;/溢出標志void Timer1_isr(void)interrupt3static unsigned char i;TH1=HIGH;/重新賦值10ms TL1=LOW;i+;if(i=10)/100ms時間單位,得100ms脈沖個數(shù)*10就是1s中脈沖個數(shù),i=0;TR0=0;/2個定時器關閉TR1=0;TIMERFLAG=1;/標志位清零TH1=HIGH;/重新賦值TL1=LOW;4.3顯示模塊程序設計主控芯片AT89C51驅(qū)動發(fā)光二極管,實時顯示由計數(shù)脈沖計算得到的車速(r/s)、車速設定模式、最高限定車速值和超速警告等信息。 程序清單a、發(fā)光二極管寫入命令函數(shù)void LED_Write_Com(unsigned char)while(LED_Check_Busy();/忙則等待RS_CLR;常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文16RW_CLR;EN_SET;DataPort=;_nop_();EN_CLR;b、發(fā)光二極管寫入數(shù)據(jù)函數(shù)void LED_Write_Data(unsigned charData)while(LED_Check_Busy();/忙則等待RS_SET;RW_CLR;EN_SET;DataPort=Data;_nop_();EN_CLR;c、發(fā)光二極管寫入字符串函數(shù)void LED_Write_String(unsigned charx,unsigned chary,unsignedchar*s)while(*s)LED_Write_Char(x,y,*s);s+;x+;4.4按鍵掃描程序按鍵中斷子程序主要實現(xiàn)根據(jù)駕駛員的實時實地要求進行最高限定速度更改以達到最優(yōu)的限速,超速報警的目的。 程序流程圖如圖4.3所示。 常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文17圖4.3程序流程圖程序清單void keyscan()if(key_mode=0)while(key_mode=0);mode+;if(mode=1)speed_limit=140;if(mode=2)speed_limit=100;if(mode=3)speed_limit=90;if(mode=4)speed_limit=80;if(mode=5)mode=1;常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文184.5報警模塊程序設計根據(jù)實時路段設置了一個最高限定速度值,將計算的實時速度值與已經(jīng)設定最高限定速度值比較,如果大于了最高限定速度值,報警器報警,提示駕駛員減速行駛。 程序流程圖如圖4.4所示。 圖4.4程序流程圖程序清單a=TL0+TH0*256;/讀取計數(shù)值a=a*10;/擴大到實際值,乘以10相當于做了變換,1秒鐘的時間轉(zhuǎn)了a圈a=a/4;/除以4是因為轉(zhuǎn)盤上面有4個孔除以4表示實際轉(zhuǎn)的圈數(shù)。 if(aspeed_limit)buzzer=0;time=time-5;elsebuzzer=1;常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文19常州信息職業(yè)技術學院電子與電氣工程學院畢業(yè)設計論文20第5章軟件仿真5.1仿真圖KEIL是一款51單片機編譯軟件,本次設計就是用KEIL這款軟件進行編譯和保存,然后用Proteus仿真軟件中畫出本次設計的硬件電路,并把它和KEIL的HEX文件保存在同一文件下,通過仿真看程序能否成功。 1.不同頻率的實際行車速度如圖5.1和5.2所示。 圖5.1實際速度顯示圖圖5.2實際速度顯示圖畢設.DSNB C D E F GH JKA BC D E F G DPD3D2D1D0A BC DE FG DPD7D6D5D4ABCDEFGDPD0D1D2D3D4D5D6D7DINCSCLKDINCSCLKBT0BT1BT2BT3SPKSPKBT0BT1BT2BT3XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋梁薄壁施工方案
- 雇傭擔保協(xié)議
- 2025至2030年中國綠茶洗手液市場分析及競爭策略研究報告
- 城鎮(zhèn)污水管網(wǎng)一體化建設項目建議書(僅供參考)
- 實習協(xié)議樣本
- 2025至2030年中國印刷包裝盒行業(yè)投資前景及策略咨詢報告
- 應用于多通道場景的12bit 200kSps SAR ADC的研究與設計
- 溫州蜜柑果實化渣性及其影響因子研究
- 苗木市場調(diào)研合同
- 企業(yè)文化推廣活動協(xié)議
- 眩暈護理課件
- 《集成電路基礎及其應用》課件
- 2025年保密觀知識競賽題庫完整答案帶答案詳解
- 形勢與政策(2025春)超星爾雅學習通答案滿分章節(jié)測試
- 大部分分校:地域文化形考任務三-國開(CQ)-國開期末復習資料
- 超星爾雅學習通《當代大學生國家安全教育》章節(jié)測試答案
- 《人工智能基礎》課件-AI的前世今生:她從哪里來
- ISO28000:2022供應鏈安全管理體系
- 教練技術三階段講義
- 深圳市失業(yè)人員停止領取失業(yè)保險待遇申請表樣表
- 畢業(yè)論文三相電壓型PWM整流器的研究
評論
0/150
提交評論