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

正文內(nèi)容

課程設(shè)計(jì)論文-基于51單片機(jī)與ds18b20的數(shù)字溫度計(jì)設(shè)計(jì)(更新版)

2024-12-16 19:16上一頁面

下一頁面
  

【正文】 (5)。 } /*************************DS18B20 初始化函數(shù) ******************************/ void Init_DS18B20(void) { unsigned char x=0。//溫度設(shè)定、報(bào)警 Showrecord()。//顯示記錄的溫度值 /*********************主函數(shù) *******************************************/ void main() { TMOD=0x01。//DS18B20 初始化子程序 void WriteOneChar(unsigned char dat)。//存儲過去的十個溫度值 uchar temperature。//數(shù)碼管段選使能 sbit wela=P2^7。 圖 11 鍵盤輸入電路 5 軟件設(shè)計(jì) 主程序模塊 主程序需要調(diào)用 3 個子程序,分別為 : ? 實(shí)時 溫度顯示子程序:驅(qū)動數(shù)碼管 把實(shí)時溫度值送出在 LED 數(shù)碼管顯示 ? 查詢記錄溫度值子程序:查詢過去存儲的 溫度值,最多可查詢 10 個值 ? 溫度設(shè)定、報(bào)警子程序 :設(shè)定報(bào)警溫度值,當(dāng)溫度超過該值時產(chǎn)生報(bào)警,即驅(qū)動蜂鳴器鳴叫、 8 個發(fā)光二極管發(fā)光 主程序流程圖: 開始 顯示實(shí)時溫度 溫度設(shè)定、報(bào)警 查詢記錄溫度值 定時器初始化、啟動 圖 12 主程序流程圖 讀溫度值模塊 讀溫度值模塊需要調(diào)用 4 個子程序,分別為: ? DS18B20 初始化子程序:讓單片機(jī)知道 DS18B20 在總線上且已準(zhǔn)備好操作 ? DS18B20 寫字節(jié)子程序:對 DS18B20 發(fā)出命令 ? DS18B20 讀字節(jié)子程序:讀取 DS18B20 存儲器的數(shù)據(jù) ? 延時子程序:對 DS18B20 操作時的時序控制 1. 讀溫度值模塊流程圖: 圖 13 讀溫度值子程序流程圖 DS18B20 初始化 跳過讀序列號 啟動溫度轉(zhuǎn)換 延時 DS18B20 初始化 跳過讀序列號 讀取溫度值高低位 數(shù)據(jù)轉(zhuǎn)換處理 返回 入口 2. DS18B20 初始化子程序流程圖: N Y 圖 14 DS18B20 初始化子程序流程圖 3. DS18B20 寫字節(jié) 和讀字節(jié) 子程序 流程圖 : DQ 置高電平 稍延時 DQ 復(fù)位 0 延時 480ms DQ 拉高電平 延時 15~60ms DQ 為低 電平? 返回 入口 圖 15 DS18B20 寫字節(jié)子程序流程圖 圖 16 DS18B20 讀 字 節(jié)子程序流程圖 中斷模塊 中斷采用 T0 方式 1,初始值定時為 50ms。 例如 +125℃ 的數(shù)字輸出為 07D0H, 實(shí)際溫度 =07D0H*=2020*=125℃ 。 以上兩種方案相比較,第二種方案的電路、軟件設(shè)計(jì)更簡單,此方案設(shè)計(jì)的系統(tǒng)在功耗、測量精度、范圍等方面都能很好地達(dá)到要求,故本設(shè)計(jì)采用方案二。 數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便、測溫范圍廣、測溫精確、功能多樣話等優(yōu)點(diǎn)。本文介紹了一個基于 STC89C52單片機(jī)和數(shù)字溫度傳感器 DS18B20 的測溫系統(tǒng),并用 LED 數(shù)碼管顯示溫度值,易于讀數(shù)。 擴(kuò)展功能 溫度報(bào)警,能任意設(shè)定溫度范圍實(shí)現(xiàn)聲光報(bào)警; 每隔 10 分鐘記錄一次溫度數(shù)據(jù),至少能查詢過去 10 個時刻的溫度情況。 圖 4 DS18B20 接線原理圖 DS18B20 時序圖 主機(jī) 使用時間隙來讀寫 DS18B20 的數(shù)據(jù)位和寫命令字的位。 圖 8 DS18B20 溫度數(shù)據(jù)表 顯示電路 LED 數(shù)碼管顯示采用動態(tài)掃描方式,能簡化電路布線,節(jié)約單片機(jī) I/O 端口。 溫度查詢模塊流程圖如下: N Y N Y 中斷入口 定時器重置初值 計(jì)數(shù)值加 1 1 秒? 記錄溫度值 讀溫度值 中斷返回 入口 功能鍵按下? 延時消抖 確認(rèn)按下? 顯示溫度值與位次 N Y Y N N Y Y N N Y 圖 18 溫度查詢模塊 流程圖 溫度設(shè)定、報(bào)警模塊 此模塊跟溫度查詢模塊類似,需要接受按鍵輸入,進(jìn)入模塊界面后,按加減鍵分別上調(diào) 和下調(diào)設(shè)定報(bào)警溫度值,當(dāng)實(shí)時溫度值超過設(shè)定值時驅(qū)動蜂鳴器發(fā)聲,并點(diǎn)亮 8 位發(fā)光二極管,實(shí)現(xiàn)聲光報(bào)警。//減鍵 sbit alarm=P3^6。//計(jì)數(shù)變量 uchar alanum=30。//由 DS18B20 產(chǎn)生溫度值 void Display(uchar wei,uchar duan)。 EA=1。i0。 //稍做延時 DQ = 0。 unsigned char dat = 0。 } return(dat)。 DQ = 1。 // 啟動溫度轉(zhuǎn)換 delay(200)。0xff。 P0=tabled[duan]。 if(alarm==0) { delay1(80)。//最小值為 0 攝氏度,循環(huán)顯示 } } } Showtemperature(alanum)。//溫度大于設(shè)定值,聲光報(bào)警 P1=0。 if(countmin==1200)//1 分鐘 { countmin=0。//最新值填入第一個位置 } } }/************************查詢記錄的溫度值 *************************************/ void Showrecord() { bit flag。 Display(4,10)。 } } } } if(sub==0)//sub 按下,查看上一個值 { delay1(z)。//50ms countsec++。定義變量時,盡量定義局部變量,在字符型變量能達(dá)到要求的情況下就不用定義成整形變量了,以節(jié)省內(nèi)存空間。 總的來說,自己從這次獨(dú)立的課程設(shè)計(jì)中收獲了一些知識與經(jīng)驗(yàn),一些從書本中學(xué)之不來的東西,不是說理論無用,而這恰恰是在理論的土壤中開出的花朵,是在理論的肩膀 望見的更寬廣的道路!成功來之不易,自主動手動腦實(shí)踐,小小的成果亦 能帶來碩大的喜悅! 參考文獻(xiàn): 1. 徐瑋 . C51 單片機(jī)高效入門(第 2 版) . 北京:機(jī)械工業(yè) 出版社, 2020. 2. 龍脈工作室,劉鯤,孫春亮(修訂版) . 北京:人們郵電出版社, 2020. 注:此論文僅供參考,請勿抄襲
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1