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

正文內(nèi)容

基于單片機(jī)的溫控報警器設(shè)計-wenkub

2022-11-28 20:58:34 本頁面
 

【正文】 理圖和程序設(shè)計。 所以我會選擇采用集成化溫度傳感器傳輸數(shù)據(jù)、由單片機(jī)收集處理的方案制作溫控報警裝置。數(shù)字溫度計根據(jù)使用的傳感器的不同, AD 轉(zhuǎn)換電路,及處理單元的不同,它的精度,穩(wěn)定性,測溫范圍等都有區(qū)別,這就要根據(jù)實際情況選擇符合規(guī)格的數(shù)字溫度計。綜合以上種種情況的出現(xiàn),溫度報警器就極其需要,只要環(huán)境溫度超過一定范圍時報警,來提醒使用者。若電氣線路發(fā)生短路、過載等故障而達(dá)到局部高溫從而引發(fā)火災(zāi),那損失是無法想象的。工作時,設(shè)定好溫度測量的范圍,若當(dāng)前環(huán)境溫度超過設(shè)定的高溫臨界溫度,由單片機(jī)發(fā)出聲光報警信號,防止因溫度再升高而帶來的不必要的損失。 意義 溫度控制技術(shù)在工業(yè)上有很多方面都起到一個至關(guān)重要的作用。 所以,溫度的測量是一個很重要的物理參數(shù),它能直接告訴人們所需要的溫度的大小。溫度的測量不僅僅局限于外出穿衣的指標(biāo)上了,在現(xiàn)實的社會中,溫度的測量和控制無處不在,例如家庭里面都能看見的冰箱的自動溫度調(diào)節(jié)。 1 廣州大學(xué)松田學(xué)院 畢業(yè)論文(設(shè)計) 題目 ___ 基于單片機(jī)的溫控報警器設(shè)計 ____ 2 基于單片機(jī)的溫控報警器設(shè)計 摘要: 溫度是我們?nèi)粘Ia(chǎn)和生活中實時接觸到的物理量,但是它是看不到的,僅憑感覺只能感覺到大概的溫度值,傳統(tǒng)的指針式的溫度計雖然能指示溫度,但是精度低,使用不夠方便,顯示不夠直觀,數(shù)字溫度計就應(yīng)運而生了,利用數(shù)字讓人們更加直觀的了解自己想知道的溫度到底是多少。但是很多時候,在惡劣的環(huán)境中的測量則會受到很大程度的限制,尤其在工業(yè)控制中,在這個時候,溫度測量的自動控制先得尤為重要。隨著世界的科技發(fā)展,對于溫度的測量要求也是越來越嚴(yán)格了,但是測量溫度的環(huán)境也越來越惡劣。隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展和人們對生活環(huán)境要求的提高,人們迫切需要檢測與控制溫度。 在農(nóng)業(yè)生產(chǎn)中,溫室的溫度是很難把握的。最重要的是,若果溫度得不到有效的調(diào)節(jié),會令機(jī)房內(nèi)的電子設(shè)備、機(jī)械老化,導(dǎo)致這樣那樣的故障出現(xiàn)。 數(shù)字溫度計 的出現(xiàn)為現(xiàn)今社會帶來一定程度上的方便。 研究的基本內(nèi)容 要設(shè)計出一款由單片機(jī)控制的溫度報警器,首先,我們要知 道溫度傳感器的選擇。我會首先用protel99 繪畫出原理圖和 PCB 圖,接著編寫單片機(jī)程序,然后在 proteus 上進(jìn) 8 行仿真工作,最后在實際電路板上進(jìn)行調(diào)試和改善。 5. 準(zhǔn)備好制作的各種材料。 利用數(shù)字溫度芯片 DS18B20 測量溫度, 輸出信號全數(shù)字化。然后將用 DS18B20 采集回來的數(shù)據(jù)經(jīng)處理后打印到LCD1602 上。 設(shè)定安全溫度在 10℃ ~+ 125℃ (可根據(jù)具體需 要在程序中進(jìn)行調(diào)整), 對在這一范圍內(nèi)的溫度變化采集后送入單片的端口。而溫度溫度高于 125176。 ℃,符合設(shè)計條件;它還有負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱燒毀,實驗結(jié)果。 3. VDD:可選擇的 VDD引腳。 ( 2) 延時(該時間要求的不是很嚴(yán)格,但是盡可能的短一點) ( 3) 數(shù)據(jù)線拉到低電平 “0” 。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會使程序進(jìn)入死循環(huán),所以要進(jìn)行超時控制)。 ( 2) 延時確定的時間為 15 微秒。 11 ( 6) 重復(fù)上( 1)到( 6)的操作直到所有的字節(jié)全部發(fā)送完為止。 ( 3)將數(shù)據(jù)線拉低 “0” 。 ( 7)讀數(shù)據(jù)線的狀態(tài)得到 1個狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 第 2 腳: VDD 接 5V正電源。當(dāng) RS 和 R/W 共同為低電平時可以寫入指令或者顯示地址,當(dāng) RS 為低電平 R/W為高電平時可以讀忙信號,當(dāng) RS 為高電平 R/W 為低電平時可以寫入數(shù)據(jù)。 第 16 腳:背光源負(fù)極。并且支持串口、模數(shù)轉(zhuǎn)換等功能,擁有 512 字節(jié)的 eeprom,1K 字節(jié)片內(nèi) RAM,在外加 RAM 和 ROM 的情況完全可以運行到 ucOS 操作系統(tǒng)。 圖 5 DS18B20 原理圖 14 這個是 DS18B20 傳感器的硬件設(shè)計。這里帶字符顯示 的 液晶顯示器里面已經(jīng)有一個解釋芯片,當(dāng)收到字符數(shù)據(jù)時,自動識別出字符, 不 需要在單片機(jī)作解釋,但缺點就是這種帶字符的顯示器不能按照設(shè)計者的意思隨心所欲地顯示需要的圖案。 LCD1602 原理圖如下: 圖 6 LCD1602 原理圖 15 設(shè)計按照 LCD1602 的接口信號來連接引腳。包含了程序燒寫下載端口, 3個按鍵,電源端口,預(yù)留串口通訊端、復(fù)位模塊和聲光報警模塊。 圖 8 程序燒寫 電源端口 這部分只需要外接一個 2PIN 的端子用于連接 5V 開關(guān)。 1腳 RXD連接到單片機(jī) mega16港口 PD0,引腳 2連接到端口 TXD 單片機(jī) mega16 PD1。當(dāng)實時溫度到了設(shè)定的溫度,那么蜂鳴器響 led 燈亮。其他三個按鈕用來設(shè)置設(shè)定溫度。 //拉高 PB3 電平 delay_10us(1)。 //再次拉高 PB3 電平 delay_10us(6)。 //等待 DS18B20 初始化完畢 DS18B20 的子函數(shù) 程序代碼如 下: uint read_18b20_temp(void) { uchar temp1,temp2。 //忽略 rom 配置 write_18b20_(0x44)。 //發(fā)出讀溫度命令 temp1=read_18b20_byte()。 //設(shè)置輸出形式為小數(shù)點后一位 return temp。這里有個需要注意的是命令 0xcc,這是一個忽略單片機(jī) rom配 置噶命令,原本 rom 配置命令是當(dāng)有多個傳感器的時候要用到選擇傳感器的ID,但設(shè)計中只有一個傳感器,所以就不需要理會 rom配置了。 傳感器 DS18B20 寫命令子函數(shù) 程序代碼如下: void write_18b20_(uchar ) { uchar i。 //設(shè)置 PB3 為輸出 21 DQ_CLR。 //拉高 PB3電平 } else //當(dāng)命令的最低位不為 1 { DQ_CLR。 //命令右移一位 } delay_10us(5)。之后就是進(jìn)入一個判斷語句,判斷命令的最后一位是否為 1,當(dāng)為 1拉高引腳電平,但不為 1拉低引腳電平。 for(i=0。 //設(shè)置 PB3 為輸出 DQ_CLR。NOP()。 //數(shù)據(jù)變量的最高位為 1 } delay_10us(5)。這里有一個循環(huán)語句,同樣是 8次,一次只能讀一位的數(shù)據(jù)。延時 50us 等待傳感器,當(dāng)循環(huán)語句結(jié)束,返回數(shù)據(jù)變量給相關(guān)的函數(shù)、語句使用。 delay_ms(5)。 //8 位數(shù)據(jù)傳輸, 2 行顯示, 5*7 字形,檢測忙信號 lcd_w_(0x08,1)。 //顯示屏打開,光標(biāo)不顯示,不閃爍,檢測忙信號 delay_ms(5)。 //第二行要顯示的初始內(nèi)容 24 delay_ms(5)。 //拉低 rw 電平 _NOP()。 //拉高 en 電平 _NOP()。檢測 LCD1602 是在一個繁忙的狀態(tài),當(dāng) LCD1602 閑置無效的 RS 級別(對應(yīng)引腳查找表 ),并拉低的 RW 級延時等待 LCD1602 反應(yīng)。 //拉低 rs電平 lcd_rw_0。 lcd_en_1。 //拉低 en電平 } 這個函數(shù)是一個單片機(jī)的寫命令到 LCD1602 功能并有兩個參數(shù),輸入命令COM,如果你想檢測忙音信號則用 attribc 寫命令。其次延遲等待命令完成,給一個下降沿 LCD1602 寫命令完成。 } } if((plus==0)amp。 //小數(shù)位加 1 if(xs9) //當(dāng)小數(shù)位加到 10 歸 0 { xs=0。 xs。(sw==2)) //當(dāng)加 1 鍵按下并且轉(zhuǎn)換位變量 sw等于 2 { delay_ms(100)。amp。 } } if((plus==0)amp。 if(shi9) { shi=0。 shi。(sw==4)) //當(dāng)加 1 鍵按下并且轉(zhuǎn)換位變量 sw等于 4,百位加法變化 { delay_ms(100)。amp。 } } t=(bai*1000)+(shi*100)+(ge*10)+(xs)。 //lcd1602 初始化 led_off。 //實時溫度顯示子函數(shù) delay_us(100)。 //打開蜂鳴器 led_on。在最后的死循環(huán)當(dāng)中,程序在做一個不斷的掃描,把讀回來的溫度數(shù)據(jù)賦予全局變量 30 temperature,然后顯示函數(shù)顯示讀回來的實時溫度, 判斷分析按鍵是否按下。首先,設(shè)計時,必須根據(jù) 原理圖 來連接每個設(shè)備。 按鍵 防抖調(diào)試 是 調(diào)試設(shè)定溫度,實時和準(zhǔn)確度 是否良好 。影像穩(wěn)定器的軟件和硬件,應(yīng)用軟件防抖在這個設(shè)計中,單片機(jī)檢測后約 100ms 的延遲進(jìn)行電平轉(zhuǎn)換的關(guān)鍵水平變動后不讀,要收取穩(wěn)定的觸發(fā)電平轉(zhuǎn)換,直到所需的功能。經(jīng)過學(xué)習(xí)后 LCD1602 的功能性質(zhì)的毫秒級 后,每完成的數(shù)據(jù)延遲是用來等待 LCD1602 一次寫入數(shù)據(jù)的動作完成, 解決顯示不匹配的位置和設(shè)計。所以,延遲不起作用。=~BIT(PD5) //1602 的 rs信號拉低電平 define lcd_rw_1 PORTD|=BIT(PD6) //1602 的 rw信號拉高電平 define lcd_rw_0 PORTDamp。=~(1PB3) //拉低 PB3 電平 define DQ_R (PINBamp。(1PD3)) //設(shè)置讀 PD3,數(shù)字位減信號 define led_on PORTBamp。 //全局變量,實時溫度變量 int t=50。 void port_init(void)。 void lcd_init(void)。 uint read_18b20_temp(void)。 void displayl(uint ddd)。 } while(us) { NOP()。i++) { for(j=0。 PORTD=0x0C。=~(1PB2)。 //PORTB|=BIT(3)。 if(posy==1) //判斷 y軸是否為 1 { temp|=0x40。 lcd_w_data(code)。 //x, y為顯示的位置, *s 是要顯示的子函數(shù) x++。 x = 0。 } } 39 } //============================================================== ///=================================================================== void lcd_busy(void) //lcd1602 忙信號子函數(shù) { uchar val。 _NOP()。 DDRC=0x00。 //自讀 PC 端口,等待 lcd1602 返回來的信號為 0,即不忙 } lcd_en_0。 //拉低 rs電平 lcd_rw_0。 lcd_en_1。 //拉低 en電平 } //lcd1602 寫數(shù)據(jù)子函數(shù) void lcd_w_data(uchar w_data) { lcd_busy()。 //空命令,用于延時 dataport=w_data。_NOP()。 //延時 5ms lcd_w_(0x38,0)。 lcd_w_(0x38,1)。 //顯示光標(biāo)右移設(shè)置,檢測忙信號 lcd_w_(0x0c,1)。 display_str(0,1,set T:)。 //端口初始化 lcd_init()。 //將從 18b20 讀回來的數(shù)據(jù)傳入全局變量 temperture 中 displayl(temperture)。 //設(shè)定溫度顯示 子函數(shù) if(temperture=t) //當(dāng)實時溫度比設(shè)定溫度高 { 43 bell_on。 //關(guān)閉蜂鳴器 } } } /********************************************************/ void displayl(uint ddd) //實時溫度顯示子函數(shù) { lcd_w_(0X80+11,1)。 lcd_w_(0X80+12,1)。 lcd_w_(0X80+13,1)。 44 l
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1