版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
轎車安全帶未系提示電路設(shè)計學(xué)生姓名:學(xué)生學(xué)號:院(系):年級專業(yè):指導(dǎo)教師:助理指導(dǎo)教師:二O一-年五月摘要當車輛在緊急制動或高速行駛時發(fā)生碰撞時,巨大的慣性會使車內(nèi)乘員與擋風(fēng)玻璃盤造成對乘員的嚴重傷害。安全帶能將人約束在座位上,它的緩沖作用會抵消一大部分動能,大量減少乘員的受傷害程度。因為觀點的滯后,很多人都懷著僥幸心理,以為在市內(nèi)行車,時速不會太高,所以沒什么時候能用得著安全帶。其實,當車僅以每小時40公里的速度行駛產(chǎn)生碰撞時,人體前沖的力量就相當于從4層樓上扔下一袋50公斤重的水泥塊,其沖力之大可想而知考察數(shù)據(jù)顯示:在一次可能招致死亡的車禍中,使用安全帶可使車內(nèi)人員生還的幾率上升60%,發(fā)生正面撞車時,系了安全帶可降低57%死亡率;側(cè)面撞車時可降低死亡率44%;翻車時可降低死亡率80%。所以為告誡意識不良或粗心大意的車主(乘客)。本設(shè)計研討了一種基于單片機技術(shù)的安全帶未系提醒報警器。該報警器以AT89C52單片機為控制處理器核心,外接速度傳感器、安全帶開關(guān),可以提示機動車駕駛?cè)藛T佩戴安全帶安全行駛,同時能有效的抑制在出現(xiàn)劇烈碰撞的交通事故中,造成對人體的二次傷傷害,平時傳感器輸出低電平,當汽車啟動后切未檢測到安全帶時出低電平變?yōu)楦唠娖?,此高電平輸入單片機,作為單片機的外部觸發(fā)信號處理,經(jīng)單片機內(nèi)部軟件程序處理后,單片機輸出控制信號,驅(qū)動聲光報警電路開始報警。該報警器的最大特點就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報率低。隨著現(xiàn)代人安全意識的增強以及科學(xué)技術(shù)的快速發(fā)展,相信報警器必將在更廣闊的的領(lǐng)域得到更深層次的應(yīng)用。即為乘員不系安全帶發(fā)動機不能起動和自動報警燈亮、蜂鳴器響的強制系安全帶的系統(tǒng)。關(guān)鍵詞自動報警燈亮,蜂鳴器響,安全帶未系提示目錄TOC\o"1-5"\h\z\o"CurrentDocument"摘要 I\o"CurrentDocument"1緒論 1\o"CurrentDocument"1.1課題背景 1\o"CurrentDocument"1.2課題要求 11.3安全帶未系提示系統(tǒng)組成及工作原理 11.3.1系統(tǒng)組成 11.3.2系統(tǒng)工作原理 2\o"CurrentDocument"2硬件電路設(shè)計 3\o"CurrentDocument"2.1電路總體方案 3\o"CurrentDocument"2.2閃光報警 4\o"CurrentDocument"2.3鳴音報警 52.4單片機概述 5\o"CurrentDocument"2.4.1STC89C52單片機簡介 52.4.2單片機最小系統(tǒng) 7\o"CurrentDocument"2.5復(fù)位電路 8\o"CurrentDocument"2.6晶振電路 8\o"CurrentDocument"2.7指示燈和報警電路 9\o"CurrentDocument"3軟件部分設(shè)計 10\o"CurrentDocument"3.1總體結(jié)構(gòu) 10\o"CurrentDocument"3.2主程序 10\o"CurrentDocument"3.3安全帶未系提示子程序 11\o"CurrentDocument"3.4蜂鳴器報警子程序 114系統(tǒng)調(diào)試 13\o"CurrentDocument"4.1Keil編譯器軟件簡介 13\o"CurrentDocument"4.2使用Keil軟件建立一個工程 13\o"CurrentDocument"4.3使用Debug進行調(diào)試 17\o"CurrentDocument"4.4硬件調(diào)試及調(diào)試中遇到的問題 185結(jié)論 20\o"CurrentDocument"參考文獻 21\o"CurrentDocument"致謝 221緒論1.1課題背景隨著人們生活水平的逐步提高,汽車已成為很多家庭必不可少的出行交通工具。在人們享受汽車帶來便利生活的同時,因安全帶未系而引發(fā)的碰撞問題日益突顯。當車輛在高速行駛時發(fā)生碰撞或緊急制動時,巨大的慣性會使車內(nèi)乘員與方向盤、擋風(fēng)玻璃等發(fā)生二次碰撞,從而造成對乘員的嚴重傷害。安全帶能將人束縛在座位上,它的緩沖作用會吸收大量動能,極大地減輕乘員的受傷害程度。安全帶未系提示報警器,當車啟動時,安全帶檢測裝置,車速傳感器將檢測的信號傳輸?shù)街骺刂?,控制器根?jù)信號判斷當前車輛是否處于行駛狀態(tài)且有未乘系安全帶,當車輛處于行駛狀態(tài)且未系安全帶時,安全帶提示燈閃爍,蜂鳴器報警,從而提醒駕駛?cè)藛T乘系安全帶,主動減輕汽車碰撞給人體帶來的傷害。1.2課題要求安全帶未系報警控制器要求實現(xiàn)如下功能:安全帶未系時具有聲音及燈光報警功能,同時考慮車速;當車速為<l0Km/h時,安全帶報警燈常亮,此聲音報警;當車速>10Km/h,聲光同步報警,聲光同步報警3次,頻率為0.5Hz,3次后,聲音停止,報警燈常亮;在等待60s后如速度仍>10Km/h,且安全帶未系,則開始下一個循環(huán);安全帶系好時,報警即刻解除O1.3安全帶未系提示系統(tǒng)組成及工作原理1.3.1系統(tǒng)組成:傳感器、安全帶卡扣/鎖扣(可用開關(guān)代替)報警燈、電源、主控制器、蜂鳴器。
圖1.1連接圖1.3.2系統(tǒng)工作原理:當車啟動時,安全帶檢測裝置,車速傳感器將檢測的信號傳輸?shù)街骺刂?,控制器根?jù)信號判斷當前車輛是否處于行駛狀態(tài)且有未乘系安全帶,當車輛處于行駛狀態(tài)且未系安全帶時,安全帶提示燈閃爍,蜂鳴器報警。圖1.2工作原理圖2硬件電路設(shè)計2.1電路總體方案本設(shè)計包括硬件和軟件設(shè)計兩個部分。模塊劃分為數(shù)據(jù)采集、報警提示模塊,電路結(jié)構(gòu)可劃分為:安全帶傳感器、報警器、單片機控制電路、LED控制電路及相關(guān)的控制管理軟件組成。用戶終端完成信息采集、處理、數(shù)據(jù)傳送、功能設(shè)定、本地報警等功能。就此設(shè)計的核心模塊來說,單片機就是設(shè)計的中心單元,所以此系統(tǒng)也是單片機應(yīng)用系統(tǒng)的一種應(yīng)用。單片機應(yīng)用系統(tǒng)也是有硬件和軟件組成的。硬件包括單片機、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是各種工作程序的總稱。單片機應(yīng)用系統(tǒng)的研制過程包括總體設(shè)計、硬件設(shè)計、軟件設(shè)計等幾個階段。驅(qū)動電路經(jīng)控制信號放大并推動聲光報警設(shè)備完成相應(yīng)的動作。圖2.1是電路總體框圖,包括51單片機最小系統(tǒng),安全帶開關(guān),速度傳感器,報警指示燈報警,蜂鳴器,,電源電路。圖2.1電路總體框圖2.2閃光報警閃光報警時最簡單,也是最常用的一種報警方式,單片機應(yīng)用系統(tǒng)中的閃光報警就是在控制指示燈的程序中加入定時程序,按一定的時間間隔來交替點亮與熄滅指示燈。閃光報警在硬件連接上也是非常簡單,通常利用AT89C52的I/O口直接驅(qū)動發(fā)光二極管實現(xiàn)。電路中的發(fā)光二極管一般反向連接,其正端接5V,負端通過限流電阻與I/O口線相連。限流電阻的阻值的選擇要同時考慮發(fā)光二極管的驅(qū)動電流及I/O口的負載能力,一般可選擇330或360毆,如使某發(fā)光二極管點亮,則只需相應(yīng)的輸出口輸出低電平。由4個發(fā)光二極管接上電阻后連上單片的RXD的引腳,外接VCC,當單片機的RXD引腳被置低電平后,發(fā)光二極管被點亮,起到報警作用。下圖所示為發(fā)光二極管報警電路。圖2.2閃光報警2.3鳴音報警鳴音報警的方式有兩種,一種是單頻音報警,另一種是音樂聲報警。如下圖所示,用一個Speaker和三極管、電阻接到單片機的TXD引腳上,構(gòu)成聲音報警電路,下圖示為聲音報警電路。圖2..3蜂鳴報警2.4單片機概述2.4.1STC89C52單片機簡介STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案°STC89C52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。這一模塊以單片機為中心把程序代碼燒進去然后外圍接上復(fù)位電路、振蕩電路、鍵盤控制、LED顯示電路、報警電路等子模塊。STC89C52單片機在一塊芯片中集成了CPU、RAM、ROM、定時器/計數(shù)器、看門狗和多種功能的I/O口設(shè)備的等,相當于一臺計算機所需要的基本功能部件。STC89C52的4個8位I/O口的功能說明如下:(1) P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。(2) P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,pl輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗時,P1口接收低8位地址字節(jié)。(3) P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。(4) P3□:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在flash編程和校驗時,P3口也接收一些控制信號。P3口亦作為AT89C52特殊功能(第二功能)使用。EL2.4.2,單片機最小系統(tǒng)IZZI使單EL2.4.2,單片機最小系統(tǒng)IZZI使單片機工作起來最基本的電路構(gòu)成為單片機最小系統(tǒng)如圖2.4所示 1.1:= 安全帶工作-理圖2.4單片機最小系統(tǒng)單片機最小系統(tǒng)包括單片機、復(fù)位電路、時鐘電路構(gòu)成。STC89C52單片機的工作電壓范圍:4V-5.5V,所以通常給單片機外界5V直流電源。連接方式為單片機中的40腳VCC接正極5V,而20腳VSS接電源地端。復(fù)位電路就是確定單片機的工作起始狀態(tài),完成單片機的啟動過程。單片機接通電源時產(chǎn)生復(fù)位信號,完成單片機啟動確定單片機起始工作狀態(tài)。當單片機系統(tǒng)在運行中,受到外界環(huán)境干擾出現(xiàn)程序跑飛的時候,按下復(fù)位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。一般有上電自動復(fù)位和外部按鍵手動復(fù)位,單片機在時鐘電路工作以后,在RESET端持續(xù)給出2個機器周期的高電平時就可以完成復(fù)位操作。本設(shè)計采用的是外部手動按鍵復(fù)位電路,需要接上上拉電阻來提高輸出高電平的值。時鐘電路好比單片機的心臟,它控制著單片機的工作節(jié)奏。時鐘電路就是振蕩電路,是向單片機提供一個正弦波信號作為基準,決定單片機的執(zhí)行速度。XTAL1和XTAL2分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。因為一個機器周期含有6個狀態(tài)周期,而每個狀態(tài)周期為2個振蕩周期,所以一個機器周期共有12個振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12MHZ,一個振蕩周期為1/12us。2.5復(fù)位電路為確保微機系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延遲才撤銷復(fù)位,以防電源開關(guān)或電源插頭分合過程中引起的抖動而影響復(fù)位。當單片機的復(fù)位引腳出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。所以復(fù)位引腳的電容大一點沒多大關(guān)系,頂多是復(fù)位時間長一點;但如果電容太小,高電平持續(xù)時間太短,則單片機無法正常復(fù)位,就不能工作,電容通常取10UF或22UF,鋁電解電容即可。單片機的復(fù)位電路在剛接通電時,剛開始電容是沒有電的,電容內(nèi)的電阻很低,通電后,5V的電源通過電阻給電解電容進行充電,電容兩端的電會由0V慢慢的升到4V左右(此時間很短一般小于0.3秒),正因為這樣,復(fù)位腳由低電位升到高電位,引起了內(nèi)部電路的復(fù)位工作;當按下復(fù)位鍵時,電容兩端放電,電容又回到0V了,于是又進行了一次復(fù)位工作。2.6晶振電路它是單片機系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會不能工作。假如振蕩器運行不規(guī)律,系統(tǒng)執(zhí)行程序的時候就會出現(xiàn)時間上的誤差,這在通信中會體現(xiàn)的很明顯:電路將無法通信。它是由一個晶振和兩個瓷片電容組成的,晶振和瓷片電容是沒有正負的,兩個瓷片電容相連的那端一定要接地。一般單片機的晶振工作于并聯(lián)諧振狀態(tài),也可以理解為諧振電容的一部分。它是根據(jù)晶振廠家提供的晶振要求負載電容選值的,換句話說,晶振的頻率就是在它提供的負載電容下測得的,能最大限度的保證頻率值的誤差,也能保證溫漂等誤差。一般處理器的一個機器周期由12個時鐘周期所組成。所以單片機用12M晶振,運行速度為1M。負載電容=[(Cd*Cg)/(Cd+Cg)]+Ci+AC],跟晶振特性、單片機內(nèi)部時鐘電路等效電容有關(guān)。兩個電容的取值都是相同的,或者說相差不大,如果相差太大,容易造成諧振的不平衡,容易造成停振或者干脆不起振。其起到一個并聯(lián)協(xié)振的作用,這樣可以讓它的脈沖更平穩(wěn)與協(xié)調(diào)。2.7指示燈和報警電路在單片機的I/O里會輸出高低電平,在P20、P21和P22分別接上LED指示燈而P23接上蜂鳴器而蜂鳴器外接個8550的三極管起到開關(guān)作用,當三極管達到飽和狀態(tài)下就驅(qū)動了蜂鳴器工作了。圖2.5指示燈和報警電路3軟件部分設(shè)計3.1總體結(jié)構(gòu)軟件程序主要完成安全帶檢測、汽車速度及驅(qū)動報警電路報警等功能,系統(tǒng)程序主要包括主程序、安全帶未系子程序、蜂鳴器報警子程序等。3.2主程序主程序的主要功能是負責(zé)檢測安全帶,汽車有效速度,當安全帶未系車速小于10km/h時,安全帶提示燈閃爍;當安全帶未系車速大于10km/h時,安全帶提示燈閃爍,蜂鳴器發(fā)聲報警。主程序流程圖如示:圖3.1主程序流程圖
3.3安全帶未系提示子程序安全帶指示燈會安全帶未系子程序的主要功能就是汽車啟動后未系安全帶時,不停的閃爍,流程圖如圖。安全帶指示燈會圖3.2圖3.2安全帶提示流程圖3.4蜂鳴器報警子程序報警子程序的主要功能是在未系安全帶的情況下汽車行駛速度超過 10km/h時,能夠使蜂鳴器發(fā)聲從而達到報警的目的。報警子程序流程圖如圖:圖3.3蜂鳴器報警流程圖4系統(tǒng)調(diào)試4.1Keil編譯器軟件簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹KeilC51開發(fā)系統(tǒng)各部分功能和使用。圖4.1KeilC51KeilC51單片機軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),如圖4.1所示,其中uVision與Ishell分別是C51forWindows和forDOS的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。4.2使用Keil軟件建立一個工程Keil是目前進行51單片機開發(fā)最常用的編譯軟件。關(guān)于Keil的使用,有很多的資料介紹,這里只介紹其整個編譯過程,在最短時間內(nèi)開始使用Easy51DP-2開發(fā)板。對于Keil更詳細的介紹,可以參考一些專門書籍資料。在Keil里,每一個
完整的程序,都是以一個工程的形式建立的。一個工程里可以有一個或多個*.c文件和*.h文件,但只可以有一個main()函數(shù)。一般的做法是將包含main()函數(shù)的C文件加入到工程中,其他文件以#include頭文件的形式加到這個C文件里。這樣,在編譯的時候,其他的文件會被自動的導(dǎo)入到工程里來。打開Keil軟件后,出現(xiàn)(圖4.2)所示界面。當然,如果Keil在上次關(guān)閉時有打開的工程,再一次打開時它會自動加載上一次的工程文件。EjedUlcrkapaci!-| 旦uil>1EjedUlcrkapaci!-| 旦uil>1*UcfrEjnd%.PinMinF臨/圖4.2Keil軟件主界面首先點擊Project->NewProject…(Project->OpenProject…為打開一個已經(jīng)存在的工程),如圖4.3所示。圖4.3Keil軟件打開新工程界面點開后,在出現(xiàn)的對話框中選擇工程存在路徑,單擊“保存”后,出現(xiàn)(如圖4.4所示)界面。在此界面上選擇電路板上所用的單片機型號:AtmelSTC89C52(或者是AT89S52,視開發(fā)板上具體型號而定),單擊“確定”。
SelectDeviceforTareetJTarget?JXlCPU?JXlVerLilor: AtmelDevice: 廠UseExtendedLinkerl:LX51)insteadofBL51F:diTiilv: I~UseExtendedAEEHrnbler(A](51)insteadofA51AcerLabeActelAeroflexUTMCAltiujtiAil:i1cigDericesAiLchorChipsAtmel田畝.畝.畝.畝.畝.畝.畝,.田.畝.畝:ElCast,Inc.Chip'2unAcerLabeActelAeroflexUTMCAltiujtiAil:i1cigDericesAiLchorChipsAtmel田畝.畝.畝.畝.畝.畝.畝,.田.畝.畝:ElCast,Inc.Chip'2unCMLMicrocircuitCyberneticMicrouCAtmelWiraleee位確定I取消I圖4.4選擇電路板上所用的單片機型號設(shè)置完成后,軟件會提示“是否將8051上電初始化程序添加入工程?”如圖4.5所示,這個一般選擇“否”。(關(guān)于STARTUP.A51的相關(guān)內(nèi)容可查閱相應(yīng)資料)圖4.5是否將8051上電初始化程序添加入工程這樣,就建立了一個空的51工程。接下來的事,就是在這個工程里面加入自己的程序代碼。點擊 面,或者File->New,便建立了一個空的文本框。現(xiàn)在,就可以開始在里面輸入你的代碼了。保存時注意:如果是用C語言寫的程序,則將文本保存成*.c,如果是用匯編寫的程序,則將文本存成*.asm。到目前為步,我們已經(jīng)建立了一個工程,也寫了一個程序代碼。但現(xiàn)在還不能開始編譯。因為還沒有將程序代碼添加到工程里面去。下一步就是將寫完的程序添加到工程里面,如圖4.6所示,在左邊ProjectWorkspace里的SourceGroup1上右擊,選擇AddFilestoGroup‘SourceGroup1’。在打開的對話框中,選擇剛存的文件路徑和對應(yīng)的擴展名。這樣,程序就添加進了這個工程。
圖4.6添加文件到工程中下一步,就開始編譯剛輸入進去的代碼。點擊工具欄中的山按鈕。接著,Keil會打出下面的提示:Buildtarget'Target1assemblingled.asm...linking...ProgramSize:data=8.0xdata=0code=100"first"-0Error(s),0Warning(s).其中“"first"-0Error(s),0Warning(s).”說明現(xiàn)在的工程編譯通過,0個錯誤和0個警告。建立工程的時候,默認是不生成HEX文件的,得在編譯做如下設(shè)置:單擊春,或者在ProjectWorkspace里Target1上右擊,選擇“OptionsforTarget‘Target1’”。出現(xiàn)如圖4.7所示對話框,選擇“Output”按圖示,將箭頭所指的多選框勾上,點“確定”?,F(xiàn)在再點擊山重新編譯,系統(tǒng)提示:“creatinghexfilefrom"first”...”。便會在工程所在文件夾里生成HEX文件。
圖4.7生成HEX文件4.3使用Debug進行調(diào)試Keil有很強大的調(diào)試功能,可以顯示C程序的反匯編代碼、可以計算代碼運行的時間、可以顯示程序中某一變量的值……能用好這個調(diào)試工具對編寫單片機程序會有很大的幫助。同樣的,在這里,只對Debug進行簡單應(yīng)用介紹,更詳細的使用方法可以參看相關(guān)書籍資料。
圖4.8調(diào)試前設(shè)置窗口首先,單擊葛,彈出如圖4.8所示對話框,在Target頁面上設(shè)置對應(yīng)的晶振頻率。其他不用作修改。設(shè)置完成后,單擊□,進入調(diào)試界面(如圖4.9所示)。first-Hiki-U:,新iffirst-Hiki-U:,新if竟極%第一個工起n.ild|n|k[=| EditYiev Fl^sliPer.ipKersislool3£VCSKind.oYKelp .|月IX|智芽單句|。口|季宅瓜靈冥運團回通|號|匝|匝房|,馳陽格■9中■值俐屈罕都二|言事OEQfOOOOtJajapstartorgD030hhduto,callouccalldelay|ProjectWorkspRegisterValuerOOzDO??…r]OzEDr2OkCB史3OkXI?Z□rmr5OxWWIks..…rlOtCBbSva■1OzEDOxWhduto,律DLBcallouccallLiucelldelaydinsrlral圖4.9Keil調(diào)試界面點擊融m"汗知中對應(yīng)的工具按鈕則可以開始調(diào)試。另外“View”下的三個工具在調(diào)試中會經(jīng)常用到如.圖4.10所示“DisassemblyWindow”顯示C文件的反匯編程序;“Watch&CallStackWindow”可以顯示程序中某一變量的值;"MemoryWindow”可以顯示內(nèi)存中某一地址的值。[^,DisazsemblyWindow思Wa-tch&CallSt^ckWntdcw國MemoryWindow圖4.10三個常用的調(diào)試工具4.4硬件調(diào)試及調(diào)試中遇到的問題第一步為目測,單片機應(yīng)用系統(tǒng)電路全部手工焊接在洞洞板上,因此對每一個焊點都要進行仔細的檢查。檢查它是否有虛焊、是否有毛剌等。第二步為萬用表測試,先用萬用表復(fù)核目測中認為可疑的連線或接點,查看它們的通斷狀態(tài)是否與設(shè)計規(guī)定相符,再檢查各種電源線與地線之間是否有短路現(xiàn)象。第三步為加電檢查。當系統(tǒng)加電時,首先檢查所有插座或器件引腳的電源端是否有符合要求的電壓值,接地端電壓值是否接近零,接固定電平的引腳端是否電平正確。第四步是聯(lián)機檢查,在對硬件電路調(diào)試過程中,還遇到了不少問題,第一次把所有的元件都焊上去后,都準備調(diào)試了,才發(fā)現(xiàn)正負電源的插針離得太近了,不容易接電源,本不該犯的錯誤,這些都是由于自己的粗心大意造成的,所以說,做任何事情都必需經(jīng)過“三思而后行”,來不得半點的馬虎,否則浪費了時間和精力。5總結(jié)本設(shè)計研究了一種基于單片機技術(shù)的安全帶未系提示報警器。該報警器通過以AT89C52單片機為工作處理器核心,外接速度傳感器、安全帶開關(guān),能夠提示機動車駕駛?cè)藛T佩戴安全帶安全行駛,同時能有效的抑制在出現(xiàn)劇烈碰撞的交通事故中,造成對人體的二次傷傷害,平時傳感器輸出低電平,當汽車啟動后切未檢測到安全帶時出低電平變?yōu)楦唠娖剑烁唠娖捷斎雴纹瑱C,作為單片機的外部觸發(fā)信號處理,經(jīng)單片機內(nèi)部軟件程序處理后,單片機輸出控制信號,驅(qū)動聲光報警電路開始報警。該報警器的最大特點就是使用戶能夠操作簡單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車貼膜活動方案
- 安全勞保用品使用
- 公司與員工協(xié)議書范本
- 2025土地資產(chǎn)贈與合同范本
- 走進社會實踐拓展學(xué)生視野計劃
- 【七年級下冊地理中圖版】第六章 我國的區(qū)域差異(選拔卷)-(原卷+解析版)
- 2025屋頂漏水維修合同
- 2025續(xù)訂勞動合同的申請報告與維修中心業(yè)務(wù)總結(jié)工作報告范文匯編
- 咖啡廳前臺服務(wù)經(jīng)驗分享
- 家電行業(yè)促銷活動總結(jié)
- 2024年關(guān)愛留守兒童工作總結(jié)
- GB/T 45092-2024電解水制氫用電極性能測試與評價
- 《算術(shù)平方根》課件
- 2024-2024年上海市高考英語試題及答案
- 注射泵管理規(guī)范及工作原理
- 山東省濟南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 大唐電廠采購合同范例
- GB/T 18724-2024印刷技術(shù)印刷品與印刷油墨耐各種試劑性的測定
- IEC 62368-1標準解讀-中文
- 15J403-1-樓梯欄桿欄板(一)
- 2024年中考語文名句名篇默寫分類匯編(解析版全國)
評論
0/150
提交評論