新手入门
- 积分
- 7
- 金钱
- 7
- 注册时间
- 2020-7-9
- 在线时间
- 1 小时
|
1金钱
我这样子弄得程序,好像没办法利用按键改变温度,可以帮我看看吗?
#include "led.h"
#include "delay.h"
#include "usart.h"
#include "key.h"
#include "sys.h"
#include "led.h"
#include "beep.h"
#include "lcd.h"
#include "tsensor.h"
#include "adc.h"
short temp;
void key(void)
{
vu8 key=0;
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
BEEP_Init(); //初始化蜂鸣器端口
KEY_Init(); //初始化与按键连接的硬件接口
LED1=0; //先点亮绿灯
while(1)
{
key=KEY_Scan(0); //得到键值
if(key)
{
switch(key)
{
case WKUP_PRES: //控制蜂鸣器
BEEP=!BEEP;
break;
case KEY1_PRES: //温度+1
temp=temp+1;
break;
case KEY0_PRES: //温度-1
temp=temp-1;
break;
}
}
else
delay_ms(10);
}
}
int main(void)
{
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //初始化与LED连接的硬件接口
BEEP_Init(); //初始化蜂鸣器端口
LCD_Init(); //初始化LCD
T_Adc_Init(); //ADC初始化
temp=Get_Temprate(); //得到温度值
void key(void);
POINT_COLOR=RED;//设置字体为红色
LCD_ShowString(30,50,200,16,16,"Elite STM32");
LCD_ShowString(30,70,200,16,16,"Temperature TEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,"2020/07/10");
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(30,140,200,16,16,"TEMPERATE: 00.00C");
LED1=0;
while(1)
{
void key(void);
if(temp<0)
{
temp=-temp;
LCD_ShowString(30+10*8,140,16,16,16,"-"); //显示负号
}
else if(temp>30)
{
BEEP=~BEEP;
}
else
LCD_ShowString(30+10*8,140,16,16,16," "); //无符号
LCD_ShowxNum(30+11*8,140,temp/100,2,16,0); //显示整数部分
LCD_ShowxNum(30+14*8,140,temp%100,2,16, 0X80); //显示小数部分
delay_ms(250);
}
}
|
|