ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:349.52KB ,
资源ID:4995100      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4995100.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机温度采集显示系统设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机温度采集显示系统设计.docx

1、单片机温度采集显示系统设计课 程 设 计 课程名称:微机原理与接口技术课程设计题目名称:温度采集显示系统学生学院 专业班级学 号 学生姓名 指导教师 一、设计题目温度采集系统二、 设计任务和要求 功能要求:(1) 温度测量范围 0 - 99。(2) 温度分辨率1。(3) 选择合适的温度传感器。(4) 使用键盘输入温度的最高点和最低点,温度超出范围时候报警。(报警温度不 需要保存)要求完成的内容:(1)系统硬件设计,并用电子CAD软件绘制出原理图,(2)给出流程图,编写并调试程序。(3)撰写设计报告。三、原理电路图和设计程序1、方案比较(1)、 系统总体方案设计总体框架图如图1示,软件流程图如图

2、示该温度控制系统的设计包括硬件设计和软件设计两大部分,结合实际情况,该系统应具备如下功能:A、实时采集温度;B、显示温度;C、串行传送数据;D、控制外设;E、温度超限报警; 系统硬件设计系统的硬件设计部分主要由以下几部分组成:A、单片机最小系统;B、温度采集模块;C、温度显示模块;D、串行通信模块;E、报警电路;图2 软件流程图(2)、方案比较方案一 采用8031作为控制核心,以使用最为普遍的器件ADC0809作模数转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。此方案简易可行,器件的价格便宜,但8031内部没有程序存储器,需要扩展,增加了电路的复杂性,且ADC0809是8位的模数转换

3、,不能满足本题目的精度要求。方案二 采用比较流行的AT89S51作为电路的控制核心, AT89S52不但与8051,8052 指令,管脚完全兼容,而且其片内的程序存储器采用FLASH 工艺,用户可以用电的方式瞬间擦除、改写。AT89S52 单片机还支持在线编程,用户通过简单的电路连接就可以将电脑里的程序下载到单片机中,减少调试程序时不断拆卸和插入给芯片带来的损坏。此外AT89S52 单片机有8 KB的程序存储器和256 B 的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度。此方案电路简单并且可以满足题目中的各项要求的精度。综上分析,我们采用方案二。仿真总体电路图如图3示 图3 图3

4、(3)、单元电路设计、单片机最小系统设计单片机是整个系统的核心处理器,其负责驱动温度传感器DS18B20 工作、温度显示、控制外围设备的工作以及与上位机进行通信等工作。单片机最小系统主要由两块组成,其一为晶振起振电路,其二为复位电路,在此,采用按键手动复位,相对来讲,这种复位方式更加方便,更加人性化,不必要切断电源即可对系统进行复位。AT89S51简介:AT89S52 是89 系列单片机的一种,它不但与8051,8052 指令,管脚完全兼容,而且其片内的程序存储器采用FLASH 工艺,用户可以用电的方式瞬间擦除、改写。AT89S52 单片机还支持在线编程,用户通过简单的电路连接就可以将电脑里的

5、程序下载到单片机中,减少调试程序时不断拆卸和插入给芯片带来的损坏。此外AT89S52 单片机有8 KB的程序存储器和256 B 的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度。、 温度采集模块设计温度传感器是该系统的关键器件,本系统选用的是美国Dallas 半导体公司生产的数字化温度传感器 DS18B20。本系统中DS18B20 的DQ 口与单片机的 P1.0 口连接,GND 接地,VDD 接电源,信号和5V 电源之间的接上一个上拉电阻R。DS18B20简介:DS18B20 有三个主要数字部件组成:64 位激光ROM、温度传感器、非易失性的温度报警触发器TH 和TL 。DS18B

6、20 支持“一线总线”接口,测量温度范围为-55C+125C,被测温度用符号扩展的16 位数字量方式串行输出,在-10+85C 范围内,精度为0.5C。DS18B20 采集到的现场温度直接以先进的单总线数据通信方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20 可程序设定912 位的分辨率,精度可达0.5C。DS18B20具有内置的EEPROM,用户设定的分辨率和报警温度都可存储在其中,且掉电后依然存在。CPU 只需一根端口线就能与DS18B20 进行通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。与前

7、一代产品(DS1820 温度传感器)不同,DS18B20 支持3.0V 5.5V的电压范围,使系统设计更灵活、方便,而且DS18B20 价格更便宜,体积更小。如图J1所示,DS18B20 有三个管脚:3脚 GND 为电源地,2脚DQ 为数字信号输入/输出端,1脚VDD 为外接供电电源接入端(用寄生电源方式时接地)。在外部电源供电方式下,DS18B20 工作电源由VDD 引脚接入,此时I/O 线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时理论上总线可以挂接任意多个DS18B20 传感器,组成多点测温系统。在外部供电的方式下,DS18B20 的GND 引脚不能悬空,否则不能转换温

8、度,读取的温度总是85。 温度显示模块设计根据实际应用情况,该温度显示模块采用七段数码管显示电路,数码管选用共阳极数码管,如图U3示,以动态方式显示,显示数据由P1口送出,位控信号由P2口送出,经74LS244进行信号放大,以产生足够大的电流驱动数码管显示。流程图如图示: 串行通信模块设计AT89S52 单片机内部含有一个可编程全双工串行通信接口,由TXD 引脚来传送串行数据,而由RXD 引脚来接收数据。该接口具有UART(通用异步接收和发送器)的全部功能,它不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用,可构成双机或者多机通信系统。 报警电路设计本设计采用蜂鸣器报警电路,它由

9、晶体管和蜂鸣器组成。当温度的测量值超出给定的上下限时,由单片机的P3.7 口输出信号控制晶体管导通,则蜂鸣器报警。 系统软件设计本系统采用 AT89S52 作为核心处理器件,把经过DS18B20 现场实时采集到的温度数据,存入AT89S52 的内部数据存储器,并送LED 数码管显示,并与温度的设定值进行比较,然后由单片机输出控制信号去控制外部设备。进行温度控制程序的设计还应考虑越限报警,当采集到的温度值与温度的设置值进行比较后,若发现当前温度值越限,则产生报警信号。与硬件电路相关联,本温度控制系统的软件设计主要分为以下几个部分:主程序,温度上下限值设定子程序、温度读取子程序、温度显示子程序、串

10、口通信子程序、输出控制子程序和报警子程序等。其中温度上下限值设定子程序完成对温度范围值的设定及数据保存;温度读取子程序完成对温度传感器数据的读取,并通过温度显示子程序显示温度值;串口通信子程序将采集到的温度数据传送到PC 机,以实现远程监控;输出控制子程序根据采集到的温度数据完成对外部设备的控制;报警子程序则当采集到的温度数据超过设定的温度上下限值时报警。整个运行程序,见电子版下面是测温程序段:sbit DQ = P33; / 定义DQ引脚为P3.3/* 延时函数 * 功能:在11.059MHz的晶振条件下调用本函数需要24s ,然后每次计数需16s */void DS18_delay(int

11、 useconds) int s;for (s=0; suseconds;s+);/* 复位函数 * 功能:完成单总线的复位操作。* 复位时间为480s,因此延时时间为(480-24)/16 = 28.5,取29s。* 经过70s之后检测存在脉冲,因此延时时间为(70-24)/16 = 2.875,取3s。*/unsigned char ow_reset(void) unsigned char presence;DQ = 0; / 将 DQ 线拉低DS18_delay(29); / 保持 480sDQ = 1; / DQ返回高电平DS18_delay(3); / 等待存在脉冲presence

12、= DQ; / 获得存在信号DS18_delay(25); / 等待时间隙结束return(presence); / 返回存在信号,0 = 器件存在, 1 = 无器件/* 位写入函数 * 功能:向单总线写入1位值:bitval*/void write_bit(char bitval) DQ = 0; / 将DQ 拉低开始写时间隙if(bitval=1) DQ =1; / 如果写1,DQ 返回高电平DS18_delay(5); / 在时间隙内保持电平值,DQ = 1; / DS18_delay函数每次循环延时16s,因此DS18_delay(5) = 104s /* 字节写入函数 * 功能:向单

13、总线写入一个字节值:val*/void ds18write_byte(char val) unsigned char i;unsigned char temp;for (i=0; ii; temp &= 0x01; write_bit(temp); DS18_delay(5);/* 位读取函数 * 功能:从单总线上读取一位信号,所需延时时间为15s,因此无法调用前面定义* 的DS18_delay()函数,而采用一个for()循环来实现延时。* */unsigned char read_bit(void) unsigned char i;DQ = 0; /将DQ 拉低开始读时间隙DQ = 1;

14、/ then return highfor (i=0; i3; i+); / 延时15sreturn(DQ); / 返回 DQ 线上的电平值/* 字节读取函数 * 功能:从单总线读取一个字节的值*/unsigned char DSread_byte(void) unsigned char i;unsigned char value = 0;for (i=0;i8;i+) / 读取字节,每次读取一个字节if(read_bit() value|=0x01i; / 然后将其左移DS18_delay(6); return(value);/* 读取温度函数 * 功能:如果单总线节点上只有一个器件则可以直

15、接掉用本函数。如果节点上有多个器* 件,为了避免数据冲突,应使用Match ROM函数来选中特定器件。* 注: 本函数是根据DS1820的温度数据格式编写的,若用于DS18B20,必须根据* DS18B20的温度数据格式作适当修改。*/unsigned int ReadTemperature(void) unsigned char get10;unsigned char temp_lsb,temp_msb;unsigned int t;unsigned char k;ow_reset();ds18write_byte(0xCC); / 跳过 ROMds18write_byte(0x44); /

16、 启动温度转换DS18_delay(5);ow_reset();ds18write_byte(0xCC); / 跳过 ROMds18write_byte(0xBE); / 读暂存器for (k=0;k2;k+)getk=DSread_byte();temp_msb = get1; / Sign byte + lsbittemp_lsb = get0; / Temp data plus lsbt=temp_msb*256+temp_lsb;t=t&0x0ff0;if(t0xf0)t=(-1)*t;return t4;/temp_f = (int)temp_c)* 9)/5 + 32; / 输出华

