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

正文內(nèi)容

基于單片機(jī)的超聲波測(cè)距畢業(yè)設(shè)計(jì)論文-資料下載頁

2024-11-07 21:23本頁面

【導(dǎo)讀】系統(tǒng)中兩個(gè)重要組成部分。它的形成與發(fā)展,使現(xiàn)代電子技術(shù)進(jìn)入到一個(gè)嶄新的。智能化時(shí)代,并推動(dòng)了計(jì)算機(jī)外圍器件的發(fā)展。這些外圍器件包括諸如傳感器接。電子電力集成器件、數(shù)據(jù)通信通道接口各類電平轉(zhuǎn)換與驅(qū)動(dòng)等等。彩電、空調(diào)等,還有其他大型電器。單片機(jī)已成為高科技領(lǐng)域中的有力工具,已。機(jī)實(shí)時(shí)處理系統(tǒng)和圖像系統(tǒng)中成為不可缺少的重要組成部分。不同的動(dòng)物可聽到的聲波頻率范圍不盡相同。波的頻率高,相對(duì)較少出現(xiàn)繞射現(xiàn)象,所以回聲十分清晰。間隔的大小可以獲得本體與障礙物間的距離,這樣的檢測(cè)稱為無接觸測(cè)量技術(shù),有廣泛的運(yùn)用場(chǎng)合。目前,人們已經(jīng)制成了許多超聲波發(fā)生器。超聲波發(fā)生器可以分為兩大類:。電型、磁致伸縮型和電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。較為常用的是壓電式超聲波發(fā)生器。充分利用了其多達(dá)128個(gè)宏。和數(shù)字電路構(gòu)成超聲波發(fā)射、接收模塊。由鍵盤,LED顯示構(gòu)成人機(jī)對(duì)話通道,

  

【正文】 波射引腳 // sbit ctl=P3^5。 //定義超聲波控制引腳 // uchar tplsb,tpmsb。 //溫度值 低位、高位字節(jié) // sbit DQ=P3^6。 //DS18B20 數(shù)據(jù)通信線 // ulong tp,sw,gw,sfw,bfw,tppp。 uchar *p。 void delay(uint i) //延時(shí)程序 // {while(i)。 } //*******產(chǎn)生復(fù)位脈沖初始化 DS18B20*******// void Txreset() {DQ=0。 delay(100)。 //拉低約 900US// DQ=1。 //產(chǎn)生上升沿 // delay(4)。 } //*******等待應(yīng)答脈沖 *******// void Rxwait() {while(DQ)。 while(DQ==0)。 //檢測(cè)到應(yīng)答脈沖 // 畢業(yè)設(shè)計(jì) delay(4)。 } //*******讀取數(shù)據(jù)的一位,滿足讀時(shí)隙要求 *******// bit Rdbit() {uint i。 bit b。 DQ=0。 i++。 //保持至少 1US// DQ=1。 i++。 i++。 //延時(shí)節(jié) 15US 以上,讀時(shí)隙下降后 15US, DS18B20 輸出數(shù)據(jù)才有效 // b=DQ。 i=8。 while(i0)i。 return(b)。 //讀時(shí)隙不低于 60US// } //*******讀取數(shù)據(jù)的第一個(gè)字節(jié) *******// uchar Rdbyte() {uchar i,j,b。 b=0。 for(i=1。i=8。i++) {j=Rdbit()。 b=(j7)|(b1)。 } return(b)。 } //*******寫數(shù)據(jù)的第一個(gè)字節(jié),滿足寫 1和寫 0的時(shí)隙要求 *****// void Wrbyte(uchar b) {uint i。 uchar j。 bit btmp。 for(j=1。j=8。j++) {btmp=bamp。0x01。 b=b1。 //取下一位(由低位向高位) // if(btmp) {DQ=0。 i++。 i++。 //延時(shí),使得 15US 以內(nèi)拉高 // DQ=1。 i=8。 while(i0)i。 //整個(gè)寫 1 時(shí)隙不低于 60US// DQ=1。 i++。 畢業(yè)設(shè)計(jì) i++。 } else {DQ=0。 i=9。 while(i0)i。 //保持低在 60至 120US 之間 // DQ=1。 i++。 i++。 } } } //啟動(dòng)溫度變換 // void convert() { Txreset()。 //產(chǎn)生復(fù)位脈沖,初始化 DS18B20// Rxwait()。 //等待 DS18B20 給出的應(yīng)答脈沖 // Wrbyte(0xcc)。 //skip rom 命令 // Wrbyte(0x44)。 //convert T 命令 // } //溫度讀取值 // void Rdtemp() {Txreset()。 //產(chǎn)生復(fù)位脈沖,初始化 DS18B20// Rxwait()。 //等待 DS18B20 給出的應(yīng)答脈沖 // Wrbyte(0xcc)。 //skip rom 命令 // Wrbyte(0xbe)。 //convert T 命令 // tplsb=Rdbyte()。 //溫度值低位字節(jié) // tpmsb=Rdbyte()。 //溫度高位字節(jié) // } date() { tp=tpmsb*256+tplsb。 sw=tp*625/100000。 //讀取溫度十位 // gw=tp*625%100000/10000。 //讀取溫度個(gè)位 // sfw=tp*625%100000%10000/1000。 //讀取溫度十分位 // bfw=tp*625%100000%10000%1000/100。 //讀取溫度百分位 // tppp=sw*10+gw。 } vmain() {delay(100)。 //延時(shí)程序 // convert()。 //啟動(dòng)溫度轉(zhuǎn)換 // delay(100)。 Rdtemp()。 //讀取溫度 // delay(100)。 畢業(yè)設(shè)計(jì) date()。 } //************液晶顯示 ***************// void writer(uchar q) //寫命令 // {E=1。 RS=0。 RW=0。 P0=q。 E=0。 delay(20)。 } void writerdata(uchar o) //寫數(shù)據(jù) // { E=1。 RS=1。 RW=0。 P0=o。 E=0。 delay(20)。 } void writer_d(uchar *u) //寫數(shù)據(jù)串 // {while(*u) writerdata(*u++)。 } void xsinit(void) {writer(0x01)。 writer(0x38)。 //使用 8位數(shù)據(jù),顯示兩行,使用 5*7 的字型 // writer(0x0c)。 //顯示設(shè)置,不顯示光標(biāo),字符不顯閃瑣 // writer(0x06)。 //光標(biāo)從左往右移,內(nèi)容不移 // } void inptt() {while(1) {vmain()。 writer(0x80)。 writer_d(Taday Tp:)。 writerdata(sw+0x30)。 //LCD 顯示溫度十位 // writerdata(gw+0x30)。 //LCD 顯示溫度個(gè)位 // writerdata(39。.39。)。別 //LCD 顯示溫度十小數(shù)點(diǎn) // writerdata(sfw+0x30)。 //LCD 顯示溫度十分位 // writerdata(bfw+0x30)。 //LCD 顯示溫度百分位 // writerdata(0xdf)。 writer_d(C )。 writer(0xc0)。 writer_d(Please press K4)。 畢業(yè)設(shè)計(jì) if(k4==0)break。 } } //**********超聲波發(fā)射程序 ************// void sen() {uchar times=0。 TMOD=0x12。 //定時(shí)器 1工作在定時(shí)方式 1,定時(shí)器 0 工作在定時(shí)方式 2// IE=0x84。 //中斷設(shè)置 // TH0=244。 TL0=244。 TR0=1。 TR1=1。 //開定時(shí)器 // while(1) {while(TF0==0)。 sg=~sg。 times++。 TF0=0。 if(times==20)break。} //翻轉(zhuǎn) 20 次,發(fā)送 10 個(gè)脈沖信號(hào)的超聲波 // TR0=0。 times=0。 } //**********外中斷服務(wù)程序 ************// rec()interrupt 2 using 2 //接收中斷程序 // {TR1=0。 //關(guān)計(jì)數(shù)器 // ctl=0。 time=TH1*256+TL1。 //算出 t 的值, t 的單位為 us// l=time*c/2。 TH1=0。 TL1=0。 } //************數(shù)據(jù)處理,顯示結(jié)果 ***************// void dataxs() {if(tppp=10)c=338+(tppp10)*。 else c=338+(10tppp)*。 cb=c/100。 //聲音速度的百位 // cs=c%100/10。 //聲音速度的十位 // cg=c%100%10。 //聲音速度的個(gè)位 // lb=l/1000000。 //距離的個(gè)位 // ls=l%1000000/100000。 //距離的十分位 // lg=l%1000000%100000/10000。 //距離的百分位 // /******LCD 顯示 ********/ writer(0x80)。 畢業(yè)設(shè)計(jì) if(l=130000)writer_d(too near! )。 else if(TH1=120)writer_d(too long! )。 else {writer_d(L=)。 writerdata(lb+0x30)。 //LCD 顯示距離的個(gè)位 // writerdata(39。.39。)。 writerdata(ls+0x30)。 //LCD 顯示距離的十分位 // writerdata(lg+0x30)。 //LCD 顯示 距離的百分位 // writer_d(m )。 writer_d(C=)。 writerdata(cb+0x30)。 //LCD 顯示聲音速度的百位 // writerdata(cs+0x30)。 //LCD 顯示聲音速度的十位 // writerdata(cg+0x30)。 //LCD 顯示聲音速度的個(gè)位 // writer_d(m/s )。 } } //****狀態(tài) 1,手動(dòng)控制 ******************// void unauto() {while(ii) {while(k) {writer(0xba)。 writer_d(Press K4 measure)。 //提示按 K4 發(fā)射超聲波 // if(k4==0||k3==0){ii=0。break。} delay(2020)。} k=20。 while(k) {writer(0xba)。 writer_d( )。 if(k4==0||k3==0){ii=0。break。} delay(2020)。} k=20。 } ii=1。 ctl=0。 sen()。 //調(diào)超聲波發(fā)射程序 // delay(50)。 ctl=1。 } //****狀態(tài) 2,實(shí)時(shí)監(jiān)控 *****// void aut() {writer(0xba)。 writer_d(Designer: GUOBIN)。 ctl=0。 畢業(yè)設(shè)計(jì) sen()。 delay(50)。 ctl=1。 } ztxz() {while(k3==0amp。amp。aa==0) {while(1) {if(k3==1)break。} aa=1。 } while(k3==0amp。amp。aa==1) {while(1) {if(k3==1)break。} aa=0。 } } //********主程序 *******************// main() {xsinit()。 vmain()。 //溫度輸入 // inptt()。 while(1) {while(!aa) {unauto()。 break。 } while(aa) {aut()。 break。 } while(k) //等待回波 // {ztxz()。 //狀態(tài)切換鍵判斷 // delay(2020)。 } k=20。 dataxs()。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1