下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、指導(dǎo)教師評(píng)定成績(jī):審定成績(jī):_自動(dòng)化學(xué)院計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)單位(二級(jí)學(xué)院):_學(xué)生 姓名:_專業(yè):_班級(jí):_學(xué)號(hào):_指導(dǎo) 教師:_負(fù)責(zé) 項(xiàng)目:_設(shè)計(jì)時(shí)間:二。一四 年五月自動(dòng)化學(xué)院制目錄一、設(shè)計(jì)題目 . . 0基于 51 單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì) . 0設(shè)計(jì)要求 . 0摘要 . . 1二、設(shè)計(jì)報(bào)告正文 . 22.1超聲波測(cè)距原理 . 22.2系統(tǒng)總體方案設(shè)計(jì) . 32.3主要元件選型及其結(jié)構(gòu) . 42.4硬件實(shí)現(xiàn)及單元電路設(shè)計(jì) . 92.5系統(tǒng)的軟件設(shè)計(jì) . 12三、設(shè)計(jì)總結(jié) . . 17四、參考文獻(xiàn) . . 17五、附錄 . . 18附錄一:
2、總體電路圖 . 18附錄二:系統(tǒng)源代碼 . 18、設(shè)計(jì)題目基于 51 單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)設(shè)計(jì)要求1 1、以 5151 系列單片機(jī)為核心,控制超聲波測(cè)距系統(tǒng);2 2、測(cè)量范圍為:2cm4m2cm4m 測(cè)量精度:1cm1cm3 3、通過鍵盤電路設(shè)置報(bào)警距離,測(cè)出的距離通過顯示電路顯示出來;4 4、當(dāng)所測(cè)距離小于報(bào)警距離時(shí),聲光報(bào)警裝置報(bào)警加以提示;5 5、設(shè)計(jì)出相應(yīng)的電子電路和控制軟件流程及源代碼,并制作實(shí)物。摘要超聲波具有傳播距離遠(yuǎn)、 能量耗散少、 指向性強(qiáng)等特點(diǎn), 在實(shí)際應(yīng)用中常利 用這些特點(diǎn)進(jìn)行距離測(cè)量。超聲波測(cè)距具有非接觸式、測(cè)量快速、計(jì)算簡(jiǎn)單、應(yīng) 用性強(qiáng)的特點(diǎn),在汽車倒車?yán)走_(dá)系統(tǒng)
3、、 液位測(cè)量等方面應(yīng)用廣泛。 本次課設(shè)利用 超聲波傳播中距離與時(shí)間的關(guān)系為基本原理,以 STC89C52STC89C52 單片機(jī)為核心進(jìn)行控 制及數(shù)據(jù)處理,通過外圍電源、顯示、鍵盤、聲光報(bào)警等電路實(shí)現(xiàn)系統(tǒng)供電、測(cè) 距顯示、報(bào)警值設(shè)置及報(bào)警提示的功能。軟件部分采用了模塊化的設(shè)計(jì), 由系統(tǒng) 主程序及各功能部分的子程序組成。 超聲波回波信號(hào)輸入單片機(jī), 經(jīng)單片機(jī)綜合 分析處理后實(shí)現(xiàn)其預(yù)定功能。關(guān)鍵詞:STC89C5 單片機(jī);HC-SR04;超聲波測(cè)距1、設(shè)計(jì)報(bào)告正文2.1 超聲波測(cè)距原理常用的超聲測(cè)距的方法是回聲探測(cè)法,超聲波發(fā)射器向某一方向發(fā)射超聲 波,在發(fā)射時(shí)刻的同時(shí)計(jì)數(shù)器開始計(jì)時(shí), 超聲波在空
4、氣中傳播,途中碰到障礙物 面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計(jì)時(shí)。設(shè)超聲波在空氣中的傳播速度為 340m/s340m/s (不計(jì)介質(zhì)溫度變化對(duì)速度的影響),根據(jù) 計(jì)時(shí)器記錄的時(shí)間 t t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物面的距離 s s,即:s=340t/2s=340t/2。如圖 2-12-1 所示:圖 2-1 超聲波的測(cè)距原理H Seosarctg(呂)H式中:L L 兩探頭中心之間距離的一半;又知道超聲波傳播的距離為:2S vt( 2-32-3)式中:v v 超聲波在介質(zhì)中的傳播速度;(2-1(2-1)(2-2(2-2)超聲波接收?qǐng)D 2-2 系統(tǒng)硬件框圖t t超聲波從
5、發(fā)射到接收所需要的時(shí)間;2鍵盤模塊聲光報(bào)警電路將式 2-12-1、2-22-2、2-32-3 聯(lián)立 得:1Lvtcosarctg 時(shí),V=349m/s);,V=349m/s);當(dāng)需要測(cè)量的距離 H H 遠(yuǎn)遠(yuǎn)大于 L L 時(shí),上式變?yōu)? :H vt2所以, ,只要需要測(cè)量出超聲波傳播的時(shí)間 t,t,就可以得出測(cè)量的距離 H.H.2.2 系統(tǒng)總體方案設(shè)計(jì)本超聲波測(cè)距系統(tǒng)由系統(tǒng)硬件電路及軟件程序?qū)崿F(xiàn)兩部分構(gòu)成。其中由 STC89C5STC89C5 單片機(jī)最小系統(tǒng)、HC-SR04HC-SR04 超聲波模塊、電源接口電路、4 4 位共陽(yáng)極數(shù) 碼管顯示電路、三極管驅(qū)動(dòng)電路、蜂鳴器聲光報(bào)警電路及鍵盤電路構(gòu)成
6、硬件系統(tǒng)。 以 STC89C52STC89C52片機(jī)為核心,通過觸發(fā)信號(hào)控制 HC-SR04HC-SR04 超聲波測(cè)距模塊發(fā)射超 聲波并接收回波,測(cè)算出前方障礙的距離,輸入單片機(jī)進(jìn)行運(yùn)算,與預(yù)設(shè)報(bào)警距 離比較后判斷是否啟動(dòng)蜂鳴器聲光報(bào)警裝置。根據(jù)系統(tǒng)功能要求及模塊劃分可繪制出系統(tǒng)硬件框圖,如圖2-22-2 所示:電源接口電路(2-4(2-4)其中, ,超聲波的傳播速度v v 在一定的溫度下是一個(gè)常數(shù)( (例如在溫度 T=30T=30 度(2-5(2-5)超聲波測(cè)距模塊卜、STC89C522 單片機(jī)最小系統(tǒng)圖 2-2 系統(tǒng)硬件框圖2.3 主要元件選型及其結(jié)構(gòu)2.3.1 STC89C52 芯片ST
7、C89C5STC89C5 是 STCSTC 公司生產(chǎn)的一種低功耗、高性能 CMOSCMOS 位微控制器,具有 8K8K 在系統(tǒng)可編程 FlashFlash 存儲(chǔ)器。工作電壓:5.5V5.5V3.3V3.3V0 0STC89C5STC89C5 使用經(jīng)典的 MCS-51MCS-51 內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng) 5151 單片機(jī)不具備的功能。在單芯片 上,擁有靈巧的 8 8 位 CPUCPU 和在系統(tǒng)可編程 FlashFlash,使得 STC89C52STC89C52 為眾多嵌入式 控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k8k 字節(jié)FlashFlash ,512,
8、512 字節(jié) RAMRAM 3232 位 I/OI/O 口線,看門狗定時(shí)器,內(nèi)置 4KBEEPRO,MMAX8104KBEEPRO,MMAX810 復(fù)位電路,3 3個(gè) 1616 位定時(shí)器/ /計(jì)數(shù)器,4 4 個(gè)外部中斷,一個(gè) 7 7 向量 4 4 級(jí)中斷結(jié)構(gòu) (兼容傳統(tǒng) 5151 的 5 5 向量 2 2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52STC89C52 可降至 0Hz0Hz 靜態(tài)邏輯操作,支持 2 2 種軟件可選擇節(jié)電模式??臻e模式下,CPUCPU 停止工作, 允許 RAMRAM 定時(shí)器/ /計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAMRAM 內(nèi)容被保存,振蕩器被凍結(jié),
9、單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 最高運(yùn)作頻率 35MHz35MHz 6T/12T6T/12T 可選。其引腳圖如圖 2-32-3 所示:圖 2-3 STC89C52 引腳圖匚匚匚UUUUIJ ULnJUduuuLJrluu23(!3; STC89C2RC a a引腳圖b b實(shí)物圖2.3.2 HC-SR04 超聲波模塊HC-SR04HC-SR04 超聲波模塊具有性能穩(wěn)定、測(cè)度距離精確、模塊高精度、盲區(qū)小等 特點(diǎn),使用簡(jiǎn)單易操作,常用于距離測(cè)量。其原理圖及實(shí)物圖如圖 2-42-4、圖 2-52-5 所示:圖 2-4 HC-SR04 超聲波模塊原理圖圖 2-5 HC-SR04 超聲
10、波模塊實(shí)物圖圖 2-6 超聲波時(shí)序圖(1)(1)接線方式: VCCVCC 接電源) )、 TrigTrig(控制端)、EchoEcho ( (接收端)、GNGN(接 地)(2)(2) 基本工作原理:a.a.采用 I/OI/O 口 TRIGTRIG 觸發(fā)測(cè)距,給至少 10us10us 的高電平信號(hào);b.b.模塊自動(dòng)發(fā)送 8 8 個(gè) 40kHz40kHz 的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;c.c.有信號(hào)返回,通過 I/OI/O 口 ECHOECHO 輸出一個(gè)高電平,同時(shí)開始計(jì)時(shí)直到此口 變?yōu)榈碗娖剑唠娖匠掷m(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(=(高電平時(shí)間* *聲速(340M/S)/2
11、(340M/S)/2。(3(3)電氣參數(shù)電氣參數(shù)IIC-SR04 超聲波模塊1 作吐壓DC 5V15mA工作頻率40H1垠遠(yuǎn)射程hn嚴(yán)近射程2cm1$度輸入觸發(fā)佇號(hào)lOuS的 TIL 1床沖輸出團(tuán)響信號(hào)輸出丁 TL電Jj肘打成比例規(guī)格尺 145*20*15imn|表 1 HC-SR04 電氣參數(shù)表(4(4)超聲波時(shí)序圖l( (h國(guó)ITL模塊內(nèi)部發(fā)出信號(hào)輸出回響回響電平編出信號(hào)與悄測(cè)距篦成比例(5 5)操作:初始化時(shí)將 trigtrig 和 echoecho 端口都置低,首先向給trigtrig 發(fā)送至少 1010 usus的高電平脈沖(模塊自動(dòng)向外發(fā)送 8 8 個(gè) 40kHz40kHz 的方波
12、), 然后等待, 捕捉 echoecho 端輸出上升沿,捕捉到上升沿的同時(shí),打開定時(shí)器開始計(jì)時(shí),再次等待捕捉 echoecho 的下降沿,當(dāng)捕捉到下降沿,讀出計(jì)時(shí)器的時(shí)間,這就是超聲波在空氣中運(yùn)行的 時(shí)間,按照測(cè)試距離=(=(高電平時(shí)間* *聲速(340M/S)/2(340M/S)/2 就可以算出超聲波到障礙 物的距離。2.3.3 4 位共陽(yáng)數(shù)碼管(1)共陽(yáng)數(shù)碼管的實(shí)物圖、原理圖如圖2-72-7、圖2-82-8 所示:H日日日?qǐng)D 2-7 4 位共陽(yáng)數(shù)碼管實(shí)物圖6;6;01019 9 O O G G 0 0 圖 2-6 超聲波時(shí)序圖(2) 工作原理:共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形
13、成公共陽(yáng)極(COM(COM 的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極 COMSCOMS 到+5V,+5V,當(dāng)某一字段發(fā)光二極管的 陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就 不亮。(3) 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)圖 2-9 單片機(jī)最小系統(tǒng)動(dòng)是將所有數(shù)碼管的 8 8 個(gè)顯示筆劃a,b,c,d,e,f,g,dpa,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極 COMCOM 曾加位選通控制電路,位選通由各自獨(dú)立的 I/OI/O 線控 制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,
14、但究竟是那個(gè) 數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通 COKCOK 端電路的控制,所以我們只要 將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的 COMCOM 端 就使各個(gè)數(shù)碼管輪流受控顯 示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1 12ms2ms由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù), 不會(huì) 有閃爍感。2.4 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)(1)單片機(jī)最小系統(tǒng)單片機(jī)系統(tǒng)由電源、晶振電路、復(fù)位電路組成。如圖2-92-9 所示:
15、GNDU1XTAL1XTAL2SIP15PSENALEEAPC.7/AD7P2.5/A13P2.6/A14P2.7/A15P1.0/T2P3.01RXOF10p?iF憶P12M3R4ID20pFC320pF10kCRYSTAL TE AT-RSTPfl.O/ADOPC.1/AD1PO.Z/APZP0.3ZADBP(l.4fAD4P0.5/AD6? TI0110uFP2.o/eP2-卄越P2.2/A10P2.3/A11PI.2P1.3P1.4 P1 5P1.6P1.7P3.2/INTDP3.3/INT1P3.4TOP3-5/T1P3.0AWF3.7/RIDSTC89C52C3938373635衲
16、3221P2D22F21亠24P23亠25282728101112 Trig-木13Echo14P34IP35 :16psfe*17P37,圖 2-9 單片機(jī)最小系統(tǒng)(2) 電源接口電路設(shè)計(jì)電源部分的設(shè)計(jì)采用 3 3 節(jié) 5 5 號(hào)干電池 4.5V4.5V 供電,如圖 2-102-10 所示:(3) 超聲波模塊接口HC-SR04HC-SR04 超聲波模塊接口如圖 2-112-11 所示:圖 2-11 HC-SR04 超聲波模塊接口(4)4 4 位共陽(yáng)極數(shù)碼管顯示電路及三極管驅(qū)動(dòng)電路 顯示電路如圖 2-122-12 所示:圖 2-12 4 位共陽(yáng)數(shù)碼管顯示電路當(dāng) I/OI/O 口輸出低電平時(shí),相
17、應(yīng)段被選通,反之則不然。三極管驅(qū)動(dòng)電路如圖 2-132-13 所示:圖 2-13 三極管驅(qū)動(dòng)電路當(dāng) I/OI/O 口輸出低電平時(shí),相應(yīng)位被選通,反之則不然。(5)聲光報(bào)警電路的設(shè)計(jì)聲光報(bào)警電路如圖 2-142-14 所示:聲光報(bào)警電路由一個(gè)蜂鳴器、一個(gè)三極管、一個(gè)發(fā)光二極管、兩個(gè)電阻構(gòu)成。 其中電阻起限流的作用,當(dāng) I/OI/O 口輸出低電平時(shí),三極管飽和導(dǎo)通,蜂鳴器報(bào)警、 LEDLED 亮,反之則不報(bào)警。(6)鍵盤電路的設(shè)計(jì)鍵盤電路如圖 2-152-15 所示:2.5 系統(tǒng)的軟件設(shè)計(jì)1 1)各主要模塊1超聲波測(cè)距模塊。 給超聲波 TrigTrig 口至少 10us10us 的高電平, 啟動(dòng)測(cè)
18、量, 定時(shí) 器 T0T0計(jì)時(shí),通過計(jì)算測(cè)得距離。2顯示模塊。 包括數(shù)碼管位選函數(shù)、 段選函數(shù)及距離處理顯示模塊。 將超聲 波測(cè)距測(cè)量值、報(bào)警設(shè)定值顯示在 4 4 位數(shù)碼管上。3鍵盤模塊。 由鍵盤檢測(cè)函數(shù)及鍵盤處理函數(shù)組成。 有設(shè)定鍵、加鍵、減鍵、 復(fù)位鍵、開關(guān)鍵。主要設(shè)置報(bào)警值。4聲光報(bào)警模塊。 將測(cè)量值與設(shè)定報(bào)警值比較,若小于設(shè)定值,報(bào)警。5特殊存儲(chǔ)器 eepomeepom 模塊。包括單片機(jī) eepomeepom 存儲(chǔ)器讀、寫操作以及初始化。 其內(nèi)存儲(chǔ)設(shè)定報(bào)警值,掉電數(shù)據(jù)不丟失。6定時(shí)器模塊。TOTO 定時(shí)器用于超聲波測(cè)距的計(jì)時(shí)。T1T1 定時(shí)器用于主程序掃 描時(shí)間的控制。(2 2)主程序源
19、代碼void main()send_wave(); smg_display(); time_init();init_eepom();while(1)if(flag_300ms = 1)flag_300ms = 0; clock_h_l();send_wave(); if(menu_1 = 0)smg_display(); if(zd_break_en = 1)zd_break_value +;if(zd_break_value 100)menu_1 = 0; smg_i =3; zd_break_en = 0;zd_break_value = 0;/測(cè)距離函數(shù)/處理距離顯示函數(shù)/定時(shí)器初始化/
20、初始化 eepom (讀取 set_d)/300ms 執(zhí)行一次/報(bào)警函數(shù)/測(cè)距離函數(shù)/沒有鍵按下時(shí)才給緩沖數(shù)組賦新值/處理距離顯示函數(shù)/自動(dòng)退出設(shè)置界面程序/每 300ms 加一次/30 秒后自動(dòng)退出設(shè)置界面 key();if(key_ca n c*! w*3是抄1:中創(chuàng)y.5 es爭(zhēng)皿F rijLI13Q1/JH-|曲 PR E.咖 咽fUtfiUb:D.FF1PisAP1S pirPI*3r |L_-TE-C3ROb3-n郭天祥.電子工業(yè)出版社 機(jī)械工業(yè)出版社 人民郵電出版社圖 5-1 超聲波探測(cè)程序流程圖sbit beep = P2A3;/ 蜂鳴器 IO 口定義附錄二:系統(tǒng)軟件源代碼/*
21、課設(shè)名稱:基于 51 單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)*硬件平臺(tái) : 超聲波模塊 +51 最小系統(tǒng)*顯示模塊: 4 個(gè)數(shù)碼管*輸入模塊: 3 個(gè)按鍵 *實(shí)現(xiàn)的功能:用超聲波模塊把距離測(cè)量出來,用數(shù)碼管顯示,可通過按鍵設(shè)置要報(bào)警的距 離,低于設(shè)置*的值則自動(dòng)報(bào)警,一直按住調(diào)值的鍵會(huì)越加越快,超出量程(3.8m)則顯示 888*接口說明:數(shù)碼管位 P3A4 P3A5 P3A6 P3A7*超聲波發(fā)射=卩3人2*超聲波接收 =P3A3按鍵用的接口是 P2 口*待改進(jìn)的地方:溫度補(bǔ)償,提高精度* 當(dāng)前的缺陷: 不能測(cè)出 4m 的距離*測(cè)量單位:米( m)*/#include #include #include
22、 #include #define uchar unsigned char#define uint unsigned int/數(shù)碼管段選定義設(shè) 0123456789uchar code smg_duan=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/數(shù)碼管位選uchar dis_smg4 =0,1,2,3;sbit smg_we1 = P3A4; sbit smg_we2 =P3A5; sbit smg_we3 = P3A6; sbitsmg_we4 = P3A7; sbit c_send = P3A1;sbit c_
23、recive = P3A0; ucharflag_hc_value;/數(shù)碼管位選端口/超聲波發(fā)射/超聲波接收/超聲波中間變量void display()static uchar i;i+;if(i = smg_i)i = 0; smg_we_switch(i); P1 =dis_smgi;uchar smg_i = 3;bit flag_300ms ;/ 顯示數(shù)碼管的個(gè)數(shù): 3 /主程序300ms 處理一次的標(biāo)識(shí)符bit key_500mslong distance;uint set_d;uchar flag_csb_long flag_time0;/按鍵程序 500ms 處理一次的標(biāo)識(shí)符/定
24、義測(cè)量距離/定義設(shè)定距離/超聲波超出量程/按鍵的 IO 變量的定義uchar key_can;/ 按鍵值的變量uchar zd_break_en,zd_break_value; /自動(dòng)退出設(shè)置界面uchar menu_ljsd = 10;bit flag_lj_en;bit flag_lj_3_en; ucharkey_time; ucharflag_value; ucharmenu_1; uchar a_a;/用來控制連加的速度/按鍵連加使能/按鍵連 3 次連加后使能 加的數(shù)就越大了 /定時(shí)器用,作為連加的中間變量,按鍵時(shí)間 /定時(shí)器用,作為連加的中間變量/菜單設(shè)計(jì)的變量 /設(shè)定值寫入單片機(jī)
25、標(biāo)志符數(shù)碼管位選函數(shù) */void smg_we_switch(uchar i)/*switch(i)case 3: smg_we1 = 0;case 2: smg_we1 = 1;case 1: smg_we1 = 1;case 0: smg_we1 = 1;smg_we2 = 1; smg_we3 = 1;smg_we2 = 0; smg_we3 = 1;smg_we2 = 1; smg_we3 = 0;smg_we2 = 1; smg_we3 = 1;smg_we4 = 1; break;smg_we4 = 1; break;smg_we4 = 1; break;smg_we4 = 0;
26、 break;*數(shù)碼管顯示函數(shù)*/smg_i=3 ,/調(diào)用位選函數(shù)/段選/*把數(shù)據(jù)保存到單片機(jī)內(nèi)部 eepom 中*/void write_eepom()void read_eepom()set_d = byte_read(0 x2001);set_d = 5)/確認(rèn)無鍵按下eepom 中讀出來 */讀出 set_d 值key_value = 0;key_new = 1;flag_lj_en = 0;flag_lj_3_en = 0;flag_value = 0;key_time = 0;write_eepom();elseif(P2 & 0 x07) != 0 x07)key_val
27、ue +;else/置位 key_new ,表初始無鍵按下/關(guān)閉連加的使能/關(guān)閉 3 秒后連加的使能/連加變量清零/值(set_d)寫入單片機(jī)/初始無鍵按下/按鍵檢測(cè)( 5 次)key_value = 0;if(key_value = 5)key_value = 0;key_new = 0;flag_lj_en = 1;zd_break_en = 1;zd_break_value = 0;/確認(rèn)按鍵/連加使能/自動(dòng)退出設(shè)置界使能/自動(dòng)退出設(shè)置界變量清零, 30 秒后退出設(shè)置界面key_can = 20;if(key_500ms = 1)II連按 500ms,啟動(dòng)連加key_500ms = 0;
28、key_new = 0;key_old = 1;zd_break_value = 0;自動(dòng)退出設(shè)置界變量清零,30 秒后退出設(shè)置界面if(key_new = 0) & (key_old = 1)switch(P2 & 0 x07)case 0 x06: key_can =1; break; case 0 x05: key_can = 2; break;case 0 x03: key_can = 3; break; 確認(rèn)有鍵按下II 得到 k2 鍵值(設(shè)定鍵)II 得到 k3 鍵值(加)II 得到 k4 鍵值(減)key_old = key_new;II 初始化標(biāo)識(shí)符/*按鍵處理
29、數(shù)函數(shù) */void key_with()if(key_can = 1)/ 得到 k2 鍵值(設(shè)定鍵)menu_1 +;if(menu_1 = 2)menu_1 = 0;if(menu_1 = 0)/退出設(shè)定界面menu_ljsd = 10;dis_smg0 = smg_duandistance % 10; dis_smg1 =smg_duandistance / 10 % 10 ;dis_smg2 = smg_duandistance / 100 % 10 & 0 x7f;smg_i = 3;/ 連加速度控制變量(復(fù)位為 500ms) /測(cè)量值顯示用if(menu_1 = 1)/設(shè)置
30、界面menu_ljsd = 1;dis_smg0 = smg_duanset_d % 10; dis_smg1 =smg_duanset_d / 10 % 10;dis_smg2 = smg_duanset_d / 100 % 10 & 0 x7f ;dis_smg3 = 0 x88;smg_i = 4;/ 連加速度變量( 50ms)/設(shè)定值顯示用/A ,設(shè)定值修改標(biāo)識(shí)符if(menu_1 = 1)if(flag_lj_3_en = 0) menu_ljsd = 10 ;else menu_ljsd = 1;if(key_can = 2)set_d + ; if(set_d 350)
31、set_d = 350;dis_smg0 = smg_duanset_d % 10; dis_smg1 =smg_duanset_d / 10 % 10 ; dis_smg2 =smg_duanset_d / 100 % 10 & 0 x7f; dis_smg3 =0 x88;/設(shè)置報(bào)警值/三次連加之后速度加快/500ms 加 減一次/50ms 加減一次/ 得到 k3 鍵值(加)/設(shè)定值顯示if(key_can = 3)/得到 k4 鍵值(減)set_d - ;if(set_d =0;i-)nop();/*void sen d_wave()long temp = 888;c_send
32、= 1;delay(); c_send =0;TH0 = 0;TL0 = 0;/10us 的高電平觸發(fā)/給定時(shí)器 0 清零*延遲函數(shù)(10us,超聲波發(fā)射需要)*/定時(shí)器 0、定時(shí)器 1 初始化 */*void time_init()EA = 1;TMOD = 0X11;ET0 = 1;TR0 = 1;ET1 = 1;TR1 = 1;/執(zhí)行一條_nop_()指令就是 1us超聲波測(cè)距程序 *TR0 = 0; flag_hc_value = 0;while(!c_recive);/當(dāng) c_recive 為零時(shí)等待TR0=1;while(c_recive)/當(dāng) c_recive 為 1 計(jì)數(shù)并等待
33、flag_time0 = TH0 * 256 + TL0;if(flag_hc_value 1) |(flag_time0 21000)/當(dāng)超聲波超過測(cè)量范圍時(shí),個(gè) 888TR0 = 0; flag_csb_juli = 2;temp = 888; flag_hc_value= 0; break ;elseflag_csb_juli = 1;if(flag_csb_juli = 1)TR0=0;EA = 0; temp = TH0;temp = temp * 256 + TL0; temp/= 59;=T*uS/58.823EA = 1; if(temp 380)temp = 888;EA = 0; distance = temp;EA = 1;int iBuff5;void choise(int *a,int n)/關(guān)定時(shí)器 0 定時(shí)顯示 3/距離處理/關(guān)定時(shí)器 0 定時(shí)/讀出定時(shí)器 0 的時(shí)間/HC-SR04 超聲波模塊 距離(厘米)/ 如果大于 3.8m 就超出超聲波的量程/距離*冒泡排序(最大值沉底)*/選擇法排序int i,j,k,temp; for(i=0;in-1;i+) k=i;for(j=i+1;jaj) k=j;if(i!=k) temp=ai; ai=ak;ak=temp;void smg_display()int Buf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《房地產(chǎn)策劃與運(yùn)營(yíng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 淫羊藿培育項(xiàng)目可行性研究報(bào)告-淫羊藿市場(chǎng)需求持續(xù)增大
- 貴陽(yáng)人文科技學(xué)院《聚合物改性原理及方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州中醫(yī)藥大學(xué)《英語教師核心素養(yǎng)解讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025山東省安全員-B證考試題庫(kù)附答案
- 2025年云南省安全員《A證》考試題庫(kù)及答案
- 廣州應(yīng)用科技學(xué)院《建筑給排水與消防》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州現(xiàn)代信息工程職業(yè)技術(shù)學(xué)院《增材制造技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025黑龍江省建筑安全員C證(專職安全員)考試題庫(kù)
- 2025年河南省建筑安全員-C證(專職安全員)考試題庫(kù)
- SYT 6276-2014 石油天然氣工業(yè)健康、安全與環(huán)境管理體系
- 注射用更昔洛韋的臨床療效研究
- 小學(xué)三年級(jí)上冊(cè)豎式計(jì)算題
- 機(jī)場(chǎng)亮化工程
- 2024年青海西部機(jī)場(chǎng)集團(tuán)青海機(jī)場(chǎng)有限公司招聘筆試參考題庫(kù)含答案解析
- 中國(guó)綠色建筑現(xiàn)狀與未來展望
- 陜西省安康市石泉縣2023-2024學(xué)年九年級(jí)上學(xué)期期末考試英語試題
- 2024立式圓筒形鋼制焊接常壓儲(chǔ)罐在用檢驗(yàn)技術(shù)規(guī)范
- 人教版高中生物必修一同步練習(xí)全套(含答案解析)
- 2023年非標(biāo)自動(dòng)化工程師年度總結(jié)及來年計(jì)劃
- 2023-2024學(xué)年甘肅省嘉峪關(guān)市酒鋼三中高三上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論