基于51单片机及DS18B20温度传感器的数字温度计设计,是知创学院Jason大学时做的课程设计,虽说比较简单,但对初学者还是有一些借鉴意义。好多朋友也在微信中留言询问有没有相关资料。特借此机会公布一下下载地址,希望能为需要的朋友提供一点帮助。感谢大家关注知创学院
1、下面是做好的实物效果图
2、资料包含的主要内容:程序、仿真、原理图、参考文档
3、仿真效果图(仿真软件使用proteus 7.7 sp2)
4、文档目录
元件清单:
单片机:STC89C52 1片 传感器:DS18B20 1只 晶振: 11.0592MHz 1只 电容: 33pf 2个 22uf电解电容 1个 电阻: 10k 1个 4.7k 1个 1k 1个 排阻: 4.7k 9脚 1排 PNP三极管:9012或者8550或者5401 1只 蜂鸣器: 1个 轻触按钮:5个 四位一体共阴极数码管:1个 红色发光二极管: 1个 万用板: 1块 导线: 若干
使用说明:
K1是用来进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限调节模式,再按一下退出调节模式。在调节上下限温度模式下,K2是实现加1功能,K1是实现减1功能,K3是用来设定上下限温度正负的。
在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动退出;按一下K3进入查看下限温度模式,显示1s左右自动退出。
K4正常模式下用来设置和取消按键音。
上下限设置模式下是用来设置温度的正负。
部分程序预览:
ds18b20.c
- /********************************************************************
- * 程序名; 基于DS18B20的测温系统
- * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来
- * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限
- * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动
- * 退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下K4消除
- * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能,
- * K1是实现减1功能,K3是用来设定上下限温度正负的。
- * 编程时间:
- *********************************************************************/
- #include<AT89X52.h> //将AT89X52.h头文件包含到主程序
- #include<intrins.h> //将intrins.h头文件包含到主程序(调用其中的_nop_()空操作函数延时)
- #define uint unsigned int //变量类型宏定义,用uint表示无符号整形(16位)
- #define uchar unsigned char //变量类型宏定义,用uchar表示无符号字符型(8位)
- uchar max=0x00,min=0x00; //max是上限报警温度,min是下限报警温度
- bit s=0; //s是调整上下限温度时温度闪烁的标志位,s=0不显示200ms,s=1显示1s左右
- bit s1=0; //s1标志位用于上下限查看时的显示
- void display1(uint z); //声明display1()函数(display.h头文件中的函数,ds18b20.h要用应先声明)
- #include"ds18b20.h" //将ds18b20.h头文件包含到主程序
- #include"keyscan.h" //将keyscan.h头文件包含到主程序
- #include"display.h" //将display.h头文件包含到主程序
- /***********************主函数************************/
- void main()
- {
- beer=1; //关闭蜂鸣器
- led=1; //关闭LED灯
- timer1_init(0); //初始化定时器1(未启动定时器1)
- get_temperature(1); //首次启动DS18B20获取温度(DS18B20上点后自动将EEPROM中的上下限温度复制到TH和TL寄存器)
- while(1) //主循环
- {
- keyscan(); //按键扫面函数
- get_temperature(0); //获取温度函数
- keyscan(); //按键扫面函数
- display(temp,temp_d*0.625);//显示函数
- alarm(); //报警函数
- keyscan(); //按键扫面函数
- }
- }
复制代码
ds18b20.h文件:
键盘扫描文件:
全部资料51黑下载地址:
基于51单片机及DS18B20温度传感器的数字温度计设计.rar
(704.05 KB, 下载次数: 1044)
|