《单片机技术及应用》课程设计报告封面、任务书之温度计_第1页
《单片机技术及应用》课程设计报告封面、任务书之温度计_第2页
《单片机技术及应用》课程设计报告封面、任务书之温度计_第3页
《单片机技术及应用》课程设计报告封面、任务书之温度计_第4页
《单片机技术及应用》课程设计报告封面、任务书之温度计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计报告题目: 数字式温度计的设计 姓 名 蔡卓杰 学 号 20133304006 班 级 13级电子信息工程系1班 指导教师 李可长 完成时间 2015年1月10日 单片机技术及应用课程项目设计任 务 书设计课题:以单片机为核心器件,设计一个数字式温度计。设计任务: 1.测量并显示温度值, 温度测量误差1 。2. 测量范围:0100 。3. 用LCD显示当前测量的温度。4. 可以通过按键设置上下限报警温度。5. 当测量的温度超过设定的上、下限温度时,能启动蜂鸣器和指示灯报警。 设计要求: 1. 画出仿真电路图并说明电路的工作原理。 2. 画出程序设计流程图。 3. 编写和调试各模块源程序。

2、4. 完成整个项目源程序的综合调试(一) 数字式温度计硬件系统(二) 数字式温度计硬件电路方案论证与选择1. 控制器的选择。控制器是系统控制的中心部件,负责控制与协调各个模块之间进行工作。控制器的类型很多,主要有:a.单片机微控制器,b.FPGA微控制器,c.ARM微处理器。由于单片机算术运算功能强,软件编程灵活,自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低,体积小,技术成熟和成本低等优点,使其在各个领域应用广泛。本系统中,采用STC89C52RC单片机作为整个系统的控制器。2. 测温元件选择。方案一:使用热敏电阻,将被测环境温度的变化转换成电压或电流的变化,经运算放大器放大

3、后,再用A/D 转换芯片进行转换得到数字信号,送到单片机进行数据处理,再送到显示电路,就可以将测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较复杂。方案二:用DS18B20温度传感器进行温度的检测。它能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而,使用DS18B20可使系统结构更趋简单,可靠性更高。通

4、过比较选择方案二3. 显示电路的选择方案一:LED数码管显示 优点:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。 缺点:数码管的只能显示简单的数字,其电路复杂,占用资源较多,显示信息少,不宜显示信息量大的特点。方案二:采用LCD1602液晶显示器 可以显示各种英文及数字,微功耗,尺寸小,超薄轻巧,显示信息量大,字迹美观,视觉舒适,而且容易用单片机进行控制。经比较选择LCD1602液晶显示器作为显示器件。3. 键盘输入方案选择。方案一:采用独立式按键,独立式按键是各按键相互独立,每个按键占用一根I/O端线,每根I/O 端线上的按键工作状态不会影响其它I/0端线上按键的工作状态,

5、且电路结构简单,配置灵活。适用于电路所需按键个数较小的场合。方案二:采用矩阵式键盘,矩阵式键盘I/O端线分为行线和列线,按键跨接在行线和列线,经限流电阻接在+5V电源上,电路相对比较复杂。适用于按键个数较多的场合。本设计所需要按键个数较少,故选择方案一4. 声光报警电路的选择方案一:用NE555构成振荡器,驱动蜂鸣器和发光二极管进行声光报警。方案二:直接从单片机I/O口输出脉冲,使用三极管驱动蜂鸣器、发光二极管进行声光报警。(三) 数字式温度计硬件电路设计电路中用0#、1#键作为温度最高限、最低限的设定功能键;2#、3#键作为温度值设定的增加和减小功能键。0#键:作为最高限温度的设定功能键。按

6、一次进入最高限温度设定状态,选择最高限温度值后,再按一次确认设定完成1#键:作为最低限温度的设定功能键。按一次进入最低限温度设定状态,选择最低限温度值后,再按一次确认设定完成。2#键:1功能键,每按一次将温度值加1,范围为199。3#键:1功能键,每按一次将温度值减1,范围为991。DS18B2简介:美国美信(Maxim)公司生产的单线数字温度传感器DS1820,可把温度信号直接转换成串行数字信号供微机处理。 DS18B20的主要特性:适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与D

7、S18B20的双向通讯支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。温范围55125,在-10+85时精度为±0.5 可编程的分辨率为 912 位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力负压特性:电源极性接反

