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

正文內(nèi)容

基于單片機(jī)at89c52的大棚溫度控制系統(tǒng)_畢業(yè)設(shè)計(jì)-免費(fèi)閱讀

2025-08-09 21:48 上一頁面

下一頁面
  

【正文】 unsigned char time[]= 。 t=a+b。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 DQ = 1。 } return(dat)。 unsigned char dat = 0。 //DQ 復(fù)位 delay(8)。 28 num++。 } else str[0]=0。 //十位溫度 str[1]=(TempH%100)/10。 mDelay(10)。amp。 mDelay(10)。 TL0=0xf0。 for(。 long str[6]。不辜負(fù)父母對我的期望。首先我要感謝我的導(dǎo)師 邵金俠 老師,他 在我完成論文的過程中,給予了我很大的幫助。該智能溫度控制器只是 DS18B20 在溫度控制領(lǐng)域的一個(gè)簡單實(shí)例,還是許多需要完善的地方,例如可以將測得的溫度通過單 片機(jī)與通訊模塊相連接,以手機(jī)短消息的方式發(fā)送給用戶,使用戶能夠隨時(shí)對溫度進(jìn)行監(jiān)控。雖此項(xiàng)工作枯燥無味,但可緞練其意志,耐性,堅(jiān)韌。 } 22 第 5 章 總結(jié)與展望 這次設(shè)計(jì)硬件已完成,且能基本實(shí)現(xiàn)要求。 Fan=0。(TempH=30)) { Fan=0。 Tru=1。i++) ShowChar (l++,*(ptr+i))。 if (pos=0x10) p=pos+0xb0。0x0F。 if(flag_get==1) //定時(shí)讀取當(dāng)前溫度 { temp=ReadTemperature()。溫度高字節(jié)高 5 位是用來保存溫度的正負(fù),高字節(jié)低 3 位和低字節(jié)來保存溫度值。 return(t)。 // 啟動(dòng)溫度轉(zhuǎn)換 delay(200)。圖 42 圖 42 18B20 讀取溫度流程圖 讀取溫度子程序的主要功能是讀出 RAM 中的 9 個(gè)字節(jié),在讀出時(shí)需進(jìn)行CRC 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。二是顯示部分,用來顯示所檢測到的溫度。由此可知,蜂鳴器的控制和 LED 的控制對單片機(jī)而言是沒有區(qū)別的。集電極按電源正極,發(fā)射極接馬達(dá)正極。因此連接一 10K 的電阻用以調(diào)整。當(dāng)被用著在寄生電源下,也可以向器件提供電源, GND 為地信號; VCC 為電源信號。 AT89C52 的復(fù)位電路 AT89C52 單片機(jī)通常采用上電自動(dòng)復(fù)位和開關(guān)手動(dòng)復(fù)位兩種方式。 時(shí)鐘電路 AT89C52 芯片內(nèi)部有一個(gè)高增益反向放大器,用于構(gòu)成震蕩器。 AT89C52連接各模塊的主控制端口,初步選定將要運(yùn)用到的電子元器件,再用 Protues繪制原理圖,再根據(jù)原理圖捍接電路板。蜂鳴器主要分為壓電式蜂鳴器和電磁化蜂鳴器兩種類型。 集電環(huán) :線圈約兩端接至兩片半圓形的集電環(huán),隨線圈轉(zhuǎn)動(dòng),可供改變電流方向的變向器。 9 指令 11:讀數(shù)據(jù)。 指令 4:顯示開關(guān)控制。 第 15 腳:背光源正極。 LCD1602 液晶顯示器 LCD1602 簡介 字符型 LCD1602通常有 14條引腳線或 16條引腳線的 LCD,多出來的 2條線是背光電源線 VCC(15腳 )和地線 GND(16腳 ),其控制原理與 14腳的 LCD完全一樣, 7 引腳定義如表 : 表 引腳接口說明表 編號 符號 引腳說明 編 號 符號 引腳說明 1 VSS 電源地 9 D2 數(shù)據(jù) 2 VDD 電源正極 10 D3 數(shù)據(jù) 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) 4 RS 數(shù)據(jù) /命令選擇 12 D5 數(shù)據(jù) 5 R/W 讀 /寫選擇 13 D6 數(shù)據(jù) 6 E 使能信號 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 第 1 腳: VSS 為地電源。開漏單總線接口引腳。在 9位分辨率時(shí)最多在 , 12位分辨 6 率時(shí)最多在 750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。 DS18B20 的性能特點(diǎn) 獨(dú)特的單線接口方式, DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20的雙向通訊。當(dāng)幾個(gè)中斷源同時(shí)向 CPU 請求中斷,要求 CPU 提供服務(wù)的時(shí)候,就存在CPU 優(yōu)先響應(yīng)哪一個(gè)中斷請求,于 是一些微處理器和單片機(jī)規(guī)定了每個(gè)中斷源的優(yōu)先級別。 定時(shí)器 T0 具有方式 0、方式 方式 2 和方式 3 四種工作方式。 如表 所示: 表 AT89C52 的復(fù)位、中斷入口地址 入口地址 說明 0000H 復(fù)位后, PC=0000H 0003H 外部中斷入口 000BH 定時(shí)器 T0 溢出中斷入口 0013H 外部中斷入口 001BH 定時(shí)器 T1 溢出中斷口 0023H 串行口中斷入口 數(shù)據(jù)存儲器用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖以及標(biāo)志位等。每一條 I/O 線都能獨(dú)立地用作輸入或輸出。本章將逐一進(jìn)行介紹。報(bào)警裝置:產(chǎn)生報(bào)警信號。組成圖如圖 11。該測控儀具有檢測精度高、使用簡單、成本較低和工作穩(wěn)定可靠等特點(diǎn),所以具有一定的應(yīng)用前景。當(dāng)溫度大于 35℃,喇叭產(chǎn)生報(bào)警信號。當(dāng)采集到的溫度高于 20℃,馬達(dá)將帶動(dòng)風(fēng)扇的轉(zhuǎn)動(dòng),實(shí)現(xiàn)自動(dòng)控制大棚里 的溫度 .并且隨著溫度每升高 5℃,馬達(dá)的轉(zhuǎn)動(dòng)速率提高一倍。如果僅靠人工控制既耗人力,又容易發(fā)生差錯(cuò)。溫度過高,蔬菜就會(huì)停止生長或者糜爛。20 世紀(jì) 80 年代初誕生了第一批溫室控制計(jì)算機(jī),此后溫度計(jì)算機(jī)控制及管理技術(shù)便函先在發(fā)達(dá)國家得到廣泛應(yīng)用,后來各發(fā)展中國家也都紛紛引進(jìn),開發(fā)出適合自己的系統(tǒng)。 用 protues 軟件繪制電路原理圖,再根據(jù)電路原理圖捍接電路板。溫度檢測裝置: 18B20數(shù)字溫度計(jì)對大棚內(nèi)溫度進(jìn)行采集,將溫度轉(zhuǎn)換成數(shù)字。 根據(jù)系統(tǒng)具體要求,可以對每一個(gè)具體部分進(jìn)行分析設(shè)計(jì)。為了提高數(shù)據(jù)處理和位操作能力,片內(nèi)設(shè)有一些專用的寄 存器,而且還增強(qiáng)了為處理邏輯電路的功能。這似的能在 6K 地址空間內(nèi)任意尋址,但沒有指令使程序能控制從程序存儲器空間轉(zhuǎn)移到數(shù)據(jù)存儲空間。兩個(gè)特殊功能寄存器用于確定定時(shí)器 /計(jì)數(shù)器的功能和操作方式。 AT89C52 單片機(jī)有五個(gè)中斷請求源。溫度測量范圍為 55~ +125 攝氏度,可編程為 9位~ 12 位轉(zhuǎn)換精度,測溫分辨率可達(dá) ,分辨率設(shè)定參數(shù)以及用戶設(shè)定的報(bào)警溫度存儲在EEPROM 中,掉電后依然保存。 。以上特點(diǎn)使 DS18B20非常適用與多點(diǎn)、遠(yuǎn)距離溫度檢測系統(tǒng)。 另外,由于 DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫 時(shí)序很重要。當(dāng)RS 和 R/W 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS 為低電平R/W 為高電平時(shí)可以讀忙信號,當(dāng) RS 為高電平 R/W 為低電平時(shí)可以寫入數(shù)據(jù)。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。 指令 8: DDRAM 地址設(shè)置。 與永久磁鐵或由另一組線圈所產(chǎn)生的磁場互相作用產(chǎn)生動(dòng)力 直流馬達(dá)的原理是定子不動(dòng),轉(zhuǎn)子依相互作用所產(chǎn)生作用 力的方向運(yùn)動(dòng) [7]。 定子與轉(zhuǎn)子之間會(huì)有一定空氣間隙,以確保轉(zhuǎn)子能自由轉(zhuǎn)動(dòng)。程序中改變單片機(jī)引腳輸出波形的 頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。用 Protues 軟件繪制電路原理圖方便,快捷。 圖 32 時(shí)鐘電路 時(shí)鐘電路中,兩個(gè)電容都選擇 22pF 的電容,電容各一端接與晶振相連,各一端接地。 RC 復(fù)位電路可以實(shí)現(xiàn)上述基本功能, 但解決不了電源毛刺和電源緩慢下降等問題,而其 調(diào)整 RC 常數(shù)改變延時(shí)會(huì)令驅(qū)動(dòng)能力變差。 圖 35 LCD1602 的硬件連接 VEE 用連接一阻值為 10K 的電阻,主要用于調(diào)節(jié)對比度的調(diào)整。圖 36 為硬件連接圖。用于 口輸出的微弱信號經(jīng)過放大,輸出到馬達(dá)中,這樣就可以很好的控制馬達(dá)了。 程序設(shè)計(jì)語言有三種:機(jī)器語言、匯編語言、高級語言。圖 41 為軟件設(shè)計(jì)流程圖。 Init_DS18B20()。 //低位 b=ReadOneChar()。還因?yàn)?DS18B20 最低溫度只能為 55℃,所以可以將整數(shù)部分的最高位換成一個(gè)“ ”,表示為負(fù)數(shù)。 //十位溫度 str[1]=(TempH%100)/10。 } else str[0]=0。 //Pin5 sbit E = P2^6。 l=line4。從而實(shí)現(xiàn)溫度越高,馬達(dá)的速率越快,從而實(shí)現(xiàn)溫度的平衡 [15]。 mDelay(10)。 mDelay(70)。 mDelay(10)。畫電路圖,自己學(xué)習(xí)捍接板,開始第一個(gè)板,沒有捍成功,研究數(shù)日,后來才發(fā)現(xiàn)是一些線路捍接不良導(dǎo)致電路連接出現(xiàn)錯(cuò)誤。它不僅加深了我對單片機(jī)技術(shù)課程的理解,還讓我感受到了電子設(shè)計(jì)的樂趣。而由于競爭越來越激烈,現(xiàn)在企業(yè)發(fā)展的趨勢是如何最有效的提高生產(chǎn)效率,降低生產(chǎn)成本。 最后要感謝的是我的父母,他們讓培養(yǎng)了我在遇到困難前,不倒下。//喇叭的端口 sfr dataled=0x80。 void WriteOneChar(unsigned char dat)。} } } /******************************************************************/ /* 主函數(shù) */ /******************************************************************/ main() { unsigned char TempH,TempL。 InitLcd()。(TempH=25)) { Fan=0。(TempH=35)) { Fan=0。i++) Tem[i]=str[i]。0x8000) { str[0]=0x40。//小數(shù)近似處理 flag_get=0。 } } } /******************************************************************/ /* 延時(shí)函數(shù) */ /******************************************************************/ void delay(unsigned int i)//延時(shí)函數(shù) { while(i)。 x=DQ。 DQ = 1。 DQ = datamp。 unsigned int t=0。 //讀取溫度寄存器等 ( 共可讀 9 個(gè)寄存器 ) 前兩個(gè)就是溫度 30 a=ReadOneChar()。//Pin6 define Data P0 //數(shù)據(jù)端口 unsigned char Tem[5]。/* Crystal frequency in 12MHz*/ while(ust)。//Pin4 sbit RW = P2^5。 WriteOneChar(0xCC)。 } /******************************************************************/ /* 讀取溫度 */ /******************************************************************/ unsigned int ReadTemperature(void) { unsigned char a=0。 i0。i) { DQ = 0。 //精確延時(shí) 大于 480us DQ = 1。//標(biāo)志位有效 second++。0x0F。 if(flag_get==1) //定時(shí)讀取當(dāng)前溫度 { temp=ReadTemperature()。 } for(i=1。 } if((TempH30)amp。 if((TempH20)amp。 P2=0x00。i125。 vo
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1