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