OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7051|回复: 2

温度控制程序,使用按键设定温度的上下限值,并显示在LCD上,如何实现,求大神帮忙

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-5-24
在线时间
0 小时
发表于 2015-5-25 20:44:53 | 显示全部楼层 |阅读模式
5金钱
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "ds18b20.h" 
#include "key.h"
#include "stm32f10x_gpio.h"



 int main(void)
 { 
u8 t=0;
  u8 key;
  u16 a=0;
  u16 b=40;  
short temperature;
 GPIO_InitTypeDef   GPIO_InitStructure; 
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,  ENABLE);  
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;        
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
GPIO_Init(GPIOA, &GPIO_InitStructure);   
delay_init();      
uart_init(9600); 
LED_Init();     
  LCD_Init();
KEY_Init();

       
  POINT_COLOR=RED;
LCD_ShowString(60,50,200,16,16,"Temperature Controller");
LCD_ShowString(60,70,200,16,16,"Upper Temp:   . C");
LCD_ShowString(60,90,200,16,16,"Lower Temp:   . C");
LCD_ShowString(60,110,200,16,16,"2015/6/12");  
  while(DS18B20_Init()) //DS18B20??????
{
LCD_ShowString(60,130,200,16,16,"DS18B20 Error");
delay_ms(200);
LCD_Fill(60,130,239,130+16,WHITE);
  delay_ms(200);
}   
LCD_ShowString(60,130,200,16,16,"DS18B20 OK");
POINT_COLOR=BLUE;
  LCD_ShowString(60,150,200,16,16,"Temp:   . C");  
while(1)
{        
  if(t%10==0)
{  
temperature=DS18B20_Get_Temp();
if(temperature<0)
{
LCD_ShowChar(60+40,150,'-',16,0); 
temperature=-temperature; 
}else LCD_ShowChar(60+40,150,' ',16,0);
LCD_ShowNum(60+40+8,150,temperature/10,2,16);      
    LCD_ShowNum(60+40+32,150,temperature%10,1,16);    


key=KEY_Scan(0);        
if(key==KEY0_PRES)
{
LCD_ShowxNum(164,150,a,1,16,0);
a++;
//LCD_ShowNum(164,70,5,2,16);
}
if(key==KEY1_PRES)
{
LCD_ShowxNum(164,150,b,1,16,0);
b--;
//LCD_ShowNum(60+88,90,b,2,16);
}

if(temperature<=a|temperature>=b)
GPIO_SetBits(GPIOA,GPIO_Pin_2);  
else GPIO_ResetBits(GPIOA,GPIO_Pin_2);
delay_ms(10);
t++;

}
}
}
 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-25 23:51:20 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-5-24
在线时间
0 小时
 楼主| 发表于 2015-5-26 14:15:04 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
额。。。想不懂啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 00:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表