基于STC89C52單片機(jī)倒車?yán)走_(dá)警示系統(tǒng)作品報(bào)告_第1頁
基于STC89C52單片機(jī)倒車?yán)走_(dá)警示系統(tǒng)作品報(bào)告_第2頁
基于STC89C52單片機(jī)倒車?yán)走_(dá)警示系統(tǒng)作品報(bào)告_第3頁
基于STC89C52單片機(jī)倒車?yán)走_(dá)警示系統(tǒng)作品報(bào)告_第4頁
基于STC89C52單片機(jī)倒車?yán)走_(dá)警示系統(tǒng)作品報(bào)告_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、中文題目:基于STC89C52單片機(jī)的倒車?yán)走_(dá)警示系統(tǒng)作品報(bào)告英文題目:The work report of reversing radar warning system based on STC89C52 single chip microcomputer1目 錄摘 要IAbstractII一、緒論1(一)項(xiàng)目研究背景及意義1(二)測距原理1二、總體設(shè)計(jì)方案及論證2三、硬件設(shè)計(jì)3(一)主控模塊31、時(shí)鐘電路的設(shè)計(jì)42、復(fù)位電路的設(shè)計(jì)4(二)超聲波模塊4(三)按鍵模塊6(四)聲音報(bào)警電路模塊6(五)顯示模塊6(六)電源模塊7四、軟件設(shè)計(jì)7(一)主程序設(shè)計(jì)7(二)子程序設(shè)計(jì)8五、系統(tǒng)測試與調(diào)試8

2、六、總結(jié)9參考文獻(xiàn)10謝辭11附錄12附件1:原理圖12附件2:程序12附件3:元件清單22附件4:實(shí)物圖23摘 要摘要: 倒車?yán)走_(dá)全稱叫“倒車防撞雷達(dá)”,也叫“泊車輔助裝置”,是汽車泊車安全輔助裝置,能以聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況,解除了駕駛員泊車和啟動(dòng)車倆時(shí)前后左右探視所引起的困擾,并幫助駕駛員掃除視野的死角和視線模糊的缺陷。倒車?yán)走_(dá)警示系統(tǒng)利用超聲傳感器產(chǎn)生的超聲波對車后發(fā)射,如在一定范圍內(nèi)碰到物體,就有一反射波返回發(fā)射源(超聲傳感器的表面),主機(jī)利用發(fā)射波和反射波之間的延遲時(shí)間和聲波速度就能測得距離。本人通過三年來對單片機(jī)的學(xué)習(xí),設(shè)計(jì)了基于STC89C5

3、2單片機(jī)的倒車?yán)走_(dá)警示系統(tǒng),主要由三個(gè)部分組成,分別為測距部分,控制系統(tǒng)部分和顯示報(bào)警部分。該倒車?yán)走_(dá)根據(jù)超聲波測距原理研制,采用溫度補(bǔ)償技術(shù)、開機(jī)自檢技術(shù)和優(yōu)化的軟硬件技術(shù),將測得的結(jié)果送至串口顯示,同時(shí)用蜂鳴器報(bào)警。駕駛員只需坐在駕駛室就能做到心里有數(shù),極大的提高了泊車和倒車時(shí)的安全和效率。 關(guān)鍵詞:倒車?yán)走_(dá);超聲波傳感器;STC89C52單片機(jī)1AbstractAbstract: Reversing radar name called "reversing anti-collision radar", also known as "parking auxil

4、iary device", is a safe car parking auxiliary device, can use sound or a more intuitive display to inform the driver of the barrier around, lifting the driver parking and start two cars around visiting caused problems, and help the driver to remove the defects of vision dead and blurred vision.

5、 Reversing radar warning system using ultrasonic sensors to generate ultrasonic on the car after the launch, such as in a certain range of contact with an object, there is a reflection wave return to launch the source (the surface of ultrasonic sensor), the host using the transmitted wave and reflec

6、ted wave between the delay time and the velocity of sound can measure distance. I by three years of the MCU learning design based on STC89C52 reversing radar warning system, is mainly composed of three parts, respectively for distance measuring part, control part of the system and alarm display unit

7、. The reversing radar is manufactured according to the principle of ultrasonic ranging, using the temperature compensation technology, hardware and software technology poweronselftest technology and optimization, the measured result is sent to the serial port, and buzzer alarm. The driver just sitti

8、ng in the cab can do several things, which greatly improves the safety and efficiency of parking and reversing the.Key Words: Reversing radar;ultrasonic sensor;STC89C52 single chip microcomputerI1基于STC89C52單片機(jī)的倒車?yán)走_(dá)警示系統(tǒng)作品報(bào)告一、緒論(一)項(xiàng)目研究背景及意義由于超聲測距是一種非接觸檢測技術(shù),不受光線、被測對象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境

9、,具有少維護(hù)、不污染、高可靠、長壽命等特點(diǎn)。隨著汽車的迅速增加,停車難已經(jīng)是不爭的事實(shí),狹小的停車場的常常令有車族無所適從,稍不慎則會發(fā)生撞車事件。雖然每輛車都有后視鏡,但不可避免的都存在一個(gè)后是盲區(qū)。倒車?yán)走_(dá)是汽車泊車或倒車時(shí)的安全輔助裝置,能以聲音或更為直觀的顯示告知駕駛員駕駛車輛周圍障礙物的情況,解除了駕駛員泊車、倒車和啟動(dòng)車輛時(shí)前后左右探視所引起的困擾,并幫助駕駛員掃除了使用死角和視線模糊的缺陷,提高駕駛的安全性。(二)測距原理超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中

10、的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=340t/2最常用的超聲測距的方法是回聲探測法,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)計(jì)數(shù)器開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物面的距離s,即:s=340t/2。由于超聲波也是一種聲波,其聲速V與溫度有關(guān)。在使用時(shí),如果傳播介質(zhì)溫度變化不大,則可近似認(rèn)為超聲波速度在傳播的過程中是基本不變的。如果對測距精度要求很高,則應(yīng)通過

11、溫度補(bǔ)償?shù)姆椒▽y量結(jié)果加以數(shù)值校正。聲速確定后,只要測得超聲波往返的時(shí)間,即可求得距離。這就是超聲波測距儀的基本原理。如圖1所示:第 22 頁 共 23 頁 超聲波發(fā)射 障礙物 SH 超聲波接收圖1 超聲波的測距原理 (3-1) (3-2)式中:L-兩探頭之間中心距離的一半.又知道超聲波傳播的距離為: (3-3)式中:v超聲波在介質(zhì)中的傳播速度;t超聲波從發(fā)射到接收所需要的時(shí)間.將(32)、(33)代入(3-1)中得: (3-4)其中,超聲波的傳播速度v在一定的溫度下是一個(gè)常數(shù)(例如在溫度T=30度時(shí),V=349m/s);當(dāng)需要測量的距離H遠(yuǎn)遠(yuǎn)大于L時(shí),則(34)變?yōu)? (3-5)所以,只要

12、需要測量出超聲波傳播的時(shí)間t,就可以得出測量的距離H.二、總體設(shè)計(jì)方案及論證本設(shè)計(jì)主要采用MCS-51系列單片機(jī)作為主控芯片,能夠?qū)崿F(xiàn)超聲波測距,數(shù)據(jù)顯示,參數(shù)設(shè)置等功能。本系統(tǒng)可以通過超聲波模塊測量系統(tǒng)到障礙物之間的距離并用數(shù)碼管顯示出來,用戶還可以通過按鍵設(shè)置下限報(bào)警距離,假如測量的距離低于設(shè)置的報(bào)警值則通過蜂鳴器發(fā)聲提醒用戶超出允許范圍。本設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊劃分為主控模塊、按鍵模塊、顯示模塊、超聲波模塊、報(bào)警模塊。軟件設(shè)計(jì)包括主程序設(shè)計(jì)和子程序設(shè)計(jì)。系統(tǒng)總體的設(shè)計(jì)方框圖如圖2所示。電源超聲波模塊4位數(shù)碼管顯示模塊STC89C52主控制器模塊蜂鳴器報(bào)警模塊按鍵圖2 系統(tǒng)方

