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

正文內(nèi)容

基于單片機的溫控報警器設(shè)計-在線瀏覽

2024-08-03 05:13本頁面
  

【正文】 面都起到一個至關(guān)重要的作用。這次溫度報警器的設(shè)計與制作,闡明了該裝置進(jìn)行設(shè)計與制作的具體過程以及方法。工作時,設(shè)定好溫度測量的范圍,若當(dāng)前環(huán)境溫度超過設(shè)定的高溫臨界溫度,由單片機發(fā)出聲光報警信號,防止因溫度再升高而帶來的不必要的損失。往往會超過或低于允許值,致使大批良種的報廢,耽誤農(nóng)時,影響生產(chǎn) 。若電氣線路發(fā)生短路、過載等故障而達(dá)到局部高溫從而引發(fā)火災(zāi),那 7 損失是無法想象的。一般的電子產(chǎn)品都是發(fā)熱快,若散熱設(shè)施做的不夠及時而令機房內(nèi)溫度短時間內(nèi)超出設(shè)備正常的溫度,就會導(dǎo)致系統(tǒng)癱瘓或者火災(zāi)的事故發(fā)生 。綜合以上種種情況的出現(xiàn),溫度報警器就極其需要,只要環(huán)境溫度超過一定范圍時報警,來提醒使用者。它 采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶,半導(dǎo)體,熱敏電阻等),將溫度的變化轉(zhuǎn)換成電信號的變化,如電壓和電流的變化,溫度變化和電信號的變化有一定的關(guān)系,如線性關(guān)系,一定的曲線關(guān)系等,這個電信號可以使用模數(shù)轉(zhuǎn)換的電路即 AD 轉(zhuǎn)換電路將模擬信號轉(zhuǎn)換為數(shù)字信 號,數(shù)字信號再送給處理單元,如單片機或者 PC 機等,處理單元經(jīng)過內(nèi)部的軟件計算將這個數(shù)字信號和溫度聯(lián)系起來,成為可以顯示出來的溫度數(shù)值,如 攝氏度,然后通過顯示單元,如 LED, ,LCD 或者電腦屏幕等顯示出來給人觀察。數(shù)字溫度計根據(jù)使用的傳感器的不同, AD 轉(zhuǎn)換電路,及處理單元的不同,它的精度,穩(wěn)定性,測溫范圍等都有區(qū)別,這就要根據(jù)實際情況選擇符合規(guī)格的數(shù)字溫度計??梢圆捎眉苫臏囟葌鞲衅髦苯觽鬏敂?shù)據(jù)由單片機處理,或者用熱敏電阻來達(dá)到預(yù)期的效果。 所以我會選擇采用集成化溫度傳感器傳輸數(shù)據(jù)、由單片機收集處理的方案制作溫控報警裝置。 8 擬解決的主要問題 擬解決的問題: 1. 確定采用哪種傳感器進(jìn)行設(shè)計。 4. 設(shè)計好原理圖和程序設(shè)計。 6. 通過仿真以及調(diào)試,找出未解決問題。這個報警器能夠穩(wěn)定運行,并且能夠在大多數(shù)情況下對高溫帶來的不良影響有一個預(yù)警的作用,防止一些對高溫敏感的器械有不良情況出現(xiàn)。便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。再經(jīng)由單片機進(jìn)行處理和分析。 且經(jīng)過按鍵設(shè)定報警溫度并同將設(shè)定溫度打印到 LCD1602 上 ,這 里用采集回來的數(shù)據(jù)跟設(shè)定的數(shù)據(jù)作對比。 圖 1 基本設(shè)計框圖 9 本設(shè)計是利用 DS18B20 溫度傳感器設(shè)計的一個液晶顯示溫度報警器。例如傳感器的溫度為 100176。 C。 C時,不在安全溫度范圍之內(nèi),蜂鳴器進(jìn)行報警,發(fā)光二極管發(fā)光顯示。 DS18B20 有 獨特的單線接口方式,和微處理器連接僅需一條口線即可實現(xiàn)雙向通訊;它不需要任何外圍元件,全部的傳感元件都集成在集成電路內(nèi);電壓范圍在 ~ 之間,溫度范圍在 - 55℃ ~+ 125℃ ,在 10~ +85℃ 時精度為 177。 其引腳功能描述見下: 1. GND 地信號 2. DQ:數(shù)據(jù)輸入 /輸出引腳。當(dāng)被用著在寄生電源下,也可電源 LED MEGA16 DS18B20 LCD1602 報警 收集 /輸入數(shù)據(jù) 輸出數(shù)據(jù) 10 以向器件提供電源。當(dāng)工作于寄生電源時,此引腳必須接地。 DS18B20 的初始化 ( 1) 先將數(shù)據(jù)線置高電平 “1” 。 ( 4) 延時 750 微秒(該時間的 時間范圍可以從 480 到 960 微秒)。 ( 6) 延時等待(如果初始化成功則在 15到 60 微妙時間之內(nèi)產(chǎn)生一個由 DS18B20所返回的低電平 “0” 。 ( 7) 若 單片機 讀到了數(shù)據(jù)線上的低電平 “0” 后,還要做延時,其延時的時間從發(fā)出的高電平算起(第( 5)步的時間算起)最少要 480微秒。 DS18B20 的寫操作 ( 1) 數(shù)據(jù)線先置低電平 “0” 。 ( 3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。 ( 5) 將數(shù)據(jù)線拉到高電平。 11 ( 7) 最后將數(shù)據(jù)線拉高。 ( 2)延時 2微秒。 ( 4)延時 3微秒。 ( 6)延時 5微秒。 ( 8)延時 60微秒。 圖 3 DS18B20 內(nèi)部結(jié)構(gòu) DS18B20 工作原理 圖 4 12 LCD1602 主要參數(shù)技術(shù) 表 Lcd1602 技術(shù)參數(shù) 表 顯示容量: 16X2 個字符 芯片工作電壓: ~ 工作電流: ( ) 模塊最佳工作電壓: 字符尺寸: ( WXH) mm 引腳接口說明表 第 1 腳 : VSS 為地電源。 第 3 腳: VL 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生 “鬼影”,使用時可以通過一個 10K 的電位器調(diào)整對比度。 第 5 腳: R/W 為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。 第 6 腳: E 端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第 15 腳:背光源正極。 LCD1602的指令說明及時序 基本操作時序 :輸入: RS=L,RW=H,E=H 輸出: D0~D7=狀態(tài)字 :輸入: RS=L,R/W=L,D0~D7=指令碼 ,E=高脈沖 輸出:無 13 :輸入: RS=H,R/W=H,E=H 輸出: =數(shù)據(jù) :輸入: RS=H,R/W=L,D0~D7=數(shù)據(jù) ,E=高脈 沖 輸出:無 單片機介紹 這次的設(shè)計,要用到的是單片機 ATmega16。有很多的內(nèi)部資源,連接外部的端口多達(dá)44 個,有 32 個是 I/O 端口,基本每個端口復(fù)用功能都非常好,最高速度達(dá)到 16MHz。 然而設(shè)計要用的功能并不多,端口的復(fù)用功能基本用不上,只需要安排足夠的普通I/O 端口給溫度傳感器和液晶顯示便可以了。 設(shè)計圖如下 。 1 腳接電源 VCC, 2 腳是數(shù)據(jù)總線的引腳用于接到單片機 ATmega16 的 PB3 引腳, 3 腳用于接地 GND。 LCD1602 顯示部分設(shè)計 這部分設(shè)計用到了帶字符的液晶顯示器 LCD1602,這種液晶顯示器是 16*2 顯示規(guī)格的帶字符顯示器。不過今次設(shè)計液晶顯示器的功能是用于顯示實時溫度和設(shè)定溫度,并不需要特殊圖案。 所以 我選擇用帶字符的液晶顯示器。 1腳是電源地 GND; 2腳接電源正極 VCC;3 腳接液晶顯示偏壓信號,利用兩個 1k 的電阻進(jìn)行分壓; 4腳到 6腳接單片機 ATmega16的 PD5 到 PD7,分別代表接到 LCD1602 的 RS、 RW、 EN 的引腳; 7 腳到 14 腳接按順序接到單片機 ATmega16 的 PB0 到 PB7引腳, 15 腳背光源正極接電源正極 VCC; 16 腳背光源負(fù)極接正源地 GND。 表 單片機與 LCD1602 引腳對應(yīng)表 單片機 ATmega16 LCD1602 單片機 ATmega16 LCD1602 PD5 引腳 4( RS) PB3 引腳 10( Data3) PD6 引腳 5( RW) PB4 引腳 11( Data4) 15 PD7 引腳 6( EN) PB5 引腳 12( Data5) PB0 引腳 7( Data0) PB6 引腳 13( Data6) PB1 引腳 8( Data1) PB7 引腳 14( Data7) PB2 引腳 9( Data2) ATmega16 原理圖設(shè)計 這部分是整個單片機 ATmega16 的設(shè)計 總圖 。 圖 7 設(shè)計部分原理圖 程序燒寫 這部分設(shè)計是用于將在電腦端的編寫好的程序燒寫到單片機 ATmega16,今次設(shè)計的下載用 ASP 下載方式。 1腳連接單片機的 MOSI 端; 2 腳空接; 3腳接單片機 RESET 端; 4腳接單片機 SCK 端; 5腳接單片機 MISO 端; 6腳到 9腳均接電源地 GND; 10腳接 VCC。用一個 100u 和一個 的電容接電源和電源正極 。 圖 10 串口設(shè)計圖 如圖顯示有兩個引腳,分別是數(shù)據(jù)發(fā)送和接收。這里的 mega16 單片機 PD0 口和 PD1口是一種特殊的串行通信口, 這倆 端口可實現(xiàn)計算機與單片機之間的串口通信。硬件上,利用一個有源蜂鳴器和一個 led 燈來進(jìn)行聲光報警。如下圖 11 是蜂鳴器部分, 1 腳接單片機的 PD4 端口, 2 腳接電源地, 這里用單片機高電平驅(qū)動蜂鳴器的方法。 圖 11 蜂鳴器 圖 12 LED 燈 按鍵設(shè)計 本設(shè)計采用 4 個按鈕,其中之一是用于重置。 2鍵是用來設(shè)置溫度增加, 3 鍵來設(shè)定溫度下降, 而 4 鍵是用于切換位數(shù) 。 //設(shè)置 PB3 為輸出 DQ_SET。 //延時 DQ_CLR。 //延時 DQ_SET。 //延時 DQ_IN。 //等待 DS18B20 返回來的高電平 while(!(DQ_R))。 int temp。 //復(fù)位 18b20 20 write_18b20_(0xcc)。 //發(fā)出轉(zhuǎn)換命令 init_18b20()。 write_18b20_(0xbe)。 //讀取到溫度的前兩個字節(jié) temp2=read_18b20_byte()。 //復(fù)位 18b20 temp=(((temp28)|temp1)*)。 這是一個有返回值的函數(shù)。這里首先要初始化傳感器,等待初始化完畢,我們發(fā)送轉(zhuǎn)換命令0x44。接著發(fā)出轉(zhuǎn)換命令之后,再次初始化傳感器,再發(fā)出讀溫度命令 0xbe。接著是初始化傳感器,說明一次的溫度轉(zhuǎn)換完成了。 for(i=0。i++) //分別寫 8 次,這里一次寫一位 { DQ_OUT。 //拉低 PB3 電平 NOP()。0x01) //當(dāng)命令的最低位為 1 { DQ_SET。 //拉低電平 } delay_10us(5)。 //拉高電平 =1。 //延時 這個是單片機向傳感器寫命 令的函數(shù)。進(jìn)入循環(huán)語句之后,我們將引腳設(shè)置為輸出并拉低引腳電平。接著就是延時 50us 等待傳感器反應(yīng),再接著是拉高電平指示這次的傳送完畢,后面跟著就是需要將命令右移一位。 DS18B20 讀一個字節(jié)數(shù)據(jù)子函數(shù) 程序代碼如下: uchar read_18b20_byte(void) { uchar i,retd=0。i8。 //數(shù)據(jù)右移一位 DQ_OUT。 //拉低電平 DQ_SET。NOP()。NOP()。 //設(shè)置 PB3 為輸入 if(DQ_R) //判斷輸入數(shù)據(jù)是否為 1 { retd|=0x80。 } return retd。首先,定義一個 8 位局部變量用于數(shù)值的返回。進(jìn)入循環(huán)語句之后,首先要將變量右移一位,這里值得注意的是這個變量不需要給一個它初始值,因為無論初始值是什么并不影響數(shù)據(jù)的讀出。再之后是設(shè)置引腳為輸入,讀一位數(shù) 據(jù),當(dāng)這位數(shù)據(jù)是 1,我們便將變量的最高位設(shè)置為 1。 顯示函數(shù) LCD1602 初始化子函數(shù) 程序代碼如下: void lcd_init(void) { lcd_w_(0x38,0)。 //延時 5ms lcd_w_(0x38,0)。 lcd_w_(0x38,0)。 lcd_w_(0x38,1)。 //關(guān)閉顯示,檢測忙信號 lcd_w_(0x01,1)。 //顯示光標(biāo)右移設(shè)置,檢測忙信號 lcd_w_(0x0c,1)。 display_str(0,0,realtime T:)。 display_str(0,1,set T:)。 } LCD1602 寫數(shù)據(jù)子函數(shù) 程序代碼如下: void lcd_w_data(uchar w_data) { lcd_busy()。 //拉高 rs 電平 24 lcd_rw_0。 //空命令,用于延時 dataport=w_data。 lcd_en_1。_NOP()。 //拉低 en 電平 } 此功能的作用,微控制器,顯示數(shù)據(jù)輸入到 LCD1602。 lcd1602 的成在寫入數(shù)據(jù)的狀態(tài),將準(zhǔn)備寫入的數(shù)據(jù)分 配給 PC 口,延遲等待寫數(shù)據(jù),然后連接到一個下降沿完整的 lcd1602 的數(shù)據(jù)被寫入。 } lcd_rs_0。 //拉低 rw 電平 _NOP()。 //將要輸入到 1602 的命令放到 PC 端口 _NOP()。 //拉高 en 電平 _NOP()。 25 lcd_en_0。當(dāng)你進(jìn)入該函數(shù)將檢測 忙音信號 是否 為 1,是必要的檢測忙信號等待 LCD1602 閑置 1, 0 不要求檢測忙音信號。此時進(jìn)入 LCD1602 寫命令狀態(tài),然后將需要輸入一個 8 位命令數(shù) 據(jù)輸入通過 PC 端的單片機 LCD1602。 程序代碼如下: void sa(void) { if(con==0) //當(dāng)轉(zhuǎn)換位鍵按下
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1