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

正文內(nèi)容

單片機(jī)項(xiàng)目--基于51單片機(jī)的超聲波測(cè)距儀的設(shè)計(jì)-閱讀頁(yè)

2024-11-28 01:54本頁(yè)面
  

【正文】 12 超聲波測(cè)距的算法設(shè)計(jì)原理為超聲波發(fā)生器 T在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來(lái),就被超聲波接收器 R 所接收到。 在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器 T1,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。 超聲波測(cè)距儀的軟件設(shè)計(jì)主要由超聲波發(fā)生子程序、超聲波接收中斷程序、 鍵盤(pán)掃描和處理程序 及顯示子程序組成。進(jìn)入中斷后就立即 關(guān)掉定時(shí)器 1 停止計(jì)時(shí),并將測(cè)距 所得的數(shù)據(jù)進(jìn)行計(jì)算處理,然后送到 4位 LED數(shù)碼管顯示 。 對(duì)各電子元件也無(wú)特別要求。若能將超聲波接收電路用金屬殼屏蔽起來(lái),則可提高抗干擾能力。 超聲波發(fā)射 和接收采用型號(hào) 為TCT4016R/T超聲波模塊 (直徑 16mm)標(biāo)稱頻率為 40kHz。系統(tǒng)中對(duì)接收到的信號(hào)進(jìn)行放大時(shí)曾采用 LM324,由 LM324的頻率特性可知道,放大倍數(shù)最大為一級(jí)放大 10倍,二級(jí)放大可以放大到 10 倍。而 LF347 對(duì)接收到的信號(hào)進(jìn)行放大時(shí),一般一級(jí)放大 10倍,二級(jí)放大可以放大 10到 100倍,這點(diǎn)對(duì)提高系統(tǒng)的 靈敏度 起到了關(guān)鍵的作用。這就需要我們?nèi)?分析 和 了 解 各種產(chǎn)生測(cè)量 干擾和對(duì)系統(tǒng)造成不穩(wěn)定 的原因以及解決辦法 , 以更進(jìn)一步提高超聲波測(cè)距系統(tǒng)的 靈敏度和抗干擾能力 。 //按鍵 第一次按下 bit KeyState=KeyUp。 //鍵值 sbit CLK=P1^6。 sbit MeasureEn=P3^7。 //秒,分,時(shí),日,月,星期,年 uchar TimeInitData[7]={5,5,10,14,4,5,1}。 //接收到的時(shí)間信息 uchar code DispCode[22]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x40,0x00}。 uchar code LedSelect[4]={0x01,0x02,0x04,0x08}。 int DispNum。 uint Distance[3]={0,0,0}。 //定義三次測(cè)量結(jié)果數(shù)組 uint DistNum。 uchar MeasureTime。 //測(cè)量完成一次的標(biāo)志 bit Flag20ms=0。 bit Flag1s=0。 //啟動(dòng)測(cè)距 void Measure3Times()。 TH0=(655365000)/256。 TR0=1。 EA=1。 //定時(shí)器 1 計(jì)數(shù)方式 TH1=0。 TR1=0。 //外部中斷 0,邊沿觸發(fā) EX0=0。 } // void Delayus(uint n) { while(n)。 for(j=0。j++) { CLK=0。 DAT=Champ。 CLK=1。 Ch=1。 Send164((DispCode[NumCode[j]]))。0xf0)|(LedSelect[j])。 j%=4。 } else { NumCode[0]=21。 if(NumCode[1]==0) { NumCode[1]=21。 NumCode[3]=DispNum%10。 if(NumCode[0]==0) { NumCode[0]=21。 NumCode[2]=DispNum%100/10。 } // void SendDisp() //送顯數(shù)字 { NumCode[0]=DispNum/1000。 NumCode[2]=DispNum%100/10。 } // void KeyScan(void) //鍵掃描 { static uchar KeyBuff。 KeyFirst=0。 KeyState=KeyDown。 KeyState=KeyUp。 TempSendDisp()。 } case 0x02://送顯距離 { DispNum=DistNum。 break。 DispNum=TimeData。 break。 DispNum=TimeData。 break。 DispNum=TimeData。 break。 } } // void StartMeasured() //啟動(dòng)超聲波測(cè)距 { EX0=0。 TL1=0。 MeasureEn=1。//延時(shí) 500us,發(fā)射大約 20 個(gè)脈沖 MeasureEn=0。//延時(shí) 100us EX0=1。 uchar i。i2。 Distance[i]=Distance[i+1]。 } } if((Distance[0])=(Distance[1])) { Temp=Distance[0]。 19 Distance[1]=Temp。 static uint SumDist=0。 MeasureTime++。 } else { MeasureTime=0。 EX0=0。 DistNum=Distance[1]。 // v_Set1302(WRITE_SECOND,amp。 T0Init()。 Ex0Init()。 KeyScan()。 } if(Flag50ms==1) { Flag50ms=0。 20 } if(Flag1s==1) { Flag1s=0。 //v_Get1302(READ_SECOND,amp。 } } } // void T0Server() interrupt 1 { TH0=(655365000)/256。 Disp4()。 if(T0Num%4==0) { Flag20ms=1。 } if(T0Num=200) { T0Num=0。 } } // void EX0Server() interrupt 0 { TR1=0。 } else { Distance[MeasureTime1]=((TH18)+TL1)*(+*DispTemp)/2。 } 21 附錄 二 實(shí)物圖與原理圖的對(duì)照 (超聲波發(fā)射與接收 )
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1