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

正文內(nèi)容

基于單片機(jī)的超聲波測距畢業(yè)設(shè)計(jì)論文-閱讀頁

2025-07-12 19:44本頁面
  

【正文】 B20的主要特性:適應(yīng)電壓范圍更寬,~,在寄生電源方式下可由數(shù)據(jù)線供電。DS18B20支持多點(diǎn)組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫。溫度范圍-55℃~+125℃,在10~+85℃時精度為177??删幊痰姆直媛蕿?~12位,℃、℃、℃℃,可實(shí)現(xiàn)高精度測溫。測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU,同時可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯能力。 顯示模塊 LED(LightEmitting Diode,發(fā)光二極管)有七段和八段之分,也有共陰和共陽兩種。下圖示出了八段LED數(shù)碼顯示管的結(jié)構(gòu)和原理圖。八段LED顯示管由八只發(fā)光二極管組成,編號是a、b、c、d、e、f、g和SP,分別與同名管腳相連。 (a)共陰LED結(jié)構(gòu) (b)共陰LED (c)共陽LED圖47 8段數(shù)碼管示意圖單片機(jī)對LED管的顯示可以分為靜態(tài)和動態(tài)兩種。為了提高系統(tǒng)可靠性并降低成本,單片機(jī)控制系統(tǒng)通常采用動態(tài)掃描顯示。圖48 顯示電路圖49 74HC573管腳圖八進(jìn)制三態(tài)非反轉(zhuǎn)透明鎖存器74HC573管腳如上圖49所示。(2)高性能軌門CMOS器件74HC573的輸入是和標(biāo)準(zhǔn)CMOS輸出兼容的;加上拉電阻,他們能和LS/ALSTTL輸出兼容。當(dāng)鎖存使能端變?yōu)榈蜁r,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。(5)操作電壓范圍:~。(7)CMOS器件的高噪聲抵抗特性。74HC573功能表 復(fù)位電路單片機(jī)在RESET端加一個大于20ms正脈沖即可實(shí)現(xiàn)復(fù)位,上電復(fù)位和按鈕組合的復(fù)位電路如下圖410所示。只要該脈沖足夠?qū)捑涂梢詫?shí)現(xiàn)復(fù)位,即ms。當(dāng)人按下按鈕S1時,使電容C1通過R1迅速放電,待S1彈起后,C再次充電,實(shí)現(xiàn)手動復(fù)位。 時鐘電路當(dāng)使用單片機(jī)的內(nèi)部時鐘電路時,單片機(jī)的XATL1和XATL2用來接石英晶體和微調(diào)電容,如圖411所示,晶體一般可以選擇3M~24M,電容可以選擇可在10~47pF。 圖411 時鐘電路為了減少寄生電容,更好的保證震蕩器穩(wěn)定可靠地工作,晶振和電容應(yīng)盡可能安裝得與單片機(jī)越近越好。 最小系統(tǒng)電源單向小功率穩(wěn)壓電源是常用的小型電子設(shè)備,它的電路結(jié)構(gòu)一般主要包括電源變壓器、整流電路、濾波電路和穩(wěn)壓電路四部分組成。穩(wěn)壓管穩(wěn)壓電路輸出電壓不需調(diào)解,負(fù)載電流小時工作狀態(tài)良好,但是此處需要提供正負(fù)5V電壓需要兩套設(shè)備分別提供正負(fù)電壓,元件要求增加帶來不便。開關(guān)型穩(wěn)壓電路,能達(dá)到設(shè)計(jì)要求,但是設(shè)備復(fù)雜也增加元器件數(shù)量。并且,我們采用一片W7805和W7905三端集成穩(wěn)壓器件組成的正、負(fù)電壓雙向直流電源可以滿足此次設(shè)計(jì)要求。因此在穩(wěn)壓電路部分選擇集成穩(wěn)壓器。電容濾波只需并聯(lián)一個電容為濾除諧波成分提供通道,使輸出電壓平穩(wěn),本次設(shè)計(jì)后續(xù)電路對電壓要求較高,所以選擇電容濾波電路更加符合設(shè)計(jì)要求。單相橋式整流電路中加入硅整流組合管,能簡化其電路結(jié)構(gòu),并且能很好的滿足此次設(shè)計(jì)要求。 圖412 最小系統(tǒng)電源方案綜述,電路圖如上圖412所示。為簡化電路連線和實(shí)現(xiàn)正、負(fù)電壓輸出在穩(wěn)壓電路部分將W7805和W7905芯片輸入端前共用一個濾波電容,接地串聯(lián)在一起,接入濾波電路中,串聯(lián)分壓得到輸入信號。高于20kHz 時的機(jī)械波稱為超聲波,媒質(zhì)包括氣體、液體和固體。 c也是復(fù)數(shù),其實(shí)數(shù)部分代表傳播速度,虛數(shù)部分則與衰減常數(shù)(每單位距離強(qiáng)度或幅度的衰減)有關(guān),測量后者可求得媒質(zhì)中的損耗。從式(51)可知,聲波傳輸速度與媒介的彈性模量和密度相關(guān),因此,利用聲速測量距離,就要考慮這些因素對聲速影響。氣體中聲速受溫度的影響最大。圖51 空氣中溫度聲速圖由式(52)和圖51可見,當(dāng)溫度θ從0~40℃變化時,將會產(chǎn)生7%的聲速變化,因此,為了提高測量準(zhǔn)確度,計(jì)算時必須根據(jù)溫度進(jìn)行聲速修正。相對而言,單片機(jī)的時間分辨率還是不太高,如晶振頻率為12MHz時,時間分辨率為1181。隨機(jī)誤差由于測量過程中的隨機(jī)誤差是按統(tǒng)計(jì)規(guī)律變化的,為了減少其影響,可在同一位置處多次重復(fù)測量xi,然后取平均值x作為測量的真值[10]。其提高測距精度的措施如下:1. 合理選擇超聲波工作頻率、脈寬及脈沖發(fā)射周期。2. 在超聲波接收回路中串入增益調(diào)節(jié)(AGC)及自動增益負(fù)反饋控制環(huán)節(jié)。3. 提高計(jì)時精度,減少時間量化誤差。例如:單片機(jī)內(nèi)置計(jì)時器的計(jì)數(shù)頻率只有晶振頻率的十二分之一,當(dāng)晶振頻率6MHz時,;當(dāng)晶振頻率為12MHz時,計(jì)數(shù)頻率為1MHz。4. 補(bǔ)償溫度對傳播聲速的影響。6 超聲波測距系統(tǒng)軟件設(shè)計(jì) 軟件分為兩部分,主程序和中斷服務(wù)程序,如圖61所示。外部中斷服務(wù)子程序主要完成時間值的讀取。置位總中斷允許位EA。讀取當(dāng)前定時器的值,換算成時間,乘以溫度補(bǔ)償后的波速,即得到測距距離。,然后再發(fā)超聲波脈沖重復(fù)測量過程。 顯示子程序本系統(tǒng)的LED顯示采用了動態(tài)顯示方式,用兩塊74HC573分別選通段碼和位碼,每顯示一根管延時2ms,利用人眼的視覺暫留效應(yīng),達(dá)到靜態(tài)顯示的效果,C程序如下。 dm=distance_date/100。 mm=distance_date%10。 P0=table[dm]。 dula=0。 P0=0x7f。 wela=0。 dula=0。 dula=1。 wela=0。 wela=1。 delay(2)。 P0=table[mm]。 dula=0。 P0=0xdf。 wela=0。} 外部中斷子程序因本設(shè)計(jì)把數(shù)據(jù)換算,計(jì)算距離以及顯示子程序都放在了主程序中,所以外部中斷子程序比較簡單,它實(shí)現(xiàn)了對T1數(shù)值讀取,以及關(guān)閉外部中斷的功能。外部中斷入口關(guān)外部中斷讀取時間值返回 圖62 外部中斷程序流程圖 C程序如下:INTO_() interrupt 0 { outeH =TH1。 succeed_flag=1。 } 測量溫度子程序測溫電路由美國DALLAS公司的DS18B20芯片完成,其初始化過程如下: DS18B20的初始化(1) 先將數(shù)據(jù)線置高電平“1”。(4) 延時750微秒(該時間的時間范圍可以從480到960微秒)。(6) 延時等待(如果初始化成功則在15到60毫秒時間之內(nèi)產(chǎn)生一個由DS18B20所返回的低電平“0”。(7) 若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒。DS18B20的寫操作(1) 數(shù)據(jù)線先置低電平“0”。(3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。(5) 將數(shù)據(jù)線拉到高電平。(7) 最后將數(shù)據(jù)線拉高。(2)延時2微秒。(4)延時15微秒。(6)延時15微秒。(8)延時30微秒。 DS=0。 while(i0)i。 i=4。}bit tmpreadbit(void) //read a bit{ uint i。 DS=0。 //i++ for delay DS=1。i++。 i=8。 return (dat)。 dat=0。i=8。dat=(j7)|(dat1)。}void tmpwritebyte(uchar dat) //write a byte to ds18b20{ uint i。 bit testb。j=8。0x01。 if(testb) //write 1 { DS=0。i++。 i=8。 } else { DS=0。while(i0)i。 i++。 } }}void tmpchange(void) //DS18B20 begin change{ dsreset()。 tmpwritebyte(0xcc)。 // initiates a single temperature conversion}uint tmp() //get the temperature{ float tt。 dsreset()。 tmpwritebyte(0xcc)。 a=tmpread()。 temp=b。 //two byte pose a int variable temp=temp|a。 temp=tt*10+。}void readrom() //read the serial{ uchar sn1,sn2。 delay(1)。 sn1=tmpread()。}結(jié) 論本設(shè)計(jì)介紹了一種基于單片機(jī)的超聲波測距系統(tǒng)的原理和設(shè)計(jì)。超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時間來計(jì)算出傳播距離。此次設(shè)計(jì)采用反射波方式。單片機(jī)采用AT89C51或其兼容系列。利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。本設(shè)計(jì)所設(shè)計(jì)的超聲波測距系統(tǒng)具有測量精度較高、速度快、控制簡單方便等優(yōu)點(diǎn)。3cm內(nèi)。但由于經(jīng)驗(yàn)不足,電路硬件、軟件部分都有不夠完善的地方,在今后的學(xué)習(xí)中會進(jìn)一步改進(jìn)。了解了超聲波傳感器的原理,也掌握了單片機(jī)的開發(fā)過程和利用單片機(jī)設(shè)計(jì)電路的方法。這些對我今后的學(xué)習(xí)和工作都會有很大幫助的。 本設(shè)計(jì)從選題的確定、說明書的寫作、修改到最后定稿得到了我的指導(dǎo)老師李志剛的悉心指導(dǎo)。他嚴(yán)肅的教學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng)深深地感染和激勵著我。時光匆匆如流水,轉(zhuǎn)眼便是大學(xué)畢業(yè)時節(jié)。在這里向熱情幫助我的老師、同學(xué)和朋友表示誠摯的謝意!參考文獻(xiàn)[1][J].,5:2932[2][J]. ,4(3):810[3].何希才,[M].北京:機(jī)械工業(yè)出版社,2004:138152[4][M].北京:清華大學(xué)出版社,2004:2746[5]吳斌方,劉民,[J].,19(6):2628[6]譚洪濤,[J].,18:9496[7]趙占林,[J].,12(6):144145[8]蘇煒,龔壁建,[J].,23(6):811[9]羅忠輝,[J]. ,1:109[10][J].,6:5859[11]Yusuke Moritake, Hiroomi Recognition System Using Two Ultrasonic Sensors and Combinational Logic Circuit[M]. Electronics and Communications in ,88(7):3342附錄A超聲波測距系統(tǒng)電路圖附錄Binclude define uchar unsigned chardefine uint unsigned intdefine ulong unsigned longsbit Trig =P1^0。sbit test =P1^1。 //段碼選通引腳sbit wela =P2^7。 //測溫引腳uchar code table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6}。uchar flag,outeH,outeL。void delay(uint count) //延時程序{ uint i。 while(i0) i。 }}void delay_20us() //延時20us { uchar bt 。bt100。 }void display(uint distance_date) //距離顯示子程序{ uchar dm,cm,mm。 //計(jì)算分米位 cm=distance_date%100/10。 //計(jì)算毫米位 dula=0。 dula=1。 wela=0。 wela=1。 delay(2)。 P0=table1[cm]。 dula=0。 P0=0xbf。 wela=0。dula=0。 dula=1。 wela=0。 wela=1。 delay(2)。 DS=0。 while(i0)i。 i=4。}bit tmpreadbit(void) //read a bit{ uint i。 DS=0。 //i++ for delay DS=1。i++。 i=8。 return (dat)。 dat=0。i=8。 dat=(j7)|(dat1)。}void tmpwritebyte(uchar dat) //write a byte to ds18b20{ uint i。 bit testb。j=8。0x01。 if(testb) //write 1 { DS=0。i++。 i=8
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1