13、框圖三、硬件設(shè)計(jì)(一)主控模塊主控制最小系統(tǒng)電路如圖3所示。主控模塊采用STC89C52單片機(jī)進(jìn)行數(shù)據(jù)的采集和處理。包括按鍵模塊,顯示模塊,超聲波模塊,報(bào)警模塊,顯示模塊和電源模塊。圖3 最小系統(tǒng)1、時(shí)鐘電路的設(shè)計(jì)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,故而一個(gè)機(jī)器周期為1us。如圖4所示為時(shí)鐘電路。圖4

14、時(shí)鐘電路圖2、復(fù)位電路的設(shè)計(jì)復(fù)位方法一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后, 在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。例如使用晶振頻率為12MHz時(shí),則復(fù)位信號持續(xù)時(shí)間應(yīng)不小于2us。本設(shè)計(jì)采用的是自動(dòng)復(fù)位電路。如圖5示為復(fù)位電路。圖5 復(fù)位電路圖(二)超聲波模塊超聲波模塊采用現(xiàn)成的超聲波模塊,該模塊可提供 2cm-500cm 的非接觸式距離感測功能,測距精度可達(dá)高到 3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:采用 IO 口 TRIG 觸發(fā)測距,給至少 10us 的高電平信號;模塊自動(dòng)發(fā)送 8 個(gè) 40khz 的方波,自動(dòng)檢測

15、是否有信號返回;有信號返回,通過 IO 口 ECHO 輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測試距離=(高電平時(shí)間*聲速(340M/S)/2。實(shí)物如下圖6。其中VCC 供5V 電源,GND 為地線,TRIG 觸發(fā)控制信號輸入,ECHO 回響信號輸出等四支線。圖6 超聲波模塊實(shí)物圖超聲波探測模塊HC-SR04的使用方法如下:IO口觸發(fā),給Trig口至少10us的高電平,啟動(dòng)測量;模塊自動(dòng)發(fā)送8個(gè)40Khz的方波,自動(dòng)檢測是否有信號返回;有信號返回,通過IO口Echo輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,測試距離=(高電平時(shí)間*340)/ 2,單位為

16、m。程序中測試功能主要由兩個(gè)函數(shù)完成。實(shí)現(xiàn)中采用定時(shí)器0進(jìn)行定時(shí)測量,8分頻,TCNTT0預(yù)設(shè)值0XCE,當(dāng)timer0溢出中斷發(fā)生2500次時(shí)為125ms,計(jì)算公式為(單位:ms):T = (定時(shí)器0溢出次數(shù) * (0XFF - 0XCE)/ 1000 其中定時(shí)器0初值計(jì)算依據(jù)分頻不同而有差異。超聲波引腳與單片機(jī)連接如圖7所示。1腳接正級,2腳發(fā)射腳,3腳接收腳,4腳接電源負(fù)極接地。圖7(三)按鍵模塊按鍵電路中用到3個(gè)按鍵,S2是設(shè)定鍵, S3是加鍵,S4是減鍵。可以進(jìn)行報(bào)警值、工作方式、時(shí)鐘等各個(gè)參數(shù)的設(shè)置。如圖8示為按鍵電路。圖8(四)聲音報(bào)警電路模塊如下圖所示,用一個(gè)Speaker和三

17、極管、電阻接到單片機(jī)的P13引腳上,構(gòu)成聲音報(bào)警電路,如圖10示為聲音報(bào)警電路。圖10 聲音報(bào)警電路圖(五)顯示模塊顯示模塊采用數(shù)碼管顯示接口電路如圖11,主要起到顯示距離的功能。圖11 數(shù)碼管電路(六)電源模塊電源部分的設(shè)計(jì)采用3節(jié)5號干電池4.5V供電。四、軟件設(shè)計(jì)(一)主程序設(shè)計(jì)按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖12所示;系統(tǒng)初始化報(bào)警結(jié)束測得距離與設(shè)定值比較,小于距離比較,報(bào)警是否持續(xù)開始啟動(dòng)報(bào)警電路開始報(bào)警再次檢測等待下次報(bào)警結(jié)束YNNYYN圖12 主程序工作流程圖(二)子程序設(shè)計(jì)超聲波探測程序流程圖:圖13 超聲波探測程序流程圖五、系統(tǒng)測試與調(diào)試在確定了電路

18、、領(lǐng)好元器件之后,首先對電路進(jìn)行了布局。采取的方法是 分塊焊接電路,即將超聲波模塊分解為發(fā)射部分和接收部分。焊接完成后,下載程序至單片機(jī)進(jìn)行調(diào)試,發(fā)現(xiàn)有如下問題:1、數(shù)碼管不顯示距離,經(jīng)過調(diào)試后發(fā)現(xiàn)程序不能進(jìn)入中斷程序;經(jīng)修改后,數(shù)碼管可以顯示距離,但是只能精確到厘米。原因是程序結(jié)構(gòu)有問題,即發(fā)射超聲波后未立即開啟定時(shí)器;程序增加手動(dòng)和自動(dòng)測量兩種測量模式后,通過按鍵選擇測量模式系統(tǒng)沒有給出提示,不方便操作。相應(yīng)的解決方法如下:1、修改調(diào)試程序使程序能正常進(jìn)入中斷;2、重新調(diào)整程序結(jié)構(gòu),使其更加精簡;3、硬件增加發(fā)光二極管,程序中加入相應(yīng)的代碼,使用戶在選擇模式后系統(tǒng)能給出提示,更加

19、人性化。以下是調(diào)試截圖:圖14六、總結(jié)本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的超聲波智能測距報(bào)警系統(tǒng)。該系統(tǒng)通過以STC89C52單片機(jī)為工作處理器核心,超聲波傳感器,它是一種新穎的被動(dòng)式超聲波探測器件,能夠以非接觸測出前方物體距離,并將其轉(zhuǎn)化為相應(yīng)的電信號輸出.該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人們安全意識的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。參考文獻(xiàn)1 吳政江.單片機(jī)控制紅外線防盜報(bào)警器J.錦州師范學(xué)院學(xué)報(bào),2001.2 宋文緒.傳感器與檢測技術(shù)M.北京: 高等教育出版社,2004.3 余錫存.單片

20、機(jī)原理及接口技術(shù)M.西安:西安電子科技大學(xué)出版社,2000.4 唐桃波,陳玉林.基于AT89C51的智能無線安防報(bào)警器J.電子設(shè)計(jì)應(yīng)用, 2003, 5(6):4951.5 李全利.單片機(jī)原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,2004.6 薛均義,張彥斌. MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用M.西安:西安交通大學(xué)出版社,2005.7 徐愛鈞,彭秀華.單片機(jī)高級語言C51應(yīng)用程序設(shè)計(jì)M.北京:北京航空航天大學(xué)出版社,2006.8 康華光.電子技術(shù)基礎(chǔ)(模擬部分)M.北京:高等教育出版社,2004.附錄附件1:原理圖附件2:程序#include <reg52.h>#inc

21、lude <intrins.h>#include "eepom52.h"#define uchar unsigned char #define uint unsigned int/數(shù)碼管段選定義 0 1 2 3 4 56 7 8 9uchar code smg_du=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; /斷碼/數(shù)碼管位選定義uchar code smg_we=0xe0,0xd0,0xb0,0x70;uchar dis_smg8

22、 =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;sbit smg_we1 = P34; /數(shù)碼管位選定義sbit smg_we2 = P35;sbit smg_we3 = P36;sbit smg_we4 = P37;sbit c_send = P32;/超聲波發(fā)射sbit c_recive = P33;/超聲波接收uchar flag_hc_value; /超聲波中間變量sbit beep = P23; /蜂鳴器IO口定義bit flag_key_b_en,flag_key_set_en; /按鍵蜂鳴器使能uchar smg_i = 3; /顯示數(shù)碼管的個(gè)

23、位數(shù)bit flag_300ms ;bit key_500ms ;long distance; /距離uint set_d; /距離bit flag_csb_juli; /超聲波超出量程uint flag_time0; /用來保存定時(shí)器0的時(shí)候的/ 按鍵的IO變量的定義uchar key_can; /按鍵值的變量uchar zd_break_en,zd_break_value; /自動(dòng)退出設(shè)置界面uchar menu_shudu = 10; /用來控制連加的速度bit flag_lj_en; /按鍵連加使能bit flag_lj_3_en; /按鍵連3次連加后使能 加的數(shù)就越大了 uchar

24、key_time,flag_value; /用做連加的中間變量uchar menu_1; /菜單設(shè)計(jì)的變量uchar a_a;/*1ms延時(shí)函數(shù)*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<120;j+);/*處理距離函數(shù)*/void smg_display()dis_smg0 = smg_dudistance % 10;dis_smg1 = smg_dudistance / 10 % 10;dis_smg2 = smg_dudistance / 100 % 10 & 0x7f;/*把數(shù)據(jù)保存到單片機(jī)內(nèi)部

25、eepom中*/void write_eepom()SectorErase(0x2000);byte_write(0x2000, set_d % 256);byte_write(0x2001, set_d / 256);byte_write(0x2058, a_a);/*把數(shù)據(jù)從單片機(jī)內(nèi)部eepom中讀出來*/void read_eepom()set_d = byte_read(0x2001);set_d <<= 8;set_d |= byte_read(0x2000);a_a = byte_read(0x2058);/*開機(jī)自檢eepom初始化*/void init_eepom(

26、)read_eepom();/先讀if(a_a != 1)/新的單片機(jī)初始單片機(jī)內(nèi)問EEPOMset_d = 100;a_a = 1;write_eepom();/*獨(dú)立按鍵處理函數(shù)*/void key()static uchar key_new = 0,key_old = 0,key_value = 0;if(key_new = 0) /按鍵松開的時(shí)候做松手檢測if(P2 & 0x07) = 0x07)key_value +;else key_value = 0;if(key_value >= 5)key_value = 0;key_new = 1;flag_lj_en = 0

27、;/關(guān)閉連加使能flag_lj_3_en = 0;/關(guān)閉3秒后使能flag_value = 0;/清零key_time = 0;write_eepom();else if(P2 & 0x07) != 0x07)key_value +; /按鍵按下的時(shí)候else key_value = 0;if(key_value >= 5)key_value = 0;key_new = 0;flag_lj_en = 1; /連加使能zd_break_en = 1; /自動(dòng)退出設(shè)置界使能zd_break_value = 0; /自動(dòng)退出設(shè)置界變量清零flag_key_b_en = 1; /按鍵蜂鳴

