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

正文內(nèi)容

基于51單片機(jī)超聲波測(cè)距系統(tǒng)-資料下載頁(yè)

2025-06-19 13:14本頁(yè)面
  

【正文】 //三位數(shù)碼管位選unsigned char disbuff[4] ={ 0,0,0,0,}。/********************************************************/void Display(void) //掃描數(shù)碼管{ if(posit==0) { P1=(discode[disbuff[posit]])amp。0x7f。 //顯示第一位和小數(shù)點(diǎn) } else { P1=discode[disbuff[posit]]。 //顯示第二位和第三位 } P3=positon[posit]。 //位選 if(++posit=3) //循環(huán),顯示三位 posit=0。}/********************************************************/void Conut(void){ time=TH0*256+TL0。 //計(jì)算時(shí)間,單位是us TH0=0。 //時(shí)間清除 TL0=0。 //時(shí)間清除 S=(time*)/100。 //超聲波的速度按340m/s計(jì)算,由于路程往返,需要除以2,算出來是CM, if((S=700)||(flag==1)) //超出測(cè)量范圍顯示 { flag=0。 //清除定時(shí)器T0中斷標(biāo)志位 disbuff[0]=10。 // disbuff[1]=10。 // disbuff[2]=10。 // } else { disbuff[0]=S%1000/100。 //取出百位 disbuff[1]=S%1000%100/10。 //取出十位 disbuff[2]=S%1000%10 %10。 //取出個(gè)位 } if(S40) LED=0。 if(S30) //判斷距離是否小于30cm { BEEP=1。 //啟動(dòng)蜂鳴器報(bào)警 LED=0。 } if(S=30) // BEEP=0。 //關(guān)閉蜂鳴器 if(S=40) { BEEP=0。 //啟動(dòng)蜂鳴器報(bào)警 LED=1。 }}/********************************************************/void zd0() interrupt 1 //T0中斷用來計(jì)數(shù)器溢出,超過測(cè)距范圍{ flag=1。 //在TMOD=0x11定義下,定時(shí)器最多定時(shí)65535us,這段時(shí)間超聲波走過的距離為:65535* //顯然距離明顯超出范圍,因此,當(dāng)定時(shí)時(shí)間到仍未接收到超聲波,中斷溢出標(biāo)志置位,則讓其顯示}/********************************************************/void zd3() interrupt 3 //T1中斷用來掃描數(shù)碼管和計(jì)800MS啟動(dòng)模塊{ TH1=(655362000)/256。 TL1=(655362000)%256。 Display()。 //2ms進(jìn)入中斷函數(shù)掃描數(shù)碼管一次 timer++。 //中斷次數(shù)加一 if(timer=250) //2ms*250=500ms,即每500ms發(fā)送一次超聲波(測(cè)量周期一定要大于60ms) { timer=0。 //把中斷次數(shù)清除 TX=1。 //啟動(dòng)模塊,發(fā)送超聲波 _nop_()。 //延時(shí)1us,至少需要發(fā)送10us _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 TX=0。 //發(fā)送完畢,關(guān)閉發(fā)送 } }/*********************************************************/void Timer_init(void){ TMOD=0x11。 //設(shè)T0為方式1,GATE=1; TH0=0。 //設(shè)置初值為0 TL0=0。 TH1=(655362000)/256。 //2MS定時(shí) TL1=(655362000)%256。 ET0=1。 //允許T0中斷 ET1=1。 //允許T1中斷 TR1=1。 //開啟定時(shí)器 EA=1。 //開啟總中斷}/*********************************************************/void main(void){ BEEP=0。 //關(guān)閉蜂鳴器 Timer_init()。 //定時(shí)器初始化 while(1) { while(!RX)。 //當(dāng)接收為0時(shí),表示沒接收到超聲波,此時(shí)程序停在這里,直到開始有接收,while(1);表示停 TR0=1。 //開始有信號(hào)傳入,開啟定時(shí)器T0計(jì)數(shù) while(RX)。 //當(dāng)接收為1時(shí),表示接收到超聲波,此時(shí)程序停在這里,直到開始接收結(jié)束,while(0);表示跳過 TR0=0。 //信號(hào)傳入結(jié)束,關(guān)閉定時(shí)器T0計(jì)數(shù) Conut()。 //計(jì)算并顯示 }}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1