计时芯片采用DALLAS公司的涓流充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机通信。时钟/日历电路可实时提供年、月、日、时、分、秒信息,采用双电源供电,在外部电源断电时可利用备用电池准确计时。温度检测采用DALLAS公司的数字温度传感器,该芯片采用独特的“一线总线”方式与单片机通信,一线总线独特、经济的特点使用户可以轻松组建传感器网络,为测量系统的构建引入了新的理念。实时温度采用一线总线传输,大大提高了信号的抗干扰能力,分辨率可通过软件设置,体积小巧,为各种环境下的温度测量提供了方便。显示设备采用通用的1602液晶,可显示32个字符,如果采用数码管作为显示设备,将占用大量的系统资源。 所以采用低功耗的1602液晶,液晶显示方便,功能强大,完全可以满足数字万年历的显示。通过本次设计,可以更加牢固的掌握单片机的应用技术,增强动手能力、硬件设计能力、软件设计能力。设计任务:利用单片机、时钟芯片DS1302、温度传感器DS18B20、1602液晶等实现日期、时间、温度的显示,即一个简单的万年历。
1)DS1302可以精确测量时间,并且可以在LCD上调整和显示时间。 2)DS18B20可以实时准确地检测当前环境温度。 3)利用单片机自身的功能实现闹钟。 总体方案论证与设计 本系统采用AT89S52单片机作为控制核心,与DS1302DS18B20进行通信,获取实时时间和实时环境温度,并通过1602 LCD显示获取的数据。同时通过相应的按键调整相应的数值。因此本设计可以分为以下几个模块:显示模块、实时时间计算模块、实时环境温度采集模块、报警模块、设置模块(时间设置模块、最高温度设置模块、报警设置模块)。下面对各个模块进行逐一论证与分析。 液晶显示模块方案(1): 数码管是利用发光二极管的特性组成的数字显示装置。 通过控制相应二极管的状态来显示相应的数字。要使数码管正常显示,必须有驱动电路来驱动相应的段码。数码管的显示方式可分为静态显示和动态显示,静态显示方式只适合显示单个数字,因此本设计应采用动态显示方式。由于动态显示方式利用了人的视觉暂留特性,扫描时间不能超过20毫秒,占用系统资源较多,而且显示的个数和字型有限,在本设计中不便于采用。解决方案(2):1602液晶屏又叫1602字符液晶屏,是专门用来显示字母、数字、符号等的点阵液晶模块,由若干个5X7或5X11的点阵字符位组成,每个点阵字符位可显示一个字符。
各位之间有点间距,每行之间也有点间距,起到字符间距和行间距的作用。1602驱动电路有11条指令,可以很方便地控制液晶的实际效果,如:清屏、左右移位、光标显示等。而且1602显示的字符在下一条指令到来之前不会改变,即可以保持显示的字符,1602液晶占用系统资源较少。综合比较以上两种方案,本设计的显示模块宜采用1602液晶。实时时间计算模块方案(1):AT89S52单片机内部带有定时/计数功能,此定时功能通过对外部晶振的脉冲进行计数来实现定时功能,只要采用11.0592晶振,就可以实现零误差定时。 因此可以利用该功能来实现计时,但由于计时功能只有单一,要实现“万年历”功能则需要较复杂的程序,而且如果单片机断电则不能继续计时,使用不方便。解决方案(2):DS1302是美国DALLAS公司推出的一款高性能、低功耗实时时钟芯片,它具有附加的31字节静态RAM,采用SPI三线接口与CPU通信,可以采用突发模式一次传输多个字节的时钟信号和RAM数据。实时时钟可以提供秒、分、时、日、周、月、年,可自动调整31天的时钟,并具有闰年补偿功能。工作电压宽达2.5~5.5V,采用双电源(主电源和备用电源),可设置备用电源充电模式,提供对备用电源进行涓流充电的能力。
利用单片机强大的控制功能可以实现实时定时功能,而且消耗系统资源少,程序简单,综合以上两种方案,建议采用该方案实现实时定时功能。3、实时环境温度采集模块方案(1):热敏电阻是开发较早,种类较多,比较成熟的敏感元件。热敏电阻由半导体陶瓷材料构成,利用温度引起电阻变化的原理。通过一定的电路,可以将周围环境的温度变化转换成电压变化,通过AD转换装置将该信号传送给单片机进行分析,从而测得当前环境温度,但误差较大,不稳定,对环境要求较高。方案(2):DS18B20是美国DALLAS公司生产的数字温度传感器,采用单总线