📄 main.c
字号:
/*****************************************/
/* Copyright (c) 2009, 电子信息工程学院 */
/* All rights reserved. */
/* 作 者:王明兴 */
/*****************************************/
#include "main.h"
#include "MAX7219.h"
#include "DS18B20.h"
char data Temp_Limit = 50;
uchar data Key_Start_flag = 0;
uchar data Key_Setup_flag = 0;
uchar data Key_Up_flag = 0;
uchar data Key_Down_flag = 0;
uchar data Key_Enter_flag = 0;
uchar data tplsb,tpmsb; // 温度值低位、高位字节
uchar data Buffer0[4];
uchar data Buffer1[4];
char data Cur_Temp;
uchar data Read_flag = 0;
uchar data DisBuffer[8]={0,0,0,0,0,0,0,0}; // 显示缓存区
volatile uint data Disp_Count = 0;
volatile uint data Temp_Count = 0;
volatile uint data Temp_Read = 0;
void main()
{
TMOD = 0x11; //置T1、T0按方式1工作 16位模式
TH0 = 0xf0;
TL0 = 0xd8;
TH1 = 0xf0;
TL1 = 0xd8;
TR0 = 1; //开启定时器0
ET0 = 1; //允许T0中断
ET1 = 1; //允许T1中断
EA = 1; //开中断
LED_STATE = 0;
InitDisplay(); // MAX7219初始化
WriteWord(DisplayTest,TestMode); // 开始显示测试,点亮所有LED
delay(1000); // 延时约2s
convert(); // 启动温度转换,需要750ms
delay(1000); // 延时1s
RdTemp(); // 读取温度
Da_Trans();
WriteWord (DisplayTest,TextEnd); // 退出显示测试模式
Display(Buffer0); //显示当前温度
TR1 = 1; //开启定时器1
while(1)
{
Key_Process(); //键盘处理
if(Key_Start_flag)
{
if(Key_Setup_flag)
{
TEMP_CTRL = 1;
LED_NORMAL = 1;
LED_WARING = 1;
Da_Tran(Temp_Limit);
Display(Buffer1);
if(Key_Up_flag)
{
if(Temp_Limit <= 125)
Temp_Limit ++;
Key_Up_flag = 0;
}
if(Key_Down_flag)
{
if(Temp_Limit != 0)
Temp_Limit --;
Key_Down_flag = 0;
}
if(Key_Enter_flag)
{
Key_Setup_flag = 0;
Key_Enter_flag = 0;
Display(Buffer0);
}
}
else
{
if(Cur_Temp <= Temp_Limit)
{
LED_NORMAL = 0;
LED_WARING = 1;
TEMP_CTRL = 0;
}
else
{
LED_NORMAL = 1;
LED_WARING = 0;
TEMP_CTRL = 1;
}
}
}
if(!Key_Setup_flag)
{
if(Disp_Count > 500) //0.5S显示刷新一次
{
Display(Buffer0);
Disp_Count = 0;
} //1S测一次温度
if(Temp_Count > 1000)
{
Temp_Count = 0;
convert(); // 启动温度转换,需要750ms
Read_flag = 1;
if(Temp_Read > 800)
{
Read_flag = 0;
Temp_Read = 0;
RdTemp(); // 读取温度
Da_Trans();
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -