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

正文內(nèi)容

基于單片機的溫控報警器設(shè)計(存儲版)

2024-12-27 20:58上一頁面

下一頁面
  

【正文】 從 18b20 讀回來的數(shù)據(jù)傳入全局變量 temperture 中 displayl(temperture)。 display_str(0,1,set T:)。 lcd_w_(0x38,1)。_NOP()。 //拉低 en電平 } //lcd1602 寫數(shù)據(jù)子函數(shù) void lcd_w_data(uchar w_data) { lcd_busy()。 //拉低 rs電平 lcd_rw_0。 DDRC=0x00。 } } 39 } //============================================================== ///=================================================================== void lcd_busy(void) //lcd1602 忙信號子函數(shù) { uchar val。 //x, y為顯示的位置, *s 是要顯示的子函數(shù) x++。 if(posy==1) //判斷 y軸是否為 1 { temp|=0x40。=~(1PB2)。i++) { for(j=0。 void displayl(uint ddd)。 void lcd_init(void)。 //全局變量,實時溫度變量 int t=50。=~(1PB3) //拉低 PB3 電平 define DQ_R (PINBamp。所以,延遲不起作用。影像穩(wěn)定器的軟件和硬件,應(yīng)用軟件防抖在這個設(shè)計中,單片機檢測后約 100ms 的延遲進(jìn)行電平轉(zhuǎn)換的關(guān)鍵水平變動后不讀,要收取穩(wěn)定的觸發(fā)電平轉(zhuǎn)換,直到所需的功能。首先,設(shè)計時,必須根據(jù) 原理圖 來連接每個設(shè)備。 //打開蜂鳴器 led_on。 //lcd1602 初始化 led_off。amp。 shi。 } } if((plus==0)amp。(sw==2)) //當(dāng)加 1 鍵按下并且轉(zhuǎn)換位變量 sw等于 2 { delay_ms(100)。 //小數(shù)位加 1 if(xs9) //當(dāng)小數(shù)位加到 10 歸 0 { xs=0。其次延遲等待命令完成,給一個下降沿 LCD1602 寫命令完成。 lcd_en_1。檢測 LCD1602 是在一個繁忙的狀態(tài),當(dāng) LCD1602 閑置無效的 RS 級別(對應(yīng)引腳查找表 ),并拉低的 RW 級延時等待 LCD1602 反應(yīng)。 //拉低 rw 電平 _NOP()。 //顯示屏打開,光標(biāo)不顯示,不閃爍,檢測忙信號 delay_ms(5)。 delay_ms(5)。這里有一個循環(huán)語句,同樣是 8次,一次只能讀一位的數(shù)據(jù)。NOP()。 for(i=0。 //命令右移一位 } delay_10us(5)。 //設(shè)置 PB3 為輸出 21 DQ_CLR。這里有個需要注意的是命令 0xcc,這是一個忽略單片機 rom配 置噶命令,原本 rom 配置命令是當(dāng)有多個傳感器的時候要用到選擇傳感器的ID,但設(shè)計中只有一個傳感器,所以就不需要理會 rom配置了。 //發(fā)出讀溫度命令 temp1=read_18b20_byte()。 //等待 DS18B20 初始化完畢 DS18B20 的子函數(shù) 程序代碼如 下: uint read_18b20_temp(void) { uchar temp1,temp2。 //拉高 PB3 電平 delay_10us(1)。當(dāng)實時溫度到了設(shè)定的溫度,那么蜂鳴器響 led 燈亮。 圖 8 程序燒寫 電源端口 這部分只需要外接一個 2PIN 的端子用于連接 5V 開關(guān)。 LCD1602 原理圖如下: 圖 6 LCD1602 原理圖 15 設(shè)計按照 LCD1602 的接口信號來連接引腳。 圖 5 DS18B20 原理圖 14 這個是 DS18B20 傳感器的硬件設(shè)計。 第 16 腳:背光源負(fù)極。 第 2 腳: VDD 接 5V正電源。 ( 3)將數(shù)據(jù)線拉低 “0” 。 ( 2) 延時確定的時間為 15 微秒。 ( 2) 延時(該時間要求的不是很嚴(yán)格,但是盡可能的短一點) ( 3) 數(shù)據(jù)線拉到低電平 “0” 。 ℃,符合設(shè)計條件;它還有負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱燒毀,實驗結(jié)果。 設(shè)定安全溫度在 10℃ ~+ 125℃ (可根據(jù)具體需 要在程序中進(jìn)行調(diào)整), 對在這一范圍內(nèi)的溫度變化采集后送入單片的端口。 利用數(shù)字溫度芯片 DS18B20 測量溫度, 輸出信號全數(shù)字化。我會首先用protel99 繪畫出原理圖和 PCB 圖,接著編寫單片機程序,然后在 proteus 上進(jìn) 8 行仿真工作,最后在實際電路板上進(jìn)行調(diào)試和改善。 數(shù)字溫度計 的出現(xiàn)為現(xiàn)今社會帶來一定程度上的方便。 在農(nóng)業(yè)生產(chǎn)中,溫室的溫度是很難把握的。隨著世界的科技發(fā)展,對于溫度的測量要求也是越來越嚴(yán)格了,但是測量溫度的環(huán)境也越來越惡劣。 1 廣州大學(xué)松田學(xué)院 畢業(yè)論文(設(shè)計) 題目 ___ 基于單片機的溫控報警器設(shè)計 ____ 2 基于單片機的溫控報警器設(shè)計 摘要: 溫度是我們?nèi)粘Ia(chǎn)和生活中實時接觸到的物理量,但是它是看不到的,僅憑感覺只能感覺到大概的溫度值,傳統(tǒng)的指針式的溫度計雖然能指示溫度,但是精度低,使用不夠方便,顯示不夠直觀,數(shù)字溫度計就應(yīng)運而生了,利用數(shù)字讓人們更加直觀的了解自己想知道的溫度到底是多少。 所以,溫度的測量是一個很重要的物理參數(shù),它能直接告訴人們所需要的溫度的大小。工作時,設(shè)定好溫度測量的范圍,若當(dāng)前環(huán)境溫度超過設(shè)定的高溫臨界溫度,由單片機發(fā)出聲光報警信號,防止因溫度再升高而帶來的不必要的損失。綜合以上種種情況的出現(xiàn),溫度報警器就極其需要,只要環(huán)境溫度超過一定范圍時報警,來提醒使用者。 所以我會選擇采用集成化溫度傳感器傳輸數(shù)據(jù)、由單片機收集處理的方案制作溫控報警裝置。這個報警器能夠穩(wěn)定運行,并且能夠在大多數(shù)情況下對高溫帶來的不良影響有一個預(yù)警的作用,防止一些對高溫敏感的器械有不良情況出現(xiàn)。 圖 1 基本設(shè)計框圖 9 本設(shè)計是利用 DS18B20 溫度傳感器設(shè)計的一個液晶顯示溫度報警器。 DS18B20 有獨特的單線接口方式,和微處理器連接僅需一條口線即可實現(xiàn)雙向通訊;它不需要任何外圍元件,全部的傳感元件都集成在集成電路內(nèi);電壓范圍在 ~ 之間,溫度范圍在 - 55℃ ~+ 125℃ ,在 10~ +85℃ 時精度為 177。 DS18B20 的初始化 ( 1) 先將數(shù)據(jù)線置高電平 “1” 。 DS18B20 的寫操作 ( 1) 數(shù)據(jù)線先置低電 平 “0” 。 ( 2)延時 2微秒。 圖 3 DS18B20 內(nèi)部結(jié)構(gòu) DS18B20 工作原理 圖 4 12 LCD1602 主要參數(shù)技術(shù) 表 Lcd1602 技術(shù)參數(shù) 表 顯示容量: 16X2 個字符 芯片工作電壓: ~ 工作電流: ( ) 模塊最佳工作電壓: 字符尺寸: ( WXH) mm 引腳接口說明表 第 1 腳: VSS 為地電源。 第 15 腳:背光源正極。 設(shè)計圖如下 。 所以 我選擇用帶字符的液晶顯示器。 1腳連接單片機的 MOSI 端; 2 腳空接; 3腳接單片機 RESET 端; 4腳接單片機 SCK 端; 5腳接單片機 MISO 端; 6腳到 9 腳均接電源地 GND; 10 腳接 VCC。硬件上,利用一個有源蜂鳴器和一個 led 燈來進(jìn)行聲光報警。 //設(shè)置 PB3 為輸出 DQ_SET。 //等待 DS18B20 返回來的高電平 while(!(DQ_R))。 write_18b20_(0xbe)。這里首先要初始化傳感器,等待初始化完畢,我們發(fā)送轉(zhuǎn)換命令 0x44。i++) //分別寫 8次,這里一次寫一位 { DQ_OUT。 //拉高電平 =1。 DS18B20 讀一個字節(jié)數(shù)據(jù)子函數(shù) 程序代碼如下: uchar read_18b20_byte(void) { 22 uchar i,retd=0。NOP()。首先,定義一個 8位局部變量用于數(shù)值的返回。 //延時 5ms lcd_w_(0x38,0)。 //顯示光標(biāo)右移設(shè)置,檢測忙信號 lcd_w_(0x0c,1)。 //拉高 rs 電平 lcd_rw_0。 //拉低 en 電平 } 此功能的作用,微控制器,顯示數(shù)據(jù)輸入到 LCD1602。 //將要輸入到 1602的命令放到 PC端口 _NOP()。此時進(jìn)入LCD1602 寫命令狀態(tài),然后將需要輸入一個 8 位命令 數(shù)據(jù)輸入通過 PC 端的單片機 LCD1602。 xs++。amp。 //個位減 1 if(ge0) //當(dāng)個位減到 1歸 9 { ge=9。(sw==3)) //當(dāng)減 1 鍵按下并且轉(zhuǎn)換位變量 sw等于 3,十位減法變化 { delay_ms(100)。 } } if((reduce==0)amp。 //端口初始化 lcd_init()。 //設(shè)定溫度顯示子函數(shù) if(temperture=t) //當(dāng)實時溫度比設(shè)定溫度高 { bell_on。該系統(tǒng)的硬件調(diào)試主要是液晶顯示器 LCD1602,DS18B20 溫度傳感器之間的關(guān)系,分別與單片機 ATmega16 的調(diào)試。這是因為 按下按鍵 時,水平不穩(wěn)定之間的轉(zhuǎn)換,那么將有很多次的電平轉(zhuǎn)換。由于這個原因,在一開始的時候一直無法啟動 DS18B20,已被寫入在參考和控制程序,發(fā)現(xiàn)差異并不大,在水平設(shè)置。=~(1PB3) //設(shè)置 PB3 為輸入 define DQ_SET PORTB|=(1PB3) //置高 PB3 電平 define DQ_CLR PORTBamp。 //用于顯示的數(shù)組 int temperture=0。 void lcd_w_data(uchar w_data)。 36 void init_18b20(void)。ims。 DDRBamp。=0x01。) //判斷顯示內(nèi)容不為空 { display_char(x,y,*s++)。 (x = 16)) { return。 _NOP()。 } lcd_rs_0。 lcd_en_0。 //拉高 en 電平 _NOP()。 delay_ms(5)。 //第一行要顯示的初始內(nèi)容 delay_ms(5)。 //關(guān)蜂鳴器 while(1) { temperture=read_18b20_temp()。 //關(guān)閉 led燈 bell_off。 //實時溫度的十位 delay_ms(5)。 //實時溫度的小數(shù)后一位 delay_ms(5)。 //拉高 PB3 電平 delay_10us(1)。 NOP()。 //實時溫度的個位 delay_ms(5)。 //實時溫度的百位 delay_ms(5)。 //溫度設(shè)定子函數(shù) display_2(t)。 //100ms 延時 port_init()。 //清屏,檢測忙信號 lcd_w_(0x06,1)。 //8 位數(shù)據(jù)傳輸, 2 行顯示, 5*7 字形,不檢測忙信號 delay_ms(5)。 //拉低 rw 電平 _NOP()。 //將要輸入到 1602 的命令放到 PC端口 _NOP()。busy) //判斷 lcd1602 為工作中,工作完成繼續(xù)下一條代碼 { val=PINC。 lcd_rw_1。 (x = 16)) //當(dāng) x軸不夠位置顯示,字符自動換行 { y = 1。 } //字符 lcd1602 顯示子函數(shù) void display_char(uchar x,uchar y,uchar code) { locate(x,y)。 //DDRB|=BIT(3)。 } } 37 /***********************************************************
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1