[强烈推荐]基于单片机的万年历设计毕业论文设计 - 图文(3)

2019-06-05 09:35

年、月、日等的更新,编程相对来说较为复杂。另外由于单片机内部时钟产生的秒脉冲容易受到温度漂移的影响和执行复杂程序时的延时的影响,而使得定时计数器会产生不定的误差,即使设计时间误差补偿程序也很难实现提供准确的时间的功能。并且这种设计还有一个最大的缺点就是如果单片机断电,时间就会停止,再次上电后时间又会回到初始设定的时间,又要对其调时,比较麻烦。

方案二:采用美国DALLAS公司生产制造的DS1302实时时钟芯片作为系统时钟芯片。DS1302是由美国DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AMPM 指示决定采用24或12小时格式。DS1302与单片机间能简单地采用同步串行的方式进行通信,仅需用到三个口线:(1)RES(复位),(2)IO(数据线),(3)SCLK(串行时钟),从而解决了由并行时钟芯片使得电路复杂的问题。时钟RAM的读写数据以一个字节或多达 31 个字节的字符组方式通信,DS1302 工作时功耗很低,保持数据和时钟信息时功率小于 1mW。但是,DS1302时钟芯片没有内置电池,在电路掉电的情况下不能继续计时,而且在上电的时候需要校准时间。其内部也没有振荡器,需要外接时钟震荡器方可使用,从而使得外围电路较为复杂 。

方案三:采用美国DALLAS公司生产制造的DS12C887实时时钟芯片作为系统时钟芯片。DS12C887是美国DALLS公司生产的一款实时时钟芯片,该器件提供RTC∕日历、定时闹钟、三个可屏蔽的中断和一个通用的中断输出、可编程方波以及114字节电池备份的静态RAM。少于31天的月份,月末可自动调整,其中包括闰年补偿。该器件还可以工作于24小时

或带AM∕PM指示的12小时格式。一个精密的温度补偿电路用来监视VCC的状态,一旦主电源故障,或断电,该器件可以自动切换到内部锂电池供电,保证了时钟的正常工作,不至于使时间出乱。该器件支持Intel和Motorola两种总线模式,内部集成了石英晶体震荡器和涓流充电的锂离子电池,极大的减少了外围电路,且使用起来方便。因此在嵌入式、电表、安全系统、网络集线器、网桥、路由器等等方面得到了广泛的运用。

比较以上三种方案可以看出,第三种方案更加准确而外围硬件电路设

计也相对简单,软件设计也相对简洁,因此决定选择第三种方案。 2.2显示器件的选择

方案一:采用由长沙太阳人电子有限公司设计生产制造的LCD液晶。该器件重量轻、体积小、功耗低(约10-15Mw)、显示内容丰富、指令功能强(可组合成各种输入、显示、移位方式以满足不同的设计需求)、接口简单方便(可与8位处理器或微控制器相连)、工作温度宽(0-50℃)、可靠性高(寿命为50000小时(25℃时))等优点;该器件在显示上更加灵活,而且改变显示时只要改变显示程序就可以,不用改变硬件电路的设计,易于电路功能的扩展。但是唯一的缺点是要是显示内容较少时,价格略显得昂贵些。

方案二:采用普通的8位LED数码管作为显示器件。该器件显示较为明显清晰反应速度较快,价格便宜,在显示位数较少时性价比较高。但是,如果显示内容较多时,LED数码管显得较为麻烦,软件设计较为复杂,电路设计较为复杂,占用单片机IO口较多,且耗能较强,显示位数有限,不利于电路的扩展。

比较以上两种方案可以看出,第一种方案较为适合。无论从现实灵活方面、耗能等方面。因此本设计采用第一种方案。

3.单元电路设计

3.1 DS12C887时钟电路设计 3.1.1 DS12C887时钟芯片概述

DS12C887是美国DALLS公司生产的一款实时时钟芯片,该器件提供RTC∕日历、定时闹钟、三个可屏蔽的中断和一个通用的中断输出、可编程方波以及114字节电池备份的静态RAM。少于31天的月份,月末可自动调整,其中包括闰年补偿。该器件还可以工作于24小时或带AM∕PM指示的12小时格式。一个精密的温度补偿电路用来监视VCC的状态,一旦主电源故障,或断电,该器件可以自动切换到内部锂电池供电,保证了时钟的正常工作(在没有VCC的+25℃环境下,电池容量可为振荡器和寄存器供电长达五年之久),不至于使时间出乱。该器件支持Intel和Motorola两种总线模式,内部集成了石英晶体震荡器和涓流充电的锂离子电池,极大的减少了外围电路。 3.1.2.时钟精度

时钟精度依赖于石英晶体精度和振荡器电路容性负载与石英晶体震荡容性负载之间的匹配度,温度变化所引起的石英晶体频率漂移会导致额外的误差,耦合到振荡器电路中的外部电路噪声会使时钟速度加快,本时钟出厂时经过校准,在+25℃环境下运行每月误差为±1分钟。 3.1.3时钟、日历和闹钟单元

时钟和日历信息可以通过读取相应寄存器字节获得,通过写相应的寄存器字节对时钟进行初始化,存储时间、日历和闹钟的10个字节内容可以是二进制格式如图3.1.1(a),也可以是BCD码格式如图3.1.1(b),星期寄存器在午夜加1,从1递增到7,夏时令功能用到了星期寄存器,因此1被定义为星期天,少于30天的月份,月末可自动调整,其中包括闰年补偿。

在写内部时钟、日历和闹钟寄存器前,须将寄存器B的SET位设为逻辑1,以防止意外的读写操作引起时钟的更新,除了所选的格式写入10个字节的时钟、日历和闹钟寄存器外,寄存器B的数据模式位(DM)必须置为适当的逻辑值。所有10个时钟、日历和闹钟字节必须使用相同的数据模式,写入数据模式后寄存器B的SET位应该清0,以允许RTC更新时钟和日历数据,一旦初始化完成,RTC将使用所选的模式更新所有的数据。将闹钟的时间正确写入时、分、秒闹钟单元,且闹钟使能位设为高,则每天在指定的时间都会触发闹钟中断。在此模式中,闹钟寄存器和相应的时钟寄存器“0”位必须总是写入0.

3.1.1图(a)

3.1.1图(b)

3.1.4.控制寄存器

DS12C887有4个控制寄存器,在任何时间都可以进行访问,即使处于更新周期。 控制寄存器A :

(1)第0位到3位:为速率选择器,这四个速率选择位用来选择15级分频器的13种分频之一或禁止分频器输出。

(2)第4位到6位:用来启动或关闭振荡器,并复位计时链。010是唯一打开振荡器并允许RTC计时的位组合形式,11×组合使能振荡器,但将计时链保持在复位状态,010写入DV0、DV1、DV2后500ms进行下一次更新。

(3)第7位:该位是可监视的状态标志位,改位为1时,立即进行更新传输,该位为0时在至少244uS的时间内不会进行更新传输。该位为0时


[强烈推荐]基于单片机的万年历设计毕业论文设计 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:煤矿生产能力(含核定资质)管理办法及核定标准

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

马上注册会员

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