数字温度表(B题)报告
参赛单位:指挥军官基础教育学院二大队五队 参赛选手:缪昭勇 郑新平 徐康乐
数字温度表(B题)设计报告
摘要
本系统由中央控制模块、温度探测模块、声光报警电路、温度时间数字显示、温度控制输出五大部分组成。单片机最小系统以51系列单片机为核心,外围扩展了7段码显示器、液晶显示器、按键、RAM、串行EEPROM等外设;温度探测模块由多路(两路)数字温度传感器DS18B20构成;声光报警电路由蜂鸣器加发光二极管构成;温度时间数字显示在最小系统中的LCD中实现;温度控制输出也是通过单片机最小系统的按键和LCD界面操作提示完成。系统的整体性能达到了设计要求,界面设计人性化,使用方便,工作稳定。
关键词:单片机 LCD DS18B20 声光报警 温度输出 一、 系统整体方案
1、 系统整体结构
根据题目要求,本系统由中央控制模块、温度探测模块、声光报警电路、温度时间数字显示、温度控制输出五大部分组成。整体框图如图1。 温度时间数字显示 中央控制温度探测模块 声光报警电路 模块
温度控制输出
图1 系统整体框图
2、 中央控制模块方案
方案一:选用的单片机最小系统是由国防科技大学电子技术实验中心根据多年的实验教学及竞赛辅导经验精心研制开发成功的。该小系统以51系列单片机为核心,外围扩展了7段码显示器、液晶显示器、按键、RAM、串行EEPROM等外设,功能齐全、结构小巧。
方案二:采用MCS52单片机、SMG12864C液晶显示屏、EEPROM、12M晶振、键盘搭建单片机小系统。基本上与科大电子技术实验中心研制的单片机最小系统大体相同。
终上所诉采用方案一,选用由国防科技大学电子技术实验中心研制的单片机最小系
统,功能全面,使用方便。若选择重新搭建小系统,则浪费精力和人力。
3、 温度探测模块方案
方案一:采用模拟量温度传感器AD590测温,再经过AD转换,结果存储到单片机最小系统的EEPROM中。模拟温度传感器AD590的测温范围为-55?C ~+150?C,温控点步长为0.2?C,只满足题目的基本设计要求,而没有达到扩展部分所要求的0.1?C的测温精度。并且由于是模拟量输出,需要增加一级AD转换。
方案二:采用数字温度传感器DS18B20测温,数字温度传感器DS18B20支持“一线总线”接口,测温范围为-55?C ~+125?C,精度为±0.5?C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。在3V~5.5V的电压范围内可用。DS18B20可以程序设定9~12位的分辨率,可分辨温度分别为0.5?C、0.25?C、0.125?C和0.0625?C,实现高精度测量,满足扩展部分的分辨率要求0.1?C。
通过比较可知采用方案二能满足要求,选用数字温度传感器DS18B20适合本题,可实现实时测温、存储。
4、声光报警电路方案
方案一:采用发光二极管加蜂鸣器构成声光报警电路。由数字温度传感器DS18B20测得的温度存储在单片机最小系统的片外RAM中,设置好上、下限温度,将测得的温度与设定的限温进行比较,当测得的温度超过上限或下限温度时,由单片机的I/O口发出信号,点亮发光二极管,同时使蜂鸣器发出声音,达到报警效果。
方案二:采用发光二极管加语音芯片构成声光报警电路。发光二极管的点亮与方案一相同。采用语音芯片ISD1790,首先将语音芯片电路设置为录音模式,而后将报警声音录入芯片内,在将语音芯片置为放音模式,当温度传感器DS18B20测得的温度超过上下限温度时,单片机发送信号使语音芯片播放录入的报警声音信号,达到声光报警的效果。
但由于系统所需的报警只是起警示作用,故而使用语音芯片浪费了资源,虽然效果较蜂鸣器较好,但从成本的角度考虑,蜂鸣器能满足要求并且成本低廉,因此采用方案一即可实现声光报警的效果。
5、 温度、时间数字显示方案
方案一:时间的显示在LCD液晶显示器中显示,温度的显示在LED7段码显示器中显示。单片机将读入的温度存储在单片机最小系统的片外RAM中,将时间存储在片外RAM中,从RAM中读出时间在LCD液晶显示器中显示,再读出实时测得的温度在LED7段码显示器中显示。LED7段码显示器共有8位,温度传感器有两路,因此在显示时前四位显示第一路,后四位显示第二路,分辨率设置为0.1?C。
方案二:时间和温度都在LCD液晶显示器中显示,这样的显示结果是一目了然,方便读数。但由于在LCD液晶显示器中显示字幕在一定程度上增加了程序的负责性,并且由于S52单片机的程序容量为2KB,在LCD液晶显示器中显示字幕使程序过于庞大,
占用单片机内存空间。
因此,选用方案一,使时间在LCD液晶显示器中实时显示,两路温度传感器测得的温度在8位的段码显示器中显示,提高单片机运行速度,降低程序的复杂性。
6、 温度控制输出方案
方案一:采用软件设计,通过按键输入所要调出的测温时刻。由软件编程实现,通过键盘选择温度控制输出菜单,此时会出现一个初始时间值,再通过按键上下调动时间至所需调出的时间,确认后单片机调出存储在片外RAM中的对应的温度值,在LED7段码显示器显示。由于系统设计为顺时测温并保存,每隔一分钟将所测的温度保存一次,因此可以调出所需的以分为单位的温度记录。达到题目扩展部分的要求。
方案二:同样通过软件编程实现,由于测温时是顺时保存,每隔一分钟将所测的温度值存储在单片机最小系统的EEPROM中,通过软件编程实现从EEPROM中调出自动测量的时间值和测量时刻。单片机最小系统的片外RAM容量是32KB,而EEPROM的容量使16KB,从存储容量来看,片外RAM的容量要多出EEPROM一倍,且数据存入和读出片外RAM的速度要快于EEPROM。 通过比较我们采用方案一,将时间和温度存储在单片机最小系统的片外RAM中,存储的时间快,可以实现实时存储,减少了系统误差。在片外RAM中的时间和温度值的存储量要多出EEPROM一倍。
二、 理论分析与计算
1、 时间的显示控制参数设计
题目中要求实时显示时间,我们采用LCD液晶显示器显示。单片机最小系统中的晶振为12MHz,通过单片机内部的计数器计数进行定时。系统采用的定时为50ms,即定时器每隔50ms向单片机发出一个脉冲,单片机计算脉冲个数,从而实现实时显示时间。定时器以工作方式工作时的计数范围时1~216(65536),因此可知最小的定时时间为
1616tmin??2?(2?1)????1?10?6?12?1?s 12由此最大的定时时间为
tmin?(216?1)?1?10?6?12?65.5ms 12要以50ms作为定时时间则计数值=216?50?10?3?106?15536,用十六进制数表示为3CB0。定时器定时为每隔50ms向单片机发送一个脉冲,则单片机每变化1秒所需接收由定时器发送的脉冲个数为n?1/50?10?3?20。从而实现单片机控制LCD液晶显示器实时显示测温时间。
2、 温度控制输出设计
相关推荐: