欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 36739|回復(fù): 28
打印 上一主題 下一主題
收起左側(cè)

基于AT89C51單片機(jī)的超聲波測(cè)距儀的系統(tǒng)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:333699 發(fā)表于 2018-5-19 15:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

河南機(jī)電高等專(zhuān)科學(xué)校


畢業(yè)設(shè)計(jì)論文
論文題目:基于AT89C51單片機(jī)的超聲波測(cè)距儀的系統(tǒng)設(shè)計(jì)



系    部
專(zhuān)    業(yè)
班    級(jí)
學(xué)生姓名
學(xué)    號(hào)
指導(dǎo)教師
2012年5月 1 日


摘  要
本設(shè)計(jì)介紹了基于單片機(jī)控制的超聲測(cè)距儀的原理:由AT89C51控制定時(shí)器產(chǎn)生超聲波脈沖并計(jì)時(shí),計(jì)算超聲波自發(fā)射至接收的往返時(shí)間,從而得到實(shí)測(cè)距離。并且在數(shù)據(jù)處理中采用了溫度補(bǔ)償?shù)恼{(diào)整,用四位LED數(shù)碼管切換顯示距離和溫度。
整個(gè)硬件電路由超聲波發(fā)射電路、超聲波接收電路、電源電路、顯示電路等模塊組成。各探頭的信號(hào)經(jīng)單片機(jī)綜合分析處理,實(shí)現(xiàn)超聲波測(cè)距儀的各種功能。在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)的總體方案,最后通過(guò)硬件和軟件實(shí)現(xiàn)了各個(gè)功能模塊。相關(guān)部分附有硬件電路圖、程序流程圖,給出了系統(tǒng)構(gòu)成、電路原理及程序設(shè)計(jì)。此系統(tǒng)具有易控制、工作可靠、測(cè)距準(zhǔn)確度高、可讀性強(qiáng)和流程清晰等優(yōu)點(diǎn)。實(shí)現(xiàn)后的作品可用于需要測(cè)量距離參數(shù)的各種應(yīng)用場(chǎng)合。

關(guān)鍵詞AT89C51,超聲波,溫度補(bǔ)償,測(cè)距

Abstract
The design introduces theprinciple of the ultrasonic distance measurement instrument based onSCMC-controlled: AT89C51 controls timers to produce the ultrasonic wave pulseand  time,count the time of ultrasonicwave spontaneous emission to receive round-trip,thus obtains the measureddistance.And the temperature compensation adjustment is used in the dataprocessing, with four LED nixie tubes display distance or temperature byswitching.
The entire hardware circuitis composed by ultrasonic transmitter circuit, ultrasonic receiver circuit, thepower circuit, display circuit, and other modules. The probe signals areintegrated analysised by SCMC to achieve the various functions of ultrasonic distancemeasurement instrument. Based on this has designedsystem's overall concept, final adoption of hardware and software to achievethe various functional modules. The relevant parts have the hardware schematicsand process flow chart.It has given the system constitution, the circuitry andthe programming. The instrument system has features: ease of control, stabilityof operation, highness of precision and distinctness of programme process ,etc.After the realization of the works can be used for needs of the variousparameters measured distance applications.
Keywords:AT89C51, Ultrasonic wave, Temperaturecompensation, Measuredistans  


目  錄
摘  要... I
Abstract. II
目  錄... 1
第1章  引言... 1
1.1  課題研究的背景... 1
1.2  課題研究的意義... 1
1.3  論文結(jié)構(gòu)... 2
第2章  超聲波測(cè)距原理... 3
2.1  超聲波簡(jiǎn)介... 3
2.2  超聲波測(cè)距原理... 3
第3章  方案論證... 5
3.1  設(shè)計(jì)思路... 5
3.2  系統(tǒng)結(jié)構(gòu)設(shè)計(jì)... 6
第4章  主要元件介紹... 7
4.1  單片機(jī)AT89C51. 7
4.2  超聲波傳感器T40、R40. 9
4.3  溫度傳感器DS18B20. 10
第5章  硬件電路設(shè)計(jì)... 11
5.1  超聲波發(fā)射電路... 11
5.2  超聲波接收電路... 11
5.3  顯示電路... 12
5.4  電源電路... 13
5.5  復(fù)位電路... 13
第6章  軟件設(shè)計(jì)... 14
6.1  主程序流程... 14
6.2  子程序設(shè)計(jì)... 15
6.2.1  超聲波發(fā)送子程序及超聲波接收中斷子程序... 15
6.2.2  測(cè)溫子程序... 17
6.2.3  距離計(jì)算子程序... 17
6.2.4  顯示子程序和鍵盤(pán)掃描子程序... 18
第7章  軟件調(diào)試及系統(tǒng)仿真... 19
7.1  軟件編譯調(diào)試環(huán)境——Keil 19
7.2  系統(tǒng)仿真環(huán)境——Proteus. 19
7.3  系統(tǒng)仿真... 19
7.4  誤差及特性分析... 22
結(jié)  論... 23
致  謝... 24
參考文獻(xiàn)... 25
附錄1整體電路圖... 26
附錄2 程序... 27

第1章  引言
1.1  課題研究的背景
人們生活水平的提高,城市發(fā)展建設(shè)加快,城市給排水系統(tǒng)也有較大發(fā)展,其狀況不斷改善。但是,由于歷史原因合成時(shí)間住的許多不可預(yù)見(jiàn)因素,城市給排水系統(tǒng),特別是排水系統(tǒng)往往落后于城市建設(shè)。因此,經(jīng)常出現(xiàn)開(kāi)挖已經(jīng)建設(shè)好的建筑設(shè)施來(lái)改造排水系統(tǒng)的現(xiàn)象。城市污水給人們帶來(lái)了困擾,因此箱涵的排污疏通對(duì)大城市給排水系統(tǒng)污水處理,人們生活舒適顯得非常重要。而設(shè)計(jì)研制箱涵排水疏通移動(dòng)機(jī)器人的自動(dòng)控制系統(tǒng),保證機(jī)器人在箱涵中自由排污疏通,是箱涵排污疏通機(jī)器人的設(shè)計(jì)研制的核心部分。控制系統(tǒng)核心部分就是超聲波測(cè)距儀的研制。
隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在傳感器中的應(yīng)用越來(lái)越廣。但就目前技術(shù)水平來(lái)說(shuō),人們可以具體利用的傳感技術(shù)還十分有限,因此,這是一個(gè)正在蓬勃發(fā)展而又有無(wú)限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來(lái),超聲波傳感器作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位高精度的方向發(fā)展,以滿(mǎn)足日益發(fā)展的社會(huì)需求,如聲納的發(fā)展趨勢(shì)基本為:研制具有更高定位精度的被動(dòng)測(cè)距聲納,以滿(mǎn)足水中武器實(shí)施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測(cè)的潛艇拖曳線列陣聲納,實(shí)現(xiàn)超遠(yuǎn)程的被動(dòng)探測(cè)和識(shí)別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標(biāo)識(shí)別問(wèn)題。毋庸置疑,未來(lái)的超聲波傳感器將與自動(dòng)化智能化接軌,與其他的傳感器集成和融合,形成多傳感器。隨著傳感器的技術(shù)進(jìn)步,傳感器將從具有單純判斷功能發(fā)展到具有學(xué)習(xí)功能,最終發(fā)展到具有創(chuàng)造力。
1.2  課題研究的意義
在現(xiàn)實(shí)生活中,一些傳統(tǒng)的距離測(cè)量方式在某些特殊場(chǎng)合存在不可克服的缺陷,例如,液面測(cè)量就是一個(gè)距離測(cè)量,傳統(tǒng)的電極法是采用差位分布電極,通過(guò)給電或脈沖檢測(cè)液面,電極長(zhǎng)期浸泡在水中或其它液體中,極易被腐蝕、電解,從而失去靈敏性。而利用超聲波測(cè)量距離可以很好地解決這一問(wèn)題。目前市面上常見(jiàn)的超聲波測(cè)距系統(tǒng)不僅價(jià)格昂貴,體積過(guò)大而且精度也不高等種種因素,使得在一些中小規(guī)模的應(yīng)用領(lǐng)域中難以得到廣泛的應(yīng)用。為解決這一系列難題,本文設(shè)計(jì)了一款基于AT89C51單片機(jī)的低成本、高精度、微型化的超聲波測(cè)距儀。
1.3  論文結(jié)構(gòu)
第 1 章首先對(duì)課題的背景和意義進(jìn)行闡述,并概述了論文結(jié)構(gòu)。
第2 章先就超聲波測(cè)距的原理進(jìn)行介紹,并提出了提高測(cè)距的精度的方案——溫度補(bǔ)償,且描述了其具體補(bǔ)償方式。
第3章針對(duì)本文采用的設(shè)計(jì)方案進(jìn)行了可行性的論證,并得出了系統(tǒng)結(jié)構(gòu)框圖。
第4章介紹了設(shè)計(jì)中需要用到的主要器件,且因其在本設(shè)計(jì)的作用不同而詳盡程序亦不同。
第 5 章從整體硬件設(shè)計(jì)出發(fā),對(duì)各部分電路進(jìn)行了詳細(xì)說(shuō)明。
第6章先給出了軟件設(shè)計(jì)的整體流程圖,并且對(duì)關(guān)鍵部分軟件設(shè)計(jì)做了進(jìn)一步的解釋。
第 7 章介紹了軟件的調(diào)試及系統(tǒng)仿真
程序編譯及系統(tǒng)仿真也是本文的一個(gè)要點(diǎn),所以特別分出一章來(lái)詳細(xì)介紹了程序編譯的環(huán)境和編譯的步驟以及仿真的環(huán)境和部分仿真的效果圖。

第2章  超聲波測(cè)距原理
2.1  超聲波簡(jiǎn)介
我們知道,當(dāng)物體振動(dòng)時(shí)會(huì)發(fā)出聲音。科學(xué)家們將每秒鐘振動(dòng)的次數(shù)稱(chēng)為聲音的頻率,它的單位是赫茲。我們?nèi)祟?lèi)耳朵能聽(tīng)到的聲波頻率為20~20000赫茲。當(dāng)聲波的振動(dòng)頻率大于20000赫茲或小于20赫茲時(shí),我們便聽(tīng)不見(jiàn)了。因此,我們把頻率高于20000赫茲的聲波稱(chēng)為“超聲波”。通常用于醫(yī)學(xué)診斷的超聲波頻率為1~5兆赫。超聲波具有方向性好,穿透能力強(qiáng),易于獲得較集中的聲能,在水中傳播距離遠(yuǎn)等特點(diǎn)。可用于測(cè)距,測(cè)速,清洗,焊接,碎石等。在醫(yī)學(xué),軍事,工業(yè),農(nóng)業(yè)上有明顯的作用。
理論研究表明,在振幅相同的條件下,一個(gè)物體振動(dòng)的能量與振動(dòng)頻率成正比,超聲波在介質(zhì)中傳播時(shí),介質(zhì)質(zhì)點(diǎn)振動(dòng)的頻率很高,因而能量很大。在我國(guó)北方干燥的冬季,如果把超聲波通入水罐中,劇烈的振動(dòng)會(huì)使罐中的水破碎成許多小霧滴,再用小風(fēng)扇把霧滴吹入室內(nèi),就可以增加室內(nèi)空氣濕度。這就是超聲波加濕器的原理。對(duì)于咽喉炎、氣管炎等疾病,藥品很難血流到打患病的部位。利用加濕器的原理,把藥液霧化,讓病人吸入,能夠療效。利用超聲波巨大的能量還可以使人體內(nèi)的結(jié)石做劇烈的受迫振動(dòng)而破碎。
2.2  超聲波測(cè)距原理
超聲波是利用反射的原理測(cè)量距離的,被測(cè)距離一端為超聲波傳感器,另一端必須有能反射超聲波的物體。測(cè)量距離時(shí),將超聲波傳感器對(duì)準(zhǔn)反射物發(fā)射超聲波,并開(kāi)始計(jì)時(shí),超聲波在空氣中傳播到達(dá)障礙物后被反射回來(lái),傳感器接收到反射脈沖后立即停止計(jì)時(shí),然后根據(jù)超聲波的傳播速度和計(jì)時(shí)時(shí)間就能計(jì)算出兩端的距離。測(cè)量距離D為
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif                             (2.1)
式中    c——超聲波的傳播速度;
           file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif——超聲波發(fā)射到接收所需時(shí)間的一半,也就是單程傳播時(shí)間。
由上式可風(fēng),距離的測(cè)量精度主要取決于計(jì)時(shí)精度和傳播速度兩方面。計(jì)時(shí)精度由單片機(jī)定時(shí)器決定,定時(shí)時(shí)間為機(jī)器周期與計(jì)數(shù)次數(shù)的乘積,可選用12MHz的晶振,使機(jī)器周期為精確的1μs,不會(huì)產(chǎn)生累積誤差,使定時(shí)間達(dá)到1μs。超聲波的傳播速度c并不是固定不變的,傳播速度受空氣密度、溫度和氣體分子成分的影響,關(guān)系式為
                    file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif                    (2.2)
式中  γ——?dú)怏w定壓熱容與定容熱容的比值,空氣為1.40。
      R——?dú)怏w普適常數(shù),為8.314kg/mol。
T——?dú)怏w勢(shì)力學(xué)溫度,與攝氏溫度的關(guān)系是T=273K+t。
M——?dú)怏w相對(duì)分子質(zhì)量,空氣為28.8×10-3kg/mol。
c0——0℃時(shí)的聲波速度,為331.4m/s。
由上式可見(jiàn),超聲波在空氣中傳播時(shí),受溫度影響最大,由表達(dá)式可計(jì)算出波速與溫度的關(guān)系,如表2.1所示。溫度越高,傳播速度越快,而且不同溫度下傳播速度差別非常大,例如0℃時(shí)的速度為332m/s,30℃時(shí)的速度為350m/s,相差18m/s。因此,需要較高的測(cè)量精度時(shí),進(jìn)行溫度補(bǔ)償是最有效的措施。對(duì)測(cè)量精度要求不高時(shí),可認(rèn)為超聲波在空氣中的傳播速度為340m/s。



  
        
表2.1 超聲波傳播速度與溫度關(guān)系表
   
   
   
   



  
項(xiàng)目
  
數(shù)值
溫度
-30
-20
-10
0
10
20
30
40
50
60
100
聲速/( m•s)
313
319
325
332
338
344
350
356
361
367
388

第3章  方案論證
3.1  設(shè)計(jì)思路
測(cè)量距離方法有很多種,短距離可以用尺,遠(yuǎn)距離有激光測(cè)距等,超聲波測(cè)距適用于高精度中長(zhǎng)距離測(cè)量。因?yàn)槌暡ㄔ跇?biāo)準(zhǔn)空氣中傳播速度為331.45米/秒,由單片機(jī)負(fù)責(zé)計(jì)時(shí),單片機(jī)使用12.0M晶振,所以此系統(tǒng)測(cè)量精度理論上可以達(dá)到毫米級(jí)。
目前比較普遍的測(cè)距的原理:通過(guò)發(fā)射具有特征頻率的超聲波對(duì)被攝目標(biāo)的探測(cè),通過(guò)發(fā)射出特征頻率的超聲波和反射回接受到特征頻率的超聲波所用的時(shí)間,換算出距離,如超聲波液位物位傳感器,超聲波探頭,適合需要非接觸測(cè)量場(chǎng)合,超聲波測(cè)厚,超聲波汽車(chē)測(cè)距告警裝置等。  
由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播距離遠(yuǎn),因而超聲波可以用于距離測(cè)量。利用超聲波檢測(cè)距離,設(shè)計(jì)比較方便,計(jì)算處理也較簡(jiǎn)單,并且在測(cè)量精度方面也能達(dá)到要求。由于超聲波易于定向發(fā)射、方向性好、強(qiáng)度易控制、與被測(cè)量物體不需要直接接觸的優(yōu)點(diǎn),是作為液體高度測(cè)量的理想手段。在精密的液位測(cè)量中需要達(dá)到毫米級(jí)的測(cè)量精度,但是目前國(guó)內(nèi)的超聲波測(cè)距專(zhuān)用集成電路都是只有厘米級(jí)的測(cè)量精度。通過(guò)分析超聲波測(cè)距誤差產(chǎn)生的原因,提高測(cè)量時(shí)間差到微秒級(jí),以及用溫度傳感器進(jìn)行聲波傳播速度的補(bǔ)償后,我們?cè)O(shè)計(jì)的高精度超聲波測(cè)距儀能達(dá)到毫米級(jí)的測(cè)量精度。
目前超聲波測(cè)距已得到廣泛應(yīng)用,國(guó)內(nèi)一般使用專(zhuān)用集成電路根據(jù)超聲波測(cè)距原理設(shè)計(jì)各種測(cè)距儀器,但是專(zhuān)用集成電路的成本較高、功能單一。而以單片機(jī)為核心的測(cè)距儀器可以實(shí)現(xiàn)預(yù)置、多端口檢測(cè)、顯示、報(bào)警等多種功能,并且成本低、精度高、操作簡(jiǎn)單、工作穩(wěn)定、可靠。以8051為內(nèi)核的單片機(jī)系列,其硬件結(jié)構(gòu)具有功能部件齊全、功能強(qiáng)等特點(diǎn)。尤其值得一提的是,出8位CPU外,還具備一個(gè)很強(qiáng)的位處理器,它實(shí)際上是一個(gè)完整的位微計(jì)算機(jī),即包含完整的位CPU,位RAM、ROM(EPROM),位尋址寄存器、I/O口和指令集。所以,8051是雙CPU的單片機(jī)。位處理在開(kāi)關(guān)決策、邏輯電路仿真、過(guò)程測(cè)控等方面極為有效;而8位處理則在數(shù)據(jù)采集和處理等方面具有明顯長(zhǎng)處。
根據(jù)設(shè)計(jì)要求并綜合各方面因素,可以采用AT89C51單片機(jī)作為主控制器,它控制發(fā)射觸發(fā)脈沖的開(kāi)始時(shí)間及脈寬,響應(yīng)回波時(shí)刻并測(cè)量、計(jì)數(shù)發(fā)射至往返的時(shí)間差。利用軟件產(chǎn)生超聲波信號(hào),通過(guò)輸出引腳輸入至驅(qū)動(dòng)器,經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)后推動(dòng)探頭產(chǎn)生超聲波;超聲波信號(hào)的接收采用鎖相環(huán)LM567對(duì)放大后的信號(hào)進(jìn)行頻率監(jiān)視和控制。一旦探頭接到回波,若接收到的信號(hào)頻率等于振蕩器的固有頻率(此頻率主要由RC值決定),則其輸出引腳的電平將從“1”變?yōu)椤?”(此時(shí)鎖相環(huán)已進(jìn)入鎖定狀態(tài)),這種電平變化可以作為單片機(jī)對(duì)接收探頭的接收情況進(jìn)行實(shí)時(shí)監(jiān)控。可對(duì)測(cè)得數(shù)據(jù)優(yōu)化處理,并采用溫度補(bǔ)償,使測(cè)量誤差降到更低限度;AT89C51還控制顯示電路,用動(dòng)態(tài)掃描法實(shí)現(xiàn)LED數(shù)字顯示。
3.2  系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
超聲波測(cè)距儀系統(tǒng)結(jié)構(gòu)如圖3.1所示。它主要由單片機(jī)、超聲波發(fā)射及接收電路、超聲波傳感器、溫度傳感器、鍵盤(pán)、LED顯示電路及電源電路組成。系統(tǒng)主要功能包括:
1)     超聲波的發(fā)射、接收,并根據(jù)計(jì)時(shí)時(shí)間計(jì)算測(cè)量距離;
2)     檢測(cè)空氣溫度用于距離計(jì)算的補(bǔ)償;
3)     LED顯示器顯示距離、溫度;
4)     鍵盤(pán)接收用戶(hù)命令并處理;
5)     當(dāng)系統(tǒng)運(yùn)行不正常時(shí),用電平式開(kāi)關(guān)與上電復(fù)位電路復(fù)位。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image007.gif



   
         
圖3.1   超聲波測(cè)距儀系統(tǒng)結(jié)構(gòu)框圖
     
     
     
   




    第4章  主要元件介紹   
4.1  單片機(jī)AT89C51
單片機(jī)即單片微型計(jì)算機(jī)SCMC(Single ChipMicroComputer)。它把構(gòu)成一臺(tái)計(jì)算機(jī)的主要功能部、器件,如CPU(進(jìn)行運(yùn)算、控制)、RAM(數(shù)據(jù)存儲(chǔ))、ROM(程序存儲(chǔ))、輸入/輸出設(shè)備(例如:串行口、并行輸出口等)、中斷系統(tǒng)、定時(shí)/計(jì)數(shù)器等集中在一塊芯CPU(進(jìn)行運(yùn)算、控制)、RAM(數(shù)據(jù)存儲(chǔ))、ROM(程序存儲(chǔ))、輸入/輸出設(shè)備(例如:串行口、并行輸出口等)制功能,所以又稱(chēng)為微控制器MCU(MicrocontrollerUnit)。相對(duì)于普通微機(jī),單片機(jī)的體積要小得多,一般嵌入到其他儀器設(shè)備里,實(shí)現(xiàn)自動(dòng)檢測(cè)與控制,因此也稱(chēng)為嵌入式微控制器EMCU(EmbeddedMicrocontroller Unit)。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg本設(shè)計(jì)的MCU采用的是DIP(Dual In-linePackage塑料雙列直插式)封裝的AT89C51高性能8位單片機(jī)。AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性?xún)r(jià)比的解決方案。
  
        
圖4.1  AT89C51的引腳圖
   
   
   
   
AT89C51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。其引腳圖如右圖4.1                          
AT89C51的引腳功能有:                          
1)
主電源引腳
VSS——第20腳,電路接地電平。
VCC——第40腳,正常運(yùn)行和編程校驗(yàn)+5V電源。
2) 時(shí)鐘源
XTAL1——第19腳,一般外接晶振的一個(gè)引腳,它是片內(nèi)反相放大器的輸入端口。當(dāng)直接采用外部信號(hào)時(shí),此引腳應(yīng)接地。
XTAL1——第18腳,接外部晶振的另一個(gè)引腳,它是片內(nèi)反相放大器的輸出端口。當(dāng)采用外部振蕩信號(hào)源泉時(shí),此引腳為外部振蕩信號(hào)的輸入端口,與信號(hào)源相連接。
3) 控制、選通或復(fù)用
RST/VPD——第9腳,RESET復(fù)位信號(hào)輸入端口。當(dāng)單片機(jī)正常工作時(shí),由該引腳輸入脈寬為2個(gè)以上機(jī)器周期的高電平復(fù)位信號(hào)到單片機(jī)。在VCC掉電期間,此引腳(即VPD)可接通備用電源,以保持片內(nèi)RAM信息不受破壞。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image011.gif——第30腳,輸出允許地址鎖存信號(hào)。當(dāng)單片機(jī)訪問(wèn)外部存儲(chǔ)器時(shí),ALE信號(hào)的負(fù)跳變將P0口上的低8位地址送入鎖存器。在非訪問(wèn)外部存儲(chǔ)器期間,ALE仍以1/6振蕩頻率固定不變地輸出,因此它可對(duì)個(gè)輸出或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image013.gif為第二功能,當(dāng)對(duì)片內(nèi)程序存儲(chǔ)器編程寫(xiě)入時(shí),此引腳作為編程脈沖輸入端。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif——第29腳,訪問(wèn)外部程序存儲(chǔ)器選能信,低電平有效。當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的 file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif信號(hào)不出現(xiàn)。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif:外部訪問(wèn)允許。欲使CPU公訪問(wèn)外部程序存儲(chǔ)器(地址0000H-FFFFH),file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image021.gif端必須保持低電平(接地)。需注意的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image021.gif端狀態(tài)。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。
4) 多功能I/O端口
P0口——第32~39腳,8位漏極開(kāi)路雙向I/O端口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端用。在訪問(wèn)數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。
P1口——第1~8腳,具有內(nèi)部上拉電路的8位準(zhǔn)雙向I/O端口。在對(duì)片內(nèi)程序存儲(chǔ)器(EPROM型)進(jìn)行程序編程和校驗(yàn)時(shí),用做低8位地址總線。
P2口——第21~28腳,具有內(nèi)部上拉電路的8位準(zhǔn)雙向I/O端口。當(dāng)單片機(jī)訪問(wèn)存儲(chǔ)器時(shí),用做高8位地址總線;在對(duì)片內(nèi)程序存儲(chǔ)器(EPROM型)進(jìn)行程序編程和校驗(yàn)時(shí),亦用做高8位地址總線。
P3口——第10~17腳,具有內(nèi)部上拉電路的8位準(zhǔn)雙向I/O端口。它還提供特殊的第二功能。它的每一位均可獨(dú)立定義為第一功能的I/O口或第二功能。第二功能的具體含義如表4.2:



  
        
表4.2  P3口的第二功能
   
   
   
   



  
端口引腳
  
第二功能
P3.0
RXD  (串行輸入口)
P3.1
TXD  (串行輸出口)
P3.2
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif (外中斷0)
P3.3
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image026.gif (外中斷1)
P3.4
T0    (定時(shí)/計(jì)數(shù)器0)
P3.5
T1    (定時(shí)/計(jì)數(shù)器1)
P3.6
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image028.gif  (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)
P3.7
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image030.gif  (外部數(shù)據(jù)存儲(chǔ)器讀選通)
4.2  超聲波傳感器T40R40
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif本設(shè)計(jì)采用的是發(fā)送超聲波傳感器T40及接收超聲波傳感器R40,其外觀如圖4.3。
超聲波在恒定環(huán)境條件下的傳播速度不變。超聲波傳感器主要材料有壓電晶體(電致伸縮)及鎳鐵鋁合金(磁致伸縮)兩類(lèi)。電致伸縮的材料有鋯鈦酸鉛(PZT)等。壓電晶體組成的超聲波傳感器是一種可逆?zhèn)鞲衅鳎梢詫㈦娔苻D(zhuǎn)變成機(jī)械振蕩而產(chǎn)生超聲波,同時(shí)它接收到超聲波時(shí),也能轉(zhuǎn)變成電能,所以它可以分成接收器和發(fā)送器。超聲波傳感器由兩個(gè)壓電晶片和一個(gè)共振板組成,當(dāng)壓電晶片的兩極加上頻率等于其固有諧振頻率的脈沖信號(hào)時(shí),壓電晶片產(chǎn)生共振,并帶動(dòng)共振板產(chǎn)生振動(dòng),同時(shí)帶動(dòng)壓電晶片也一起振動(dòng),將機(jī)械能轉(zhuǎn)換為電能,稱(chēng)為超聲波接收器。超聲波傳感器利用壓電效應(yīng)進(jìn)行電能和超聲波機(jī)械能的相互轉(zhuǎn)換,也稱(chēng)為超聲波換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志,但外觀基本一致。有的超聲波傳感器既作發(fā)送,也能作接收。這里僅涉及小型超聲波傳感器,發(fā)送與接收略有差別,它適用于在空氣中傳播,工作頻率一般為23-25KHZ及40-45KHZ。這類(lèi)傳感器適用于測(cè)距、遙控、防盜等用途。該種有T/R-40-16,T/R-40-12等(其中T表示發(fā)送,R表示接收,40表示頻率為40KHZ,16及12表示其外徑尺寸,以毫米計(jì))。
4.3  溫度傳感器DS18B20
溫度傳感器主要由熱敏元件組成。熱敏元件品種教多,市場(chǎng)上銷(xiāo)售的有雙金屬片、銅熱電阻、鉑熱電阻、熱電偶及半導(dǎo)體熱敏電阻等。以半導(dǎo)體熱敏電阻為探測(cè)元件的溫度傳感器應(yīng)用廣泛,這是因?yàn)樵谠试S工作條件范圍內(nèi),半導(dǎo)體熱敏電阻器具有體積小、靈敏度高、精度高的特點(diǎn),而且制造工藝簡(jiǎn)單、價(jià)格低廉。半導(dǎo)體熱敏電阻按溫度特性熱敏電阻可分為正溫度系數(shù)熱敏電阻(電阻隨溫度上升而增加)和負(fù)溫度系數(shù)熱敏電阻(電阻隨溫度上升而下降)。
本設(shè)計(jì)采用的是美國(guó)Dallas 半導(dǎo)體公司的不銹鋼封裝的DS18B20數(shù)字溫度傳感器。DS18B20是采用專(zhuān)門(mén)設(shè)計(jì)的不銹鋼外殼,僅有0.2mm的壁厚,具有很小的蓄熱量,采用導(dǎo)熱性高的密封膠,保證了溫度傳感器的高靈敏性,極小的溫度延遲。DS18B20支持“一線總線”接口(1-Wire),測(cè)量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。
DS18B20采用3腳PR-35封裝(圖4.4):            
DS18B20數(shù)字化溫度傳感器的主要性能如下:
1)     適用電壓為3V~5V;
2)     9~12位分辨率可調(diào),對(duì)應(yīng)的可編程溫度分別為0.5℃、0.25℃、0.125℃、0.0625℃;
3)     TO-92、SOIC及CSP封裝可選;
4)     測(cè)溫范圍:-55℃~125℃;
5)     精度:-10℃~85℃范圍內(nèi)±0.5℃;
6)     無(wú)需外部元件,獨(dú)特的一線接口,電源和信號(hào)復(fù)合在一起;
7)     每個(gè)芯片唯一編碼,支持聯(lián)網(wǎng)尋址,零功耗等待。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image034.jpg


  
        
圖4.4  PR-35封裝圖
   
   
   
                  
第5章  硬件電路設(shè)計(jì)
5.1  超聲波發(fā)射電路
超聲波發(fā)射電路原理圖如圖5.1所示。發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器T40構(gòu)成,單片機(jī)P1.0端口輸出的40kHz的方波信號(hào)一路經(jīng)一級(jí)反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向器后送到超聲波換能器的另一個(gè)電極,用這種推換形式將方波信號(hào)加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采用兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。上位電阻R1、R2一方面可以提高反向器74LS04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image036.jpg






  
        
圖5.1     超聲波發(fā)射電路原理圖
   
   
   
   


5.2  超聲波接收電路
超聲波接收電路由超聲波傳感器、兩級(jí)放大電路和鎖相環(huán)電路組成。超聲波傳感器接收到的反射波信號(hào)非常微弱,兩級(jí)放大電路用于對(duì)傳感器接收到的信號(hào)進(jìn)行放大。鎖相環(huán)電路接收到頻率符合要求的信號(hào)后向單片機(jī)發(fā)出中斷請(qǐng)求。鎖相環(huán)LM567內(nèi)部壓控振蕩器的中心頻率為file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif,鎖定帶寬與C3有關(guān)。由于發(fā)送的超聲波頻率為40kHz,幫調(diào)整相關(guān)元件使鎖相環(huán)的中心頻率為40kHz,只響應(yīng)該頻率的信號(hào),避免了其他頻率信號(hào)的干擾。
當(dāng)超聲波傳感器接收到超聲波信號(hào)后,送入兩級(jí)放大器放大,放大后的信號(hào)進(jìn)入鎖相環(huán)檢波,如果頻率為40kHz,則從8腳發(fā)出低電平中斷請(qǐng)求信號(hào)送單片機(jī)P3.3端,單片機(jī)檢測(cè)到低電平后停止定時(shí)器的工作。超聲波接收電路如圖5.2file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image040.jpg所示。

  
        
圖5.2  超聲波接收電路
   
   
   
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image041.gif            
5.3  顯示電路
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image043.jpg顯示電路如圖5.3,四位LED組成動(dòng)態(tài)掃描電路,由AT89C51的P0口輸出。動(dòng)態(tài)掃描時(shí),由P2口控制LED的當(dāng)前顯示位。當(dāng)距離測(cè)量結(jié)束并調(diào)用顯示程序,就會(huì)顯示距離大小,顯示兩位小數(shù)。當(dāng)按下按鍵k2時(shí),將會(huì)顯示溫度值,延時(shí)5s后恢復(fù)顯示距離值。



  
        
圖5.3     顯示電路
   
   
   
   



5.4  電源電路
電源電路如圖5.4所示。為方便起見(jiàn),本設(shè)計(jì)采用的是9V電池供電,直流電送入三端穩(wěn)壓器LM7805穩(wěn)壓,輸出+5V穩(wěn)恒直流電,作為電路的電源。LED是電源指示燈,通電后發(fā)光。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg






  
        
圖5.4  電源電路
   
   
   
   


5.5  復(fù)位電路
AT89C51復(fù)位有一個(gè)專(zhuān)用的外部引腳RESET,外部可通過(guò)此引腳輸入一個(gè)正脈沖使單片機(jī)復(fù)位。所謂復(fù)位,就是強(qiáng)制單片機(jī)系統(tǒng)恢復(fù)到確定的初始狀態(tài),并使系統(tǒng)重新從初始狀態(tài)開(kāi)始工作。本設(shè)計(jì)采用的是電平式開(kāi)關(guān)與上電復(fù)位電路,為了能使運(yùn)行中的系統(tǒng),經(jīng)人工干預(yù),強(qiáng)制系統(tǒng)進(jìn)行復(fù)位。其電路如圖5.5所示:




   
         
圖5.5  復(fù)位電路
     
     
     
   
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image047.jpg





第6章  軟件設(shè)計(jì)
6.1  主程序流程
我們知道C語(yǔ)言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語(yǔ)言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而超聲波測(cè)距儀的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測(cè)距時(shí)),所以控制程序可采用C語(yǔ)言和匯編語(yǔ)言混合編程。
因?yàn)楸驹O(shè)計(jì)對(duì)時(shí)間要求精度較高的部分全部由單片機(jī)內(nèi)部的定時(shí)器完成,而雖然溫度傳感器的讀寫(xiě)對(duì)時(shí)間精度要求也高,但經(jīng)詳細(xì)計(jì)算所得出的C程序已被廣泛應(yīng)用,故直接借用已有程序也能作到對(duì)溫度的準(zhǔn)確讀取,所心本設(shè)計(jì)全部使用C語(yǔ)言編程,這樣能使設(shè)計(jì)中所用到的公式能方便快捷的體現(xiàn)和實(shí)現(xiàn),又縮短了論文的篇幅。
軟件采用模塊化設(shè)計(jì)方法,由主程序、超聲波發(fā)生子程序、超聲波接收中斷子程序、溫度測(cè)量子程序、距離計(jì)算子程序、顯示子程序、鍵盤(pán)掃描處理程序等模塊組成。
系統(tǒng)上電后,首先系統(tǒng)初始化,不斷掃描按鍵k1,若按鍵k1按下,則開(kāi)始測(cè)量空氣溫度,然后將P1.0置位,使定時(shí)器T0開(kāi)始定時(shí),控制超聲波傳感器發(fā)出超聲波,同時(shí)使定時(shí)器T1開(kāi)始定時(shí)。CPU循環(huán)檢測(cè)P3.3引腳,當(dāng)P3.3為低電平時(shí)接收到回波,立即使T1停止工作,保存定時(shí)器的計(jì)數(shù)值。
然后根據(jù)溫度和傳輸時(shí)間計(jì)算距離,溫度補(bǔ)償措施使測(cè)量精度有了明顯提高,計(jì)算出距離后調(diào)用距離顯示子程序,LED顯示距離。
最后檢測(cè)按鍵k2,若k2閉合,則調(diào)用溫度顯示子程序,LED顯示溫度(溫度并非測(cè)量距離時(shí)用于補(bǔ)償?shù)臏囟龋钱?dāng)前溫度)5s后恢復(fù)顯示本次測(cè)量距離;若按鍵k2沒(méi)有閉合,則顯示器恒定顯示最新一次的測(cè)量結(jié)果;若要進(jìn)行下一次測(cè)量,則先要按下k3重新開(kāi)始,再按下按鍵k1才執(zhí)行新一次測(cè)量。由于不需輸入數(shù)據(jù),鍵盤(pán)只設(shè)置了3個(gè)按鍵,用于開(kāi)始測(cè)量距離并顯示溫度功能設(shè)置等。
圖6.1為主程序流程圖。




file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image048.gif
























  
        
圖6.1  主程序流程圖
   
   
   
   


6.2  子程序設(shè)計(jì)6.2.1  超聲波發(fā)送子程序及超聲波接收中斷子程序
超聲波發(fā)生子程序的作用是通過(guò)P1.0端口發(fā)送左右超聲波脈沖信號(hào)(頻率約40kHz的方波),脈沖寬度為12μs左右,同時(shí)把計(jì)數(shù)器T1打開(kāi)進(jìn)行計(jì)時(shí),定時(shí)器T1工作在方式0。
超聲波測(cè)距儀主程序利用外中斷1檢測(cè)返回超聲波信號(hào),一旦接收到返回超聲波信號(hào)(即file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image026.gif引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器T1停止計(jì)時(shí),并將測(cè)距成功標(biāo)志字賦值1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測(cè)到超聲波返回信號(hào),則定時(shí)器T1溢出中斷將外中斷1關(guān)閉,并將測(cè)距成功標(biāo)志字賦值0表示此次測(cè)距不成功。
T0中斷服務(wù)程序如下:
sbit send=P1^0;
void timer0(void)interrupt 1
{   send=!send;
    TH0=0x1f;
    TL0=0xf4;
}
超聲波接收(外部中斷1)程序:
void int1(void)interrupt 2
{  if(TH1!=0x00&&TH0!=0x00)
      {   b=1;
          TR1=0;
          TR0=0;
          t=TH1*256+TL1;
       t=t/1000000;
       TH0=0x1f;
       TL0=0xf4;
       TH1=0x00;
       TL1=0x00;
      }
      else
      {   b=0;
          TR1=0;
          TR0=0;
       TH0=0x1f;
       TL0=0xf4;
       TH1=0x00;
       TL1=0x00;
}   }
6.2.2  測(cè)溫子程序
測(cè)溫的主要器件是DS18B20,現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,DS18B20中有兩個(gè)存測(cè)得的溫度值的兩個(gè)8位存貯器RAM,用11位存貯溫度值,最高位(5位)為符號(hào)位。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。圖6.2為DS18B20的溫度存儲(chǔ)方式:
      bit7   bit6     bit5    bit4   bit3    bit2    bit1    bit0
  
23
  
22
21
20
2-1
2-2
2-3
2-4
      bit15   bit14   bit13   bit12   bit11  bit10    bit9    bit8
  
  S
  
S
S
S
S
26
25
24
  
        
圖6.2  DS18B20的溫度存儲(chǔ)方式
   
   
   
   


負(fù)溫度時(shí)S=1,正溫度時(shí)S=0。因此我們只需要逐位讀出它的溫度就可以了。讀出一個(gè)字節(jié)C代碼如下:
uchar readbyte(void)         //直接讀一字節(jié)程序
{  uchar i,k;
      i=8;
      k=0;
      while(i--)
      {     tem_in=1;
             delay_us(1);
             tem_in=0;
             k=k>>1;
             tem_in=1;
             NOP;
             if(tem_in)k |= 0x80;     //tem_in為1時(shí),則該位也為1
             delay_us(4);
}
      return(k);
}
6.2.3  距離計(jì)算子程序
當(dāng)前溫度和超聲波往返時(shí)間均測(cè)量出來(lái)后,用C語(yǔ)言根據(jù)公式計(jì)算距離來(lái)編程是比較簡(jiǎn)單的算法。
根據(jù)測(cè)量距離file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image051.gif,而其中file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif,故可簡(jiǎn)化為:file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image054.giffile:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image056.gif,其實(shí)現(xiàn)程序算法如下:
#include<math.h>
void distance(void)
{
double radical,dist,t;
radical=sqrt(1+(temnum+273)/273);
dist=165.7*t*radical;
return(dist);
}   
6.2.4 顯示子程序和鍵盤(pán)掃描子程序
顯示電路由四位LED組成動(dòng)態(tài)掃描電路,編程非常簡(jiǎn)單。又雖然本設(shè)計(jì)共有四個(gè)按鍵,k0控制電源輸入,不需軟件編程;而k3為手動(dòng)復(fù)位按鍵,亦不需軟件編程;只有k1 、k2分別測(cè)距開(kāi)始按鍵和距離與溫度切換顯示按鍵,級(jí)易實(shí)現(xiàn)。顯示子程序和鍵盤(pán)掃描子程序,詳情可見(jiàn)附錄二。
第7章  軟件調(diào)試及系統(tǒng)仿真
7.1  軟件編譯調(diào)試環(huán)境——Keil
單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。
7.2  系統(tǒng)仿真環(huán)境——Proteus
Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件具有如下特點(diǎn):①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。②支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類(lèi)型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。④具有強(qiáng)大的原理圖繪制功能。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。
7.3  系統(tǒng)仿真
由于Proteus里沒(méi)有超聲波傳感器,也沒(méi)有能夠完全代替它功能元件,所以本設(shè)計(jì)只敘述其能仿真出來(lái)一部分。
1)    源程序的錄入
先右擊AT89C51,再左擊AT89C51,會(huì)出現(xiàn)如圖7.1所示的對(duì)話框,點(diǎn)擊file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image058.jpg,選擇所需要的HEX文件。然后單擊OK。
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image060.jpg

















  
        
圖7.1  錄入源程序?qū)υ捒?/div>   
   
   


2)    仿真的實(shí)現(xiàn)
一切準(zhǔn)備就緒后,點(diǎn)擊file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image062.jpg,就開(kāi)始仿真了。
圖7.2為本設(shè)計(jì)的系統(tǒng)仿真原理圖。

























file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image064.jpg

















  
        
圖7.2  系統(tǒng)仿真原理圖
   
   
   



7.4  誤差及特性分析
雖說(shuō)在仿真時(shí)溫度傳感器DS18B20是可視調(diào)節(jié),且全為整數(shù),但LED顯示時(shí)當(dāng)溫度達(dá)到一定范圍便會(huì)出現(xiàn)小數(shù)誤差。例如當(dāng)DS18B20顯示是28℃時(shí),而LED顯示是28.4℃;而當(dāng)DS18B20顯示是25℃時(shí),而LED顯示仍是25℃;而仿真表明隨著溫度的升高其誤差大小也并不一致,且全都控制在1℃以?xún)?nèi)。說(shuō)明這并不是固有誤差,很難避免,可以忽略,其對(duì)距離測(cè)量的影響也微乎其微,并不會(huì)使距離測(cè)量精度明顯降低。
根據(jù)超聲波的特性,距離測(cè)量時(shí)必須滿(mǎn)足條件:①被測(cè)目標(biāo)必須垂直于超聲波測(cè)距儀。②被測(cè)目標(biāo)表面必須平坦。③測(cè)量時(shí)在超聲波測(cè)距儀周?chē)鷽](méi)有其他可反射超聲波的物體。因此在測(cè)量過(guò)程中稍不小心就會(huì)接收不到超聲波,而導(dǎo)致沒(méi)有測(cè)量結(jié)果。
由于超聲波的往返時(shí)間由單片機(jī)AT89C51的定時(shí)器T1來(lái)記,定時(shí)器T1工作在方式1,其最大定時(shí)時(shí)間為65.536ms,可得出在常溫下最大的測(cè)量距離在10m以?xún)?nèi)。且因?yàn)榘l(fā)射功率有限,測(cè)距儀也無(wú)法測(cè)量10m外的物體。

結(jié)  論
利用51系列單片機(jī)設(shè)計(jì)的測(cè)距儀便于操作、讀數(shù)直觀。經(jīng)實(shí)際測(cè)試證明,該類(lèi)測(cè)距儀工作穩(wěn)定,能滿(mǎn)足一般近距離測(cè)距的要求,且成本較低、有良好的性?xún)r(jià)比。由于該系統(tǒng)中鎖相環(huán)鎖定需要一定時(shí)間,測(cè)得的距離有誤差,在汽車(chē)?yán)走_(dá)應(yīng)用中可忽略不計(jì);但在精度要求較高的工業(yè)領(lǐng)域如機(jī)器人自動(dòng)測(cè)距等方面,此誤差不能忽略,可以通過(guò)改變一些硬件的應(yīng)用實(shí)現(xiàn)對(duì)超聲波的快速鎖定或根據(jù)自己的需要在程序中加入測(cè)距軟件補(bǔ)償?shù)拇a,使誤差進(jìn)一步減小,可以滿(mǎn)足更高要求。
本設(shè)計(jì)完整地做出之后可測(cè)量十米以?xún)?nèi)的距離。因?yàn)槌暡ǖ奶匦裕瑴y(cè)距時(shí)保證傳感器與被測(cè)物間,以及測(cè)量軸線上沒(méi)有障礙物;且要盡量保證傳感器軸線與被測(cè)物表面垂直;實(shí)際測(cè)距范圍與被測(cè)物表面材料等因素有關(guān),一般不要測(cè)量表面為毛料的物體表面。

致  謝
從開(kāi)始做論文到論文基本完成,經(jīng)歷了很長(zhǎng)一段時(shí)間,從開(kāi)始的一知半解到現(xiàn)在的全面了解算是經(jīng)歷了一個(gè)漫長(zhǎng)的過(guò)程。在這個(gè)過(guò)程中有很多人給了我莫大的幫助。
首先要感謝的是我的指導(dǎo)老師李老師,在論文的整體設(shè)計(jì)給我很大的幫助,還有在我論文都定稿前認(rèn)真的審閱了我的論文,指出我的錯(cuò)誤和不足的地方,在這里深表感謝!其次我要感謝和我度過(guò)大學(xué)生活的同學(xué),因?yàn)闆](méi)有你們的幫助我是無(wú)法順利地完成這個(gè)課題的!當(dāng)然還有個(gè)別同學(xué)的專(zhuān)業(yè)知識(shí)讓我深表佩服,以及他助人為樂(lè)的精神讓我無(wú)法忘卻,深深感謝!
還有我的母校,它給我提供了良好的學(xué)習(xí)環(huán)境,使我可以在這里學(xué)習(xí)自己想學(xué)習(xí)和自己要掌握的知識(shí)和技能。學(xué)校是個(gè)令人難忘的地方,在這里的時(shí)間是我無(wú)法忘記的。一定要謝的還有我的父母,他們總是竭盡所能的給我提供更好的環(huán)境,讓我心里充滿(mǎn)感激,感謝之情無(wú)法言言喻!大學(xué)給我留下了我人生不可磨滅的印象,給我留下了美好的回憶。最后祝愿我的母校祝越來(lái)越美麗。祝福老師們身體健康,工作順利!同學(xué)們都能找到稱(chēng)心的工作!

