初级会员
- 积分
- 133
- 金钱
- 133
- 注册时间
- 2015-12-21
- 在线时间
- 17 小时
|
楼主 |
发表于 2016-2-1 07:44:55
|
显示全部楼层
void tem(void)
{
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
POINT_COLOR=RED;//设置字体为红色
while(DS18B20_Init()) //DS18B20初始化
{
LCD_ShowString(60,130,200,16,16,"DS18B20 Error");
delay_ms(200);
}
LCD_ShowString(60,130,200,16,16,"DS18B20 OK");
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(60,150,200,16,16,"Temp: . C");
}
int main(void)
{
short temperature;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
TFTLCD_Init(); //LCD初始化
KEY_Init(); //按键初始化
TP_Init(); //触摸屏初始化
TIM3_Int_Init(999,71); //1KHZ 定时器1ms
TIM6_Int_Init(999,719); //10ms中断
mem_init(); //初始化内部内存池
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//使能CRC时钟,否则STemWin不能使用
WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_Init();
GUI_SetPenSize(2);
GUI_SetBkColor(GUI_BLACK);
GUI_SetColor(GUI_WHITE);
GUI_DrawRect(115,18,125,210);
GUI_SetColor(GUI_RED);
GUI_FillCircle(120,10,12);
GUI_DrawHLine(50,20,160);
GUI_DrawHLine(180,20,160);
tem();
while(1)
{
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); //显示小数部分
GUI_ClearRect(116,18,123,220);
GUI_FillRect(116,18,123,temperature/10);
delay_ms(1000);
}
} |
|