仿真原版本:Proteus7.8
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0012
功能说明
1、显示温度0-99,上电默认高温报警35°,低温报警10°
2、按键说明:
① 按一下KEY1查看高温,调整高温报警值指示灯亮,同时也可以按加减调高温的值。
② 再按一下KEY1查看低温,调整低温报警值指示灯亮同时也可以按加减调低温的值。
③ 程序默认低温报警值要比高温报警低5°再按一下KEY正常显示。
3、温度调整低于低温报警或者高于高温报警值,蜂鸣器响,指示灯闪烁。
仿真电路
三个按键
KEY1
按一下查看高温设置值,再按一下查看低温设置值,再按一下返回正常显示
KEY2
设置状态下,设置温度+
KEY3
设置状态下,设置温度-
程序
主函数
/*****主函数*****/
void main(void)
{
LED=0; //默认关闭报警
BEEP=0; //默认关闭蜂鸣器
LED_SET_HIGHT=0;//默认设置灯暗
LED_SET_LOW=0;//默认设置灯暗
check_wendu();
check_wendu();
for(z=0;z<300;z++)
{
Disp_init();
}
while(1)
{
if(display_mode==0){
Disp_Temperature();//正常显示
}else if(display_mode==1){//设置高
Disp_Temperature_Set_Hight();
}else if(display_mode==2){//设置低
Disp_Temperature_Set_Low();
}
KeyDriver(); //键盘驱动扫描
KeyScan();
if(key_sacn_cnt<20){//延时效果,不占用CPU,隔一段时间更新温度
key_sacn_cnt++;
}else{
check_wendu();
key_sacn_cnt=0;
}
if(display_mode==0){//正常模式才报警,设置模式不报警
if(m>=gaowen || m<=diwen){//如果m大于高温值或者小于低温值,开启声光报警
led_sacn_cnt++;
if(led_sacn_cnt>100){
LED=~LED;
BEEP=~BEEP;
led_sacn_cnt=0;
}
}else{
LED=0;
BEEP=0;
led_sacn_cnt=1;
}
}else{
LED=0;
BEEP=0;
}
}
}
DS18B20温度读取
/*****读取温度*****/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned int t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0x44); //启动温度转换
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器
a=ReadOneChar(); //读低8位
b=ReadOneChar(); //读高8位
t=b; //高8位转移到t
t<<=8; //t数据左移8位
t=t|a; //将t和a按位或,得到一个16位的数
tt=t*0.0625; //将t乘以0.0625得到实际温度值
//(温度传感器设置12位精度,最小分辨率是0.0625)
t= tt*10+0.5; //放大10倍(将小数点后一位显示出来)输出并四舍五入
return(t); //返回温度值
}
设计报告
资料清单&&下载链接
�. 常见使用问题及解决方法–必读!!!!
1. 源程序
2. proteus仿真
3. 功能说明
4. 开题报告
5. 设计报告
6. 讲解视频
Altium Designer 安装破解
filename.bat
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
目录清单.txt
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
资料下载链接