8、时,芯片不会因发热而烧毁,但不能正常工作。DS18B20内部结构:主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 温度测量以后的计算: 以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。转换得到的数据存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,如果温度小于0,这5位为1。对应的温度计算:当符号位S=0时,整数部分温度值直接将bit4至bit10的7位二进制位转换为十进制即可,小数部分温度由bit0至bit3的4位二进制数乘于0.06

9、25 即可;当S=1时,先将测到的数值取反加1变为原码,再计算温度值。计算出的部分温度对应值表DS18B20温度传感器的存储器:存储器由9个字节组成,其分配如右表所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,第九个字节是冗余检验字节。 配置寄存器:低五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如右表所示:(DS18B20出厂时被设置为12位) 操作步骤:根据DS

10、18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作复位成功后发送一条ROM指令最后发送RAM指令这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。ROM指令表RAM指令表18B20的控制时序图。1:初始化时序2:写时序3:读时序(四)数字式温度计软件系统程序设计1.软件设计(1) 温控系统采用模块化程序结构,可以分成以下程序模块: 系统初始化程序:首先完成变量的设

11、定、输入输出口、液晶显示初始化工作。 主程序main():完成键盘扫描、温度值采集及转换、温度值的显示。当温度值高于设定最高限时或低于设定最低限时,驱动声光报警电路进行报警。 键盘扫描程序KEYSCAN:完成键盘的扫描并根据确定的键值执行相应的功能,主要完成最高温度、最低温度的设定. 温度采集程序Get_Tmp():完成DS18B20的初始化并发出温度转换命令,经过指定时间后读取转换的温度值。根据DS18B20的通信协议,主机控制DS18B20完成温度转换必须经过3个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行

12、预定的操作。复位要求CPU将数据线下拉500 s,然后释放。DS18B20收到信号后等待1660 s左右,后发出60240 s的存在低脉冲,CPU收到此信号表示复位成功。 温度数据处理程序data_process(uint tmp) :将采集到的温度值转换成便于液晶显示的ASCII码值。 液晶显示字符串子程序void LCD_write_string(uchar X,uchar Y,uchar *s):显示实时温度及设定温度值。 DS18B20初始化子程序void Init_Ds18b20(void):DS18B20在工作之前必须按照指定的要求完成初始化工作,否则无法正常工作。 DS18B20

13、读写子程序uchar Read_One_Byte() 、void Write_One_Byte(uchar dat)完成对18B20的读写功能。 延时程序void delay(uchar i) 、void delay_nms(uint n)满足18B20要求的延时间隔及其它子程序中的延时功能。 18B20测量温度并用LCD1602显示温度参考程序函数声明比较精确的延时函数n毫秒延时函数液晶初始化函数液晶使能函数写命令或写数据函数设置显示地址函数写字符串函数DS18B20初始化读取一个字节的数据温度转换子函数将转换得的温度值转换成ASCII码子函数主函数(五)项目分析与总结(1) 该项目主要是以

14、DS18B20为例,训练单片机应用系统与外围应用系统或部件组合的综合设计、分析与调试方法。学会分析和掌握专用芯片或器件的功能、控制方法和编程技巧,能根据专用芯片或部件的技术资料、读写时序要求设计硬件接口及软件编程,完成单片机应用系统的整个开发过程。(2) 实训项目中的难点是理解和掌握DS18B20的专用特性和功能,能根据厂商提供的技术资料,编制出相应的初始化程序、读写程序。(3) 程序仍采用模块化结构,键盘、显示、延时子程序可以参照前面项目的子程序,本程序是在前面项目子程序基础上进行简化而成的。 (4) 运行状态采用标志化管理可使程序结构更加简化。在上述程序中,对各按键的操作过程和状态都采用标

15、识位来描述,对于不应具有连动功能的按键采用标志位限制,只有在键盘扫描程序确定没有任何按键按下时才清除按键标志。这样既可以起到按键防抖动的作用,同时还可防止由于误操作或按键习惯问题导致的按键被多次执行的情况。(5) 调试程序时,重点分析和调试DS18B20的初始化及读写程序,严格按照技术资料提供的时序要求,检查时序的前后次序和延时时间,要结合能反映故障存在与否的参数变化、运行路径变化、显示内容变化等选择合适的观测点和观测对象,再运用适当的调试方法,快速地检验调试结果,由此分析和判断出故障点。 (6) 为了能在实训室对温度测量进行测试,可分别设定温度的最高位和最低位分别为36和32(当时的室温)。由于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论