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

正文內(nèi)容

基于stc89c52單片機(jī)的溫度控制系統(tǒng)設(shè)計(參考版)

2025-06-06 22:37本頁面
  

【正文】 //抬高引腳電平 } uchar RD1820(void) { uchar i。稍大于 60us cmd = 1。time++)。 //拉高引腳電平 for(time=0。如果發(fā)送 0,則一直保持低電平不變 if(cmd amp。 //拉高引腳電平 DateBus = 0。i++) //低位在前 。 for(i=0。一定不能少于160us DateBus = 1。time++)。一定不能少于 9 125us */ //不判斷應(yīng)答信號,直接跳過 for(time=0。time++)。 //把引腳設(shè)置為輸出口 for(time=0。 //等待,直到 DS18B20 返回 0。把引腳設(shè)置為輸入口時一定要先抬高引腳電平 //判斷應(yīng)答信號,但得用循環(huán)等待 /* DB_In。 //延時 490us DateBus = 1。time60。 //抬高引腳電平 DateBus = 0。 //延時 } /*********************************18B20***********************************/ void Init1820() { //DB_Out。 //延時 write_(0x01)。 //延時 write_(0x06)。 //延時 write_(0x0c)。 //選擇命令寄存器 write_(0x38)。 write_date(Char)。\039。 for(Char=*dat。 LCD_WriteAddress(addr)。 //顯示十位 。 //顯示百位 。 //寫入顯示地址 。 //顯示字節(jié)的個位 。 //顯示字節(jié)的十位 。 //臨時數(shù)據(jù)緩沖數(shù)組 。 //顯示個位 。 //顯示十位 。 //顯示百位 。 //顯示千位 。 //顯示萬位 。 //寫入顯示地址 。 //顯示字節(jié)的個位 。 //顯示字節(jié)的十位 。 //顯示字節(jié)的百位 。 //顯示字節(jié)的千位 。 //顯示字節(jié)的萬位 。 //臨時數(shù)據(jù)緩沖數(shù)組 。 //顯示個位 。 //顯示十位 。 //顯示百位 。 //寫入顯示地址 。 //顯示字節(jié)的個位 。 //顯示字節(jié)的十位 。 //顯示字節(jié)的百位 。 //臨時數(shù)據(jù)緩沖數(shù)組 。 } /************************************************************************* 函數(shù)功能:寫地址數(shù)據(jù)到 LCD x:0x00 第一行 0x40 第二行 *************************************************************************/ void LCD_WriteAddress(uchar x) { write_(x|0x80)。 delay(10)。 5 delay(10)。 rw = 0。 } /************************************************************************* 函數(shù)功能:寫顯示數(shù)據(jù)到 LCD rs:數(shù)據(jù) /命令寄存器選擇 1:選擇數(shù)據(jù)寄存器 0:選擇命令寄存器 rw:讀 /寫選擇 1:進(jìn)行讀操作 0:進(jìn)行寫操作 lcden:使能端 由 1 跳變成 0 時,液晶模塊執(zhí)行命令 *************************************************************************/ void write_date(uchar date) { P2=date。 delay(10)。 delay(10)。 rw = 0。//邊沿觸發(fā) } /************************************************************************* 4 函數(shù)功能:寫指令數(shù)據(jù)到 LCD rs:數(shù)據(jù) /命令寄存器選擇 1:選擇數(shù)據(jù)寄存器 0:選擇命令寄存器 rw:讀 /寫選擇 1:進(jìn)行讀操作 0:進(jìn)行寫操作 lcden:使能端 由 1 跳變成 0 時,液晶模塊執(zhí)行命令 *************************************************************************/ void write_(uchar ) { P2=。//邊沿觸發(fā) EX1=1。//全局中斷開 EX0=1。 TR0=1。 EA=1。 TH0=(6553650000)/256。ti++)。 while(ms) { for(ti=0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。b)。a) for(b=100。 for(a=x。b)。a) for(b=10。 for(a=x。 uint time。 2 uchar zhengshu。 uint count。 uchar dis_key_ws_flag。 uchar dis_key[19],key_flag=0,key_begin=0。 uchar temp,key=39。 uchar DHTflag。 sbit waizd1=P3^3。 //液晶顯示器第二行輸出的內(nèi)容 uchar digit[11]=0123456789。 // 端口為繼電器控制端口 uchar table1[]=CCDZ MCU。 // 端口與 RW 位連接 sbit DateBus=P1^3。 // 端口與 RS 位連接 sbit lcden=P1^0。 還要感謝我的同學(xué)黃傳忠, 不懂的問題都給予耐心的解答,軟件編程一直都是我的薄弱項,沒有老師和同學(xué)的答疑解惑 ,設(shè)計很難進(jìn)行。當(dāng)你遇到困難時,可以問一問同學(xué),同學(xué) 不明白 解決不了, 可以向老師尋求幫助 ,每個人都有偏弱的方面,大家協(xié)助才能 更好的完成工作。顯示用 1602LCD 是一種很有用的器件,是一種使用相當(dāng)普遍的一種液晶顯示器,使用方法幾乎是固定的, 用于顯示使用靈活,因此 值得掌握。如果想要 靈活 使用它,必須要學(xué)習(xí)與它相關(guān)的資料, 發(fā)現(xiàn)自己知識的積累和 理論知識 應(yīng)用還有很大欠缺 。 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計 32 結(jié)論 經(jīng)過溫控系統(tǒng)硬件電路設(shè)計和軟件程序編寫 ,明白了許多以前沒有注意到但卻很重要的細(xì)節(jié)。使溫度傳感器信號和 LCD 掃描顯示頻率配合好。 LCD總是閃動是因為掃描頻率過高,實時的顯示周圍溫度的變化。 解決的步驟:首先應(yīng)用萬用表歐姆檔,檢測電路板各部分電阻值 顯示大小都在 200歐姆到 400 歐姆范圍內(nèi) ,發(fā)現(xiàn)電阻顯示都正常,沒有虛焊、短路的現(xiàn)象。 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計 31 上電出現(xiàn)的問題及解決步驟 遇到問題: 系統(tǒng)設(shè)計調(diào)試時,借助基本功能健全的開發(fā)板,驗證軟件編譯是否正確,避免了出現(xiàn)問題不知道在哪里 。燒錄程序的步驟如下: (1)首先需要關(guān)閉開發(fā)板電源,這時電源指示燈 D15 為熄滅狀態(tài) (2)運行 軟件 (3)選擇單片機(jī)的型號為 STC89C52,選取安裝虛擬驅(qū)動生成的 COM 口 (4)點擊打開文件,選擇編譯后生成的帶有 HEX 后綴的文件 (5)點擊 download 按鈕,表示單片機(jī)和電腦通信成功,軟件提示 “請給 MCU 上電” (6)打開實驗板電源,燒錄程序完畢。 2 顯示 8 位數(shù)據(jù) 延時等待數(shù)據(jù) 顯示 開始 繼電器復(fù)位 采集測量當(dāng)前溫度 是否大于設(shè)置溫度最大值 斷開停止加熱 保持閉合繼續(xù)加熱 完成 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計 30 第 4 章軟件使用及上電調(diào)試 設(shè)計使用的編程軟件和燒錄軟件 系統(tǒng)使用的編程軟件和 51 單片機(jī)相同,用的是 Keil uVision3 漢化破解版,單擊工程按鍵,選擇新建工程,建立實驗需要的工程,注意新建工程需要起一個與工程項目一致意義的名字,接下來選擇工程所使用的單片機(jī)類型,本實驗選用的是 STC89C52 類型的單片機(jī),然后點擊確定就表示工程建立完畢,然后點擊文件選型里面的新建按鍵建立一個新的空白文檔,在這個新的文檔里面進(jìn)行程序的編寫、修改,因為該實驗項目選擇使用匯編語言編寫,所以保存時,必須將其文件名加上“ .C”,該后綴表示程序為匯編形式,保存文件后需要將編寫的文件添加到項目中去,右擊 Source Group 1, 在彈出的菜單中選擇“帶有 .C 后綴的文件”然后添加到項目中,然后右擊 Target1,彈出菜單中選中“目標(biāo) Target 屬性” 在輸出選項卡當(dāng)中需要在“ E 生成 HEX 文件”選項前打鉤選中,然后點擊確定退出,之所以要選擇“ E 生成 HEX 文件”選型是因為通過 STCISP 軟件將程序燒錄到單片機(jī)中燒錄的即為程序編譯后生成的 HEX 類型文件,點擊編譯鏈接選項對程序進(jìn)行編譯,在窗口下方會提示程序出現(xiàn)的錯誤,根據(jù)提示修改程序,程序調(diào)試沒有錯誤后,需要打開寄存器狀態(tài)窗口,一步步運行程序,觀察寄存器的狀態(tài)變化,從而判斷程序除了沒有語法錯誤,程序的邏輯是否正確,是否能夠?qū)崿F(xiàn)編程前預(yù)想的程序功能 。如果采樣獲得 的為 高電平,則寫入位為 1,如圖 ,需要注意的是連續(xù)寫兩位的時間間隙需要大于 1us 圖 寫入 0 的時序 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計 26 圖 寫入 1 的時序圖 圖 寫入數(shù)據(jù)流程圖 圖 寫入數(shù)據(jù)流程圖 開始 DS18B20 初始化 寫入 CCH、 SKIP ROM 寫入 44H 發(fā)送數(shù)據(jù)轉(zhuǎn)換指令 CLR DQ 準(zhǔn)備發(fā)送 延時 15us 寫入 1 位數(shù)據(jù) 延時 15~45us 置位 DQ,完成 1 位數(shù)據(jù)發(fā)送 8 位數(shù)據(jù)發(fā)送完成 完成 否 是 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計 27 讀時序 如 圖 主機(jī)總線由高電平跳變?yōu)榈碗娖?,總線只需要保持 17us 的低電平,之后在 t1 時刻將總線拉高,從而產(chǎn)生讀時間間隔,讀功能在 t1 到 t2 時刻之前有效,t2 距離 t0 為 15us,所以在 t2 時刻之前主機(jī)必須完成對位的讀工作,并在距離 t0 時刻 60us 到 120us 的時間內(nèi)釋放總線 。Alarm search(告警搜索 )[ECH] Write Scatchpad(寫暫存存儲器 )[4EH]; Read Scatchpad(讀暫存存儲器 )[BEH]。 單總線上的所有處理操作均從初始化開始。 端口為高電平,三極管關(guān)斷,繼電器不動作,二極管熄滅,加熱繼續(xù)保持工作, 為低電平 ,此時三極管導(dǎo)通,繼電器斷開 ,二極管發(fā)光, 加熱器停止工作,停止加熱。 圖 熱控制電路 設(shè)計解讀:反向二極管 用 來吸收線圈斷電產(chǎn)生電流,防止繼電器燒毀,并聯(lián)一個與 560 歐串聯(lián)的發(fā)光二極管,便于觀察繼電器通斷 。 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計 19 本設(shè)計中加熱設(shè)備使用 220V 市電,對人體有威脅,用繼電器來控制,繼電器線圈電壓為直流 5V,觸頭可耐交流 250V、 10A。 溫度控制系統(tǒng)電路設(shè)計 安全是電力設(shè)備操作控制中需要考慮的重要因素,很多用電設(shè)備都具有高電壓、強(qiáng)電流的特點。 由于溫度傳感器沒有內(nèi)置電源,所以無法輸出高電平,故 DQ 端需要通過一個上拉 10K 上拉電阻連接到電源,從而獲得高電平。 圖 為 DS18B20 內(nèi)部功能模塊框圖 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計 18 圖 18B20 內(nèi)部結(jié)構(gòu)框圖 圖 示為 設(shè)計的 測溫電路 。 期望獲得的分辨率較高,需要調(diào)整一度溫度所對應(yīng)的計數(shù)值,通過給定溫度計數(shù)值和每一度溫度對應(yīng)數(shù)值可以知道傳感器的分辨率,通常 DS18B20 傳感器以 ℃作為分辨單位數(shù)值,可測溫度范圍為 55℃ ~125℃ 。 DQ 單數(shù)據(jù)總線 178。 圖 為芯片封裝圖 圖 18B20 封裝圖 DS18B20
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1