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

正文內(nèi)容

基于單片機(jī)的超生波測距系統(tǒng)課程設(shè)計(編輯修改稿)

2025-07-24 19:51 本頁面
 

【文章內(nèi)容簡介】 us的高電平信號。另外,此模塊可以自動發(fā)送8個40kHz的方波脈沖,并能夠自動檢測是否有信號返回,如果檢測到有信號返回則通過I/O口輸出低電平,高電平的持續(xù)時間就是超聲波從發(fā)射到返回所用的時間,則所測量的距離=(高電平時間聲速)/2,時序圖如圖511。圖511此模塊不宜帶電連接,如果要帶電連接,則先讓模塊的 Gnd 端先連接。測距時,被測物體的面積不少于 平方米且要盡量平整。否則會影響測試結(jié)果。6 軟件設(shè)計 程序流程圖 主程序流程圖 數(shù)據(jù)初始化 定時器初始化 顯示初始化進(jìn)入while循環(huán) 溫度計算 聲速計算 讀取定時器值 距離清零 Lcd顯示 距離計算超聲波測量觸發(fā)等待中斷是否觸發(fā) 否 是 外部中斷0流程圖 外部中斷0入口讀取當(dāng)前定時器值 置測量成功標(biāo)志 返回子程序包括了LCD顯示模塊程序,DS18B20溫度采集模塊程序。根據(jù)DS18B20的相關(guān)資料編寫了溫度采集程序void dsreset(void) //DS18B20初始化{ uint i。 DS=0。 i=103。 while(i0)i。 DS=1。 i=4。 while(i0)i。}bit tmpreadbit(void) //讀一位{ uint i。 bit dat。 DS=0。 i++。 //小延時一下 DS=1。 i++。i++。 dat=DS。 i=8。 while(i0)i。 return (dat)。}uchar tmpread(void) //讀一個字節(jié){ uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tmpreadbit()。 dat=(j7)|(dat1)。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個字節(jié)在DAT里 } return(dat)。 //將一個字節(jié)數(shù)據(jù)返回}void tmpwritebyte(uchar dat) //寫一個字節(jié){ uint i。 uchar j。 bit testb。 for(j=1。j=8。j++) { testb=datamp。0x01。 dat=dat1。 if(testb) // 寫1部分 { DS=0。 i++。i++。 DS=1。 i=8。 while(i0)i。 } else { DS=0。 //寫0部分 i=8。 while(i0)i。 DS=1。 i++。i++。 } }}void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令{ dsreset()。 //初始化DS18B20 delayb(1)。 //延時 tmpwritebyte(0xcc)。 // 跳過序列號命令 tmpwritebyte(0x44)。 //發(fā)送溫度轉(zhuǎn)換命令}int tmp() //獲得溫度{ int temp。 uchar a,b。 dsreset()。 delayb(1)。 tmpwritebyte(0xcc)。 tmpwritebyte(0xbe)。 //發(fā)送讀取數(shù)據(jù)命令 a=tmpread()。 //連續(xù)讀兩個字節(jié)數(shù)據(jù) b=tmpread()。 temp=b。 temp=8。 temp=temp|a。 //兩字節(jié)合成一個整型變量。 return temp。 //返回溫度值} LCD顯示子程序根據(jù)1602的資料編寫了距離、溫度顯示模塊的程序void write_(uchar mon) //1602寫指令函數(shù){ RS=0。 P0=mon。 delay(1)。 EN=1。 delay(1)。 EN=0。}void write_data(uchar Data) //1602寫數(shù)據(jù)函數(shù){ RS=1。 P0=Data。 delay(1)。 EN=1。 delay(1)。 EN=0。}void init_1602() //初始化1602{ RW=0。//只寫不讀 EN=0。 write_(0x38)。//7*5 2*16。 八位數(shù)據(jù)接口 write_(0x0c)。 //開顯示,無光標(biāo) write_(0x06)。//地址自動加一 write_(1)。//清屏 }void display(uint temp) //顯示函數(shù) { uchar ge,shi,bai,qian,i。//分別為距離的千、百、十、個位 qian=temp/1000。 bai=temp%1000/100。 shi=temp%100/10。 ge=temp%10。 write_(0x80)。 //光標(biāo)在第一行第一列 for(i=0。i7。i++) write_data(table1[i])。//顯示“juli:”字樣 write_data(qian+0x30)。 //顯示距離數(shù)值 write_data(bai+0x30)。 write_data(shi+0x30)。 write_data(ge+0x30)。 write_(0x80+11)。 //光標(biāo)在第一行第12列 for(i=0。i2。i++) write_data(table2[i])。//顯
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1