1、 电子万年历课程设计电子万年历课程设计 课程名称:课程名称:嵌入式系统开发实训嵌入式系统开发实训 专业:计算机科学与技术专业:计算机科学与技术 1 摘要摘要 日月如梭,斗转星移!从远古的铜壶滴漏、日咎计时,到 16 世纪因伽利略等时性 定律而诞生的摆钟,到现今 100 万年才有 1 秒误差原子钟。科学不断的在进步,技术 时刻在更新!多功能电子万年历更是适应现代化个性生活的一个新需求。 该系统以 AT89S51 片机作为系统控制处理器,采用美国 DALLAS 公司推出的具有涓 细电流充电能的低功耗实时时钟电路 DS1302。它可以对年、月、日、周日、时、分、秒 进行计时。同时通过 DS18B20
2、 温度采集芯片对温度进行测试,并将其通过数码管显示。 关键字:关键字:AT89S51 单片机、数码管动态显示、DS1302、DS18B20 2 目录目录 一、任务设计 - 3 二、方案论证 - 4 三、总体方案 - 6 四、系统硬件设计 - 7 五、系统软件设计流程- 12 六、程序 - 15 七、多功能数字时钟使用说明 - 19 八、测量及其结果分析- 20 九、设计心得体会 - 21 十、参考资料 - 22 3 电子万年历设计电子万年历设计 一、任务设计一、任务设计 1、设计任务:设计并制作一个电子万年历。 2、设计要求: 设计能支持年、月、日、星期、时、分、秒的时钟,时钟有时间调整功能;
3、 时钟附带有一个温度计功能,温度检测精度高于 2 度,显示精度为 1 度; 时钟具有装卸电池时掉电保护功能,保护时间大于 5 分钟; 时钟功耗小于 0.5MA/5V。 3.发挥部分: 提高温度检测精度,在 0-40显示 0.1; 将每个公历对应的农历显示出来; 闹铃设置,整点报时功能; 记事本、备忘录功能。 4.创新部分: 非易失定时闹铃 重要日期提醒 整点报时 4 二、方案论证二、方案论证 1.1.显示部分显示部分: : 显示部分是本次设计的重要部分,一般有以下两种方案: 方案一: 采用 LCD 显示。LCD 液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且 功耗小等优点,但是程序编写
4、过于复杂,价格有点偏高。 方案二: 采用 LED 显示,分静态显示和动态显示。对于静态显示方式,所需的译码驱动装置 很多,引线多而复杂,且可靠性也较低。而对于动态显示方式,即可可以避免静态显示 的问题,又可以在编写程序的过程中节省大量的时间, 鉴于上述原因,我们采用方案二的数码管动态显示。 2.2.数字时钟:数字时钟: 数字时钟是本设计的核心的部分之一。根据需要可采用以下两种方案实现: 方案一: 方案完全用软件实现数字时钟。即在单片机内部存储器设三个字节分别存放时钟的 时、分、秒信息。利用定时器与软件结合实现 1 秒定时中断,每产生一次中断,存储器 内相应的秒值加 1;若秒值达到 60,则将其
5、清零,并将相应的分字节值加 1;若分值达 到 60,则清零分字节,并将时字节值加 1;若时值达到 24,则将时字节清零。该方案具 有硬件电路简单的特点, 但当单片机不上电, 程序将不执行。 而且由于每次执行程序时, 定时器都要重新赋初值,所以该时钟精度不高。 方案二: 用 DS12C887 实现时钟计数。DS12C887 内部带有锂电池和晶振,掉电可自动行走, 并带有闹钟功能、内带 114 字节 RAM 等功能。但是要控制 Intel 或 Motorola 总线时序 复杂,并行通信占用 I/O 口多,而且体积大,管脚多,价格昂贵。 方案三: 方案采用 Dallas 公司的专用时钟芯片 DS1302。该芯片内部采用石英晶体振荡器, 其芯片精度不大于 10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显 5 示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