17、氏温度值、软件清单四、 电路仿真使用protel 99se 仿真软件仿真,优点在于此软件为这学期刚刚学的一款电子电路软件,使用起来比较熟悉和顺手,且不用花过多的时间在软件学习,缺点在于,此仿真软件对于单片机类实例进行不了仿真,也就相当于没有仿真数据,这样会容易出错,但是AT89S52刚刚好能够弥补这个缺陷,所以还是选择用protel 99se来做仿真实验。电路原理图如下图示:电路版的预览图如下图示: PCB打印预览图该设计的pcb图见附图:完整的PCB图五、 总结通过此次课程设计,我学到了很多很多新的知识,同时,也加深了对旧知识的了解和认知。不管是从动手能力还是理论学习上讲,这次课程设计都让我

18、有了一定的提高。首先是对单片机芯片AT89S52的学习,之前我们学的89C51系列的,前者对于后者来讲,比较先进和高级,而且更加贴近于我们的生活。鉴于自己对AT89S52的一点认识也没有,所以一切只能从头开始学起,从到图书馆找资料到网上查找,从一个人奋战到找同学帮助,一点一滴地,从无到有,在不断的努力之下,我终于也了解到一点点AT89S52单片机芯片的工作原理和功能了接着便是DS18B20温度传感器的学习,AT89S52单片机芯片还可以从89C53系列找相似之处,但DS18B20就完全没有了,不过,还好,现代DS18B20的应用技术也比较普遍和熟练,所以能找得到比较多的资料区了解和学习。一门比

19、较成熟的技术要掌握起来是比较容易的,只要你有耐心和恒心去学习。有了初步的构思之后,就要开始着手仿真实验了,虽然protel 99se软件进行不了单片机芯片的仿真实验,拿不到确切的仿真数据,但是使用protel 99se软件却也是这次课程设计中必不可少的步骤,因为使用protel 99se软件可以设计此次课程设计的pcb电路图,这样就可以制作pcb感光板。使用感光板来做此次实验,能大大地减少花费的时间和精力。但是制作感光板的过程也是一个挑战,它讲究的是耐心和技术,一不小心,之前所做的功夫就很有可能被白白的浪费掉。而且,通过此次制作感光板,我也大大地感受到高新技术的作用,我们不断地对世界对社会对知

20、识进行探索,其目的不就在于让我们生活的世界变得更加的简单方便快捷美好吗?成功地制作出感光板后,焊接实物就不是一个问题,但是最最困难的还不是制作感光板,而是程序的编写。本来在上一学年中,自己对汇编就学得不怎样好的了,现在到了真真正正地使用到它的时候,就更加感觉到力不从心了,不过,办法总是比困难多的。虽然使用汇编语言对于我来讲是困难了点,但是我可以选择用C语言来编写程序。可是一波未平一波又起,工具问题虽然是解决了,但是凭我现有的C语言水平编写此次课程设计的程序还是有一定的难度的。我了解到同学中有几个人的C语言还是很好的,于是乎,我就鼓起勇气,不断地向他们请教,不懂就问,不懂就找资料,终于,在自己的

21、坚持不懈之下,一段段程序终于从我手中完成了,更让我觉得高兴的是,在调试的过程中,虽然也有很多问题,但是都能比较顺利地解决了。在此次课程设计中,我受益匪浅,尤其是在操作方面。在感光板的制作过程中、实物的焊接过程中,很多细节都是同学提醒和注意的。跟同学一起协作,真的是学到很多东西,不管是合作精神、探讨热情,还是学习方法、学习态度,同学都给我很大的感触,让我了解到一个人努力了、付出了,就一定会有收获。最后,是此次课程设计的不足之处。最最明显的就是没有仿真数据,对于课程设计来讲,没有仿真数据的前提下制作实物其实是一个挺冒险的行为。其次,便是此次课程设计的功能较单一,而且是用单片机芯片做的,没能做到创新。希望自己在以后的学习中,要注意培养自己创新这一方面的能力。实物照片

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1