基于AT89S52单片机的数字温度计设计
基于AT89S52单片机的数字温度计设计
一 引言
在生活和生产中,经常要用到一些测温设备,但是传统的测温设备具有制作成本高、硬件电、和软件设计复杂等缺点。基于AT89S52单片机的数字温度计具有制作简单、成本低、读数方便、测温范围广和测温准确等优点,应用前景广阔。
二 项目要求
基于AT89S52单片机的数字温度计设计具体要求如下: (1)温度值用LED显示。
(2)围为-30℃~100℃,且测量误差不得大于±0.5℃。 (3)成本的体积、质量要尽可能小。
三 系统设计
1 框图设计
根据设计要求分析,基于AT89S52单片机的数字温度计设计由AT89S52单片机控制器、电源、显示电路、温度传感器、复位电路和时钟电路组成,系统框图如图1所示。电源给整个电路供电,显示电路显示温度值,时钟电路为AT89S52提供时钟频率。传感器采用美国DALLAS半导体公司生产的一种智能温度传感器DS18B20,其测温范围为-55~125℃,最高分辨率可达0.0625℃,完全符合设计要求。
电源 复位电路 AT89S52 控制器 显示电路 时钟电路 DS18B20
图一 基于AT89S52单片机的数字温度计系统框图
2 知识点
本项目需要通过学习和查阅资料,掌握和了解如下知识: ? +5V电源原理及设计。
? ? ? ? ? ? ? ?
单片机复位电路工作原理及设计。 单片机晶振电路工作原理及设计。 按键电路的设计。 数码管的特性及使用。 DS18B20的特性及使用。 74LS07的特性及使用。 AT89S52单片机引脚。 单片机C语言程序设计。
四 硬件设计
1 电路原理图
控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以动态扫描法实现温度显示,电路图可见仿真图所示。
2 元件清单
基于AT89S52单片机的数字温度计元件清单如表1所示。
表1 基于AT89S52单片机的数字温度计元件清单 元件名称 单片机 晶振 电容 电解电容 电阻 集成块 集成块 集成块 电阻 按键 电源 七段4位 数码管 电阻
型号 AT89S52 12MHZ 30Pf 10μF∕10V 1KΩ 74LS07 DS18B20 DS18B20 4.7 KΩ +5V∕0.5A 4位 4.7 KΩ 1 1 1 1 1 1 1 1 数量∕个 1 1 2 1 5 用途 控制核心 晶振电路 晶振电路 复位电路 复位电路 上拉电阻 显示驱动 显示驱动 测温电路 复位电路 复位电路 提供+5V 显示电路 测温电路 五 软件设计
1 程序流程图
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20测量的当前温度值,温度测试每1S进行一次。这样可以在1S之内测量一次被测温度,其程序流程图如图3所示。
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写,其程序流程图如图4所示。
初始化 发DS18B20复位命令 发跳过ROM命令 调用显示子程序 N 1S到? 发读取温度命令 读取操作,CRC校验 Y Y 初次上电 9字节完? N CRC校验正? 读出温度值温度计算处理显示数据刷新 移入温度暂存器 发温度转换开始命令 结束 图3 主程序流程图 图4 读温度流程图
温度转换命令子程序主要是发温度转换开始命令,采用12位分辨率转换时间约为750ms。程序设计中采用1s显示程序延时等待转换的完成。计算温度子程序将RAM中读取值进行BCD码地转换运算,并进行温度值正负的判定,显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。
2 程序清单
基于AT89S52单片机的数字温度计程序清单如下: #include \
#include \ //延时函数用 #define Disdata P1 //段码输出口 #define discan P3 //扫描口 #define uchar unsigned char #define uint unsigned int
sbit DQ=P3^7; //温度输入口
sbit DIN=P1^7; //LED小数点控制 uint h; uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};//温度小数部分用查表法
uchar code dis_7[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf};
/* 共阳LED段码表 \ \ \ \ \ \ \ \ \ \不亮\ uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7}; // 列扫描控制字
uchar data temp_data[2]={0x00,0x00}; // 读出温度暂放
uchar data display[5]={0x00,0x00,0x00,0x00,0x00};//显示单元数据,共4个数据,一个运算暂存用
void delay(uint t)//11微秒延时函数 {
for(;t>0;t--); }
scan()//显示扫描函数 {
char k;
for(k=0;k<4;k++) //四位LED扫描控制 {
Disdata=dis_7[display[k]]; if(k==1){DIN=0;}
discan=~scan_con[k];delay(90);discan=0x00; } }
ow_reset(void)//18B20复位函数 {
char presence=1; while(presence) {
while(presence) { DQ=1;_nop_();_nop_(); DQ=0; delay(50); // 550us DQ=1; delay(6); // 66us presence=DQ; // presence=0继续下一步 }
delay(45); //延时500us presence = ~DQ;
}
DQ=1;
}
void write_byte(uchar val)//18B20写命令函数 {
uchar i;
for (i=8; i>0; i--) // {
DQ=1;_nop_();_nop_();
DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();//5us DQ = val&0x01; //最低位移出 delay(6); //66us
val=val/2; //右移一位 }
DQ = 1; delay(1); }
uchar read_byte(void)//从总线上读取一个字节 {
uchar i;
uchar value = 0; for (i=8;i>0;i--) {
DQ=1;_nop_();_nop_(); value>>=1;
DQ = 0; //
_nop_();_nop_();_nop_();_nop_(); //4us
DQ = 1;_nop_();_nop_();_nop_();_nop_(); //4us if(DQ)value|=0x80;
delay(6); //66us }
DQ=1;
return(value); }
read_temp()//读出温度函数 {
ow_reset(); //总线复位
write_byte(0xCC); // 发Skip ROM命令 write_byte(0xBE); // 发读命令
…… 此处隐藏:1495字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




