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

正文內(nèi)容

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

2025-06-27 20:52本頁(yè)面
  

【正文】 )for(j=0。j255。j++)。 //延 時(shí) , 等 待 系 統(tǒng) 外 圍 復(fù) 位 完 成 sys_init()。 //初 始 化display()。 //顯 示sta_flag=0。 //標(biāo) 準(zhǔn) 復(fù) 位 waitforstarting: //檢 測(cè) 按 鍵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。 //啟 動(dòng) 定 時(shí) 器 0ET0=1。testtemp()。 //啟 動(dòng) 溫 度 轉(zhuǎn) 換while(1) { if(sta_flag) //60MS 到 了 , 超 聲 波 已 經(jīng) 發(fā) 送 { while(0==CSBIN)。 //等 待 超 聲 波 返 回TR1=0。jsh=TH1。 //停 止 計(jì) 數(shù)jsl=TL1。if(15==count) //1S 到 , 檢 測(cè) 溫 度{temp=wd()。 count=0。testtemp()。 //重 新 啟 動(dòng) 轉(zhuǎn) 換display()。 //刷 新 顯 示}puter()。 //計(jì) 算 距 離hextobcd()。 //轉(zhuǎn) 化 成 BCD 碼sta_flag=0。 //標(biāo) 志 清 零} }}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ā) 送 關(guān) 閉CSBIN=1。EA=1。 //開(kāi) 放 總 中 斷Init_LCD()。} 外部中斷子程序如圖所示,中斷服務(wù)程序是響應(yīng)單片機(jī)的外部中斷。在系統(tǒng)主程序中,發(fā)射的4OKHz 脈沖信號(hào)遇到障礙物反射后,經(jīng)接收檢測(cè)電路產(chǎn)生外中斷信號(hào)至單片機(jī)。在中斷服務(wù)程序中,首先進(jìn)行必要的現(xiàn)場(chǎng)保護(hù),再把進(jìn)入中斷服務(wù)程序處的計(jì)數(shù)值讀出并對(duì)該數(shù)據(jù)進(jìn)行處理,計(jì)算得到相應(yīng)的距離值,同時(shí)轉(zhuǎn)換為十進(jìn)制,最后送到 P2 口顯示輸出。RECEIVE: PUSH PSW ;中斷現(xiàn)場(chǎng)保護(hù)PUSH ACLR EXO ;關(guān)閉外部中斷 INTOMOV R0,TL0 ;讀取時(shí)間MOV R1,TH0LCALL MULD ;調(diào)用乘法子程序計(jì)算機(jī)距離LCALL ADJ ;調(diào)用十進(jìn)制調(diào)整子程序LCALL DISPSETB EX0 ;打開(kāi)外部中斷 INT0POP A POP PSWRETI 定時(shí)器中斷子程序定時(shí)器中斷子程序流程圖如圖 42 所示。由于 51 單片機(jī)是 16 位定時(shí)器,最大計(jì)時(shí)時(shí)間為 65536us,當(dāng)測(cè)量的距離很遠(yuǎn)的時(shí)候,定時(shí)器就會(huì)發(fā)生溢出 。所以必須對(duì)溢出中斷進(jìn)行相應(yīng)的設(shè)置才能使得單片機(jī)正常工作。同時(shí)由于電路的測(cè)量距離有限最遠(yuǎn)為 5 米,當(dāng)測(cè)量距離超出 5 米時(shí),接收探頭就不能檢測(cè)回波,即不能產(chǎn)出外部中斷更不可能關(guān)閉定時(shí)器。程序如下:TIME0: PUSH PSW ;中斷現(xiàn)場(chǎng)保護(hù)PUSH ACLR EX0CLR TR0MOV TL0,00HMOV TH0,00HSETB TR0SETB EX0LCALL PULSE ;調(diào)用發(fā)射脈沖子程序POP APOP PSWRETI圖42 定時(shí)中斷子程序流程 實(shí)現(xiàn)重要功能的程序分析 實(shí)現(xiàn)溫度讀取功能uint Read_Temperature(void) //讀取溫度,返回整數(shù)值{ uint c。reset()。 //復(fù)位 18b20 芯片tu=0。 //先置位溫度正負(fù)標(biāo)示為正if(r) { write(0xCC)。 // 跳過(guò)多傳感器識(shí)別 skio rom write(0xBE)。 //發(fā)讀內(nèi)部 9 字節(jié)內(nèi)容指令 c=read()。 //讀兩個(gè)字 reset()。 //讀完兩個(gè)字節(jié)后復(fù)位 write(0xCC)。 // 跳過(guò)多傳感器識(shí)別 skio rom定時(shí)中斷關(guān)閉定時(shí)器定時(shí)器初始化發(fā)射脈沖串打開(kāi)定時(shí)器返回 write(0x44)。 // 發(fā)啟動(dòng)溫度變換指令 if(c0x1000){c=c+1。tu=1。} //若溫度小于 0,tu=1 c=4。 //去掉低四位即為整數(shù)溫度值,無(wú)需* return c。}else{return r。 } //返回 0XFF 表示未檢測(cè)到 18B20 芯片} 實(shí)現(xiàn)根據(jù)溫度轉(zhuǎn)化聲速 int C_speed(void) //根據(jù)溫度查算聲速值{ uchar y。 y=Read_Temperature()。 //采溫度 if(r){ //若溫度有變化則按溫度值取聲速{T_C=y。 //溫度值=變化后的溫度值if(tu==0)speed=332+T_C*。 //溫度為正則+聲速else speed=332T_C*。 //溫度為負(fù)則聲速}}else speed=。 //若 1820 不存在即無(wú)法讀取溫度,聲 速=(取 25 度)return speed。} 實(shí)現(xiàn)距離計(jì)算float Dis_count() //距離計(jì)算函數(shù){float cm。cm=TH1*256+TL1。cm=7610。 //減去限制 10M 的初值+可調(diào)誤差值cm*=speed。 //計(jì)算距離 uS*34650mcm/=20220。 //轉(zhuǎn)換為 s 單程return cm。} 本章小結(jié)本章主要結(jié)合超聲測(cè)距系統(tǒng)的硬件設(shè)計(jì)方案,給出具體實(shí)現(xiàn)時(shí)單片機(jī)涉及到的軟件結(jié)構(gòu)及其相關(guān)編程。主要包括整個(gè)程序的算法思想,采用模塊化設(shè)計(jì),大量采用子程序設(shè)計(jì)的方法,大大縮短編程開(kāi)發(fā)周期,方便程序閱讀以及程序查錯(cuò)。程序采用先在計(jì)算機(jī)上進(jìn)行軟件仿真,后灌進(jìn)單片機(jī)中和硬件結(jié)合調(diào)試。第 5 章 結(jié)論本設(shè)計(jì)是以 AT89C51 為核心,借助于模數(shù)電技術(shù)和單片機(jī)技術(shù)的結(jié)合,解決了超聲波測(cè)距的一些難題。靈活的運(yùn)用超聲波換能集成電路作為超聲波的接收電路,在討論了超聲波測(cè)距原理、硬件電路實(shí)現(xiàn)和軟件設(shè)計(jì)方法基礎(chǔ)上,完成了超聲波測(cè)距的設(shè)計(jì)要求。利用單片機(jī)的運(yùn)算和控制功能,利用超聲波的特性設(shè)計(jì)出的一種簡(jiǎn)單的測(cè)距系統(tǒng)。利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡(jiǎn)單、易于做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的要求,隨著科學(xué)技術(shù)的快速發(fā)展,超聲波的應(yīng)用將越來(lái)越廣。但就目前技術(shù)水平來(lái)說(shuō),人們可以具體利用的超聲波技術(shù)還十分有限,因此,這是一個(gè)正在蓬勃發(fā)展而又有無(wú)限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。從課題選擇、方案論證到具體設(shè)計(jì),我查閱了大量的資料。對(duì)一些疑難的問(wèn)題,我得到了老師和同學(xué)的幫助。在三年的專(zhuān)科學(xué)習(xí)和生活期間,也始終感受著導(dǎo)師的精心指導(dǎo)和無(wú)私的關(guān)懷,我受益匪淺。在此向老師們表示深深的感謝和崇高的敬意。致 謝本文研究工作是在我的導(dǎo)師張志通老師的精心指導(dǎo)和悉心關(guān)懷下完成的,從開(kāi)題伊始到論文結(jié)束,我所取得的每一個(gè)進(jìn)步、編寫(xiě)的每一段程序都無(wú)不傾注著導(dǎo)師辛勤的汗水和心血。導(dǎo)師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的各科知識(shí)、無(wú)私的奉獻(xiàn)精神使我深受啟迪,從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實(shí)、寬廣的專(zhuān)業(yè)知識(shí),也學(xué)到了做人的道理。在今后的學(xué)習(xí)工作中,我將銘記恩師對(duì)我的教誨和鼓勵(lì),盡自己最大的努力取得更好的成績(jī)。在此我要向我的導(dǎo)師張志通老師致以最衷心的感謝和深深的敬意!在三年的大學(xué)學(xué)習(xí)期間,每位老師對(duì)我的學(xué)習(xí)、生活和工作都給予了熱情的關(guān)心和幫助,使我的水平得到了很大的提高,取得了長(zhǎng)足的進(jìn)步。在此,向所有關(guān)心和幫助過(guò)我的老師、同學(xué)和朋友表示由衷的謝意!衷心感謝在百忙之中評(píng)閱論文和參加答辯的各位專(zhuān)家、教授。 參考文獻(xiàn)[1] 謝維成,楊加國(guó) .單片機(jī)原理與應(yīng)用及 C51 :清華大學(xué)出版社,2022[2] :杭州大學(xué)出版社,1995[3] :西安電子科技大學(xué)出版社,2022[4] C 語(yǔ)言編程 .北京:電子工業(yè)出版社,2022[5] :重慶大學(xué)出版社,1997[6] [J].電子技術(shù),2022[7] 姜道連,寧延一 , AT89C2051 設(shè)計(jì)超聲波測(cè)距儀[J].國(guó)外電子元器件,2022[8] 張鵬,張有志 .一種新型超生測(cè)距系統(tǒng)[J].山東:山東大學(xué)學(xué)報(bào),2022,33(1)[9] 單片機(jī)實(shí)用教程-基礎(chǔ)篇(第 1 版) [M].:2022 年 2 月[10] 賈伯年. 傳感器技術(shù). 南京: 東南大學(xué)出版社,2022 [11] 陳大新,胡學(xué)同 , FPGA 改進(jìn)超聲波測(cè)距模塊設(shè)計(jì)[J].傳感器技術(shù),2022,24(2): 57~59[12] 閻石. 數(shù)字電子技術(shù)基礎(chǔ). 北京: 高等教育出版社, 1998 [13] 樓然苗. 51 系列單片機(jī)設(shè)計(jì)實(shí)例. 北京: 北京航空航天大學(xué)出版社,1999 [14] 程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社, 2022附錄 1系統(tǒng)原理圖系統(tǒng) PCB 板圖 附錄 2源程序includeincludeincludedefine uchar unsigned chardefine uint unsigned intuchar code dispBUF[33]={Temperature: Distance: mm }。uchar numcode[10]={39。039。,39。139。,39。239。,39。339。,39。439。,39。539。,39。639。,39。739。,39。839。,39。939。}。uint num[29]={0}。uchar jsh,jsl。 //計(jì)數(shù)器的高低位uchar count=0。 //10 秒計(jì)次數(shù)uint distance。 //距離uint temp。 //溫度變量uchar bdata flag。 //DS18B20 存在標(biāo)準(zhǔn) sbit RS=P2^0。 //LCD RSsbit RW=P2^1。 //LCD RWsbit E =P2^2。 //LCD Esbit DQ=P2^7。 //DS18B20 數(shù)字端口sbit Busy = P0^7。 //LCD 忙void Delay(uint time)。void delay1ms(uint ms)。void delay()。void delay15(uchar us)。void BUMA(void)。void B20_WDAT(uchar dat)。uchar B20_RDAT(void)。void Init_18B20(void)。 //初始化 18B20void Write_Comm(uchar)。 //寫(xiě)入 LCD 命令 void Write_Data(uchar)。 //寫(xiě)入 LCD 數(shù)據(jù)void Init_LCD(void)。sbit sta_flag =flag^0。 //10MS 到標(biāo)準(zhǔn)位,flag 即通用標(biāo)志位,當(dāng)sta_flag=1 時(shí),表示到了 10ms sbit fuhao =flag^1。 //溫度的符號(hào)位sbit START =P1^0。 //啟動(dòng)測(cè)距sbit CNT =P2^5。 //發(fā)射超聲波sbit CSBIN =P2^6。 //返回信號(hào)sbit BUZZER =P3^7。 /******************定時(shí)器 1 溢出***************************/void timer1(voi
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1