參考文獻(xiàn)
[1]林偉, 梁家寧,李才安. 便攜式多功能超聲波測(cè)距儀的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子測(cè)量技術(shù),2008, (01): 29-31.
[2]羅慶生, 韓寶玲.一種基于超聲波與紅外線探測(cè)技術(shù)的測(cè)距定位系統(tǒng)[J]. 計(jì)算機(jī)測(cè)量與控制, 2005,(04):1-3.
[3]高飛燕. 基于單片機(jī)的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)[J]. 信息技術(shù), 2005,(07):43-45.
[4]趙海鳴,卜英勇,王紀(jì)嬋, 周知進(jìn). 一種高精度超聲波測(cè)距方法的研究[J]. 湖南科技大學(xué)學(xué)報(bào)(自然科學(xué)版), 2006,(03):8-10.
[5]路錦正, 王建勤,楊紹國(guó), 趙珂, 趙太飛.超聲波測(cè)距儀的設(shè)計(jì)[J] .傳感器技術(shù), 2002,(08):9-11.
[6]牛余朋, 成曙.基于單片機(jī)的超聲波測(cè)距系統(tǒng)[J]. 兵工自動(dòng)化, 2005, (04):44-46.
[7]張健, 李鋼.超聲波測(cè)距系統(tǒng)的研究與設(shè)計(jì)[J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2004,(06):13-15.  
[8]阮成功, 藍(lán)兆輝,陳碩. 基于單片機(jī)的超聲波測(cè)距系統(tǒng)[J]. 應(yīng)用科技, 2004, (07):8-10.
[9]童峰, 許水源,許天增. 一種高精度超聲波測(cè)距處理方法[J]. 廈門(mén)大學(xué)學(xué)報(bào)(自然科學(xué)版), 1998,(04):8-10.
[10]孫育才,孫華芳,王榮興. 單片機(jī)原理及其應(yīng)用[M]. 北京:電子工業(yè)出版社,2006:1-287.
[11]胡大可,李培弘,方路平. 基于單片機(jī)8051的嵌入式開(kāi)發(fā)指南[M].北京:電子工業(yè)出版社,2003:1-150.
[12]求是科技. 單片機(jī)通信技術(shù)與工程實(shí)踐[M]. 北京:人民郵電出版社,2005:1-191.
[13]潭浩強(qiáng). C程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005:1-378.
[14]林志琦,郎建軍,李會(huì)杰,佟大鵬. 基于Proteus的單片機(jī)可視化軟硬件仿真[M].北京:北京航空航天大學(xué)出版社,2006:1-93.

附錄1 整體電路圖
file:///C:/Users/Du/AppData/Local/Temp/msohtmlclip1/01/clip_image066.jpg

附錄2 程序
#include<reg51.h>
#include<stdio.h>
#include<math.h>
#include<intrins.h>
#define unint unsigned int
#define uchar unsigned char
#define LED P1                             //際溫度值輸出端口定義      
#define NOP _nop_()
sbit tem_in=P1^1;
sbit k1=P3^7;
sbit k2=P3^6;
sbit k3=P3^5;
sbit send=P1^0;
sbit recieve=P3^2;
uchar temp_h,temp_l;                   //溫度值變量
float temnum;                //當(dāng)前溫度值
float t;                      //超聲波往返所占用的時(shí)間
bit   setb;                     
bit   b;                    //測(cè)距成功標(biāo)志位,當(dāng)b=1時(shí)標(biāo)志測(cè)距成功
uchar flag1;                               //正負(fù)標(biāo)志位
uchar codeledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//數(shù)碼顯示數(shù)據(jù):0,1,2,3,4,5,6,7,8,9,-,消隱
uchar dispbuf[4]={0,0,0,0},tembuf[4]={0,0,0,0};
///////////////////////////////////////////////////////////////
void delay(unsigned int count)         
{
      unint i;
      while(count)
      {
             i=38;
             while(i>0)i--;
             count--;
      }
}
///////////////////////////////////////////////////////////////
void delay10ms(unsigned int n)     
{
   unsigned int j,k;
        while(n--!=0)
        {
                    for(j=0;j<10;j++)
                           for(k=0;k<72;k++)
                                  ;
        }   
}
///////////////////////////////////////////////////////////////
void delay_us(uchar n)                    
{
uchar i;
      i=0;
      while(i<n)
      {i++;}
      return;
}
///////////////////////////////////////////////////////////////
void dsreset(void)        //DS18B20重設(shè)
{
      unsigned int i;
      tem_in=0;
      i=103;
      while(i>0)i--;
      tem_in=1;
      i=4;
      while(i>0)i--;
}
///////////////////////////////////////////////////////////////
uchar readbyte(void)         //直接讀一字節(jié)程序
{
      uchar i,k;
      i=8;
      k=0;
      while(i--)
      {     
             tem_in=1;
             delay_us(1);
             tem_in=0;
             k=k>>1;
             tem_in=1;
             NOP;
             if(tem_in)k |=0x80;      //tem_in為1時(shí),則該位也為1
             delay_us(4);
      }
      return(k);
}
///////////////////////////////////////////////////////////////
void tmpwrite(unsigned char dat)  //函數(shù)功能:向B20寫(xiě)一字節(jié)
{    unsigned int i;
      unsigned char j;
      bit testb;
      for(j=1;j<=8;j++)
      {     testb=dat&0x01;
             dat=dat>>1;
             if(testb)
             {     tem_in=0;i++;i++;
                    tem_in=1;
                    i=8;while(i>0)i--;
             }
             else
             {
                    tem_in=0;
                    i=8;while(i>0)i--;
                    tem_in=1;i++;i++;
             }
      }
}
//////////////////////////////////////////////////////////////
void tmpchange(void)                  
{
      dsreset();                                         //復(fù)位
      delay(1);
      tmpwrite(0xcc);                              //跳過(guò)序列號(hào)命令
      tmpwrite(0x44);                             //轉(zhuǎn)換命令
}
////////////////////////////////////////////////////////////
void tmp(void)                 //溫度采集及轉(zhuǎn)換
{   
       int m,n=0;
       float temnum1=0;               
     dsreset();
       delay(1);
       tmpwrite(0xcc);
       tmpwrite(0xbe);
       temp_l=readbyte();          //低位在前                           
       temp_h=readbyte();          //高位在后                                                                        
       flag1=temp_h&0xf8;
       if(flag1)
       {   n=flag1;
             temp_h=~temp_h;
             if(temp_l==0)temp_h++; //若低8位全為0且溫度為負(fù),取補(bǔ)時(shí)就要向高位進(jìn)1
             temp_l=~temp_l+1;  
       }
       temnum1=(temp_h*256+temp_l)/16;
     if(temnum1<10)
       {   tembuf[3]=11;
             tembuf[2]=11;
             tembuf[1]=(uchar)temnum1;
             tembuf[0]=(uchar)(temnum1*10)%10;
       }   
       if(temnum1>=100)
       {
     tembuf[3]=(uchar)temnum1/100;
        m=(int)temnum1%100;
      tembuf[2]=(uchar)m/10;
        tembuf[1]=(uchar)m%10;
        tembuf[0]=(uchar)(temnum1*10)%10;           
       }
     if(temnum1<100&&temnum1>=10)   
       { tembuf[3]=11;
             tembuf[2]=(uchar)temnum1/10;
             tembuf[1]=(uchar)temnum1%10;
             tembuf[0]=(uchar)(temnum1*10)%10;
       }
       if(n==0xf8)tembuf[3]=10;
       temnum=temnum1;              
       }
//////////////////////////////////////////////////////////
void dis(void)             //溫度顯示
{
      uchar i;
   uchar j=0xfe;
             for(i=0;i<4;i++)                        //輸送顯示數(shù)據(jù)     
             {            
                 P0=0xff;
                    P0=ledcode[tembuf];
                    if(i==1)P0=ledcode[tembuf]+0x80;     //小數(shù)點(diǎn)顯示
                    P2=j;
                    delay(15);
                    j=(j<<1)+0x01;                                      
             }
}
///////////////////////////////////////////////////////
void distance(void)                //計(jì)算測(cè)量得到的距離
{
   double radical,dist;
   if(b!=0)
   {
   radical=sqrt(1+(temnum+273)/273);
    dist=165.7*t*radical;
    dist=dist+0.005;  //四舍五入并留兩位小數(shù)
      if(dist>0&&dist<10)
      {     dispbuf[3]=11;
             dispbuf[2]=(uchar)dist;
             dispbuf[1]=(uchar)(dist*10)%10;
             dispbuf[0]=(uchar)(dist*100)%10;
      }     
      if(dist>=10&&dist<=0)   //測(cè)量距離大于10米或小于0顯示"----",也有出錯(cuò)的意思
      {
     dispbuf[3]=10;
       dispbuf[2]=10;
       dispbuf[1]=10;
       dispbuf[0]=10;           
         }
   if(dist<100&&dist>=10)  
      {   dispbuf[3]=(uchar)dist/10;
             dispbuf[2]=(uchar)dist%10;
             dispbuf[1]=(uchar)(dist*10)%10;
             dispbuf[0]=(uchar)(dist*100)%10;
      }
   }
      else                 
      {                        //當(dāng)T1溢出時(shí),則測(cè)量時(shí)間無(wú)效
        dispbuf[3]=10;
          dispbuf[2]=10;
          dispbuf[1]=10;
          dispbuf[0]=10;            
      }
}   
///////////////////////////////////////////////////////
void dis1(void)                        //距離顯示
{
      uchar i;
    uchar j=0xfe;
             for(i=0;i<0;i++)                        /*輸送顯示數(shù)據(jù)*/     
             {            
                 P0=0xff;
                    P0=ledcode[dispbuf];
                    if(i==2)P0=ledcode[dispbuf]+0x80;     //小數(shù)點(diǎn)顯示
                    P2=j;
                    delay10ms(1);
                    j=(j<<1)+0x01;                                      
             }
}
///////////////////////////////////////////////////////////////
void dis2(void)  
{
      uchar i;                 
    uchar j=0xfe;
       dispbuf[3]=11;
          dispbuf[2]=11;
          dispbuf[1]=11;
          dispbuf[0]=0;     
             for(i=0;i<4;i++)                         /*輸送顯示數(shù)據(jù)*/     
             {            
                 P0=0xff;
                    P0=ledcode[dispbuf];
                    P2=j;
                    delay10ms(1);
                    j=(j<<1)+0x01;                        
             }
}
///////////////////////////////////////////////////////////////
void timer1(void)interrupt 3
{  
   TR1=0;
   TH1=0x00;
   TL1=0x00;
}
///////////////////////////////////////////////////////////////
void timer0(void)interrupt 1
{
    send=!send;
    TH0=0x1f;
    TL0=0xf4;
}
///////////////////////////////////////////////////////
void int1(void)interrupt 2
{
      if(TH1!=0x00&&TH0!=0x00)
      {
         b=1;
         TR1=0;
         TR0=0;
         t=TH1*256+TL1;
       t=t/1000000;
       TH0=0x1f;
       TL0=0xf4;
       TH1=0x00;
       TL1=0x00;
      }
      else
      {
         b=0;
         TR1=0;
         TR0=0;
       TH0=0x1f;
       TL0=0xf4;
       TH1=0x00;
       TL1=0x00;
    }
}
///////////////////////////////////////////////////////
main()
{   
       unint i;
       EA=1;                                //開(kāi)中斷
     TMOD=0x10;     //設(shè)定時(shí)器0、定時(shí)器1都工作在定時(shí)狀態(tài),T0方式0,T1方式1
     ET0=1;                              //定時(shí)器0中斷允許
     ET1=1;                              //定時(shí)器1中斷允許
       IT1=0;                               //外部中斷1低電平有效
     TH0=0x1f;
     TL0=0xf4;
     TH1=0x00;
     TL1=0x00;
     send=1;
     receive=1;
     k1=1;
     k2=1;
////////////////////////////////////////////////////////////////
   while(1)
   {
     dis2();
   if(k1!=1)    //判斷k1是否按下,按下則開(kāi)始執(zhí)行溫度轉(zhuǎn)換和測(cè)距操作
   {
      delay(100);                     //消抖
      if(k1!=1)
      {
       tmpchange();                                //啟動(dòng)溫度轉(zhuǎn)換
       tmp();
       EX1=1;                         //外部中斷1中斷允許
       TR0=1;                         //T0定時(shí)開(kāi)始  
     TR1=1;                         //T1定時(shí)開(kāi)始
       delay10ms(7);
     distance();
       EX1=0;
   while(1)
   {
     dis1();
      if(k2!=1)
      {  
         delay(100);
         if(k2!=1)                       
            {
           for(i=0;i<200;i++)
          {
                    tmpchange();                           
              tmp();
                 dis();
                    }
                 }
       }
      if(k3!=1)
      {
         delay(100);
         if(k3!=1)
         break;
                }
         }
         }
         }
       }
      }
/////////////////////////////////////////////////
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:415885 發(fā)表于 2018-10-26 16:47 | 只看該作者
樓主可以發(fā)一份到我的郵箱嗎?820680749@qq.com 謝謝
回復(fù)

使用道具 舉報(bào)

板凳
ID:338343 發(fā)表于 2018-10-30 11:17 來(lái)自觸屏版 | 只看該作者
麻煩樓主發(fā)一份資料1533806225@qq.com
回復(fù)

使用道具 舉報(bào)

地板
ID:413816 發(fā)表于 2018-11-6 08:10 | 只看該作者
可以共享一下么
回復(fù)

使用道具 舉報(bào)

5#
ID:422055 發(fā)表于 2018-11-27 23:09 | 只看該作者
樓主可能發(fā)一份資料
回復(fù)

使用道具 舉報(bào)

6#
ID:448741 發(fā)表于 2018-12-18 11:20 | 只看該作者
樓主可以發(fā)一份到我的郵箱嗎?794253266@qq.com  萬(wàn)分謝謝
回復(fù)

使用道具 舉報(bào)

7#
ID:448741 發(fā)表于 2018-12-18 11:21 | 只看該作者
樓主可以發(fā)一份到我的郵箱嗎?794253266@qq.com  非常 謝謝
回復(fù)

使用道具 舉報(bào)

8#
ID:458913 發(fā)表于 2019-1-1 03:00 | 只看該作者
樓主可以發(fā)一份到983343655@qq.com嗎,謝謝
回復(fù)

使用道具 舉報(bào)

9#
ID:460779 發(fā)表于 2019-1-3 11:45 | 只看該作者
樓主可以發(fā)一下郵箱嗎?374825675@qq.com   順便附加一下購(gòu)買(mǎi)清單
回復(fù)

使用道具 舉報(bào)

10#
ID:461770 發(fā)表于 2019-1-7 16:12 | 只看該作者
樓主很棒很優(yōu)秀
回復(fù)

使用道具 舉報(bào)

11#
ID:458993 發(fā)表于 2019-1-18 22:30 | 只看該作者
樓主可以發(fā)一份到我郵箱嗎1203220507@qq.com萬(wàn)分感謝
回復(fù)

使用道具 舉報(bào)

12#
ID:508630 發(fā)表于 2019-4-11 16:15 | 只看該作者
能把這份資料發(fā)給郵箱嗎 1255271146@qq.com 謝謝樓主
回復(fù)

使用道具 舉報(bào)

13#
ID:508630 發(fā)表于 2019-4-15 12:21 | 只看該作者
能把這份資料發(fā)給郵箱嗎 1255271146@qq.com 謝謝樓主
回復(fù)

使用道具 舉報(bào)

14#
ID:521841 發(fā)表于 2019-5-6 12:42 | 只看該作者
能發(fā)一份資料給郵箱嗎?  1711416709@qq.com  謝謝樓主
回復(fù)

使用道具 舉報(bào)

15#
ID:528642 發(fā)表于 2019-5-6 20:36 | 只看該作者
#在這里快速回復(fù)# 樓主可以發(fā)一份到我的郵箱嗎?1757945247@qq.com  非常 謝謝
回復(fù)

使用道具 舉報(bào)

16#
ID:530335 發(fā)表于 2019-5-8 09:49 | 只看該作者
樓主,求發(fā)一份1363445327@qq.com
回復(fù)

使用道具 舉報(bào)

17#
ID:537953 發(fā)表于 2019-5-14 14:39 | 只看該作者
樓主麻煩發(fā)一份到843337000@qq.com唄,謝謝
回復(fù)

使用道具 舉報(bào)

18#
ID:538834 發(fā)表于 2019-5-15 14:36 | 只看該作者
樓主發(fā)一份可以嗎謝謝了1571413163@qq.com
回復(fù)

使用道具 舉報(bào)

19#
ID:529995 發(fā)表于 2019-5-22 12:58 | 只看該作者
樓主大大發(fā)一份 謝謝 741320452@qq.com
回復(fù)

使用道具 舉報(bào)

20#
ID:547838 發(fā)表于 2019-5-26 20:37 | 只看該作者
樓主能把這份報(bào)告發(fā)我郵箱嗎?1393616275@qq.com  拜托了( •̥́ ˍ •̀ू )
回復(fù)

使用道具 舉報(bào)

21#
ID:547838 發(fā)表于 2019-5-26 20:41 | 只看該作者
樓主能把這份資料發(fā)我一份嗎?1393616275@qq.com拜托了( •̥́ ˍ •̀ू )
回復(fù)

使用道具 舉報(bào)

22#
ID:558772 發(fā)表于 2019-6-11 15:56 | 只看該作者
樓主能把這份資料發(fā)我一份嗎?1172856120@qq.com拜托了( •̥́ ˍ •̀ू )
回復(fù)

使用道具 舉報(bào)

23#
ID:560408 發(fā)表于 2019-6-11 22:13 | 只看該作者
樓主能把這份報(bào)告發(fā)我郵箱嗎?529447492@qq.com  拜托了( •̥́ ˍ •̀ू )
回復(fù)

使用道具 舉報(bào)

24#
ID:573965 發(fā)表于 2019-7-3 18:00 來(lái)自觸屏版 | 只看該作者
樓主求一份資料  568950581@qq.com
回復(fù)

使用道具 舉報(bào)

25#
ID:611879 發(fā)表于 2019-11-12 14:58 | 只看該作者
麻煩樓主大大發(fā)一份 謝謝  1015783190@qq.com
回復(fù)

使用道具 舉報(bào)

26#
ID:646715 發(fā)表于 2019-11-21 18:53 | 只看該作者
麻煩樓主大大能夠發(fā)我一份謝謝1148219767@qq.com
回復(fù)

使用道具 舉報(bào)

27#
ID:660643 發(fā)表于 2019-12-10 15:18 | 只看該作者
麻煩樓主大大可以發(fā)我一份么  1289409611@qq.com  謝謝
回復(fù)

使用道具 舉報(bào)

28#
ID:660643 發(fā)表于 2019-12-25 10:12 | 只看該作者
同求啊,謝謝
回復(fù)

使用道具 舉報(bào)

29#
ID:734945 發(fā)表于 2020-4-30 11:29 | 只看該作者
為啥看不到圖片啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表