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

正文內(nèi)容

基于單片機(jī)的超聲波測(cè)距論文-資料下載頁

2025-06-27 21:53本頁面
  

【正文】 dat=DS。 i=8。while(i0)i。 return (dat)。 }//read a byte date 讀一個(gè)字節(jié) uchar tmpread(void) { uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tmpreadbit()。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好 //一個(gè)字節(jié)在 dat 里 dat=(j7)|(dat1)。 } //將一個(gè)字節(jié)數(shù)據(jù)返回 return(dat)。 } //write a byte to ds18b20 //寫一個(gè)字節(jié)到 DS18B20 里 void tmpwritebyte(uchar dat) { uint i。 uchar j。 bit testb。 for(j=1。j=8。j++) { testb=datamp。0x01。 dat=dat1。 if(testb) //write 1 寫 1 部分 { DS=0。 i++。i++。 DS=1。 i=8。while(i0)i。 } else { DS=0。 //write 0 寫 0 部分 i=8。while(i0)i。 DS=1。 i++。i++。 } } }//DS18B20 begin change 發(fā)送溫度轉(zhuǎn)換命令void tmpchange(void) { dsreset()。 //初始化 DS18B20 delay(1)。 //延時(shí) tmpwritebyte(0xcc)。 //跳過序列號(hào)命令 tmpwritebyte(0x44)。 //發(fā)送溫度轉(zhuǎn)換命令 } //get the temperature 獲得溫度uint tmp() { float tt=0。 uchar a=0,b=0。 dsreset()。 delay(1)。 //發(fā)送讀取數(shù)據(jù)命令 tmpwritebyte(0xcc)。 tmpwritebyte(0xbe)。 //連續(xù)讀兩個(gè)字節(jié)數(shù)據(jù) a=tmpread()。 b=tmpread()。 //two byte pose a int variable //兩字節(jié)合成一個(gè)整型變量。 temp=b。 temp=8。 temp=temp|a。 if(b==0xff) { flag=1。 temp=~temp+1。 } //得到真實(shí)十進(jìn)制溫度值,因?yàn)?DS18B20 tt=temp*。 //可以精確到 度,所以讀回?cái)?shù)據(jù)的最低位代表的是 // 度。 //放大十倍,這樣做的目的將小數(shù)點(diǎn)后第一位 temp=tt*10+。 //也轉(zhuǎn)換為可顯示數(shù)字,同時(shí)進(jìn)行一個(gè)四舍五入操作。 //返回溫度值 return temp。 } //超聲波管腳定義sbit RX=P2^1。sbit TX=P2^0。//超聲波初始化void Init_ultrasonic_wave(){ TX=0。 //關(guān)閉發(fā)射 TMOD=0x01。 //設(shè)T0為方式1,GATE=1; TH0=0。 TL0=0。 ET0=1。 //允許T0中斷 EA=1。 //開啟總中斷 }//啟動(dòng)超聲波void StartModule() //啟動(dòng)模塊{ TX=1。 //啟動(dòng)一次模塊 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 TX=0。}//計(jì)算不同溫度下的速度void JS_(uchar WD){ //大于30 if(WD=30amp。amp。flag==1) { L_=(time*)/200。 //算出來是CM。 } //大于2030 else if(WD=20amp。amp。WD30amp。amp。flag==1) { L_=(time*)/200。 //算出來是CM。 } //大于1020 else if(WD=10amp。amp。WD20amp。amp。flag==1) { L_=(time*)/200。 //算出來是CM。 } //大于010 else if(WD=0amp。amp。WD10amp。amp。flag==1) { L_=(time*)/200。 //算出來是CM。 } //大于010 else if(WD=10amp。amp。WD0amp。amp。flag==0) { L_=(time*)/200。 //算出來是CM。 } //大于1020 else if(WD=20amp。amp。WD10amp。amp。flag==0) { L_=(time*)/200。 //算出來是CM。 } //大于2030 else if(WD=30amp。amp。WD20amp。amp。flag==0) { L_=(time*)/200。 //算出來是CM。 } //大于30 else if(WD30amp。amp。flag==0) { L_=(time*)/200。 //算出來是CM。 }}//距離計(jì)算 SD為當(dāng)時(shí)的超聲速度void Conut(uchar WD){ time=TH0*256+TL0。 TH0=0。 TL0=0。 JS_(WD)。 //距離大于200或者超時(shí) if(L_200||flags==1) { flags=0。 //無效顯示 flag1s=0。 L_=0。 FW=1。 Feng_Start()。 } //距離小于100 else if(L_=200) { flag1s=1。 FW=1。 Feng_Stop()。 }}//管腳聲明sbit Feng=P1^0。sbit K1=P1^1。sbit K2=P1^2。sbit K3=P1^3。//蜂鳴打開void Feng_Start(){ Feng=0。}//蜂鳴關(guān)閉void Feng_Stop(){ Feng=1。}//等待void delay_key(){ uchar i,j。 for(i=0。i200。i++) for(j=0。j200。j++)。}//按鍵檢測(cè)void Key(){ //功能鍵按下 if(K1==0) { Feng_Start()。//蜂鳴器開 delay_key()。 //消抖 while(K1==0)。//等待松手 Feng_Stop()。 //蜂鳴器關(guān)閉 mode++。 //模式++ if(mode==3) //達(dá)到最大限度歸為 mode=0。 k=1。 //按鍵標(biāo)志位 } //+鍵 else if(K2==0) { Feng_Start()。//蜂鳴器開 delay_key()。 //消抖 while(K2==0)。//等待松手 Feng_Stop()。 //蜂鳴器關(guān)閉 //最大值調(diào)整 if(mode==1) //在最大值調(diào)整下 { Max++。 //調(diào)整最大值 if(Max==201)//到達(dá)51歸為50 { Max=200。 } } //最小值 else if(mode==2)//最小模式下調(diào)整 { Min++。 //調(diào)整最小值 if(MinMax) //最小值不能大于最大值 { Min=Max。 } } k=1。 } //鍵 else if(K3==0) { Feng_Start()。 delay_key()。 while(K3==0)。 Feng_Stop()。 //最大值調(diào)整 if(mode==1) { Max。 if(MaxMin) { Max=Min。 } } //最小值 else if(mode==2) { Min。 if(Min==0xff) { Min=0。 } } k=1。 }}浙江傳媒學(xué)院本科畢業(yè)論文 基于單片機(jī)的超聲波測(cè)距 致 謝[單擊此處添加致謝語]
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1