- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于AT89S51的温度计
院 系:电气与信息工程学院
专 业:****
班 级:****
学生姓名:****
学 号:****
日 期:2012年11月11号
第一部分 设计要求:
采用AT89C51单片机和LCD液晶显示器设计一个数字温度计,当外界温度变化时,显示屏上的温度值也随着变化。数字温度计的测温范围为-55°C到125°C之间。
第二部分 硬件原理框图:
AT89C51单片机
AT89C51单片机
L
LCD液晶显示电路
晶振振荡电路
晶振振荡电路
复位电路温度传感器采集电路
复位电路
温度传感器采集电路
电
电 源 电 路
硬件部分主要分为晶振振荡电路、复位电路、LCD液晶显示电路、DS18B20温度传感器采集电路、电源电路等部分组成。
第三部分 硬件原理图:
硬件模块原理图:
晶振振荡电路
该电路是由两个电容和一个晶振组成,晶振产生基本的时钟信号它给单片机提供时钟信号。
复位电路
复位的主要作用是把特殊功能寄存器的数据刷新为默认数据,单片机在运算过程中由于干扰等外界原因造成寄存器中数据混乱不能使其正常继续执行程序或产生的结果不正确时均需要复位,以使程序重新开始运行。
LCD液晶显示电路
经过温度传感器,将采集到的温度信息传给单片机,单片机处理后又将信息发给P0口,P0口与LCD的数据口相连接,液晶屏上会显示采集到的温度值。
温度传感器采集电路
单线数字温度传感器DS18B20测量温度范围为 -55°C~+125°C,-10~+85°C范围内,精度为±0.5°C。DS1822的精度较差为± 2°C 。DS18B20的管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
电源电路
设计中利用桥式整流和电容滤波以及7805集成稳压来输出+5V电压,以满足AT89C51、LCD1602、DS18B20等器件的工作需求,原理如下:
第四部分 程序流程图
初始化显示调用子程序
初始化
显示调用子程序
1s到?
初次上电?
读出温度值
温度计算处理
显示数据刷新
发温度转换开始命令
发DS18B20复位命令
发跳过ROM命令
发温度转换开始命令
结束
图
图2 温度转换命令子程序流程图
N
图
图1 主程序流程图
第五部分 总结:
在本次设计的过程中,我查阅了许多文献资料,从中学到了很多有关系统开发和程序调试方面等的知识。在软件开发过程中掌握了一些技术难题的解决方法和技巧,巩固和加深了所学知识的理解,能够把所学的知识与实践相结合,培养了认真严谨的学习态度,为以后开发软件积累了大量的经验,提高了分析问题和解决问题的能力。但是由于认识上的片面和不足,各方面的条件影响也很多,本设计还有待进一步的完善和优化,这些在以后的学习中要注重积累。
第六部分 主要程序
#include reg51.h
#include intrins.h
#define uint unsigned int
#define uchar unsigned char
#definedelayNOP() {_nop_();_nop_();_nop_();_nop_();}//_nop_()为一个机器周期
sbit DQ = P3^3;
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;
sbit LCD_EN = P2^2;
uchar code Temp_Disp_Title1[]=Now Temperature:;//液晶第一行显示的字符
uchar Temp_Display_Title2[]= TEMP: ;//第二行前半部分显示的字符
uchar code Temperature_Char[8] =
{
0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00
};
uchar code d
您可能关注的文档
最近下载
- 药店GSP认证质量管理体系文件培训考试试题(3套考试试题+1套试题库)-符合药品经营质量管理规范要求.pdf VIP
- 【2025秋】人教版二年级上册道德与法治教学工作计划(及进度表).docx
- 论被害人的心理演变.doc VIP
- 广东省广州市白云区2024年统编版小升初考试语文试卷(原卷版).docx VIP
- 沥青混合料配合比设计配合比设计.pdf VIP
- 《十八届三中全会精神学习之六:深入学习贯彻十八届三中全会精神》.ppt VIP
- 成都市蓉城名校联盟2026届高三上学期9月开学联考 物理卷(含答案解析).pdf
- 从宫廷到学堂明清时期钢琴在中国发展.doc VIP
- 2024新能源光伏场站无人值守项目技术方案.docx VIP
- 第九届全国走美杯三年级初赛竞赛数学试卷.docx VIP
文档评论(0)