溫度上下限控制的設(shè)計(jì)_第1頁(yè)
溫度上下限控制的設(shè)計(jì)_第2頁(yè)
溫度上下限控制的設(shè)計(jì)_第3頁(yè)
溫度上下限控制的設(shè)計(jì)_第4頁(yè)
溫度上下限控制的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、溫度控制上下限液晶顯示的設(shè)計(jì)王寧1001應(yīng)用電子1、實(shí)驗(yàn)項(xiàng)目溫度控制上下限液晶顯示2、實(shí)驗(yàn)要求2.1、 第一行顯示溫度值、學(xué)號(hào);2.2、當(dāng)溫度低于下限時(shí),第二行顯示2.3、當(dāng)溫度高于上限時(shí),第二行顯示” under tempL ”、并且綠燈閃爍報(bào)警; "over tempL”、并且紅燈閃爍報(bào)警;2.4、當(dāng)溫度在上下限之間時(shí),第二行顯示"H.'temph ' L/tempi ' ”3、實(shí)驗(yàn)原理圖圖1顯示溫度在上下限之間時(shí)顯示模式陰81圖2顯示溫度高于上限時(shí)溫度報(bào)警顯示,紅燈閃爍圖2圖3顯示溫度低于下限時(shí)溫度報(bào)警顯示,綠燈閃爍圖34、程序設(shè)計(jì)#in cl

2、ude<reg52.h>#in clude<stdio.h>#i nclude "18b20.h"#in elude "1602.h"#in elude "delay.h"sbit RLED=P2A1;sbit GLED=P2A2;sbit BUZZER=P2A3;sbit key4=P3A3;sbit key5=P3A2;sbit key6=P3A1;sbit key7=P3A0;un sig ned int Temp,temph=34,templ=20;/頭文件/應(yīng)用子函數(shù)/紅燈閃爍子函數(shù) Red LED/

3、綠燈閃爍子函Green LED/蜂鳴器/溫度上下限控制按鍵/定義讀時(shí)間標(biāo)志/定時(shí)器初始化bit ReadTempFlag; void Ini t_TimerO(void);/Red LED閃爍函數(shù) void RledBli nk(void) RLED=0;DelayMs(200); RLED=1;DelayMs(200); /Green LED閃爍函數(shù) void GledBli nk(void)GLED=0;DelayMs(200);GLED=1;DelayMs(200); void keyscan()/ 鍵盤掃描程序 if(key4=0) DelayMs(5); if(key4=0) whi

4、le(!key4); temph=temph+1;if(temph>templ)if(key5=0)DelayMs(5);if(key5=0)while(!key5); temph=temph-1;if(key6=0)DelayMs(5);if(key6=0)while(!key6); templ=templ+1;if(key7=0)DelayMs(5); if(key7=0) while(!key7); templ=templ-1; /*主函數(shù)*/ void main (void)int temp;float temperature;/ 定義顯示區(qū)域臨時(shí)存儲(chǔ)數(shù)組/ 初始化液晶/ 延時(shí)有

5、助于穩(wěn)定/ 清屏/ 寫入溫度右上角點(diǎn)char displaytemp16;LCD_Init();DelayMs(20);LCD_Clear();Init_Timer0();LCD_Write_Char(12,0,0xDF);LCD_Write_Char(13,0,'C'); / 寫入字符 CLCD_Write_Char(14,0,'2');LCD_Write_Char(15,0,'8');while (1) / 主循環(huán)temp=ReadTemperature();temperature=(float)temp*0.0625;keyscan();i

6、f(ReadTempFlag=1)ReadTempFlag=0; temp=ReadTemperature();temperature=(float)temp*0.0625;sprintf(displaytemp,"Temp % 6.2f",temperature);/ 打印溫度值 LCD_Write_String(0,0,displaytemp); / 顯示第二行if(temperature>=templ)&&(temperature<=temph)/ 如果溫度為負(fù)或小于 25 度,溫度過(guò)低EA=0;sprintf(displaytemp,&q

7、uot;H.%3d L.%3d",temph,templ);LCD_Write_String(0,1,displaytemp);if(temperature<templ)GledBlink();EA=1;/如果溫度為正且在 25 C 30C之間,溫度正常/ 綠色發(fā)光二極管閃爍/ 啟動(dòng) T0 定時(shí)器,輸出方波,蜂鳴器鳴叫報(bào)警LCD_Write_String(0,1,"under tempL ");if(temperature>temph)II如果溫度為正且在 25 C 30C之間,溫度正常RledBli nk();II紅色發(fā)光二極管閃爍EA=1;II 啟

8、動(dòng) T0 定時(shí)器,輸出方波,蜂鳴器鳴叫報(bào)警LCD_Write_String(0,1,"over tempH ");I*定時(shí)器初始化子程序*Ivoid Init_Timer0(void)TMOD |= 0x01;II使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響TH0=(65536-2000)I256;II 給定初值TL0=(65536-2000)%256;EA=1;II總中斷打開ET0=1;II定時(shí)器中斷打開TR0=1;II定時(shí)器開關(guān)打開I*定時(shí)器中斷子程序*Ivoid Timer0_isr(void) interrupt 1static unsigned int num;TH0=(65536-2000)/256; / 重新賦值 2ms TL0=(65536-2000)%256;num+;if(num=300)num=0;ReadTempFlag=1; / 讀標(biāo)志位置 15、實(shí)驗(yàn)過(guò)程利用 keil 軟件編寫程序,并生成 .hex 文件,根據(jù)程序連接開發(fā)板,并寫入程序進(jìn)行實(shí) 驗(yàn)觀察并總結(jié)。6、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論