您好,欢迎访问三七文档
1扬州大学能源与动力工程学院课程设计报告题目:数字温度计的设计课程:单片机原理及应用课程设计专业:电气工程及其自动化班级:电气1202班姓名:学号:2第一部分任务书3《单片机原理及应用》课程设计任务书一、课题名称硬件设计题目五:数字温度计的设计二、课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。《单片机原理及应用》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。单片机原理及应用课程设计的目的是让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。三、课程设计内容设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的软硬件调试。1.系统方案设计:综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进行总体方案的设计。2.硬件电路设计:对方案中以单片机为核心的电路进行设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图。3.软件设计:根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。4.调试:在单片机周立功实验箱上进行相关设计并调试。四、课程设计要求1.学习DS18B20功能与使用方法;2.每秒采集一次温度并在LED上显示;3.具有显示最高与最低温度的功能;4.设计硬件原理图;5.编写程序。五、进度安排4序号内容天数1布置任务,熟悉课题要求0.52总体方案确定,硬件电路设计1.53软件编程1.54在周立功实验箱上调试25总结,撰写课程设计报告1.5七、课程设计报告内容:总结设计过程,写出设计报告,设计报告具体内容要求如下:1.课程设计的目和设计的内容。2.课程设计的要求。3.控制系统总框图及系统工作原理。4.控制系统的硬件电路连接图,电路的原理。5.软件设计流程图及其说明。6.电路设计,软件编程、调试中遇到的问题及分析解决方法。7.实验结果及其分析。8.体会。5第二部分课程设计报告6目录1课题简介………………………………………………………………11.1目的……………………………………………………………………………………………11.2任务……………………………………………………………………………………………11.3要求……………………………………………………………………………………………12方案设计………………………………………………………………12.1总体设计………………………………………………………………………………………12.2设计思路………………………………………………………………………………………12.3工作原理………………………………………………………………………………………23硬件电路设计…………………………………………………………23.1主控电路设计…………………………………………………………………………………23.2显示电路设计…………………………………………………………………………………23.3温度采集电路设计……………………………………………………………………………34系统软件编辑设计……………………………………………………64.1系统软件设计流程图…………………………………………………………………………64.2单总线软件设计………………………………………………………………………………64.3I2C总线软件设计……………………………………………………………………………65实验与结果分析………………………………………………………85.1系统结果显示…………………………………………………………………………………85.2实验注意事项…………………………………………………………………………………86小结与体会……………………………………………………………9参考文献…………………………………………………………………10附录………………………………………………………………………101数字温度计的设计1课题简介1.1目的:熟练掌握单总线方式器件DS18B20的应用,熟悉I2C总线协议,学习I2C器件ZLG7290的使用方法。并能把它们结合,组成数字式温度计。1.2任务:设计一个数字温度计1.3要求:1.学习DS18B20功能与使用方法;2.每秒采集一次温度并在LED上显示;3.具有显示最高与最低温度的功能;4.设计硬件原理图;5.编写程序。2方案设计2.1总体设计图1系统框图2.2设计思路系统在温度采集时主要应用了DS18B20芯片,该器件经过初始化后单片机首先进行ROM匹配,当收到测温器件发回的信号时证明该器件正常工作,接着单片机发送温度转换命令进行温度采集,测温的精确度很高。设计中还应用了ZLG7290芯片进行数码管显示的驱动,一共应用了6位数码管。图2设计思路MCUAT89C51ZLG7290显示控制数码管显示DS18B20温度采集温度采集温度值显示比较判断温度值报警是否22.3工作原理如图1所示基于单总线和I2C结合的温度采集与报警控制系统框图。系统利用单片机做主控制器,驱动基于单总线的温度传感器DS18B20和基于I2C总线的ZLG7290数码管显示控制器,温度传感器DS18B20负责采集实时温度值,ZLG7290作为显示数码管的驱动芯片,当采集到的温度值大于40度或小于10度时,数码管进行频闪显示报警。单片机完成对温度的检测,实现安全温度内正常显示温度值,超出设定的温度上下限进行频闪报警。3硬件电路设计3.1主控电路设计本系统采用AT89C51单片机作为主控制器。AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。设计电路如图:3.2显示电路设计显示电路采用两只6位共阴LED数码管和数码管的驱动芯片ZLG7290。3.2.1四位数码管图3数码管的外形尺寸3图3数码管的引脚排布注:管脚顺序:从数码管的正面看,以第一引脚为起点,管脚的顺序是逆时针排列的。A-11B-7C-4D-2E-1F-10G-5DP-33.2.2数码管的驱动芯片ZLG7290ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能,并可提供10种数字和21种字母的译码显示功能,用户可以直接向显示缓存写入显示数据,而且无需外接元件即可直接驱动数码管,还可扩展驱动电压和电流。此外,ZLG7290B的电路简单,使用也很方便。用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。正常情况下,微控制器只需要判断INT引脚就可以得到键盘输入的信息。微控制器可通过两种方式得到用户的键盘输入信息。其一是中断方式,该方式的优点是抗干扰能力强,缺点是要占用微控制器的一个外部中断源。其二是查询方式,即通过不断查询INT引脚来判断是否有键按下,该方式可以节省微控制器的一根I/O口线,但是代价是I2C总线处于频繁的活动状态,消耗电流多并且不利于抗干扰。由于采用了I2C总线接口,因而用ZLG7290与微控制器设计电力仪表的硬件电路连接非常简单。它只需要两根信号线(一根数据线SDA,一根时钟信号线SCL)。但应注意进行I2C通信的双方要共地,并应用,INT传递键盘中断信号。微控制器通过RST可以将ZLG7290复位。设计电路如图:3.3温度采集电路设计DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。4减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。表1一部分温度对应值表温度/℃二进制表示十六进制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.51111111111110000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90H另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。3.3.1DS18B20详细引脚功能描述见下表。序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。3.3.2通信过程:(1)主机拉低单总线至少480us产生复位脉冲;(2)主机释放单总线,进入接收模式,释放时产生上升沿;(3)单总线器件检测到上升沿,延时15-60us;(4)单总线器件通过拉低总线60-240us来产生应答脉冲;(5)主机接受应答信号,对从机ROM进行命令和功能命令操作;所有读写时序至少60us,两个独立的时序间至少1us回复时间。3.3.3DS18B20的基本参数DS18B20的64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入
本文标题:数字温度计的设计
链接地址:https://www.777doc.com/doc-2388121 .html