![安全系統(tǒng)帶未系提示電路_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/6b2bec00-1001-45ea-af51-445e68344565/6b2bec00-1001-45ea-af51-445e683445651.gif)
![安全系統(tǒng)帶未系提示電路_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/6b2bec00-1001-45ea-af51-445e68344565/6b2bec00-1001-45ea-af51-445e683445652.gif)
![安全系統(tǒng)帶未系提示電路_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/6b2bec00-1001-45ea-af51-445e68344565/6b2bec00-1001-45ea-af51-445e683445653.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、轎車安全帶未系提示電路設(shè)計(jì)學(xué)生:學(xué)生學(xué)號(hào):院(系):年級(jí)專業(yè):指導(dǎo)教師:助理指導(dǎo)教師:二O一七年五月當(dāng)車輛在緊急制動(dòng)或高速行駛時(shí)發(fā)生碰撞時(shí),巨大的慣性會(huì)使車乘員與擋風(fēng) 玻璃盤造成對(duì)乘員的嚴(yán)重傷害。安全帶能將人約束在座位上,它的緩沖作用會(huì)抵消一大部分動(dòng)能,大量減少乘員的受傷害程度。因?yàn)橛^點(diǎn)的滯后,很多人都懷著僥 幸心理,以為在市行車,時(shí)速不會(huì)太高,所以沒什么時(shí)候能用得著安全帶。其實(shí),當(dāng) 車僅以每小時(shí)40公里的速度行駛產(chǎn)生碰撞時(shí),人體前沖的力量就相當(dāng)于從4層樓 上扔下一袋50公斤重的水泥塊,其沖力之大可想而知考察數(shù)據(jù)顯示:在一次可能 招致死亡的車禍中,使用安全帶可使車人員生還的幾率上升 60%,發(fā)
2、生正面撞車時(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ī)部軟件程序處理后,單片機(jī)輸出控制信號(hào),驅(qū)動(dòng)聲光報(bào)警電 路開始報(bào)警。該報(bào)警
3、器的最大特點(diǎn)就是使用戶能夠操作簡(jiǎn)單、易懂、靈活;且安 裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速 發(fā)展,相信報(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ī)概述5單片機(jī)簡(jiǎn)介 5單片機(jī)最小系統(tǒng) 72.5復(fù)位電路82.6晶振電路82.7指示燈和報(bào)警電路 93軟
4、件部分設(shè)計(jì) 103.1總體結(jié)構(gòu)103.2主程序103.3 安全帶未系提示子程序 113.4蜂鳴器報(bào)警子程序 124系統(tǒng)調(diào)試134.1 Keil編譯器軟件簡(jiǎn)介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課題背景隨著人們生活水平的逐步提高,汽車已成為很多家庭必不可少的出行交通工 具。在人們享受汽車帶來(lái)便利生活的同時(shí),因安全帶未系而引發(fā)的碰撞問題日益 突顯。當(dāng)車輛在高速行駛時(shí)發(fā)生碰撞或緊急制動(dòng)時(shí),巨大的慣性會(huì)使車乘員與方向 盤、擋風(fēng)玻璃等發(fā)生二次碰撞,從而造成對(duì)乘員的嚴(yán)重傷害。安全帶能
5、將人束縛在 座位上,它的緩沖作用會(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)減輕汽車碰撞給人體帶來(lái)的傷害。1.2課題要求安全帶未系報(bào)警控制器要現(xiàn)如下功能:安全帶未系時(shí)具有聲音及燈光報(bào)警功能,同時(shí)考慮車速; 當(dāng)車速為vlOKm/h時(shí),安全帶報(bào)警燈常亮,此聲音報(bào)警; 當(dāng)車速羽OKm/h,聲光同步報(bào)警,聲光同步報(bào)警3次,頻率為0. 5Hz, 3次后,聲 音
6、停止,報(bào)警燈常亮;在等待60s后如速度仍 10KnZh,且安全帶未系,則開始 下一個(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)可劃分為:安全帶傳
7、感器、報(bào)警器、單片機(jī)控制電路、LED控制電路及相關(guān)的控制管理軟件組成。用戶終端完成信息采集、處理、數(shù)據(jù)傳送、功能設(shè)定、 本地報(bào)警等功能。就此設(shè)計(jì)的核心模塊來(lái)說(shuō),單片機(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.
8、1電路總體框圖2.2閃光報(bào)警閃光報(bào)警時(shí)最簡(jiǎn)單,也是最常用的一種報(bào)警方式,單片機(jī)應(yīng)用系統(tǒng)中的閃光 報(bào)警就是在控制指示燈的程序中加入定時(shí)程序,按一定的時(shí)間間隔來(lái)交替點(diǎn)亮與 熄滅指示燈。閃光報(bào)警在硬件連接上也是非常簡(jiǎn)單,通常利用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引腳被置低
9、電平后,發(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)警電路。VCC圖2.3蜂鳴報(bào)警2.4單片機(jī)概述2.4.1 STC89C52單片機(jī)簡(jiǎn)介STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編 程Flash存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80C51產(chǎn)品指令 和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。 在單芯
10、片上,擁有靈巧的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),全雙工串行口, 片晶振及時(shí)鐘電路。另外,STC89C52可降至OHz靜態(tài)邏輯操作,支持2種軟件 可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串 口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一 切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。這一模塊以
11、單片機(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 口的功能說(shuō)明如下:(1) P0 口: P0 口是一個(gè)8位漏極開路的雙向I/O 口。作為輸出口,每位 能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“ T時(shí),弓I腳用作高阻抗輸入。當(dāng)訪問 外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0 口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0具有部上拉電阻。在flash編程時(shí),P0
12、口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí), 輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。(2) P1 口: P1 口是一個(gè)具有部上拉電阻的8位雙向I/O 口,pl輸出緩沖器 能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“ T時(shí),部上拉電阻把端口拉高,此時(shí) 可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流(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è)具有部上拉電阻的8位雙向I/O 口,P2輸
13、出緩沖器 能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì) P2端口寫“ 1”時(shí),部上拉電阻把端口拉高,此 時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因, 將輸出電流(IIL )0在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例 如執(zhí)行MOVX DPTR )時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng) 的部上拉發(fā)送1。在使用8位地址(如 MOVX RI )訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口 輸出P2鎖存器的容。在flash編程和校驗(yàn)時(shí),P2 口也接收高8位地址字節(jié)和 一些控制信號(hào)。(4) P3 口: P3 口是一個(gè)具有部上拉電阻的8位雙向I/O 口,p2輸出緩沖器 能驅(qū)
14、動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫“ 1”時(shí),部上拉電阻把端口拉高,此時(shí) 可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL )o在flash編程和校驗(yàn)時(shí),P3 口也接收一些控制信號(hào)。P3 口亦 作為AT89C52特殊功能(第二功能)使用。242單片機(jī)最小系統(tǒng)2.4所示要使單片機(jī)工作起來(lái)最基本的電路構(gòu)成為單片機(jī)最小系統(tǒng)如圖JI I”圖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接電源地端
15、。復(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ù)位按鈕部的程序 自動(dòng)從頭開始執(zhí)行。一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電 路工作以后,在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。 本設(shè)計(jì)采用的是外部手動(dòng)按鍵復(fù)位電路,需要接上上拉電阻來(lái)提高輸出高電平的 值。時(shí)鐘電路好比單片機(jī)的心臟,它控制著單片機(jī)的工作節(jié)奏。時(shí)鐘電路就 是振蕩電路,是向單片機(jī)提供一個(gè)正弦波信號(hào)作為基準(zhǔn), 決定單片機(jī)的執(zhí)行速度。 XTAL1和XTAL
16、2分別為反向放大器的輸入和輸出,該反向放大器可以配置為片振 蕩器。如采用外部時(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ī)器周期以上的
17、高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。所以復(fù)位引腳的電容大一點(diǎn)沒多大關(guān)系,頂多是復(fù)位時(shí)間 長(zhǎng)一點(diǎn);但如果電容太小,高電平持續(xù)時(shí)間太短,貝U單片機(jī)無(wú)常復(fù)位,就不能工 作,電容通常取10UF或22UF,鋁電解電容即可。單片機(jī)的復(fù)位電路在剛接通電時(shí),剛開始電容是沒有電的,電容的電阻很低, 通電后,5V的電源通過電阻給電解電容進(jìn)行充電,電容兩端的電會(huì)由0V慢慢的升到4V左右(此時(shí)間很短一般小于 0.3秒),正因?yàn)檫@樣,復(fù)位腳由低電位升到 高電位,引起了部電路的復(fù)位工作;當(dāng)按下復(fù)位鍵時(shí),電容兩端放電,電容又回 到0V 了,于是又進(jìn)行了一次復(fù)位工作。2.6晶振電
18、路它是單片機(jī)系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會(huì)不能工作。假如振蕩器運(yùn)行不規(guī)律,系統(tǒng)執(zhí)行程序的時(shí)候就會(huì)出現(xiàn)時(shí)間上的誤差,這在通信 中會(huì)體現(xiàn)的很明顯:電路將無(wú)法通信。它是由一個(gè)晶振和兩個(gè)瓷片電容組成的, 晶振和瓷片電容是沒有正負(fù)的,兩個(gè)瓷片電容相連的那端一定要接地。一般單片 機(jī)的晶振工作于并聯(lián)諧振狀態(tài),也可以理解為諧振電容的一部分。它是根據(jù)晶振 廠家提供的晶振要求負(fù)載電容選值的,換句話說(shuō),晶振的頻率就是在它提供的負(fù) 載電容下測(cè)得的,能最大限度的保證頻率值的誤差,也能保證溫漂等誤差。一般 處理器的一個(gè)機(jī)器周期由12個(gè)時(shí)鐘周期所組成。所以單片機(jī)用12M晶振,運(yùn)行速 度為1M。負(fù)載電容=(C
19、d*Cg)/(Cd+Cg)+Ci+ C,跟晶振特性、單片機(jī)部時(shí)鐘電 路等效電容有關(guān)。兩個(gè)電容的取值都是相同的,或者說(shuō)相差不大,如果相差太大, 容易造成諧振的不平衡,容易造成停振或者干脆不起振。其起到一個(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)了蜂鳴器工作了 。3軟件部分設(shè)計(jì)3.1總體結(jié)構(gòu)軟件程序主要完成安全帶檢測(cè)、汽車速度及驅(qū)動(dòng)報(bào)警電路報(bào)警等功能,系統(tǒng) 程序主要包括主程序、安全帶未系子程序、蜂
20、鳴器報(bào)警子程序等。3.2主程序主程序的主要功能是負(fù)責(zé)檢測(cè)安全帶,汽車有效速度,當(dāng)安全帶未系車速小于 10km/h時(shí),安全帶提示燈閃爍;當(dāng)安全帶未系車速大于10km/h時(shí),安全帶提示燈 閃爍,蜂鳴器發(fā)聲報(bào)警。主程序流程圖如示:開始/ 結(jié)束圖3.1主程序流程圖3.3安全帶未系提示子程序安全帶未系子程序的主要功能就是汽車啟動(dòng)后未系安全帶時(shí),安全帶指示燈會(huì) 不停的閃爍,流程圖如圖。安全帶檢測(cè)_未系安全帶+安全帶提示燈亮已系安全帶安全帶提示燈熄滅圖3.2安全帶提示流程圖3.4蜂鳴器報(bào)警子程序10km/h 時(shí),報(bào)警子程序的主要功能是在未系安全帶的情況下汽車行駛速度超過 能夠使蜂鳴器發(fā)聲從而達(dá)到報(bào)警的目的。
21、10km/h圖3.3蜂鳴器報(bào)警流程圖4系統(tǒng)調(diào)試4.1 Keil編譯器軟件簡(jiǎn)介Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì), 因而易學(xué)易用。用過匯編語(yǔ)言后再使用 C來(lái)開發(fā),體會(huì)更加深刻。Keil C51軟件 提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件 時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹Keil C
22、51開發(fā)系統(tǒng)各部分功能和使用。圖 4.1 Keil C51Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) C51工具包的整體結(jié)構(gòu),如圖 4.1 所示,其中uVision與Ishell分別是C51 for Windows和for DOS的集成開發(fā)環(huán)境 (IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用 IDE本身或其它編輯器編輯 C或匯編源文件。然后分別由 C51及A51編譯器編 譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件 一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的 Hex文件,以供調(diào)試器dSc
23、ope51或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í)間開始使用Easy 51DP-2開發(fā) 板。對(duì)于Keil更詳細(xì)的介紹,可以參考一些專門書籍資料。在 Keil里,每一個(gè)完整的程序,都是以一個(gè)工程的形式建立的。一個(gè)工程里可以有一個(gè)或多個(gè)*.c文件和*.h文件,但只可以有一個(gè) main()函數(shù)。一般的做法是將包含 main()函數(shù)的C 文件加入到工程中,其他文件
24、以#inelude頭文件的形式加到這個(gè) C文件里。這樣, 在編譯的時(shí)候,其他的文件會(huì)被自動(dòng)的導(dǎo)入到工程里來(lái)。打開Keil軟件后,出現(xiàn)(圖4.2)所示界面。當(dāng)然,如果 Keil在上次關(guān)閉時(shí) 有打開的工程,再一次打開時(shí)它會(huì)自動(dòng)加載上一次的工程文件。圖4.2 Keil軟件主界面首先點(diǎn)擊 Project-New Project ( Project-Open Project 為打開一個(gè)已 經(jīng)存在的工程),如圖4.3所示。圖4.3 Keil軟件打開新工程界面點(diǎn)開后,在出現(xiàn)的對(duì)話框中選擇工程存在路徑,單擊“保存”后,出現(xiàn)(如圖4.4所示)界面。在此界面上選擇電路板上所用的單片機(jī)型號(hào):Atmel STC89C
25、52(或者是AT89S52,視開發(fā)板上具體型號(hào)而定),單擊“確定”。圖4.4選擇電路板上所用的單片機(jī)型號(hào)設(shè)置完成后,軟件會(huì)提示“是否將 8051上電初始化程序添加入工程? ”如圖4.5所示,這個(gè)一般選擇“否”。(關(guān)于STARTUP.A51的相關(guān)容可查閱相應(yīng)資料)圖4.5是否將8051上電初始化程序添加入工程 這樣,就建立了一個(gè)空的51工程。接下來(lái)的事,就是在這個(gè)工程里面加入自己的程序代碼。點(diǎn)擊O,或者File-New,便建立了一個(gè)空的文本框?,F(xiàn)在,就可以開始在里面輸入你的代碼了。保存時(shí)注意:如果是用C語(yǔ)言寫的程序,則將文本保存成*.c,如果是用匯編 寫的程序,則將文本存成*asm。到目前為步,
26、我們已經(jīng)建立了一個(gè)工程,也寫了一個(gè)程序代碼。但現(xiàn)在還不 能開始編譯。因?yàn)檫€沒有將程序代碼添加到工程里面去。下一步就是將寫完的程序添加到工程里面,如圖4.6所示,在左邊 ProjectWorkspace里的 Source Group 1 上右擊,選擇 Add Files to Group Source Group 1。 在打開的對(duì)話框中,選擇剛存的文件路徑和對(duì)應(yīng)的擴(kuò)展名。這樣,程序就添加進(jìn) 了這個(gè)工程。?! tir =1. 一 Kii5.iDi2 一 LK:1JTfc 工程 Me:昌)E3山t軸 甘畔就 以施璋fixer ads Qolw酋0 Ifl 1 *巫昵 0-丘士丸-鬼韋總兇唸呼|鼻眾|
27、t皿科七1二 Ionnniaup 呂匚atEF :仙黔t 1 BBFEJ 緯l I : Is?I細(xì)I iLcV j!14 Lai 百丄七 j=:Jl IttLld 電缸譽(yù)電 Llir aru丄f lL. 屋 Stn-p LmT-; wlnJ!iL 8 C:1mi|el圖4.6添加文件到工程中下一步,就開始編譯剛輸入進(jìn)去的代碼。點(diǎn)擊工具欄中的固按鈕。接著,Keil 會(huì)打出下面的提示:Build target Target 1 assembli ng led.asm.linkin g.Program Size: data=8.0 xdata=0 code=100first - 0 Error(s)
28、, 0 Warni ng(s).其中“ first - 0 Error(s), 0 Warning(s). ”說(shuō)明現(xiàn)在的工程編譯通過,0個(gè)錯(cuò)誤 和0個(gè)警告。建立工程的時(shí)候,默認(rèn)是不生成HEX文件的,得在編譯做如下設(shè)置: 單擊二,或者在 Project Workspace里 Target 1 上右擊,選擇“ Options for Target現(xiàn)在再點(diǎn)擊Target 1。出現(xiàn)如圖4.7所示對(duì)話框,選擇“ Output”按圖示,將箭頭所指的多 選框勾上,點(diǎn)“確定”。重新編譯,系統(tǒng)提示:“creating hex file from first . ”。便會(huì) 在工程所在文件夾里生成HEX文件圖4.7
29、生成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)行簡(jiǎn)單應(yīng)用介紹,更詳細(xì)的使用方法可以參看相關(guān)書籍資料。圖4.8調(diào)試前設(shè)置窗口首先,單擊,卜,彈出如圖4.8所示對(duì)話框,在Target頁(yè)面上設(shè)置對(duì)應(yīng)的晶振 頻率。其他不用作修改。設(shè)置完成后,單擊珂,進(jìn)入調(diào)試界面(如圖4.9所示)Lit st - U it o*2! - M :Xfi L*cL鬥巧二 Edit Yi rri DJ竺 Fl uh1 Roll SVC5
30、 Tingr Htlp虺爲(wèi)|gi 口區(qū)費(fèi)趣卩赴申駐總盛珀審M也=產(chǎn)R-Qkct WDPksp-MZfi*T K&glE t4FE 肌歹血:叮洛BJJota Oflmh etiizti nw 也丿 #ODh0011 4UE eJ 1 Laymmr 匚丄* #OBp hdv dO j Olh. call out c&lJ. Lyy AI 1 dPlRy 4iHK El, ailLI丄丄4117* Load E : 新開我破熬一個(gè)工 fxfirGTASSI tlM BitakDi 5atil e BreakEnahle Bjreaklti 11 Bjeak匚匚三七 Bjeak3e BreakAc匚I
31、卜L 9 匚:EDMIT圖4.9 Keil調(diào)試界面點(diǎn)擊阿即冉W怕中對(duì)應(yīng)的工具按鈕則可以開始調(diào)試。另外,“View”下的三個(gè)工具在調(diào)試中會(huì)經(jīng)常用到如.圖4.10所示,“Disassembly Window ”顯示C文件的反匯編程序;“Watch & Call Stack Window”可以顯示程序 中某一變量的值;“ Memory Window ”可以顯示存中某一地址的值。卩敦 Disassembly ffiiwiow|鼎 霽讓h & Call Stack Windowll Neniory ffindoir圖4.10三個(gè)常用的調(diào)試工具4.4硬件調(diào)試及調(diào)試中遇到的問題第一步為目測(cè),單片機(jī)應(yīng)用系統(tǒng)電
32、路全部手工焊接在洞洞板上,因此對(duì)每 個(gè)焊點(diǎn)都要進(jìn)行仔細(xì)的檢查。檢查它是否有虛焊、是否有毛剌等。第二步為萬(wàn)用表測(cè)試,先用萬(wàn)用表復(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ò)誤,這些都是由于自己的粗心大意造成的, 所以
33、說(shuō), 做任何事情都必需經(jīng)過“三思而后行”,來(lái)不得半點(diǎn)的馬虎,否則浪費(fèi)了時(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ī)部軟件程序處理后,單片機(jī)輸出控制信號(hào),驅(qū)動(dòng)聲光報(bào)警 電路開始報(bào)警。該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡(jiǎn)單、易懂、靈活;且 安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快 速發(fā)展,相信報(bào)警器必將在更廣闊的的領(lǐng)域得到更深層次的應(yīng)用。在這次的設(shè)計(jì)中遇到許多問題,例如硬件焊接、Keil調(diào)試運(yùn)用,其中最難的部分是軟件部分,我們上網(wǎng)查閱
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)年度學(xué)校道德講堂工作計(jì)劃范文
- 高一語(yǔ)文學(xué)習(xí)計(jì)劃
- 2025年度新型智慧社區(qū)物業(yè)代管服務(wù)合同范本
- 兼職老師分成合同范本
- 代理協(xié)議協(xié)議合同范本
- 公司股東業(yè)務(wù)合同范本
- 養(yǎng)生行業(yè)員工合同范本
- 出租快艇合同范本
- 人才派遣服務(wù)合同范本
- 買賣林木合同范本
- 紅樓夢(mèng)詩(shī)詞全集
- 像科學(xué)家一樣思考-怎么做-怎么教-
- 苯胺合成靛紅工藝
- 三年級(jí)上冊(cè)數(shù)學(xué)脫式計(jì)算大全600題及答案
- 2024年度農(nóng)村電子商務(wù)ppt演示課件
- 計(jì)算機(jī)控制系統(tǒng) 課件 第10章 網(wǎng)絡(luò)化控制系統(tǒng)的分析與設(shè)計(jì)
- 高原反應(yīng)的癥狀和處理方法
- 南京大學(xué)儀器分析習(xí)題集
- 空調(diào)維保應(yīng)急預(yù)案
- 2023年高考語(yǔ)文全國(guó)乙卷作文范文及導(dǎo)寫(解讀+素材+范文)課件版
- 模塊建房施工方案
評(píng)論
0/150
提交評(píng)論