安全帶未系提示電路_第1頁
安全帶未系提示電路_第2頁
安全帶未系提示電路_第3頁
安全帶未系提示電路_第4頁
安全帶未系提示電路_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

轎車平安帶未系提示電路設(shè)計(jì)學(xué)生姓名:學(xué)生學(xué)號(hào):院〔系〕:年級(jí)專業(yè):指導(dǎo)教師:助理指導(dǎo)教師:二O一七年五月摘要當(dāng)車輛在緊急制動(dòng)或高速行駛時(shí)發(fā)生碰撞時(shí),巨大的慣性會(huì)使車內(nèi)乘員與擋風(fēng)玻璃盤造成對(duì)乘員的嚴(yán)重傷害。平安帶能將人約束在座位上,它的緩沖作用會(huì)抵消一大局部動(dòng)能,大量減少乘員的受傷害程度。因?yàn)橛^點(diǎn)的滯后,很多人都懷著僥幸心理,以為在市內(nèi)行車,時(shí)速不會(huì)太高,所以沒什么時(shí)候能用得著平安帶。其實(shí),當(dāng)車僅以每小時(shí)40公里的速度行駛產(chǎn)生碰撞時(shí),人體前沖的力量就相當(dāng)于從4層樓上扔下一袋50公斤重的水泥塊,其沖力之大可想而知考察數(shù)據(jù)顯示:在一次可能招致死亡的車禍中,使用平安帶可使車內(nèi)人員生還的幾率上升60%,發(fā)生正面撞車時(shí),系了平安帶可降低57%死亡率;側(cè)面撞車時(shí)可降低死亡率44%;翻車時(shí)可降低死亡率80%。所以為告誡意識(shí)不良或粗心大意的車主(乘客)。本設(shè)計(jì)研討了一種基于單片機(jī)技術(shù)的平安帶未系提醒報(bào)警器。該報(bào)警器以AT89C52單片機(jī)為控制處理器核心,外接速度傳感器、平安帶開關(guān),可以提示機(jī)動(dòng)車駕駛?cè)藛T佩戴平安帶平安行駛,同時(shí)能有效的抑制在出現(xiàn)劇烈碰撞的交通事故中,造成對(duì)人體的二次傷傷害,平時(shí)傳感器輸出低電平,當(dāng)汽車啟動(dòng)后切未檢測(cè)到平安帶時(shí)出低電平變?yōu)楦唠娖?,此高電平輸入單片機(jī),作為單片機(jī)的外部觸發(fā)信號(hào)處理,經(jīng)單片機(jī)內(nèi)部軟件程序處理后,單片機(jī)輸出控制信號(hào),驅(qū)動(dòng)聲光報(bào)警電路開始報(bào)警。該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人平安意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速開展,相信報(bào)警器必將在更廣闊的的領(lǐng)域得到更深層次的應(yīng)用。即為乘員不系平安帶發(fā)動(dòng)機(jī)不能起動(dòng)和自動(dòng)報(bào)警燈亮、蜂鳴器響的強(qiáng)制系平安帶的系統(tǒng)。關(guān)鍵詞自動(dòng)報(bào)警燈亮,蜂鳴器響,平安帶未系提示目錄摘要 I1緒論 11.1課題背景 11.2課題要求 11.3平安帶未系提示系統(tǒng)組成及工作原理 1系統(tǒng)組成 1系統(tǒng)工作原理 22硬件電路設(shè)計(jì) 32.1電路總體方案 32.2閃光報(bào)警 42.3鳴音報(bào)警 52.4單片機(jī)概述 52.4.1STC89C52單片機(jī)簡介 5單片機(jī)最小系統(tǒng) 72.5復(fù)位電路 82.6晶振電路 82.7指示燈和報(bào)警電路 93軟件局部設(shè)計(jì) 103.1總體結(jié)構(gòu) 103.2主程序 103.3平安帶未系提示子程序 113.4蜂鳴器報(bào)警子程序 124系統(tǒng)調(diào)試 134.1Keil編譯器軟件簡介 134.2使用Keil軟件建立一個(gè)工程 134.3使用Debug進(jìn)行調(diào)試 174.4硬件調(diào)試及調(diào)試中遇到的問題 185結(jié)論 20參考文獻(xiàn) 21致謝 221緒論1.1課題背景隨著人們生活水平的逐步提高,汽車已成為很多家庭必不可少的出行交通工具。在人們享受汽車帶來便利生活的同時(shí),因平安帶未系而引發(fā)的碰撞問題日益突顯。當(dāng)車輛在高速行駛時(shí)發(fā)生碰撞或緊急制動(dòng)時(shí),巨大的慣性會(huì)使車內(nèi)乘員與方向盤、擋風(fēng)玻璃等發(fā)生二次碰撞,從而造成對(duì)乘員的嚴(yán)重傷害。平安帶能將人束縛在座位上,它的緩沖作用會(huì)吸收大量動(dòng)能,極大地減輕乘員的受傷害程度。平安帶未系提示報(bào)警器,當(dāng)車啟動(dòng)時(shí),平安帶檢測(cè)裝置,車速傳感器將檢測(cè)的信號(hào)傳輸?shù)街骺刂?,控制器根?jù)信號(hào)判斷當(dāng)前車輛是否處于行駛狀態(tài)且有未乘系平安帶,當(dāng)車輛處于行駛狀態(tài)且未系平安帶時(shí),平安帶提示燈閃爍,蜂鳴器報(bào)警,從而提醒駕駛?cè)藛T乘系平安帶,主動(dòng)減輕汽車碰撞給人體帶來的傷害。1.2課題要求平安帶未系報(bào)警控制器要求實(shí)現(xiàn)如下功能:平安帶未系時(shí)具有聲音及燈光報(bào)警功能,同時(shí)考慮車速;當(dāng)車速為<l0Km/h時(shí),平安帶報(bào)警燈常亮,此聲音報(bào)警;當(dāng)車速≥10Km/h,聲光同步報(bào)警,聲光同步報(bào)警3次,頻率為0.5Hz,3次后,聲音停止,報(bào)警燈常亮;在等待60s后如速度仍≥10Km/h,且平安帶未系,那么開始下一個(gè)循環(huán);平安帶系好時(shí),報(bào)警即刻解除。1.3平安帶未系提示系統(tǒng)組成及工作原理系統(tǒng)組成:傳感器、平安帶卡扣/鎖扣〔可用開關(guān)代替〕報(bào)警燈、電源、主控制器、蜂鳴器。圖1.1連接圖系統(tǒng)工作原理:當(dāng)車啟動(dòng)時(shí),平安帶檢測(cè)裝置,車速傳感器將檢測(cè)的信號(hào)傳輸?shù)街骺刂?,控制器根?jù)信號(hào)判斷當(dāng)前車輛是否處于行駛狀態(tài)且有未乘系平安帶,當(dāng)車輛處于行駛狀態(tài)且未系平安帶時(shí),平安帶提示燈閃爍,蜂鳴器報(bào)警。圖1.2工作原理圖2硬件電路設(shè)計(jì)2.1電路總體方案本設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)局部。模塊劃分為數(shù)據(jù)采集、報(bào)警提示模塊,電路結(jié)構(gòu)可劃分為:平安帶傳感器、報(bào)警器、單片機(jī)控制電路、LED控制電路及相關(guān)的控制管理軟件組成。用戶終端完成信息采集、處理、數(shù)據(jù)傳送、功能設(shè)定、本地報(bào)警等功能。就此設(shè)計(jì)的核心模塊來說,單片機(jī)就是設(shè)計(jì)的中心單元,所以此系統(tǒng)也是單片機(jī)應(yīng)用系統(tǒng)的一種應(yīng)用。單片機(jī)應(yīng)用系統(tǒng)也是有硬件和軟件組成的。硬件包括單片機(jī)、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是各種工作程序的總稱。單片機(jī)應(yīng)用系統(tǒng)的研制過程包括總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)等幾個(gè)階段。驅(qū)動(dòng)電路經(jīng)控制信號(hào)放大并推動(dòng)聲光報(bào)警設(shè)備完成相應(yīng)的動(dòng)作。圖2.1是電路總體框圖,包括51單片機(jī)最小系統(tǒng),平安帶開關(guān),速度傳感器,報(bào)警指示燈報(bào)警,蜂鳴器,,電源電路。圖2.1電路總體框圖2.2閃光報(bào)警閃光報(bào)警時(shí)最簡單,也是最常用的一種報(bào)警方式,單片機(jī)應(yīng)用系統(tǒng)中的閃光報(bào)警就是在控制指示燈的程序中參加定時(shí)程序,按一定的時(shí)間間隔來交替點(diǎn)亮與熄滅指示燈。閃光報(bào)警在硬件連接上也是非常簡單,通常利用AT89C52的I/O口直接驅(qū)動(dòng)發(fā)光二極管實(shí)現(xiàn)。電路中的發(fā)光二極管一般反向連接,其正端接5V,負(fù)端通過限流電阻與I/O口線相連。限流電阻的阻值的選擇要同時(shí)考慮發(fā)光二極管的驅(qū)動(dòng)電流及I/O口的負(fù)載能力,一般可選擇330或360毆,如使某發(fā)光二極管點(diǎn)亮,那么只需相應(yīng)的輸出口輸出低電平。由4個(gè)發(fā)光二極管接上電阻后連上單片的RXD的引腳,外接VCC,當(dāng)單片機(jī)的RXD引腳被置低電平后,發(fā)光二極管被點(diǎn)亮,起到報(bào)警作用。下列圖所示為發(fā)光二極管報(bào)警電路。圖2.2閃光報(bào)警2.3鳴音報(bào)警鳴音報(bào)警的方式有兩種,一種是單頻音報(bào)警,另一種是音樂聲報(bào)警。如下列圖所示,用一個(gè)Speaker和三極管、電阻接到單片機(jī)的TXD引腳上,構(gòu)成聲音報(bào)警電路,下列圖示為聲音報(bào)警電路。圖2..3蜂鳴報(bào)警2.4單片機(jī)概述2.4.1STC89C52單片機(jī)簡介STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。這一模塊以單片機(jī)為中心把程序代碼燒進(jìn)去然后外圍接上復(fù)位電路、振蕩電路、鍵盤控制、LED顯示電路、報(bào)警電路等子模塊。STC89C52單片機(jī)在一塊芯片中集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器、看門狗和多種功能的I/O口設(shè)備的等,相當(dāng)于一臺(tái)計(jì)算機(jī)所需要的根本功能部件。STC89C52的4個(gè)8位I/O口的功能說明如下:〔1〕P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1〞時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。〔2〕P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1〞時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流〔IIL〕。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入〔P1.0/T2〕和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入〔P1.1/T2EX〕。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。〔3〕P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫“1〞時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流〔IIL〕。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器〔例如執(zhí)行MOVX@DPTR〕時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址〔如MOVX@RI〕訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)?!?〕P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫“1〞時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流〔IIL〕。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。P3口亦作為AT89C52特殊功能〔第二功能〕使用。2.4.2單片機(jī)最小系統(tǒng)要使單片機(jī)工作起來最根本的電路構(gòu)成為單片機(jī)最小系統(tǒng)如圖2.4所示圖2.4單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)包括單片機(jī)、復(fù)位電路、時(shí)鐘電路構(gòu)成。STC89C52單片機(jī)的工作電壓范圍:4V-5.5V,所以通常給單片機(jī)外界5V直流電源。連接方式為單片機(jī)中的40腳VCC接正極5V,而20腳VSS接電源地端。復(fù)位電路就是確定單片機(jī)的工作起始狀態(tài),完成單片機(jī)的啟動(dòng)過程。單片機(jī)接通電源時(shí)產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng)確定單片機(jī)起始工作狀態(tài)。當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到外界環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開始執(zhí)行。一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后,在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。本設(shè)計(jì)采用的是外部手動(dòng)按鍵復(fù)位電路,需要接上上拉電阻來提高輸出高電平的值。時(shí)鐘電路好比單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。時(shí)鐘電路就是振蕩電路,是向單片機(jī)提供一個(gè)正弦波信號(hào)作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。XTAL1和XTAL2分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。因?yàn)橐粋€(gè)機(jī)器周期含有6個(gè)狀態(tài)周期,而每個(gè)狀態(tài)周期為2個(gè)振蕩周期,所以一個(gè)機(jī)器周期共有12個(gè)振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12MHZ,一個(gè)振蕩周期為1/12us。2.5復(fù)位電路為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一局部,復(fù)位電路的根本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延遲才撤銷復(fù)位,以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。當(dāng)單片機(jī)的復(fù)位引腳出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。所以復(fù)位引腳的電容大一點(diǎn)沒多大關(guān)系,頂多是復(fù)位時(shí)間長一點(diǎn);但如果電容太小,高電平持續(xù)時(shí)間太短,那么單片機(jī)無法正常復(fù)位,就不能工作,電容通常取10UF或22UF,鋁電解電容即可。單片機(jī)的復(fù)位電路在剛接通電時(shí),剛開始電容是沒有電的,電容內(nèi)的電阻很低,通電后,5V的電源通過電阻給電解電容進(jìn)行充電,電容兩端的電會(huì)由0V慢慢的升到4V左右〔此時(shí)間很短一般小于0.3秒〕,正因?yàn)檫@樣,復(fù)位腳由低電位升到高電位,引起了內(nèi)部電路的復(fù)位工作;當(dāng)按下復(fù)位鍵時(shí),電容兩端放電,電容又回到0V了,于是又進(jìn)行了一次復(fù)位工作。2.6晶振電路它是單片機(jī)系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會(huì)不能工作。假設(shè)振蕩器運(yùn)行不規(guī)律,系統(tǒng)執(zhí)行程序的時(shí)候就會(huì)出現(xiàn)時(shí)間上的誤差,這在通信中會(huì)表達(dá)的很明顯:電路將無法通信。它是由一個(gè)晶振和兩個(gè)瓷片電容組成的,晶振和瓷片電容是沒有正負(fù)的,兩個(gè)瓷片電容相連的那端一定要接地。一般單片機(jī)的晶振工作于并聯(lián)諧振狀態(tài),也可以理解為諧振電容的一局部。它是根據(jù)晶振廠家提供的晶振要求負(fù)載電容選值的,換句話說,晶振的頻率就是在它提供的負(fù)載電容下測(cè)得的,能最大限度的保證頻率值的誤差,也能保證溫漂等誤差。一般處理器的一個(gè)機(jī)器周期由12個(gè)時(shí)鐘周期所組成。所以單片機(jī)用12M晶振,運(yùn)行速度為1M。負(fù)載電容=[(Cd*Cg)/(Cd+Cg)]+Ci+△C],跟晶振特性、單片機(jī)內(nèi)部時(shí)鐘電路等效電容有關(guān)。兩個(gè)電容的取值都是相同的,或者說相差不大,如果相差太大,容易造成諧振的不平衡,容易造成停振或者干脆不起振。其起到一個(gè)并聯(lián)協(xié)振的作用,這樣可以讓它的脈沖更平穩(wěn)與協(xié)調(diào)。2.7指示燈和報(bào)警電路在單片機(jī)的I/O里會(huì)輸出上下電平,在P20、P21和P22分別接上LED指示燈而P23接上蜂鳴器而蜂鳴器外接個(gè)8550的三極管起到開關(guān)作用,當(dāng)三極管到達(dá)飽和狀態(tài)下就驅(qū)動(dòng)了蜂鳴器工作了。圖2.5指示燈和報(bào)警電路3軟件局部設(shè)計(jì)3.1總體結(jié)構(gòu)軟件程序主要完成平安帶檢測(cè)、汽車速度及驅(qū)動(dòng)報(bào)警電路報(bào)警等功能,系統(tǒng)程序主要包括主程序、平安帶未系子程序、蜂鳴器報(bào)警子程序等。3.2主程序主程序的主要功能是負(fù)責(zé)檢測(cè)平安帶,汽車有效速度,當(dāng)平安帶未系車速小于10km/h時(shí),平安帶提示燈閃爍;當(dāng)平安帶未系車速大于10km/h時(shí),平安帶提示燈閃爍,蜂鳴器發(fā)聲報(bào)警。主程序流程圖如示:圖3.1主程序流程圖3.3平安帶未系提示子程序平安帶未系子程序的主要功能就是汽車啟動(dòng)后未系平安帶時(shí),平安帶指示燈會(huì)不停的閃爍,流程圖如圖。圖3.2平安帶提示流程圖3.4蜂鳴器報(bào)警子程序報(bào)警子程序的主要功能是在未系平安帶的情況下汽車行駛速度超過10km/h時(shí),能夠使蜂鳴器發(fā)聲從而到達(dá)報(bào)警的目的。 報(bào)警子程序流程圖如圖:圖3.3蜂鳴器報(bào)警流程圖4系統(tǒng)調(diào)試4.1Keil編譯器軟件簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能表達(dá)高級(jí)語言的優(yōu)勢(shì)。下面詳細(xì)介紹KeilC51開發(fā)系統(tǒng)各局部功能和使用。圖4.1KeilC51KeilC51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),如圖4.1所示,其中uVision與Ishell分別是C51forWindows和forDOS的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)立生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。4.2使用Keil軟件建立一個(gè)工程Keil是目前進(jìn)行51單片機(jī)開發(fā)最常用的編譯軟件。關(guān)于Keil的使用,有很多的資料介紹,這里只介紹其整個(gè)編譯過程,在最短時(shí)間內(nèi)開始使用Easy51DP-2開發(fā)板。對(duì)于Keil更詳細(xì)的介紹,可以參考一些專門書籍資料。在Keil里,每一個(gè)完整的程序,都是以一個(gè)工程的形式建立的。一個(gè)工程里可以有一個(gè)或多個(gè)*.c文件和*.h文件,但只可以有一個(gè)main()函數(shù)。一般的做法是將包含main()函數(shù)的C文件參加到工程中,其他文件以#include頭文件的形式加到這個(gè)C文件里。這樣,在編譯的時(shí)候,其他的文件會(huì)被自動(dòng)的導(dǎo)入到工程里來。翻開Keil軟件后,出現(xiàn)〔圖4.2〕所示界面。當(dāng)然,如果Keil在上次關(guān)閉時(shí)有翻開的工程,再一次翻開時(shí)它會(huì)自動(dòng)加載上一次的工程文件。圖4.2Keil軟件主界面首先點(diǎn)擊Project->NewProject…〔Project->OpenProject…為翻開一個(gè)已經(jīng)存在的工程〕,如圖4.3所示。圖4.3Keil軟件翻開新工程界面點(diǎn)開后,在出現(xiàn)的對(duì)話框中選擇工程存在路徑,單擊“保存〞后,出現(xiàn)〔如圖4.4所示〕界面。在此界面上選擇電路板上所用的單片機(jī)型號(hào):AtmelSTC89C52〔或者是AT89S52,視開發(fā)板上具體型號(hào)而定〕,單擊“確定〞。圖4.4選擇電路板上所用的單片機(jī)型號(hào)設(shè)置完成后,軟件會(huì)提示“是否將8051上電初始化程序添參加工程?〞如圖4.5所示,這個(gè)一般選擇“否〞?!碴P(guān)于STARTUP.A51的相關(guān)內(nèi)容可查閱相應(yīng)資料〕圖4.5是否將8051上電初始化程序添參加工程這樣,就建立了一個(gè)空的51工程。接下來的事,就是在這個(gè)工程里面參加自己的程序代碼。點(diǎn)擊,或者File->New,便建立了一個(gè)空的文本框?,F(xiàn)在,就可以開始在里面輸入你的代碼了。保存時(shí)注意:如果是用C語言寫的程序,那么將文本保存成*.c,如果是用匯編寫的程序,那么將文本存成*.asm。到目前為步,我們已經(jīng)建立了一個(gè)工程,也寫了一個(gè)程序代碼。但現(xiàn)在還不能開始編譯。因?yàn)檫€沒有將程序代碼添加到工程里面去。下一步就是將寫完的程序添加到工程里面,如圖4.6所示,在左邊ProjectWorkspace里的SourceGroup1上右擊,選擇AddFilestoGroup‘SourceGroup1’。在翻開的對(duì)話框中,選擇剛存的文件路徑和對(duì)應(yīng)的擴(kuò)展名。這樣,程序就添加進(jìn)了這個(gè)工程。圖4.6添加文件到工程中下一步,就開始編譯剛輸入進(jìn)去的代碼。點(diǎn)擊工具欄中的按鈕。接著,Keil會(huì)打出下面的提示:Buildtarget'Target1'assemblingled.asm...linking...ProgramSize:data=8.0xdata=0code=100"first"-0Error(s),0Warning(s).其中“"first"-0Error(s),0Warning(s).〞說明現(xiàn)在的工程編譯通過,0個(gè)錯(cuò)誤和0個(gè)警告。建立工程的時(shí)候,默認(rèn)是不生成HEX文件的,得在編譯做如下設(shè)置:單擊,或者在ProjectWorkspace里Target1上右擊,選擇“OptionsforTarget‘Target1’〞。出現(xiàn)如圖4.7所示對(duì)話框,選擇“Output〞按圖示,將箭頭所指的多項(xiàng)選擇框勾上,點(diǎn)“確定〞?,F(xiàn)在再點(diǎn)擊重新編譯,系統(tǒng)提示:“creatinghexfilefrom"first"...〞。便會(huì)在工程所在文件夾里生成HEX文件。圖4.7生成HEX文件4.3使用Debug進(jìn)行調(diào)試Keil有很強(qiáng)大的調(diào)試功能,可以顯示C程序的反匯編代碼、可以計(jì)算代碼運(yùn)行的時(shí)間、可以顯示程序中某一變量的值……能用好這個(gè)調(diào)試工具對(duì)編寫單片機(jī)程序會(huì)有很大的幫助。同樣的,在這里,只對(duì)Debug進(jìn)行簡單應(yīng)用介紹,更詳細(xì)的使用方法可以參看相關(guān)書籍資料。圖4.8調(diào)試前設(shè)置窗口首先,單擊,彈出如圖4.8所示對(duì)話框,在Target頁面上設(shè)置對(duì)應(yīng)的晶振頻率。其他不用作修改。設(shè)置完成后,單擊,進(jìn)入調(diào)試界面〔如圖4.9所示〕。圖4.9Keil調(diào)試界面點(diǎn)擊中對(duì)應(yīng)的工具按鈕那么可以開始調(diào)試。另外,“View〞下的三個(gè)工具在調(diào)試中會(huì)經(jīng)常用到如.圖4.10所示,“DisassemblyWindow〞顯示C文件的反匯編程序;“Watch&CallStackWindow〞可以顯示程序中某一變量的值;“MemoryWindow〞可以顯示內(nèi)存中某一地址的值。圖4.10三個(gè)常用的調(diào)試工具4.4硬件調(diào)試及調(diào)試中遇到的問題第一步為目測(cè),單片機(jī)應(yīng)用系統(tǒng)電路全部手工焊接在洞洞板上,因此對(duì)每一個(gè)焊點(diǎn)都要進(jìn)行仔細(xì)的檢查。檢查它是否有虛焊、是否有毛剌等。第二步為萬用表測(cè)試,先用萬用表復(fù)核目測(cè)中認(rèn)為可疑的連線或接點(diǎn),查看它們的通斷狀態(tài)是否與設(shè)計(jì)規(guī)定相符,再檢查各種電源線與地線之間是否有短路現(xiàn)象。第三步為加電檢查。當(dāng)系統(tǒng)加電時(shí),首先檢查所有插座或器件引腳的電源端是否有符合要求的電壓值,接地端電壓值是否接近零,接固定電平的引腳端是否電平正確。第四步是聯(lián)機(jī)檢查,在對(duì)硬件電路調(diào)試過程中,還遇到了不少問題,第一次把所有的元件都焊上去后,都準(zhǔn)備調(diào)試了,才發(fā)現(xiàn)正負(fù)電源的插針離得太近了,不容易接電源,本不該犯的錯(cuò)誤,這些都是由于自己的粗心大意造成的,所以說,做任何事情都必需經(jīng)過“三思而后行〞,來不得半點(diǎn)的馬虎,否那么浪費(fèi)了時(shí)間和精力。5總結(jié)本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的平安帶未系提示報(bào)警器。該報(bào)警器通過以AT89C52單片機(jī)為工作處理器核心,外接速度傳感器、平安帶開關(guān),能夠提示機(jī)動(dòng)車駕駛?cè)藛T佩戴平安帶平安行駛,同時(shí)能有效的抑制在出現(xiàn)劇烈碰撞的交通事故中,造成對(duì)人體的二次傷傷害,平時(shí)傳感器輸出低電平,當(dāng)汽車啟動(dòng)后切未檢測(cè)到平安帶時(shí)出低電平變?yōu)楦唠娖剑烁唠娖捷斎雴纹瑱C(jī),作為單片機(jī)的外部觸發(fā)信號(hào)處理,經(jīng)單片機(jī)內(nèi)部軟件程序處理后,單片機(jī)輸出控制信號(hào),驅(qū)動(dòng)聲光報(bào)警電路開始報(bào)警。該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人平安意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速開展,相信報(bào)警器必將在更廣闊的的領(lǐng)域得到更深層次的應(yīng)用。在這次的設(shè)計(jì)中遇到許多問題,例如硬件焊接、Keil調(diào)試運(yùn)用,其中最難的局部是軟件局部,我們上網(wǎng)查閱了很多資料,雖然經(jīng)過自己的修改,但還是有局部功能無法實(shí)現(xiàn),通過此次的課程設(shè)計(jì),使我深深的感到自身能力的缺乏,也使我將學(xué)到的知識(shí)運(yùn)用到實(shí)踐當(dāng)中,在這段時(shí)間里,我學(xué)到了很多知識(shí),受益良多,是大學(xué)期間最難忘得時(shí)光,所謂失敗是成功之母,在經(jīng)歷數(shù)次失敗后,在導(dǎo)師同學(xué)的幫助下,艱難的完成此次設(shè)計(jì),讓我知道在今后的工作中也要不斷地去學(xué)習(xí)充實(shí)自己。參考文獻(xiàn)[1]胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì)[M].北京

溫馨提示

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

評(píng)論

0/150

提交評(píng)論