28、器使能key_can = 20;if(key_500ms = 1)/連加key_500ms = 0;key_new = 0;key_old = 1;zd_break_value = 0;if(key_new = 0) && (key_old = 1)switch(P2 & 0x07)case 0x06: key_can = 3; break; /得到k2鍵值case 0x05: key_can = 2; break; /得到k3鍵值case 0x03: key_can = 1; break; /得到k4鍵值/dis_smg3 = smg_dukey_can % 10;

29、key_old = key_new; void smg_we_switch(uchar i)switch(i)case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1;

30、smg_we4 = 0; break;/*數(shù)碼顯示函數(shù)*/void display()static uchar i; i+;if(i >= smg_i)i = 0;/P1 = 0xff; /段選 /P3 = 0xf0 | (P3 & 0x0f); /位選/P3 = smg_wei | (P3 & 0x0f); /位選smg_we_switch(i);P1 = dis_smgi; /段選 void delay()_nop_(); /執(zhí)行一條_nop_()指令就是1us_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

31、/*超聲波測距程序*/void send_wave()c_send = 1; /10us的高電平觸發(fā) delay();c_send = 0; TH0 = 0; /給定時(shí)器0清零TL0 = 0;TR0 = 0; /關(guān)定時(shí)器0定時(shí)flag_hc_value = 0;while(!c_recive); /當(dāng)c_recive為零時(shí)等待TR0=1;while(c_recive) /當(dāng)c_recive為1計(jì)數(shù)并等待flag_time0 = TH0 * 256 + TL0;if(flag_hc_value > 1) | (flag_time0 > 65000) /當(dāng)超聲波超過測量范圍時(shí),顯示3個(gè)

