freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的超聲波測距倒車?yán)走_(dá)設(shè)計(jì)-精品-閱讀頁

2024-12-27 09:20本頁面
  

【正文】 和控制信號(hào)。當(dāng) P3 口寫入 “ 1” 后,它們被內(nèi)部上拉為高電平,并用作輸入。 P3 口也可作為 AT89C51 的一些特殊功能口,如下所示: P3 口管腳備選功能: RXD(串行輸入口 ) TXD(串行輸出口) /INT0(外部中斷 0) /INT1(外部中斷 1) T0(記時(shí)器 0 外部輸入) T1(記時(shí)器 1 外部輸入) /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) RST:復(fù)位輸入。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 3) 振蕩器特性: XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出 。石晶振蕩和陶瓷振蕩均可采用。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。在芯片擦操作中,代碼陣列全被寫 “ 1” 且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。在閑置模式下, CPU 停止工作。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。電源電路如圖 所示。 12 橋堆 2W10: 將交流電壓變?yōu)橹绷麟妷骸U鳂蚱贩N多:有扁形、圓形、方形、板凳形(分直插與貼片)等,有 GPP 與 O/J結(jié)構(gòu)之分。 時(shí)鐘電路 單片機(jī)各種功能部件的運(yùn)行都是以時(shí)鐘控制信號(hào)為基準(zhǔn),有條不紊地一拍一拍地工作。時(shí)鐘電路有兩種設(shè)計(jì)有兩種方式,一是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。 圖 時(shí)鐘電路 圖 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為單片機(jī)的 XTAL1,輸出端為引腳 XTAL2。而電容的大小會(huì)影響振蕩的頻率的高低、振蕩器的穩(wěn)定性和起振的快速性,因此對(duì)于電容選擇是很關(guān)鍵的,我們這次設(shè)計(jì)的時(shí)鐘電路 采用了所提供的 33pF 電容可以構(gòu)成穩(wěn)定的自激振蕩器電路。復(fù)位電平是通過 RST 端經(jīng)電阻與電源 Vcc 接通而實(shí)現(xiàn)的其復(fù)位電路圖如圖 所示。復(fù)位信號(hào)為高電平有效,其有效時(shí)間應(yīng)持續(xù) 24 個(gè)振蕩周期以上才能完成復(fù)位操作。 以上的復(fù)位電路 在通電時(shí),是通過 10uF 的電容充電,并在復(fù)位端口和地之間加 10k歐電阻從而使復(fù)位端口能夠保持高電平,并有效保持復(fù)位按鍵按下后能夠準(zhǔn)確復(fù)位。 HCSR04測距模塊可提供 2cm400cm的非接觸式距離感測功能,測距精度可達(dá)到 3mm,模塊包括超聲波發(fā)射器、接收器和控制電路。測試距離 =(高電平時(shí)間 *聲速( 340M/S)) /2. HCSR04 的外型及引腳如圖 所示, HCSR04 的性能參數(shù)和引腳定義分別如表 和表 所示。 1 0 u s 的 T T L循 環(huán) 發(fā) 出 8 個(gè) 4 0 K H z 脈 沖回 響 電 平 輸 出 與 檢 測 距 離成 正 比觸 發(fā) 信 號(hào)模 塊 內(nèi) 部發(fā) 出 信 號(hào)輸 出 回 響 信 號(hào) 圖 HCSR04超聲波時(shí)序 圖 以上時(shí)序圖表明只需要提供一個(gè) 10us 以上的脈沖觸發(fā)信號(hào),該模塊內(nèi)部將發(fā)出 8 個(gè)40KHZ 周期電平檢測回波,一旦檢測到有回波信號(hào)則輸出 回響信號(hào),回響信號(hào)的脈沖寬度與檢測的距離成正比,由此通過發(fā)射信號(hào)到收到的回響信號(hào)時(shí)間間隔可以計(jì)算得到距離。當(dāng)鎖存使能引腳 LE 為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的(也就是說輸出同步),當(dāng)鎖存使能引腳 LE 變低時(shí),符合建立時(shí)間和保存時(shí)間的數(shù)據(jù)會(huì)被鎖存。 16 表 74HC573 功能表 輸入 D 輸出使能 鎖存使能 輸出 Q H L H H L L H L X L L 不變 X H X 高阻 1874326591 01 11 21 31 41 51 61 71 81 92 0V c cQ 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7L ED 0D 1D 3D 4D 5D 6D 7D 2O EG N D 圖 74HC573 芯片引腳 圖 數(shù)碼管顯示及報(bào)警電路設(shè)計(jì) LED 是發(fā)光二極管的縮寫。 LED數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù) 碼管的各個(gè)段碼,從而顯示出我們要的數(shù)位 。 1) 靜態(tài)顯示驅(qū)動(dòng) 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用 I/O口 多,如驅(qū)動(dòng) 5個(gè)數(shù)碼管靜態(tài)顯示則需要 58= 40個(gè) I/O口來驅(qū) 17 動(dòng),要知道一個(gè) 51單片機(jī)可用的 I/O口 才 32個(gè)。 2) 動(dòng)態(tài)顯示驅(qū)動(dòng) 數(shù) 碼管動(dòng)態(tài)顯示 界 面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃 “a、 b、 c、 d、 e、 f、 g、 dp”的同名端連在一起, 位選通由各自獨(dú)立的 I/O 線控制, 當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是哪 個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位元選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。在輪流顯示過程中,每位元 數(shù)碼管的點(diǎn)亮?xí)r間為 1 ms~ 2 ms, 由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 口,而且功耗更低。 共陽極與共陰極這兩種方法難度差不多,考慮到我自己對(duì)于共陽極的編程更熟悉, 因此在該設(shè)計(jì)中我也采用數(shù)碼管共陽極的接法。根據(jù)所測距離的長短來決定該方波的頻率 ,即蜂鳴器的報(bào)警頻率 。 圖 語音報(bào)警電路 圖 18 圖 數(shù)碼管顯示電路 圖 19 第四章 系統(tǒng)軟件設(shè)計(jì) 本系統(tǒng)的主要功能為發(fā)送超聲波、對(duì)回波進(jìn)行檢測、計(jì)算測量距離、顯示測量距離、聲光報(bào)警 等 。 系統(tǒng)主程序的設(shè)計(jì) 主程序?qū)ο到y(tǒng)環(huán)境初始化后,首先置位回波接收標(biāo)志和由單片機(jī) 口輸出一個(gè) 高 電平以啟動(dòng)超聲波發(fā)射電路,同時(shí)啟動(dòng)定時(shí)器 T0。接著調(diào)用顯示子程序,將測出距離以十進(jìn)制 BCD 碼方式送 LED 顯示,同時(shí)也調(diào)用聲音處理程序,控制蜂鳴器的發(fā)聲。 本設(shè)計(jì)中系統(tǒng)的核心技術(shù)在于距離的測量,精確的測距后通過單片機(jī)來處理數(shù)據(jù)是比較容易實(shí)現(xiàn)的。接收回路中的超聲波信號(hào)共有兩個(gè)波束,第一個(gè)波束為余波信號(hào),即超聲波接收探頭在發(fā)射探頭 發(fā)射 信號(hào)后,馬上就接收到了超聲波信號(hào)。 超聲波在測距時(shí),需要測的是從開始發(fā)射到接收到信號(hào)的聲波往返的時(shí)間差,需要檢測的有效信號(hào)為反射物體反射的回波信號(hào),故要盡量避免檢測到余波信號(hào)。 超聲波接收電路收到回波后,比較器動(dòng)作,發(fā)出有效信號(hào),計(jì)算機(jī)通過外部中斷引腳感受回波信號(hào)的到達(dá)時(shí)間,中斷發(fā)生后表示已接收到回波信號(hào),此時(shí)停止計(jì)時(shí),并讀取計(jì)數(shù)器中的數(shù)值,此數(shù)值即為需要測量的時(shí)間差的數(shù)據(jù)。綜上所述,可得到系統(tǒng)主程序流程圖如圖 所示。當(dāng) 發(fā)出一個(gè)時(shí)長為 10us 的高電平,便可啟動(dòng)超聲波發(fā)生器產(chǎn)生 40KHZ 超聲波,同時(shí)打開定時(shí)器進(jìn)行及時(shí)。在主程序中又會(huì)恢復(fù)定時(shí)器的初值等,依次進(jìn)行循環(huán)。 中斷處理程序的設(shè)計(jì) 外 部 中 斷 入 口關(guān) 外 部 中 斷讀 取 時(shí) 間 值計(jì) 算 距 離輸 出 結(jié) 果開 外 部 中 斷返 回 圖 中斷處理程序流程圖 T0 中斷服務(wù)程序負(fù)責(zé)計(jì)算車尾距障礙物的距離,其程序流程圖如圖 所示。進(jìn)入中斷后,立即關(guān)定時(shí)器 T0 和外部中斷 0,讀取時(shí)間值,并給回波接收標(biāo)志位清零,說明成功接 收回波信號(hào)。首先是從定時(shí)器 0 里得到超聲波傳播的時(shí)間,再運(yùn)用公式計(jì)算得出障礙物距離車尾的距離,之后將根據(jù)距離值對(duì)其他模塊進(jìn)行處 22 理。 測距模塊的設(shè)計(jì) 在公式 317 / 10 17 ( )S N N c m? ? ? ?中,顯然知,要得到距離的具體值,只需得到從發(fā)送超聲波到接收到超聲波這個(gè)過程中定時(shí)器 0 的計(jì)數(shù)次數(shù)。當(dāng)接收到信號(hào)時(shí),會(huì)產(chǎn)生一個(gè)低電平給 INT0。 部分源程序見附錄 B。在該設(shè)計(jì)中, 數(shù)碼管 采用共陽極連接,同時(shí)與 P1 口連接進(jìn)行段掃描。 另一方面,根據(jù)計(jì)算結(jié)果的大小,控制蜂鳴器的鳴叫頻率。這個(gè)控制過程可通過單片機(jī)產(chǎn)生一個(gè)方波來實(shí)現(xiàn)。 顯示及報(bào)警程序流程圖如圖 所示。 23 停 止 計(jì) 時(shí)關(guān) 中 斷計(jì) 算 距 離蜂 鳴 器 發(fā) 出 連 續(xù) 的 報(bào) 警 聲返 回距 離 是 否 小 于 3 0 c m顯 示 距 離蜂 鳴 器 發(fā) 出 5 H Z 的 報(bào) 警 聲距 離 是 否 小 于 7 0 c mNYY距 離 是 否 小 于 1 1 0 c m距 離 是 否 小 于 1 5 0 c mNN蜂 鳴 器 發(fā) 出 1 H Z 的 報(bào) 警 聲蜂 鳴 器 發(fā) 出 2 H Z 的 報(bào) 警 聲YY關(guān) 閉 蜂 鳴 器N 圖 顯示及報(bào)警程序流程圖 24 結(jié) 論 按照任務(wù)書要求,在查閱了一定的參考資料后,通過幾番努力,本人完成了 “基于單片機(jī)的超聲波測距倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)”,此 小型模擬系統(tǒng)基本達(dá)到了預(yù)期的目標(biāo),實(shí)現(xiàn)了既定 的功能。 不過目前市場上大多數(shù)倒車?yán)走_(dá)都或多或少存在誤報(bào)警和不報(bào)警的情況,也就是倒車?yán)走_(dá)的穩(wěn)定性問題,這是倒車?yán)走_(dá)關(guān)鍵的性能,探測雷達(dá)所用的超聲波技術(shù)是一種模擬技術(shù)。 本文提出的倒車?yán)走_(dá)設(shè)計(jì)方案硬件電路簡單,具有性能好、成本低的優(yōu)點(diǎn),應(yīng)該具有推廣應(yīng)用的價(jià)值。 for(x=z。x)。y0。 } /*延時(shí)程序 */ void delay_20us() { uchar a。a100。 } /*20us 的延時(shí)程序 */ unsigned int time=0。 unsigned char posit=0。 bit flag =0。 unsigned char disbuff[3] ={ 0,0,0,}。 uint count=0。 sbit TX=P2^0。 sbit DULA=P2^6。 /********************************************************/ void InitTimer0(void) { TH1 = 0x3C。 /*裝入定時(shí)初值 */ EA = 1。 /*打開 T1 中斷 */ TR1 = 1。 P1=(discode[disbuff[0]])amp。 DULA=0。 P1=0x04。 delay(5)。 P1=(discode[disbuff[1]])amp。 DULA=0。 P1=0x02。 delay(5)。 P1=(discode[disbuff[2]])amp。 DULA=0。 P1=0x01。 delay(5)。 TH0=0。 S=(time*)/100。amp。 /*當(dāng)距 離小于 150cm 時(shí),發(fā)出頻率為 1Hz 的聲音 */ if(S 110amp。 S =70) num=5。amp。 /*當(dāng)距離小于 70cm 時(shí),發(fā)出頻率為 5Hz 的聲音 */ if(S 30) num=0。 31 disbuff[0]=10。 //顯示“ ” disbuff[2]=10。 disbuff[1]=S%1000%100/10。 } Display()。 //中斷溢出標(biāo)志 } /********************************************************/ void zd3() interrupt 3 //T1 中斷用來掃描數(shù)碼管模塊 { TH1 = 0x3C。 /*計(jì)數(shù)結(jié)束后重裝定時(shí)器初值 */ if(++count=num) /*計(jì)數(shù)值為 5,從開始的 10Hz 得到 2Hz 的頻率 */ { count=0。 /*若已到 250ms,就改變 PZ 電平 */ } } /*********************************************************/ 32 void main() { InitTimer0() 。 //設(shè) T0 為方式 1, GATE=1; TH0=0。 ET0=1。 //允許 T1 中斷 TR1=1。 //開啟總中斷 while(1) { EA=0。 /*超聲波發(fā)生器復(fù)位有效 */ delay_20us()。 /*產(chǎn)生一個(gè) 20us 的脈沖 */ while(!RX)。 //開啟計(jì)數(shù) while(RX)。 //關(guān)閉計(jì)數(shù) Conut(
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1