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

正文內(nèi)容

基于51單片機的溫度檢測系統(tǒng)-資料下載頁

2024-10-24 18:44本頁面

【導(dǎo)讀】本課題以51單片機為核心實現(xiàn)智能化溫度測量。利用18B20溫度傳感器獲。交換數(shù)據(jù),最終單片機將信號轉(zhuǎn)換成LCD可以識別的信息顯示輸出。器,其分辨率可編程設(shè)計。本課題設(shè)計應(yīng)用于溫度變化緩慢的空間,綜合考慮,以降低靈敏度來提高顯示精度。設(shè)計使用12位分辨率,因其最高4位代表溫度。和過溫警告信息,傳感器異常信息設(shè)。計使用蜂鳴器做警報發(fā)生器,當(dāng)溫度超過。設(shè)定值時播放《卡農(nóng)》,當(dāng)傳感器異常時播放嘟嘟音。·由單片機、溫度傳感器以及液晶顯示器等構(gòu)成高精度溫度監(jiān)測系統(tǒng)。·按鍵設(shè)定過溫值,過溫在液晶屏提示并響鈴卡農(nóng)一次,直到溫度正常。SPI總線則以同步串行3線方式進行通信(一條時鐘線,一條數(shù)據(jù)輸。單總線具有廣闊的應(yīng)用前景,是值得關(guān)注的一個發(fā)展領(lǐng)域。主機或從機通過一個漏極。單總線通常要求外接一個約為的上拉電阻,這樣,當(dāng)。總線閑置時其狀態(tài)為高電平。字信號供微機處理,接口簡單,使數(shù)據(jù)傳輸和處理簡單化。部分功能電路的集成,

  

【正文】 { //查表顯示字符 lcd_wdat(cdis5[i])。 i++。 } lcd_pos(0x50)。 //設(shè)置顯示位置為第二行第 17列 i = 0。 while(cdis6[i] != 39。\039。) { lcd_wdat(cdis6[i])。 //查表顯示字符 i++。 } . for(j=0。j16。j++) //向左移動 16次 { lcd_wcmd(0x18)。 //字符同時左移一格 delay1(100)。 //控制移動時間 } flash()。 //閃動 2 次 } } /******************************************************************* * 臨界溫度設(shè)定界面 * *******************************************************************/ void Set_temp () { uchar i = 0 。 lcd_init() 。 //初始化 LCD lcd_pos(0) 。 //設(shè)置顯示位置為第一行的第 1 個字符 while(cdis9[i] != 39。\039。) { //顯示字符 lcd_wdat(cdis9[i]) 。 i++ 。 } lcd_pos(0x40) 。 //設(shè)置顯示位置為第二行第 1個字符 i = 0 。 while(cdis10[i] != 39。\039。) { lcd_wdat(cdis10[i]) 。 //顯示字符 i++ 。 } } /******************************************************************* * WELCOM TO USE! 顯示菜單 * *******************************************************************/ void Ok_Menu () { uchar i = 0 。 lcd_init() 。 //初始化 LCD lcd_pos(0) 。 //設(shè)置顯示位置為第一行的第 1 個字符 while(cdis1[i] != 39。\039。) { //顯示字符 lcd_wdat(cdis1[i]) 。 . i++ 。 } lcd_pos(0x40) 。 //設(shè)置顯示位置為第二行第 1個字符 i = 0 。 while(cdis2[i] != 39。\039。) { lcd_wdat(cdis2[i]) 。 //顯示字符 i++ 。 } } /******************************************************************** * DS18B20 ERROR 顯示菜單 * ********************************************************************/ void Error_Menu () { uchar m 。 lcd_init() 。 //初始化 LCD lcd_pos(0) 。 //設(shè)置顯示位置為第一行的第 1 個字符 m = 0 。 while(cdis3[m] != 39。\039。) { //顯示字符 lcd_wdat(cdis3[m]) 。 m++ 。 } lcd_pos(0x40) 。 //設(shè)置顯示位置為第二行第 1個字符 m = 0 。 while(cdis4[m] != 39。\039。) { lcd_wdat(cdis4[m]) 。 //顯示字符 m++ 。 } } /******************************************************************** . * OVER TEMP 顯示菜單 * ********************************************************************/ void OVER_TEMP () { uchar i 。 lcd_init() 。 //初始化 LCD lcd_pos(0) 。 //設(shè)置顯示位置為第一行的第 1 個字符 i = 0 。 while(cdis7[i] != 39。\039。) { //顯示字符 lcd_wdat(cdis7[i]) 。 i++ 。 } lcd_pos(0x40) 。 //設(shè)置顯示位置為第二行第 1個字符 i = 0 。 while(cdis8[i] != 39。\039。) { lcd_wdat(cdis8[i]) 。 //顯示字符 i++ 。 } } /******************************************************* * 主函數(shù) 上電溫度誤判怎么辦? * * *因為 ds18b20 內(nèi)部 ad 轉(zhuǎn)換時間大約 750mS( 12 位 ad), * *所以上電后 750ms 后才能將溫度存在寄存器里待讀, * *解決方法,進入主程序先轉(zhuǎn)換采集一次 DS18B20, * *先不送顯示,然后延時約 1 秒,然后再進入大循環(huán)進行采集, * *送顯示就可以了 * *******************************************************/ void main() { gundong()。 Set_temp()。Read_key()。//設(shè)定溫度(設(shè)定中就包含顯示) Read_Temperature() 。 delay1(800)。//上電誤判解決方案 while(1) { Read_Temperature() 。 if( presence) . { Error_Menu ()。 while(presence) { warning()。Init_DS18B20()。 } /*被判插上溫度傳感器后 */ Read_Temperature()。 delay1(800)。 Read_Temperature()。//修復(fù)誤判解決方案 delay1(800)。 Read_Temperature()。 delay1(800)。 Read_Temperature()。 } else if(Tempsetamp。amp。!presence) { Ok_Menu ()。 while(Tempsetamp。amp。!presence) { Read_Temperature() 。Disp_Temperature()。} } else if(Temp=setamp。amp。!presence) { OVER_TEMP ()。canong()。 //音樂在此只響一次 while(Temp=setamp。amp。!presence) { Read_Temperature() 。} } } }
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1