32、888TR0 = 0;flag_csb_juli = 2;distance = 888;flag_hc_value = 0;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)TR0=0; /關(guān)定時(shí)器0定時(shí)distance = TH0; /讀出定時(shí)器0的時(shí)間distance = distance * 256 + TL0;distance +=( flag_hc_value * 65536);/算出超聲波測距的時(shí)間 得到單位是msdistance *= 0.017; / 0.017 = 340M / 2 = 170M = 0.017M 算出來是米

33、if(distance > 350) /距離 = 速度 * 時(shí)間distance = 888; /如果大于3.8m就超出超聲波的量程 /*定時(shí)器0、定時(shí)器1初始化*/void time_init() EA = 1; /開總中斷TMOD = 0X11; /定時(shí)器0、定時(shí)器1工作方式1ET0 = 1; /開定時(shí)器0中斷 TR0 = 1; /允許定時(shí)器0定時(shí)ET1 = 1; /開定時(shí)器1中斷 TR1 = 1; /允許定時(shí)器1定時(shí)/*按鍵處理數(shù)碼管顯示函數(shù)*/void key_with()if(key_can = 1)menu_1 +;if(menu_1 >= 2)menu_1 = 0;i

34、f(menu_1 = 0)menu_shudu = 20;dis_smg0 = smg_dudistance % 10; dis_smg1 = smg_dudistance / 10 % 10 ; dis_smg2 = smg_dudistance / 100 % 10 & 0x7f; smg_i = 3;if(menu_1 = 1)menu_shudu = 1;dis_smg0 = smg_duset_d % 10; dis_smg1 = smg_duset_d / 10 % 10; dis_smg2 = smg_duset_d / 100 % 10 & 0x7f ; dis

35、_smg3 = 0x88;smg_i = 4;if(menu_1 = 1)/設(shè)置高溫報(bào)警if(flag_lj_3_en = 0) /三次連加之后速度加快menu_shudu = 10 ; /500ms 加減一次else menu_shudu = 1; /250ms 加減一次if(key_can = 2)set_d + ;/按鍵按下未松開自動(dòng)加三次if(set_d > 350)set_d = 350;dis_smg0 = smg_duset_d % 10; /取小數(shù)顯示dis_smg1 = smg_duset_d / 10 % 10 ; /取個(gè)位顯示dis_smg2 = smg_duset

36、_d / 100 % 10 & 0x7f; /取十位顯示dis_smg3 = 0x88; /aif(key_can = 3)set_d - ;/按鍵按下未松開自動(dòng)加三次if(set_d <= 1)set_d = 1;dis_smg0 = smg_duset_d % 10; /取小數(shù)顯示dis_smg1 = smg_duset_d / 10 % 10 ; /取個(gè)位顯示dis_smg2 = smg_duset_d / 100 % 10 & 0x7f ; /取十位顯示dis_smg3 = 0x88; /a/write_eepom(); /*報(bào)警函數(shù)*/void clock_h_

37、l()static uchar value;if(distance <= set_d)value +; /消除實(shí)際距離在設(shè)定距離左右變化時(shí)的干擾if(value >= 5)beep = beep; /蜂鳴器報(bào)警else value = 0; beep = 1;/取消報(bào)警/*按鍵按下蜂鳴器響下*/ void key_beep()static uint value;if(flag_key_b_en = 1) && (flag_key_set_en = 1)beep = 0; /打開蜂鳴器 value +;if(value > 800)value = 0;flag_key_b_en = 0;beep = 1;/關(guān)閉蜂鳴器void main()sen

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論