|
//#include "string.h"
#include "stm32f10x.h"
#include "system.h"
#include "SysTick.h"
#include "led.h"
#include "usart.h"
#include "tftlcd.h"
#include "beep.h"
#include "key.h"
#include "ds18b20.h"
u8 waring[] = {10,34}; //默認報警溫度范圍
u8 *p = waring;
u8 data[200];
int main(void)
{
u8 t=0;
float temperature;
int tmp;
LED_Init();//LED初始化
KEY_Init();//按鍵初始化
SysTick_Init(72);//延時初始化
//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中斷優先級分組 分2組
USART1_Init(9600);
TFTLCD_Init(); //LCD初始化
BEEP_Init();//蜂鳴器初始化
FRONT_COLOR=RED;
LCD_ShowFontHZ(30,40,"張川");
LCD_ShowString(30,80,tftlcd_data.width,tftlcd_data.height,16,"201607014123");
while(DS18B20_Init())//ds18b20初始化
{
LCD_ShowString(30,100,tftlcd_data.width,tftlcd_data.height,16,"DS18B20 Error");
delay_ms(200);
LCD_Fill(30,100,100,66,WHITE);
delay_ms(200);
}
LCD_ShowString(30,100,tftlcd_data.width,tftlcd_data.height,16,"DS18B20 OK!");
FRONT_COLOR=BLUE;
LCD_ShowString(30,130,tftlcd_data.width,tftlcd_data.height,16,"xiaxian:");
LCD_ShowString(30,150,tftlcd_data.width,tftlcd_data.height,16,"shangxian:");
while(1)
{
KEY_SET();
if(t % 10 == 0)//100ms讀取一次
{
temperature = DS18B20_GetTemperture();
if(0 > temperature)
{
LCD_ShowChar(30+80,170,'-',16,0);
temperature = -temperature;
}
else LCD_ShowChar(30+80,170,' ',16,0);
sprintf((char *)data,"Temperate:%.2f",temperature);
LCD_ShowString(30,170,tftlcd_data.width,tftlcd_data.height,16,data);
//LCD_ShowNum(30+80+8,170,temperature/1,2,16);
//LCD_ShowNum(30+80+32,170,temperature%10,1,16);
LCD_ShowNum(30+80+8,130,waring[0],2,16);
LCD_ShowNum(30+80+8,150,waring[1],2,16);
}
t++;
if(t%20==0)
{
led1 = !led1;
}
delay_ms(10);
tmp = (int)temperature;
if((tmp<=waring[0]) || (tmp >= waring[1]))
{
beep = !beep;
led2 = 1;
}
else
{
beep = 0;
led2 = 0;
}
}
}
|
-
-
溫度報警器.docx
2019-12-20 02:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
5.31 MB, 下載次數: 76, 下載積分: 黑幣 -5
-
-
溫度報警器.rar
2019-12-20 02:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
366.54 KB, 下載次數: 111, 下載積分: 黑幣 -5
|