基于单片机的数字温度计设计(附代码及仿真)

2019-03-04 13:15

基于STC89C52的数字温度计

基于STC89C52的数字温度计

目录

1、 绪论………………………………………………………………………………...……….3

2、 方案选择

2.1、主控芯片选择 …………………………………………………………………………3 2.2、显示模块…………………………………………………………….………………...3 2.3、温度检测模块………………………………………………………………………..4

3、 系统硬件设计

3.1、51单片机最小系统设计……………………………………………………….4 3.2、电源供电电路设计…………………………………………………………..……5 3.3、LCD显示电路设计…………………………………………………………..…….6 3.4、温度检测电路设计…………………………………………………….….………7 4、 系统软件设计

4.1、温度传感器数据读取流程图………………………………………..……...9 4.2、系统程序设计……………………………………………………………………….10 5、 编程和仿真

5.1、Keil编程软件…………………………………………………………………..…..11 5.2、proteus………………………………………………………………………………...11 5.3、仿真界面……………………………………………………………………………..11 6、 总结…………………………………………………………………………..…..……..12 7、 附录

附录1、原理图………………………………………………………………………….12

1

基于STC89C52的数字温度计

附录2、程序清单……………………………………………………………………..13

1、绪论

在信息高速发展的21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。温度和人们的生活息息相关,温度的测量也就变得很重要。

2、系统方案选择

2.1 主控芯片选择

方案一:STC89C52RC

STC89C52RC是采用8051核的ISP在线可编程芯片,最高工作时钟频率80MHz,片内含8KB的可反复擦写1000次的Flash只读存储器,器件兼容MCS-51指令系统及8051引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在线可编程特定,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟周期、高速、低功耗的新一代8051单片机。

方案二:ATmega8

ATmega8是ATMAL公司在2002年第一季度推出的一款新型AVR高档单片机。在AVR家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGA系列的全部性能和特点。但由于采用了小引脚封装(为DIP28和TQFP/MLF32),所以其价格仅与低档单片机相当,再加上AVR单片机的系统内可编程特性,使得无需购买昂贵的仿真器和编程器也可进行单片机嵌入式系统的设计和开发,同时也为单片机的初学者提供了非常方便和简捷的开发环境。

由以上两种方案进行比较,我们选择STC89C52RC作为主控芯片,因为该芯片是入门级单片机,我们对该款单片机比较熟悉,而AVR单片机较为高端,这次的设计用STC89C52已经足够使用,引脚也够用,故用STC89C52作为主控芯片。STC89C52RC价格低廉,一般5元以内可以买到,在通银买也很方便。

2.2 时钟及显示模块

方案一:数码管

数码管亮度高,显示大,特别是显示的时间很直观,价格比较便宜,但多位的数码管在动态扫描的时候会出现闪烁。而且数码管占用的位置较大,且比较耗电。

方案二: 1602液晶屏

1602液晶屏显示清晰且不会闪烁,在需要时还可以输出字符等内容,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。1602LCD液晶显

2

基于STC89C52的数字温度计

示屏的功耗主要消耗在其内部的电极和驱动IC 上,因而耗电量比其他显示器要少得多,功耗较低。由于其内部集成有显示芯片,程序编写简单,适用于多方面的应用。

因此由以上两种方案进行比较,我们选择方案二来设计显示模块。1602液晶显示屏网上可购买的途径较多,价格一般在10元以内,重庆育森电子网店价格为8.5元。通银那也有,不过可能价格要15元左右。

2.3 温度检测模块

方案一:热敏电阻+AD模块

本方案使用热敏电阻之类的器件(如AD590等模拟温度传感器)利用其感温效应,在将随被测温度变化的电压或电流采集出来,进行A/D转换后,就可以利用单片机进行数据的处理,在显示电路上可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

方案二:DS18B20

DS18B20数字温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。它在实际应用中不需要外部任何元器件即可实现测温,测量温度范围在-55到+125摄氏度之间,

由以上两种方案进行比较,我们选择方案二来设计温度检测模块。其中DS18B20网上报价约为5元,其中,重庆育森电子的网店较为便宜,为4.5元。通银也有卖,价格稍微高点。

3、系统硬件设计

3.1 51单片机最小系统设计

单片机最小系统如下图所示:

3

基于STC89C52的数字温度计

以STC89C52单片机为核心,选用12M的晶振,这是最常用的选择,外接电容没有特别的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pf的电容作为起振电容。复位电路为按键低电平复位,当按键按下,RET端为高电平,当高电平持续4us的时间就可以使单片机复位。这里尤其要注意的是晶振和电容的位置,它们距离单片机引脚越短越好,因为太长可能无法使单片机起振。另外是EA端一定要接上电源,使单片机能够工作。

3.2 电源供电电路设计

电源供电电路如下图所示:

4

基于STC89C52的数字温度计

我们采用4节1.5V的电池作为电源,LM2940为稳压芯片,稳压芯片两端分别接两个0.1uf和100uf的电容进行滤波,以获得更稳定的电压。D1为电源指示灯,当开关打开,显示灯亮,表示给电路供+5V电压。其中,LM2940作为常用的稳压芯片,比7805的转换效率要高,7805直接输入不接输出的情况下,其内部会有3mA的静态电流消耗,而2940的静态电流比7805要小的多,故选择LM2940作为稳压芯片。

4节电池装在电池盒中,在电路板下方安装,使用两套螺丝。

3.3 LCD显示电路设计

1602LCD液晶屏显示电路如下图所示:

1602LCD液晶屏为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字。液晶1、2端为电源;15、16为背光电源;为防止直接加5V而烧坏背光灯,在15脚串联一个1K电阻晶3端为液晶对比度调节端,通过一个10K的电位器来调节液晶显示对比度。用于限流。液液晶4端为向液晶控制器写数据/写命令选择端,接单片机P1.0端口。液晶5端为读/写选择端,因为我们不需要从液晶中读取数据,只向其写入命令和数据,因此此端始终选择为写状态,即低电平接地。液晶6端为使能信号,是操作必须的信号,接单片机的P1.1口。

3.4 温度检测电路设计

温度检测电路如下图所示:

5


基于单片机的数字温度计设计(附代码及仿真).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:超声波分离提取法在食品工业中的应用现状研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: