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

正文內(nèi)容

溫度控制系統(tǒng)課程設計單片機課程設計(編輯修改稿)

2025-07-26 15:52 本頁面
 

【文章內(nèi)容簡介】 第四章 軟件設計系統(tǒng)軟件要實現(xiàn)的功能如下:利用3只共陰數(shù)碼管,LED1顯示檢測溫度十位,LED2顯示檢測溫度個位,LED3顯示設定溫度百位,顯示分辨率為1℃。單片機復位后默認溫度為環(huán)境溫度。當每按下一次設定溫度上升按鈕ADD時,設定溫度增加1℃,最高為100℃,當每按下一次設定溫度下降按鈕DEC時,設定溫度減少1℃,最低設定為0℃。當設定溫度大于檢測上限溫度或低于下限溫度時報警輸出,并執(zhí)行相關動作。溫度控制程序的設計應考慮如下:1)鍵盤掃描、鍵碼識別和溫度顯示;2)溫度采樣;3)數(shù)據(jù)處理;4)越限報警和處理。系統(tǒng)流程圖如圖8所示。減加超限與上下溫度比較開始初始化按鍵掃描檢測溫度顯 示判斷按鍵設定值加設定值減顯 示限內(nèi)啟動報警圖8 系統(tǒng)流程圖DS18B20工作過程中的協(xié)議如下:(1)初始化——(2)ROM操作命令——(3)存儲器操作命令——(4)處理數(shù)據(jù)時序如圖9所示。主機總線發(fā)送復位脈沖,接著再釋放總線(置總線為高電平)并進入接收狀態(tài)。DS18B20在檢測到總線的上升沿后等待15—60μS發(fā)出器件存在脈沖。初始化程序如下所示:Init_DS18B20(void){ unsigned char x=0。 DQ = 1。 //DQ復位 delay1(8)。 //稍做延時 DQ = 0。 //單片機將DQ拉低 delay1(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 delay1(14)。 x=DQ。 //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay1(20)。 //延時120us后釋放總線} 單片機主動釋放60240μS1560μS480960μS圖9 初始化時序圖此初始化程序功能為:檢測DS18B20是否存在,如存在,則x=0,說明初始化成功。單片機寫DS18B20的時序如圖10所示,當主機總線從高拉至低電平時就產(chǎn)生寫時間隙,DS18B20在檢測到下降沿后15μS時開始采樣總線上的電平,所以15μS之內(nèi)應將所需寫的位送到總線上,DS18B20再15—60μS間對總線采樣,每寫一位總時間必須在60—120μS之間完成。若低電平寫入的位是0,高電平寫入的位是1,連續(xù)寫時位間的間隙應大于1μS。程序如下所示:unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay1(20)。 DQ = 1。delay1(5)。 dat=1。 delay1(20)。 } 寫060120μS寫1,DS18B20在檢測到下降沿15μS后采樣,采樣時間為1560μS1560120μSDS18B20檢測到下降沿15μS后采樣15μS圖10 單片機寫DS18B20時序圖單片機讀DS18B20的時序如圖11所示,單片機主動產(chǎn)生一個下降沿的啟動信號,并維持低電平大于1μS后釋放總線,15μS后DS18B20占主動權,DS18B20會將數(shù)據(jù)按位放在總線上,這時單片機可讀取信號,讀取一位的時間應在60μS內(nèi)完成。當需要讀取下一位時再產(chǎn)生下降沿啟動信號。T60μS單片機采樣第二位啟動脈沖T60μS單片機采樣第一位啟動脈沖圖11 單片機讀DS18B20的時序圖 ReadOneChar(void) { unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號delay1(20)。 dat=1。 DQ = 1。 // 給脈沖信號delay1(8)。 if(DQ) dat|=0x80。 delay1(20)。 } return(dat)。 }此程序功能為:讀取DS18B20 A/D轉換后的溫度值,轉換后的二進制存入DQ單元,默認為12位轉換,單元的高5位均為符號位,所以判斷符號只需判斷低12位數(shù)據(jù)的最高位即可。1表示為零度以下,0表示零度以上,實際有效位為11位。 通過鍵盤掃描程序判斷是否按鍵按下,繼而來控制設定的上下限的報警溫度值。具有實時掃描的功能。其程序如下: void keycan() //掃描按鍵 { if(keycan1==0) {delayms(10)。 if(keycan1==0) {warn_hight++。 flag=1。 temp=warn_hight。 while(!keycan1)。 } } if(keycan2==0) {delayms(10)。 if(keycan2==0) {warn_low。 flag=1。 temp=warn_low。 while(!keycan2)。 } } } 通過控制上下限的溫度值,達到溫度控制。如果檢測值大于上限值或檢測值小于下限值蜂鳴器都會報警,并二極管閃爍發(fā)光。程序如下: if(TZ=warn_hight) //上限蜂鳴器響 {beep=0。 delayms(2000)。 if(beep==0) { DS=0。 delayms(100)。 DS=1。 delayms(100)。 }
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1