单片机课程设计-简易温度计设计精选.docVIP

单片机课程设计-简易温度计设计精选.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计-简易温度计设计精选

信息与电气工程学院 课程设计说明书 (2014 /2015学年第 二 学期) 课程名称 :《单片机原理及应用》课程设计 题 目 : 简易温度计设计 专业班级 : 学生姓名 : 学 号: 指导教师 : 设计周数 : 2周 设计成绩 : 年月日 实验目的 设计并制作出一个以单片机为核心的简易温度计系统 主要任务 确定整体设计方案; 设计键盘输入电路; 设计显示电路; 合理分配地址,编写系统程序; 采用Proteus进行仿真,软硬件联机调试。 技术要求 (1)以MCS-51单片机为核心,18b20为敏感元件,设计出一简易温度计; (2)使用三位数码管显示温度,并能进行温度设置; 4、以MCS-51单片机为核心设计简易温度计的简介 传统的温度检测以热敏电阻为温度敏感元件,需要后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定误差。以MCS-51为核心,18b20为测温传感器,通过3位共阳极LED数码管传送数据,实现温度显示。具有读数方便,测温范围广,测温精确,数字显示,可靠性高等特点。 5、程序流程图 系统硬件电路原理图 6.1 时钟电路 晶振电路由一个晶振与两个电容连接组成,与单片机的18、19管脚相连,另一端接地,电路图为: 电容大小没有固定值一般pf,晶振是给单片机提供工作信号脉冲的这个脉冲就是单片机的工作速度晶振12MHZ,单片机工作速度就是每秒 12M单片机的工作频率是有范围的不能太大一般 24M就不上去了不然不稳定电容充电时间与R C的值成正比?的。 电路图为: 6.3 DS18b20温度传感电路 此部分电路负责温度信号的采集、将温度信号转换成数字代码储存在温度控制寄存器中,向单片机发送温度数据等重要功能,主要由DS18b20芯片来完成,该电路的电路图为: 其中DQ为DS18b20的数据输入/输出端引脚,与单片机的P3.5口相连,单片机通过P3.5口向DS18b20发出各种命令,并读取其转换后的温度数据。 由于DS18B20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。 6.4显示电路 7、源程序代码 #include reg52.h #define uchar unsigned char #define uint unsigned int uchar wei; //18b20接口 sbit DS=P3^5; //define interface //sbit dula=P2; //定义数码管位选 sbit wei1=P1^5; //定义数码管位选 sbit wei2=P1^6; //定义数码管位选 sbit wei3=P1^7; //定义按键 sbit k1=P1^0; //定义按键 sbit k2=P1^1; //定义按键 sbit k3=P1^2; //定义led指示灯 sbit led1=P1^3; //定义led指示灯 sbit led2=P1^4; //共阳极数码管编码 unsigned char code tb[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 0x87,0xff,0xef}; //延时函数 void delay(uint count) //delay { uint i; while(count) { i=200; while(i0) i--; count--; } } //18b20复位初始化函数 void dsreset(void) //send reset and initialization command { uint i; DS=0; i=103; while(i0)i--; DS=1; i=4;

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档