




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