




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢 業(yè) 設(shè) 計(jì)基于51單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)姓 名 院(系) 專業(yè)班級(jí) 學(xué) 號(hào) 指導(dǎo)教師 職 稱 論文答辯日期 2013年 月 日摘 要 本文旨提出了一種基于51單片機(jī)的超聲波測(cè)距系統(tǒng)。本系統(tǒng)通過超聲波模塊進(jìn)行數(shù)據(jù)測(cè)量,后經(jīng)單片處理和計(jì)算,最終通過數(shù)碼管顯示出測(cè)頭與物體實(shí)際距離。通過實(shí)際測(cè)試表明,本系統(tǒng)運(yùn)行可靠,可以實(shí)現(xiàn)超聲波這種非接觸的測(cè)距功能。關(guān)鍵詞:51 單片機(jī) 超聲波 測(cè)距 目錄1 前言11.1 研究背景11.2 國(guó)內(nèi)外研究情況11.3 本文主要內(nèi)容及安排22 控制系統(tǒng)主要硬件介紹22.1 單片機(jī)STC89C52的選型22.1.1 STC89C52介紹22.1.2 STC89C52
2、引腳介紹32.2 超聲波測(cè)距模塊選型52.2.1 HC-SR04介紹52.3 顯示器件的選型62.3.1數(shù)碼管的選型63 硬件電路設(shè)計(jì)83.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)83.2 超聲波測(cè)距顯示電路系統(tǒng)設(shè)計(jì)93.3 超聲波系統(tǒng)設(shè)計(jì)104 系統(tǒng)軟件設(shè)計(jì)104.1流程圖104.2 單片機(jī)測(cè)距程序115實(shí)物性能測(cè)試155.1單片機(jī)測(cè)試155.2程序調(diào)試156 編程和下載軟件的介紹166.1 Keil的簡(jiǎn)介166.2 Altium Designer 6.0的簡(jiǎn)介236.3 STC_ISP_V480的簡(jiǎn)介257 總結(jié)與展望26參 考 文 獻(xiàn)28致 謝291 前言1.1 研究背景隨著科技的迅猛發(fā)展越來越多的科技
3、成果被廣泛的運(yùn)用到人們的日常生活當(dāng)中,給我們的生活帶來了諸多方便。本設(shè)計(jì)就是本著這個(gè)宗旨出發(fā),利用超聲波的特性來為我們服務(wù)。聲波是物體機(jī)械振動(dòng)狀態(tài)(或能量)的傳播形式。所謂振動(dòng)是指物質(zhì)的質(zhì)點(diǎn)在其平衡位置附近進(jìn)行的往返運(yùn)動(dòng)。譬如,鼓面經(jīng)敲擊后,它就上下振動(dòng),這種振動(dòng)狀態(tài)通過空氣媒質(zhì)向四面八方傳播,這便是聲波。 超聲波是指振動(dòng)頻率大于20000Hz以上的,其每秒的振動(dòng)次數(shù)(頻率)甚高,超出了人耳聽覺的上限(20000Hz),人們將這種聽不見的聲波叫做超聲波。超聲和可聞聲本質(zhì)上是一致的,它們的共同點(diǎn)都是一種機(jī)械振動(dòng),通常以縱波的方式在彈性介質(zhì)內(nèi)會(huì)傳播,是一種能量的傳播形式,其不同點(diǎn)是超聲波頻率高,波
4、長(zhǎng)短,在一定距離內(nèi)沿直線傳播具有良好的束射性和方向性。 由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測(cè)量。超聲波測(cè)距由于其能進(jìn)行非接觸測(cè)量和相對(duì)較高的精度,越來越被人們所重視。超聲波測(cè)量技術(shù)利用回波測(cè)距原理,技術(shù)發(fā)展已經(jīng)成熟,應(yīng)用也積累了很多經(jīng)驗(yàn)。 超聲波測(cè)距儀,可以應(yīng)用于汽車倒車、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng)的位置監(jiān)控,也可用于液位、井深、管道長(zhǎng)度的測(cè)量等場(chǎng)合。利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡(jiǎn)單、易于做到實(shí)時(shí)監(jiān)控,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的要求。 隨著科學(xué)技術(shù)的快速發(fā)展,超聲波在測(cè)距儀中的應(yīng)用越來越廣。展望未來,超聲波測(cè)距儀作為一種非常重
5、要的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高精度的方向發(fā)展,以滿足日益發(fā)展的社會(huì)需求。1.2 國(guó)內(nèi)外研究情況國(guó)內(nèi)超聲波技術(shù)現(xiàn)已日趨成熟,穩(wěn)定度也相當(dāng)高,適合大部分環(huán)境下使用;應(yīng)用領(lǐng)域。包括:測(cè)距、避障、機(jī)器人定位、曲面仿真等。雖然如此,但也存在一些急待攻克的問題,主要包括:測(cè)量精度的級(jí)別有待提高,測(cè)量距離不夠遠(yuǎn),普遍只有10米之內(nèi),最遠(yuǎn)也只有幾十米;一些高精度或遠(yuǎn)距離的產(chǎn)品的電路復(fù)雜,成本較高;依然存在一定距離的育盲區(qū)等等;這些問題限制了超聲波的應(yīng)用。針對(duì)上述存在的問題,國(guó)內(nèi)外的相關(guān)人員進(jìn)行了努力的攻關(guān)。研究主要集中在以下幾個(gè)方面:超聲波回波處理、新型換能器研發(fā)、發(fā)射脈沖選取等等,并且
6、針對(duì)超聲測(cè)距儀器的常見影響因素提出了溫度補(bǔ)償、接收回路串入自動(dòng)增益調(diào)節(jié)環(huán)節(jié)等提高超聲波測(cè)距精度的措施。目前在國(guó)內(nèi)的研究成果主要有:超聲波回波處理方面,最小均方自適應(yīng)時(shí)延估計(jì)算法;一體化換能器;專用脈沖發(fā)生器;采用功率驅(qū)動(dòng)芯片和升壓變壓器等,還通過超聲波測(cè)距儀專用集成電路通過分析超聲波測(cè)距誤差產(chǎn)生的原因,來提高測(cè)量時(shí)間差到微秒級(jí),以及用溫度傳感器來進(jìn)行聲波傳播速度的補(bǔ)償后,其高精度超聲波測(cè)距儀也可以達(dá)到毫米級(jí)的測(cè)量精度。這些新的技術(shù)都大大提高了超聲波測(cè)距的精度和距離。國(guó)內(nèi)的超聲波測(cè)量品牌有古大,飛鷹,百特等。他們的技術(shù)在國(guó)內(nèi)應(yīng)該處于領(lǐng)先地位,但是低端的很多。而在國(guó)外,超聲測(cè)量技術(shù)也有迅速發(fā)展。國(guó)
7、外西門子,HAWK的產(chǎn)品比較齊全,質(zhì)量比較穩(wěn)定。1.3 本文主要內(nèi)容及安排本文主要內(nèi)容是對(duì)超聲波測(cè)距系統(tǒng)的分析。本文的安排為:第1章是研究背景的介紹;第2章是對(duì)控制系統(tǒng)主要硬件的介紹,包括單片機(jī)、超聲波模塊、數(shù)碼管;第3章是介紹硬件電路設(shè)計(jì);第4章是介紹系統(tǒng)軟件設(shè)計(jì);第5章是介紹實(shí)物性能測(cè)試;第6章編程和下載軟件;第7章是總結(jié)與未來展望。2 控制系統(tǒng)主要硬件介紹2.1 單片機(jī)STC89C52的選型2.1.1 STC89C52介紹STC89C52是由深圳宏晶科技公司生產(chǎn)的與工業(yè)標(biāo)準(zhǔn)MCS-51指令集和輸出管腳相兼容的單片機(jī)。STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在
8、系統(tǒng)可編程Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,2個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外, STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工
9、作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。其PDIP封裝如圖2.1所示。圖2.1 STC89C52 PDIP封裝圖2.1.2 STC89C52引腳介紹 管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原
10、碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入
11、時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也
12、可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在
13、平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-F
14、FFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.2 超聲波測(cè)距模塊選型2.2.1 HC-SR04介紹HC-SR04超聲波測(cè)距模塊可提供2cm-400cm的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路?;竟ぷ髟恚?1)采用IO口TRIG觸發(fā)測(cè)距,給最少10us的高電平信呈。(2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自
15、動(dòng)檢測(cè)是否有信號(hào)返回;(3)有信號(hào)返回,通過IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340M/S)/2;超聲波電氣參數(shù):電氣參數(shù)HC-SR04超聲波模塊工作電壓DC5V工作電流15mA工作頻率40kHz最遠(yuǎn)射程4m最近射程2cm測(cè)量角度15度輸入觸發(fā)信號(hào)10uS的TTL脈沖輸出回響信號(hào)輸出TTL電平信號(hào),與射程規(guī)格尺寸45*20*15mm超聲波時(shí)序圖如圖2.2所示:圖2.2 超聲波時(shí)序圖以上時(shí)序圖表明你只需要提供一個(gè)10uS 以上脈沖觸發(fā)信號(hào),該模塊內(nèi)部將 發(fā)出8個(gè)40kHz周期電平并檢測(cè)回波。一旦檢測(cè)到有回波信號(hào)則輸出回響信號(hào)
16、。 回響信號(hào)的脈沖寬度與所測(cè)的距離成正比。由此通過發(fā)射信號(hào)到收到的回響信號(hào) 時(shí)間間隔可以計(jì)算得到距離。公式:uS/58=厘米或者uS/148=英寸;或是:距離= 高電平時(shí)間*聲速(340M/S)/2;建議測(cè)量周期為60ms以上,以防止發(fā)射信號(hào)對(duì) 回響信號(hào)的影響。2.3 顯示器件的選型2.3.1數(shù)碼管的選型led數(shù)碼管(LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等
17、,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類,了解LED的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.3是共陰和共陽(yáng)極數(shù)碼管的引腳圖,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。led數(shù)碼管廣泛用于儀表,時(shí)鐘,車站,家電等場(chǎng)合。選用時(shí)要注意產(chǎn)品尺寸顏色,功耗,亮度,波長(zhǎng)等。下面將介紹常用LED數(shù)碼管內(nèi)部引腳圖片10引腳的LED數(shù)碼管。圖2.4為常用的LED 圖2.3 LED數(shù)碼管引腳圖 圖2.4常用LED數(shù)碼管 圖2.3每一筆劃都是對(duì)應(yīng)一個(gè)字母表示DP是小數(shù)點(diǎn). LED數(shù)碼管要正常顯示,就要
18、用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 1)靜態(tài)顯示驅(qū)動(dòng): 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O埠進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)位寄存器進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O口才32個(gè)呢。故實(shí)際應(yīng)用時(shí)必須增加驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性。 2)動(dòng)態(tài)顯示驅(qū)動(dòng): 數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之
19、一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。 透過分時(shí)輪流控制各個(gè)LED數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余
20、輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。下面介紹四位七段數(shù)碼管引腳圖,內(nèi)部的四個(gè)數(shù)碼管共用adp這8根數(shù)據(jù)線,為人們的使用提供了方便,因?yàn)槔锩嬗兴膫€(gè)數(shù)碼管,所以它有四個(gè)公共端,加上adp,共有12個(gè)引腳,圖2.5是一個(gè)共陰的四位數(shù)碼管的內(nèi)部結(jié)構(gòu)圖,圖2.6為四位共陽(yáng)數(shù)碼管。引腳排列依然是從左下角的那個(gè)腳(1腳)開始,以逆時(shí)針方向依次為112腳,下圖中的數(shù)字與之一一對(duì)應(yīng)。圖2.5 四位共陰數(shù)碼管 圖2.6 四位共陽(yáng)數(shù)碼管其中,6,8,9,1
21、2,引腳是四位數(shù)碼管的四個(gè)公共端,控制著四個(gè)關(guān)鍵,就可以控制數(shù)碼管的關(guān)斷和導(dǎo)通。圖2.7 四位共陽(yáng)極數(shù)碼管實(shí)物圖圖2.7是四位共陽(yáng)極數(shù)碼的實(shí)物圖,從左下角的那個(gè)腳(1腳)開始,以逆時(shí)針方向依次為112腳。識(shí)別引腳是在實(shí)際焊接中非常重要的部分,否則可能出現(xiàn)燒毀數(shù)碼管,或數(shù)碼管不亮的情況。3 硬件電路設(shè)計(jì)本部分介紹系統(tǒng)的硬件電路設(shè)計(jì),包括單片機(jī)最小系統(tǒng),超聲波傳感器采集電路及距離顯示電路。3.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)最小系統(tǒng)是指能進(jìn)行正常工作的最簡(jiǎn)單電路。STC89C52最小應(yīng)用系統(tǒng)電路如圖3.1所示。它包含五個(gè)電路部分:電源電路、時(shí)鐘電路、復(fù)位電路、片內(nèi)外程序存儲(chǔ)器選擇電路、輸入/輸出接口電路。
22、其中電源電路、時(shí)鐘電路、復(fù)位電路是保證單片機(jī)系統(tǒng)能夠正常工作的最基本的三部分電路,缺一不可。圖3.1 單片機(jī)最小系統(tǒng)下面簡(jiǎn)單介紹下單片機(jī)最小系統(tǒng)的三個(gè)主要部分:電源電路 芯片引腳VCC一般接上直流穩(wěn)壓電源+5V,引腳GND接電源+5V的負(fù)極,電源電壓范圍在45.5之間,可保證單片機(jī)系統(tǒng)能正常工作。為了確定單片機(jī)是否供上電,在VCC和地之間連接了一個(gè)發(fā)光二極管和1K的電阻。時(shí)鐘電路 單片機(jī)引腳18和引腳19外接晶振及電容, STC89C52芯片的工作頻率可在233MHz范圍之間選,單片機(jī)工作頻率取決于晶振XT的頻率,通常選用11.0592MHz晶振。兩個(gè)小電容通常取值30pF,以保證振蕩器電路的
23、穩(wěn)定性及快速性。復(fù)位電路 一般若在引腳RST上保持24個(gè)工作主頻周期的高電平,單片機(jī)就可以完成復(fù)位,但為了保證系統(tǒng)可靠地復(fù)位,復(fù)位電路應(yīng)使引腳RST保持10ms以上的高電平。如圖復(fù)位電路帶有上電自動(dòng)復(fù)位功能,當(dāng)電路上電時(shí),由于C1電容兩端電壓值不能突變,電源+5V會(huì)通過電容向RST提供充電電流,因此在RST引腳上產(chǎn)生一高電平,使單片機(jī)進(jìn)入復(fù)位狀態(tài)。隨著電容C1充電,它兩端電壓上升使得RST電位下降,最終使單片機(jī)退出復(fù)位狀態(tài)。正常運(yùn)行時(shí),可按復(fù)位按鈕對(duì)單片機(jī)復(fù)位3.2 超聲波測(cè)距顯示電路系統(tǒng)設(shè)計(jì)圖3.2 數(shù)碼管顯示電路系統(tǒng)本設(shè)計(jì)采用了四位共陽(yáng)極數(shù)碼管作為顯示的器件,6,8,9,12引腳是數(shù)碼管的
24、位選信號(hào)端,1,2,3,4,5,7,10,11控制數(shù)碼管的位選,四位數(shù)碼管分別用一個(gè)S9015三極管進(jìn)行驅(qū)動(dòng)。3.3 超聲波系統(tǒng)設(shè)計(jì)圖3.3 數(shù)碼管顯示電路系統(tǒng)4 系統(tǒng)軟件設(shè)計(jì)本次軟件開發(fā)是基于windows平臺(tái)下開發(fā)的,主要通過c語(yǔ)言為主要編程語(yǔ)言,使用的軟件是Keil編程軟件,電路的繪制使用AD6.9軟件進(jìn)行設(shè)計(jì)。主要的燒錄器使用STC的USB轉(zhuǎn)串口燒錄器STC_ISP_V486。4.1流程圖根據(jù)硬件電路圖,綜合自己的設(shè)計(jì)思路,先畫出程序流程圖,再根據(jù)流程圖編好程序,經(jīng)過整理后最后形成最終的程序。 根據(jù)要求繪制的本設(shè)計(jì)的流程圖如圖4.1所示。4.1 程序流程圖4.2 單片機(jī)測(cè)距程序 #in
25、clude <reg52.h>/器件配置文件#include <intrins.h>sbit RX=P10;sbit TX=P11;unsigned int time=0;unsigned int timer=0;unsigned char posit=0;unsigned long S=0;bit flag =0;unsigned char const discode = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff;unsigned char const positon4= 0xfe,0xfd
26、,0xfb,0xf7;unsigned char disbuff4 = 0,0,0,0,;/*/ void Display(void) /掃描數(shù)碼管 P0=discodedisbuffposit; P2=positonposit; if(+posit>=4) posit=0;/*/ void Conut(void) time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/10; /算出來是CM if(S>=7000)|flag=1) /超出測(cè)量范圍顯示"-" flag=0; disbuff0=10; /"-"
27、 disbuff1=10; /"-" disbuff2=10; /"-" disbuff3=10; /"-" else disbuff0=S%10000/1000; disbuff1=S%10000%1000/100; disbuff2=S%10000%1000 %100/10; disbuff3=S%10000%1000 %100%10; /*/ void zd0() interrupt 1 /T0中斷用來計(jì)數(shù)器溢出,超過測(cè)距范圍 flag=1; /中斷溢出標(biāo)志 /*/ void zd3() interrupt 3 /T1中斷用來掃
28、描數(shù)碼管和計(jì)800MS啟動(dòng)模塊 TH1=0xf8; TL1=0x30; Display(); timer+; if(timer>=400) timer=0; TX=1; /800MS 啟動(dòng)一次模塊 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; /*/
29、void main( void ) TMOD=0x11; /設(shè)T0為方式1,GATE=1;TH0=0;TL0=0; TH1=0xf8; /2MS定時(shí)TL1=0x30;ET0=1; /允許T0中斷ET1=1; /允許T1中斷TR1=1; /開啟定時(shí)器EA=1; /開啟總中斷while(1) while(!RX);/當(dāng)RX為零時(shí)等待 TR0=1; /開啟計(jì)數(shù) while(RX);/當(dāng)RX為1計(jì)數(shù)并等待 TR0=0;/關(guān)閉計(jì)數(shù) Conut();/計(jì)算 5實(shí)物性能測(cè)試5.1單片機(jī)測(cè)試判斷單片機(jī)是否處于正常工作的狀態(tài),就要判斷單片機(jī)電源,復(fù)位電路及時(shí)鐘電路是否正常工作有一個(gè)簡(jiǎn)單的辦法,首先打開電源觀察l
30、ed是否亮起,如果亮起證明有電供應(yīng)。接下來,用萬(wàn)用表檢測(cè)單片機(jī)的20和40腳之間的電壓是不是為5V,這兩項(xiàng)測(cè)試表明單片機(jī)已經(jīng)正常供電。接下來檢查復(fù)位電路是否正常工作,將萬(wàn)用表的紅色針放在9號(hào)引腳上,黑色針放在20腳上,檢測(cè)電壓為0V,按下復(fù)位按鍵,測(cè)到的電壓為5V,說明復(fù)位電路工作正常。5.2程序調(diào)試 調(diào)試程序是意見非常鍛煉人的工作,寫程序是需要一步步來的,有時(shí)是缺個(gè)符號(hào),少個(gè)分號(hào),有時(shí)是大小寫的問題,有時(shí)候甚至不知道是什么問題,導(dǎo)致程序編譯出現(xiàn)問題。有時(shí),程序進(jìn)行不下去,耽誤很長(zhǎng)時(shí)間。但是,經(jīng)過不斷的寫程序,改程序,最后終于通過了編譯。如圖5.1所示,為編譯成功后的KEIL編程的界面。圖5.
31、1 編譯成功的界面6 編程和下載軟件的介紹 6.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é)易用。它是本設(shè)計(jì)的編程環(huán)境,Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易
32、用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的C語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真
33、調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。下面介紹KEIL的編程使用方法:1. 使用Keil前必須先安裝。安裝過程
34、簡(jiǎn)單,這里不在進(jìn)行詳細(xì)的敘述。2. 安裝好了Keil軟件以后,我們打開它。打開以后界面如圖6.1所示:圖 6.13. 我們先新建一個(gè)工程文件,點(diǎn)擊“Project->New Project”菜單,如圖6.2所示: 圖6.24.選擇工程文件要存放的路徑 ,輸入工程文件名 LED(名字根據(jù)需要可以隨便設(shè)置), 最后單擊保存。圖 6.35.在彈出的對(duì)話框中選擇 CPU 廠商及型號(hào)。圖 6.46.選擇好 Atmel 公司的 AT89S52(在實(shí)際使用中根據(jù)自己的芯片的型號(hào)選擇) 后 , 單擊確定。圖 6.57.在接著出現(xiàn)的對(duì)話框中選擇“是”。圖 6.68新建一個(gè) C51 文件 , 單擊
35、左上角的 New File 如圖6.7所示。圖 6.79.保存新建的文件,單擊SAVE如圖6.8所示。 圖 6.810.在出現(xiàn)的對(duì)話框中輸入保存文件名MAIN.C(注意后綴名必須為.C),再單擊“保存”,如圖6.9所示;圖 6.911.保存好后把此文件加入到工程中方法如下 : 用鼠標(biāo)在 Source Group1 上單擊右鍵 , 然后再單擊 Add Files to Group Source Group 1' 如圖6.10所示: 圖 6.1012.選擇要加入的文件 , 找到 MAIN.C 后 , 單擊 Add, 然后單擊 Close 。 圖 6.1113.在編輯框里輸入如下代碼 : 圖
36、 6.1214.到此我們完成了工程項(xiàng)目的建立以及文件加入工程 , 現(xiàn)在我們開始編譯工程如下圖6.13和6.14所示 : 我們先單擊編譯, 如果在錯(cuò)誤與警告處看到 0 Error(s) 表示編譯通過 。 圖 6.13 圖6.1415.生成 .hex 燒寫文件,先單擊Options for Target,如圖6.15所示。圖6.1516.在圖6.16中,我們單擊 Output, 選中 Create HEX F。再單擊“確定”。圖6.1617.打開文件夾實(shí)驗(yàn)1,查看是否生成了HEX文件,生成的hex文件如圖6.17所示。如果沒有生成,在執(zhí)行一遍步驟10到步驟12,直到生成。圖6.176.2 Alti
37、um Designer 6.0的簡(jiǎn)介2005年年底,Protel軟件的原廠商 Altium公 司推出了Protel系列的最新高端版本Altium Designer 6.0。 Altium Designer 6.0,它是完全一體化電子產(chǎn)品開發(fā)系統(tǒng)的一個(gè)新版本,也是業(yè)界第一款也是唯一一種完整的板級(jí)設(shè)計(jì)解決方案。Altium Designer 是業(yè)界首例將設(shè)計(jì)流程、集成化 PCB 設(shè)計(jì)、可編程器件(如 FPGA)設(shè)計(jì)和基于處理器設(shè)計(jì)的嵌入式軟件開發(fā)功能整合在一起的產(chǎn)品,一種同時(shí)進(jìn)行PCB和FPGA設(shè)計(jì)以及嵌入式設(shè)計(jì)的解決方案,具有將設(shè)計(jì)方案從概念轉(zhuǎn)變?yōu)樽罱K成品所需的全部功能。 這款最新高端版本Alt
38、ium Designer 6.除了全面繼承包括99SE,Protel2004在內(nèi)的先前一系列版本的功能和優(yōu)點(diǎn)以外,還增加了許多改進(jìn)和很多高端功能。Altium Designer 6.0拓寬了板級(jí)設(shè)計(jì)的傳統(tǒng)界限,全面集成了FPGA設(shè)計(jì)功能和 SOPC設(shè)計(jì)實(shí)現(xiàn)功能,從而允許工程師能將系統(tǒng)設(shè)計(jì)中的FPGA與PCB設(shè)計(jì)以及嵌入式設(shè)計(jì)集成在一起。 首先:在PCB部分,除了Protel2004中的多通道復(fù)制;實(shí)時(shí)的、阻抗控制布線功能;SitusTM自動(dòng)布線器等新功能以外,Altium Designer 6.0還著重在:差分對(duì)布線,F(xiàn)PGA器件差分對(duì)管腳的動(dòng)態(tài)分配, PCB和FPGA之間的全面集成,從而實(shí)現(xiàn)
39、了自動(dòng)引腳優(yōu)化和非凡的布線效果。還有PCB文件切片,PCB多個(gè)器件集體操作,在PCB文件中支持多國(guó)語(yǔ)言 (中文、英文、德文、法文、日文),任意字體和大小的漢字字符輸入,光標(biāo)跟隨在線信息顯示功能,光標(biāo)點(diǎn)可選器件列表,復(fù)雜BGA器件的多層自動(dòng)扇出,提供 了對(duì)高密度封裝(如 BGA)的交互布線功能, 總線布線功能,器件精確移動(dòng),快速鋪銅等功能。 交互式編輯、出錯(cuò)查詢、布線和可視化功能,從而能更快地實(shí)現(xiàn)電路板布局,支持高速電路設(shè)計(jì),具有成熟的布線后信號(hào)完整性分析工具. Altium Designer 6.0 對(duì)差分信號(hào)提供系統(tǒng)范圍內(nèi)的支持,可對(duì)高速內(nèi)連的差分信號(hào)對(duì)進(jìn)行充分定義、管理和交互式布線。支持包
40、括對(duì)在FPGA項(xiàng)目?jī)?nèi)部定義的LVDS信號(hào)的物理設(shè)計(jì) 進(jìn)行自動(dòng)映射。 LVDS 是差分信號(hào)最通用的標(biāo)準(zhǔn),廣泛應(yīng)用于可編程器件。Altium Designer 可充分利用當(dāng)今FPGA 器件上的擴(kuò)展I/O管腳。 其次,在原理圖部分,新增加“靈巧粘帖”可以將一些不同的對(duì)象拷貝到原理圖當(dāng)中,比如一些網(wǎng)絡(luò)標(biāo)號(hào), 一頁(yè)圖紙的BOM表,都可以拷貝粘帖到原理圖當(dāng)中。原理圖文件切片,多個(gè)器件集體操作,文本筐的直接編輯,箭頭的添加,器件精確移動(dòng),總線走線,自動(dòng)網(wǎng)標(biāo) 選擇等! 強(qiáng)大的前端將多層次、多通道的原理圖輸入、VHDL開發(fā)和功能仿真、布線前后的信號(hào)完整性分析功能。在信號(hào)仿真部分,提供完善的混合信號(hào)仿真,在對(duì) X
41、SPICE 標(biāo)準(zhǔn)的支持之外,還支持對(duì)Pspice模型和電路的仿真。對(duì)FPGA設(shè)計(jì)提供了豐富的IP內(nèi)核,包括各種處理器、存儲(chǔ)器、外設(shè)、接口、以及虛擬儀器 。 第三 在嵌入式設(shè)計(jì)部分,增強(qiáng)了JTAG器件的實(shí)時(shí)顯示功能,增強(qiáng)型基于FPGA的邏輯分析儀,可以支持32位或64位的信號(hào)輸入。除了現(xiàn)有的多種處理器內(nèi)核 外,還增強(qiáng)了對(duì)更多的32位微處理器的支持,可以使嵌入式軟件設(shè)計(jì)在軟處理器,F(xiàn)PGA內(nèi)部嵌入的硬處理器,分立處理器之間無縫的遷移。使用了 Wishbone 開放總線連接器允許在FPGA上實(shí)現(xiàn)的邏輯模塊可以透明的連接到各種處理器上。Altium Designer 6.0支持 Xilinx Micr
42、oBlaze,TSK3000 等32位軟處理器,PowerPC 405 硬核,并且支持AMCC 405和Sharp BlueStreak ARM7 系列分立的處理器。對(duì)每一種處理器都提供完備的開發(fā)調(diào)試工具。 圖6.18 Altium Designer 6.0軟件打開界面圖6.19 Altium Designer 6.0繪圖界面6.3 STC_ISP_V480的簡(jiǎn)介STC_ISP_V480是下載程序用的軟件,在運(yùn)行STC_ISP_V480下載軟件之前,應(yīng)該先給出ISP的C程序源代碼ISP.C.要注意的是:此程序是在Keil-C中要建立工程文件,包含IAP.C函數(shù),并且在IAP.C和ISP.C中都
43、要保留STC的定義.傳入用戶代碼時(shí),需要與計(jì)算機(jī)進(jìn)行通信,一般采用RS232串行通信,數(shù)據(jù)協(xié)議采用簡(jiǎn)單協(xié)議。具體的使用方法:一、先把學(xué)習(xí)實(shí)驗(yàn)板和計(jì)算機(jī)連接好(接好串口線和電源)二、打開STC-ISP v480,在MCU Type欄目下選中單片機(jī),如STC89C52RC:根據(jù)您的9針的數(shù)據(jù)線連接情況選中COM端口,最好把波特率適當(dāng)下調(diào)一些,按圖6.18所示選中各項(xiàng):圖6.20 STC-ISP v480的界面圖三、先確認(rèn)硬件連接正確,按下圖點(diǎn)擊“打開文件”并在對(duì)話框內(nèi)找到您要下載的HEX文件:四、選中兩個(gè)條件項(xiàng),這樣可以使您在每次編譯KEIL時(shí)HEX代碼能自動(dòng)加載到STC-ISP,點(diǎn)擊“Download/下載”:五、手動(dòng)按下電源開關(guān)便即可把可執(zhí)行文件HEX寫入到單片機(jī)內(nèi),圖6.19所示是正在寫入程序截圖:圖6.21 單片機(jī)程序下載截圖7 總結(jié)與展望本課題介紹了一種基于單片機(jī)的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)。給出了硬件和軟件的設(shè)計(jì)方案。 超聲波傳感器是本系統(tǒng)的核心器件,本論文詳細(xì)地介紹了超聲波傳感器的原理、結(jié)構(gòu)、檢測(cè)方式以及它的一些特性。只有深入地了解超聲波傳感器的工作原理,才能更好的設(shè)計(jì)測(cè)距電路。單片機(jī)是本系統(tǒng)的控
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度福建省勞動(dòng)合同制員工社會(huì)保險(xiǎn)及福利待遇合同
- 2025年度電商平臺(tái)會(huì)員購(gòu)物返利協(xié)議
- 2025年度海鮮電商平臺(tái)運(yùn)營(yíng)合作協(xié)議
- 二零二五年度農(nóng)村土地流轉(zhuǎn)及農(nóng)業(yè)項(xiàng)目投資合同
- 二零二五年度社會(huì)保險(xiǎn)經(jīng)辦機(jī)構(gòu)與金融機(jī)構(gòu)合作協(xié)議
- 樁基合同-2025年度樁基施工項(xiàng)目管理與咨詢服務(wù)協(xié)議
- 二零二五年度煤炭供應(yīng)鏈金融服務(wù)協(xié)議
- 二零二五年度住房公積金購(gòu)房合同原件遺失風(fēng)險(xiǎn)預(yù)防及應(yīng)急處理合同
- 二零二五年度法人變更合同審查與合同續(xù)簽服務(wù)協(xié)議
- 2025年度租賃房屋安全責(zé)任定金協(xié)議
- 課件香港地理教學(xué)課件
- 2023年輔導(dǎo)員職業(yè)技能大賽試題及答案
- 多發(fā)性硬化診斷與治療指南(2023版)解讀
- 2024新版(外研版三起joinin)三年級(jí)英語(yǔ)上冊(cè)單詞帶音標(biāo)
- 工程質(zhì)量控制流程圖
- 現(xiàn)代家政導(dǎo)論-課件 1.2.2認(rèn)識(shí)現(xiàn)代家政的特點(diǎn)和功能
- 汽車保險(xiǎn)與理賠課件 3.4認(rèn)識(shí)新能源汽車車上人員責(zé)任保險(xiǎn)
- 日語(yǔ)翻譯崗位招聘面試題與參考回答2025年
- 物業(yè)公司市場(chǎng)拓展全員營(yíng)銷激勵(lì)方案
- 浙江省寧波市九校2023-2024學(xué)年高二下學(xué)期期末聯(lián)考數(shù)學(xué)試題
- 2024-2025學(xué)年小學(xué)美術(shù)一年級(jí)下冊(cè)(2024)嶺南版(2024)教學(xué)設(shè)計(jì)合集
評(píng)論
0/150
提交評(píng)論