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

正文內(nèi)容

基于at89c51單片機的溫度控制系統(tǒng)設計(參考版)

2024-12-11 09:32本頁面
  

【正文】 } 27 附錄 2 。//溫度在寄存器中為 12 為,分辨率為 temp = f_temp*10+。//將兩個字節(jié)合為一個字 temp = temp|a。//讀高 8 位 temp = b。 //讀暫存器 a = tempreadbyte()。 tempwritebyte(0xcc)。 dsreset()。//跳過讀 ROM 指令 tempwritebyte(0x44)。 //18B20 復位 Delayms(1)。 //讀出的數(shù) 據(jù)低位在前,剛好在一個字節(jié) dat 里 } return(dat)。i++) 25 { j=tempreadbit()。 for(i=1。 //返回一位數(shù)據(jù) } /************************************** * 函數(shù)名稱: tempreadbyte(void) * * 函數(shù)功能:讀一個字節(jié) * * 入口參數(shù):無 * * 出口參數(shù): dat * ***************************************/ uchar tempreadbyte(void) { uchar i,j,dat。while(i0)i。 dat = ds。i++。i++。 //定義 i,做延時用 bit dat。 //將數(shù)據(jù)線拉高 dat=1。 _nop_()。 //低位在前,高位在后 Delayus(3)。 //稍作延時,待數(shù)據(jù)穩(wěn)定 ds=datamp。i++) // 一個字節(jié)有 8 位 { ds=0。 for(i=0。 //延時 ds = 1。 ds = 1。 // 拉低數(shù)據(jù)線 Delayus(40)。 //將數(shù)據(jù)線置高電平 _nop_()。 static float f_temp = 。 //定義蜂鳴器信號線 sbit ds = P2^7。 extern uint get_temp(void)。 extern uchar tempreadbyte(void)。 //函數(shù)聲明 外部可見 extern void tempwritebyte(uchar dat)。 最后,衷心感謝我的父母,感謝他們對我的培育,正是有了他們的理解,支持和幫助,才使我順利地進入大學并完成了大學學業(yè)。恩師們在教學、科研上兢兢業(yè)業(yè)的作風、腳踏實地的治學態(tài)度,將使我在今后的學習、工作中受益匪淺。于是我 仔細檢查了回路發(fā)現(xiàn) 20腳的地線沒有與其他地線相連,將其接好發(fā)現(xiàn)工作正常。于是我 又測量 AT89C51 芯片 20 腳和 40腳之間發(fā)現(xiàn)無 5V 電壓。 當環(huán)境溫度高于 35攝氏度是,蜂鳴器開始以慢“滴”聲報警,并且伴隨著 P12 口發(fā)光二極管閃爍(模擬開啟制熱設備),當環(huán)境溫度繼續(xù)升高到 37 攝氏度時,蜂鳴器伴隨 P12 和 P13 口發(fā)光二極管一起閃爍(模擬加大制熱功率)。 測試方法:目測。 //溫度處理 } } } 19 5 元器件調(diào)試 調(diào)試產(chǎn)品 測試環(huán)境及工具 測試溫度: ~ 攝氏度。i0。 //溫度處理 _nop_()。 //稍作延時 temp = get_temp()。 //LCD 初始化 tempchange()。 uint temp = 0。 } /****************************************************** 函數(shù)名稱: main(void)。 write_(0x80+15)。 // 十位 +0X30 轉換為字符顯示 write_(0x80+14)。 * 函數(shù)功能:顯示溫度 * 入口參數(shù): t * 出口參數(shù):無 * *******************************************************/ void display(uint t) { 18 write_(0x80+12)。 //蜂鳴器慢“滴” } //模擬加大制冷功率 else beep=1。 led3=1。 Delayms(10)。 //蜂鳴器慢“滴” } //模擬開啟制冷 else if(t=warn_h1) // 37 度 { led2=0。 led2=1。(t=warn_h1)) //35~37 度 { led2=0。 //蜂鳴器快“滴” } //模擬加大制熱功率 else if((twarn_h2)amp。 led1=1。 //第一二燈閃爍 Delayms(10)。 //蜂鳴器慢“滴” } //模擬開啟制熱 else if(t=warn_l2) // 22 度 { 17 led0=0。 led0=1。(t=warn_l1)) //22~25 度 { led0=0。 /****************************************************** 函數(shù)名稱: deal(uint t) * * 函數(shù)功能:對 18B20 獲取的溫度進行相應的處理 * 入口參數(shù): temp * 出口參數(shù):無 * *******************************************************/ void deal(uint t) { if((twarn_l2)amp。 uint warn_h1=370。 uint warn_l1= sbit led2=P1^2。 //定義蜂鳴器信號線 sbit led0=P1^0。 圖 41 為讀取數(shù)據(jù)流程圖 ,具體代碼參考附錄 1[9]。此外,還可外接 5 V 電源,給 DSl8820 供電。 (注: tsp1地址建立時間( 30ns) tsp2數(shù)據(jù)建立時間 (40ns) tHD1 地址保持時間 (10ns ) tHD2 數(shù)據(jù)保持時間( 20us) tpw 脈沖寬度( 150us) tR tF 上升 /下降沿時間 (小于 25us) Valid Data數(shù)據(jù) ) 14 圖 37 1602液晶寫操作時序圖 4 系統(tǒng)軟件設計 軟件設計 DSl8B20 的主要數(shù)據(jù)元件有: 64 位激光 Lasered ROM,溫度靈敏元件和非易失性溫度告警觸發(fā)器 TH 和 TL。 (3)將數(shù)據(jù)或命令送達數(shù)據(jù)線上。寫數(shù)據(jù)是指要顯示什么內(nèi)容。 寫數(shù)據(jù) 輸入: RS=H, R/W=L, ,D0~D7=數(shù)據(jù), E=高脈沖 輸出:無 寫操作時序 (見圖 37)[8] 分析時序圖可知操作 1602 液晶的流程如下: (1)通過 RS 確定是寫數(shù)據(jù)還是寫命令。 讀數(shù)據(jù) 輸入: RS=H, R/W=H,E=H 輸出 : 無。本次設計使用的 1602液晶顯示器為 5V 電壓驅動,帶背光 ,可顯示兩行,每行 16 個字符,不能顯示漢字,內(nèi)置 128 個字符的 ASCII 字符集字庫,只有并行接口,無串行接口 [7]。圖 36 為電源電路連接圖 [6]。該電源采用三端集成穩(wěn)壓器 LM7805。 圖 34 DS18B20讀 /寫時序圖 單片機與報警電路 系統(tǒng)中的報警電路是由 三極管, 蜂鳴器 , 發(fā)光二極管和限流電阻組成,并與單片機的 ~ 端口連接。 DS18B20 在使用時 , 一般都采用單片機來實現(xiàn)數(shù)據(jù)采集。s 內(nèi)有效,因此主機必須在讀時序開始后的 15181。當傳送 0 時, DS18B20 在該時序結束時釋放總線,再由上拉電阻將總線拉回空閑高電平狀態(tài)。在主機發(fā)起讀時序之后, DS18B20開始在總線上傳送 1 或 0。 每次讀時序由主機發(fā)起,拉低總線至少 1181。s,且在兩次獨立的讀時序之間至少需要 1181。所以主機在發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便 DS18B20 能夠傳送數(shù)據(jù)。如果總線為高電平,則邏輯 1 被寫入 DS18B20;如果總線為低電平,則邏輯 0 被寫入 DS18B20。s~60181。s)。s 內(nèi)釋放總線,然
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1