1。3 论文结构
本论文分为 6 部分,论文第一部分简述了电子万年历的发展,现状,本毕业设计的设 计背景,意义;第二部分详细阐述电子万年历的系统软硬件设计方案,讨论可行性;第三 部分详细叙述本设计的具体硬件组成,硬件实现;第四部分详细叙述设计的具体软件设计, 软件组成;第五部分阐述了为确定系统的可靠性而进行的一系列测试调试过程以及具体调 试数据,并对整个设计做了总结;第六部分是论文的附录部分,附注了设计中的实物图、 原理图以及主要程序。
2 电子万年历系统的设计方案
本设计主要是针对家庭生活用型电子设备。因而精度要求不高,但是因为家庭电器更
看重个性化和以及显示信息的实用性,因而本设计在美观大方的设计界面和时间信息丰富 度上做了大量功夫,包括大量美观的 GUI 图案以及农历节气星座等实用信息的显示。本设 计最重要的两部分是时钟模块的方案和显示部分的模块,第二章将阐述本设计这几个主要 部分的方案讨论。
2。1 电子万年历的设计思路
电子万年历首先通过 DS18B20 温度传感器环境的实时测量的温度值以及通过片内 RTC 模块获得实时时钟信号转入 Cortex-M3 内核处理数据,根据数据分别转为实时温度和实时 日期时间信息,再经过软件算法实现农历和节气的转换运算。单片机将数据处理后最后在 TFT 彩频显示时间信息温度信息
本设计是利用独立按键作为输入控制,将控制指令传输进 arm 单片机,同时从温度传 感器获得温度数据。单片机的 Cortex-M3 通过 APB1 总线控制 RTC 时钟模块并且获得实时 时钟数据,最终将数据通过 AHB 总线进入 FSMC 模块然后在 TFT 彩频显示
RTC 时钟模块
APB1 总线
Cortex-M3 内核
AHB 总线 FSMC 模块
图 2-1 系统总体设计框图
2。2RTC 实时时钟系统的设计框图
RTC 实时时钟系统(Real-Time-Clock)是一个独立的计时器,它通过自身一组三十二 位计数器,在相关软件的配置下提供时钟日历,帮助人们通过时间规划日程作息表。RTC 可以通过修改计数器 RTC_CNT 的值来重新设置当前的日期时间。RTC 模块、时钟配置系统 即 RCC_BDCR 寄存器(如图 2-2)都在后备区域,也就是 RTC 的设置和时间在从待机模式唤醒 后或在系统复位后将保持不变,RTC 时钟将上次设置的时间继续运行。为防止对后备区域 即 BKP 的意外写操作,RTC 和后备寄存器会在系统复位后自动禁止访问。因此要先取消对
备份区域 BKP 的写保护才能设置时间。
图 2-2 RCC_BDCR 寄存器描述[4]
图 2-3 RTC 时钟系统框图[4]
如图 2-2 是 RTC 时钟系统的框图,RTC 采用 LSE 分频,也就是时钟输入频率为 32。768KHz,我们看到它主要有 APB1 总线相连的 APB1 接口和后备区域还有 RTC_CR&NVIC 中断控制组层。RTC 内核完全独立于 APB1 总线,软件可以通过 APB1 接口来访问预分频值 和时钟计数器值。实现万年历前,给先对 RTC 的寄存器进行对应配置,RTC 的控制寄存器 有:
图 2-1 RTC_CRH [4]
图 2-2 RTC_CRL [4]
RTC_CRH(如图 2)和 RTC_CRL(如图 3),对 RTC_CRH 最低位 SECIE 置 1 可允许秒中断, 这是对该系统计时工具的中断允许。在 RTC_CRL 中,位 0 是 SECF 秒标志,位 1 是 ALRF 闹 钟标志,位 2 是 OWF 溢出标志,位 3 是 RSF 同步标志,位 4 是 CNF(寄存器同步标志)位