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

正文內(nèi)容

51單片機超聲波測距設計(編輯修改稿)

2025-01-09 15:16 本頁面
 

【文章內(nèi)容簡介】 路,配合少量外接元件就可以對38KHz左右的信號的接收與處理,該芯片內(nèi)部如下圖所示: CX20106內(nèi)部結構 CX20106構成本次設計接收電路如下圖: 圖 使用CX20106A集成電路對接收探頭受到的信號進行放大、濾波。其總放大增益80db。以下是CX20106A的引腳注釋。1腳:超聲信號輸入端,該腳的輸入阻抗約為40kΩ。2腳:該腳與地之間連接RC串聯(lián)網(wǎng)絡,它們是負反饋串聯(lián)網(wǎng)絡的一個組成部分,改變它們的數(shù)值能改變前置放大器的增益和頻率特性。增大電阻R4或減小C4,將使負反饋量增大,放大倍數(shù)下降,反之則放大倍數(shù)增大。但C4的改變會影響到頻率特性,一般在實際使用中不必改動,推薦選用參數(shù)為R4=,C4=1μF。3腳:該腳與地之間連接檢波電容,電容量大為平均值檢波,瞬間相應靈敏度低;若容量小,則為峰值檢波,瞬間相應靈敏度高,但檢波輸出的脈沖寬度變動大,易造成誤動作。4腳:接地端。5腳:該腳與電源間接入一個電阻,用以設置帶通濾波器的中心頻率f0,阻值越大,中心頻率越低。例如,取R=200kΩ時,f0≈42kHz,若取R=220kΩ,則中心頻率f0≈38kHz。6腳: 該腳與地之間接一個積分電容,標準值為330pF,如果該電容取得太大,會使探測距離變短。7腳:遙控命令輸出端,它是集電極開路輸出方式,因此該引腳必須接上一個上拉電阻到電源端,推薦阻值為22kΩ,沒有接受信號是該端輸出為高電平,有信號時則產(chǎn)生下降。8腳:電源正極,~5V。 溫度采集DS18B20電路物理學告訴我們,超聲波在空氣中的傳播速度為:,由此可見,超聲波的速度和溫度密切關系,即溫度每增加1176。C,本次我們考慮溫度補償,以使我們的設計更加精確,溫度的采集通常使用DS18B20一線式數(shù)字溫度傳感器,電路非常簡潔,具體電路圖如下圖所示。DS18B20是美國DALLS公司推出的DS1820的替代產(chǎn)品,具有112位的轉(zhuǎn)換精度,未編程時默認的精度是12位,176。C,176。C,溫度輸出以16位符號擴展的二進制數(shù)形式提供,低位在先,176。C/LSB形式表達。其中高五位為擴展符號位。轉(zhuǎn)換周期與轉(zhuǎn)換精度有關,9位轉(zhuǎn)換精度時, ms,12位轉(zhuǎn)換精度時,最大轉(zhuǎn) DS18B20溫度傳感器 換時間為750ms。DS18B20引腳判斷方法是:字面朝人,從左到右依次是1 (GND)、2(輸入/輸出)、3(VDD)。圖中的R13為上拉電阻,阻值選5K左右。 LCD顯示電路 本設計采用LCD液晶顯示屏顯示。其具有體積小、功耗低、界面美觀大方等優(yōu)點,這里使用YB1602液晶屏,1602顯示模塊用點陣圖形顯示字符,顯示模式分為2行16個字符。它具有16個引腳,其正面左起為第一腳,如下圖所示:第一腳GND:接地。第二腳VCC:+5V電源。第三腳VO:對比度調(diào)整端。使用時通過接一個10K的電阻來調(diào)節(jié)。第四腳RS:寄存器選擇信號線。第五腳RW:讀寫信號線。第六腳E:使能端,當E由高電平跳變?yōu)榈碗娖綍r執(zhí)行命令。第7~14腳:8位數(shù)據(jù)線D0~D7。第十五腳BLA:背光電源正極輸入端。第十六腳BLK:背光電源負極輸入端。 LCD顯示電路操作控制表  操作  讀狀態(tài)  寫指令  讀數(shù)據(jù)  寫數(shù)據(jù)  輸入  RS=0,RW=1,E=1  RS=0,RW=0,  D0~7=指令碼,E=H脈沖  RS=1,RW=1,E=1  RS=1,RW=0,  D0~7=數(shù)據(jù),E=H脈沖   LCD1602操作指令 1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”?! ∫驗?602識別的是ASCII碼,試驗可以用ASCII碼直接賦值,在單片機編程中還可以用字符型常量或變量賦值,如39。A’。1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設置: (初始化)0011 0000 [0x38]設置162顯示,57點陣,8位數(shù)據(jù)接口;顯示開關及光標設置: (初始化)0000 1DCB D顯示(1有效)、C光標顯示(1有效)、B光標閃爍(1有效)0000 01NS N=1(讀或?qū)懸粋€字符后地址指針加1 amp。光標加1),N=0(讀或?qū)懸粋€字符后地址指針減1 amp。光標減1),S=1 且 N=1 (當寫一個字符后,整屏顯示左移)s=0 當寫一個字符后,整屏顯示不移動數(shù)據(jù)指針設置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(027H,4067H)其他設置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針 =0)。 電源電路 電源電路采用普通可調(diào)電源供電,該電源不含穩(wěn)壓器,所以在設計中需要用穩(wěn)壓器進行穩(wěn)壓,我們選用LM7805來獲得穩(wěn)定的+5V直流電壓,LM7805引腳排列和典型應用如下圖: 圖 LM7805引腳和典型應用 圖 LM7805內(nèi)部結構圖表 LM7805電氣參數(shù) 本設計電源電路如下: 圖 電源電路 輸入電壓(21V)經(jīng)過7805的穩(wěn)壓輸出+5V的電壓,圖中的IN4007為保護7805,防止電源極性接反損壞7805,濾波電容采用100uF電解和104瓷片電容并聯(lián)使用,電磁兼容的實踐證明,兩個差100倍的電容并聯(lián)使用效果很好。第四章 系統(tǒng)軟件設計 系統(tǒng)程序的結構(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫入命令以及讀取子程序等部分;(2)基于YB1602的顯示模塊,分為初始化子程序、寫入子程序以及顯示子程序;(3)溫度補償與距離計算模塊、分為超聲波發(fā)送控制程序、接收處理程序、溫度補償子程序等; (4)本次設計使用C語言編寫程序,C語言相比匯編有許多的優(yōu)勢;編譯器使用Keil Version2進行程序編譯,Keil功能強大使用方便。(5) 主程序,分為系統(tǒng)初始化、按鍵處理以及各個子程序的調(diào)度管理等部分。: 圖 系統(tǒng)軟件方框圖 系統(tǒng)主程序 本設計主程序的思想如下: (1)溫度為兩位顯示,距離為四位顯示單位為mm; (2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms ,故900ms滿足該速度要求;超聲波每隔60ms發(fā)送一次。 (3)按鍵S為測量啟動鍵; (4)系統(tǒng)采用AT89S52的內(nèi)時鐘:12MHz; (5)沒有使用看門狗功能; (6)超聲波發(fā)送一定時間后才開始啟動檢測,避免直達信號造成誤判。所以系統(tǒng)最小測量約為112mm; 系統(tǒng)主程序如下:void main(void){ uchar i,j。 for(i=0。i255。i++) for(j=0。j255。j++)。 //延時,等待系統(tǒng)外圍復位完成 sys_init()。 //初始化 display()。 //顯示 sta_flag=0。 //標準復位 waitforstarting: //檢測按鍵 while(START)。 for(i=0。i20。i++) delay1ms()。 if(START) goto waitforstarting。 BUZZER=0。 //蜂鳴器鳴音一次提示按鍵按下 i=100000。 while(i)。 BUZZER=1。 i=100000。 while(i)。 TR0=1。 //啟動定時器0 ET0=1。 testtemp()。 //啟動溫度轉(zhuǎn)換 while(1) { if(sta_flag) //60MS到了,超聲波已經(jīng)發(fā)送 { while(0==CSBIN)。 //等待超聲波返回 TR1=0。 jsh=TH1。 //停止計數(shù) jsl=TL1。 if(15==count) //1S到,檢測溫度 { temp=wd()。 count=0。 testtemp()。 //重新啟動轉(zhuǎn)換 display()。 //刷新顯示 } puter()。 //計算距離 hextobcd()。 //轉(zhuǎn)化成BCD碼 sta_flag=0。 //標志清零 } } }void sys_init(void) { uchar i。 for(i=0。i29。i++) //顯示清零 { num[i]=0。} TMOD=0x11。 TH0=0x15。 TL0=0xA0。 P0=0。 CNT=0。 //超聲波發(fā)送關閉 CSBIN=1。 EA=1。 //開放總中斷 Init_LCD()。 } 40KHz超聲波發(fā)送程序超聲波的每過60ms發(fā)送一次,通過定時器T0中斷中發(fā)送超聲波,超聲波發(fā)送后延時一段時間后返回,防止余波被接收頭接收誤判,程序如下: /***************************************************** 定時器0溢出中斷函數(shù),每60MS溢出 *****************************************************/ void timer0(void)interrupt 1 using 0 { TH0=0x15。 TL0=0xA0。 TH1=0。 TL1=0。 sta_flag=1。 //標志置為1 count++。 //計次單元加1 _nop_()。 //開始發(fā)送超聲波40KHz _nop_()。 _nop_()。 CNT=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 CNT=0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 TR1=1。 //啟動定時器1計數(shù) delay15(50)。 //延時避開直達信號} 超聲波的接收和處理超聲波由超聲波接收頭接收,程序中通過指令: Wile(0==CSBIN);來查詢,接收到超聲波信號后往下面執(zhí)行,進行計算處理。本設計中需注意當距離過遠或者沒有返回信號時候,定時器T1的溢出必須處理。 DS18B20溫度采集程序 DS18B20的工作流程是,初始化ROM操作指令存儲器操作指令數(shù)據(jù)傳輸。其工作時序包括:初始化時序、寫時序和讀時序。(1)DS18B20的初始化DS18B20的初始化的實質(zhì)是使DS18B20復位,主要是通過判斷存在脈沖的形式來實現(xiàn)的。首先主機發(fā)復位脈沖,即寬度范圍為的負脈沖,拉高15~90以延時等待,然后通過輸入/輸出線讀存在脈沖,為低說明存在,復位成功;否則說明不存在,復位失敗,必須對DS18B20重新初始化。/************************************* DS18B20復位函數(shù)**************************************/void Init_18B20(void)//初始化18B20 {DQ = 1。 //DQ復位 Delay(10)。 DQ = 0。 //單片機將DQ拉低 Delay(80)。 //480us DQ = 1。 //拉高總線 Delay(10)。 //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 if(DQ) flag=
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1