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

下載本文檔

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

文檔簡介

1、溫度控制上下限液晶顯示的設(shè)計王寧1001應(yīng)用電子1、實驗項目溫度控制上下限液晶顯示2、實驗要求2.1、 第一行顯示溫度值、學(xué)號;2.2、當(dāng)溫度低于下限時,第二行顯示2.3、當(dāng)溫度高于上限時,第二行顯示” under tempL ”、并且綠燈閃爍報警; "over tempL”、并且紅燈閃爍報警;2.4、當(dāng)溫度在上下限之間時,第二行顯示"H.'temph ' L/tempi ' ”3、實驗原理圖圖1顯示溫度在上下限之間時顯示模式陰81圖2顯示溫度高于上限時溫度報警顯示,紅燈閃爍圖2圖3顯示溫度低于下限時溫度報警顯示,綠燈閃爍圖34、程序設(shè)計#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/蜂鳴器/溫度上下限控制按鍵/定義讀時間標(biāo)志/定時器初始化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ù)組/ 初始化液晶/ 延時有

5、助于穩(wě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 度,溫度過低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ā)光二極管閃爍/ 啟動 T0 定時器,輸出方波,蜂鳴器鳴叫報警LCD_Write_String(0,1,"under tempL ");if(temperature>temph)II如果溫度為正且在 25 C 30C之間,溫度正常RledBli nk();II紅色發(fā)光二極管閃爍EA=1;II 啟

8、動 T0 定時器,輸出方波,蜂鳴器鳴叫報警LCD_Write_String(0,1,"over tempH ");I*定時器初始化子程序*Ivoid Init_Timer0(void)TMOD |= 0x01;II使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響TH0=(65536-2000)I256;II 給定初值TL0=(65536-2000)%256;EA=1;II總中斷打開ET0=1;II定時器中斷打開TR0=1;II定時器開關(guān)打開I*定時器中斷子程序*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、實驗過程利用 keil 軟件編寫程序,并生成 .hex 文件,根據(jù)程序連接開發(fā)板,并寫入程序進(jìn)行實 驗觀察并總結(jié)。6、

溫馨提示

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

評論

0/150

提交評論