精品文档---下载后可任意编辑题目:智能电子钟智能电子钟一、设计要求制作一个 LCD 显示的智能电子钟:(1) 计时:秒、分、时、日、月、年、星期
(2) 闰年自动判别
(3) 时间、年、月、日、星期交替显示
(4) 自定任意时刻自动开/关屏
(5) 计时精度:误差≤1 秒/月(具有微调设置)
二、方案论证方案一:软件时钟
可以节约硬件成本,但是软件编写更为复杂,且误差较大
方案二:硬件时钟
使用时钟芯片 DS1302,虽然增加了硬件成本,但可直接从芯片读取时间及日期数据,大大简化软件的编写,且计时精度高,满足设计要求
因此,本智能电子钟采纳硬件时钟
方案一:所有子程序均处于主程序中
虽然最终仅一个程序文件,但由于本智能电子钟需用液晶显示屏显示且需根据不同按键状态转换至不同的功能,子程序较多,相应程序的层次结构也较复杂,若采纳该方案,不仅很大程度地加大了软件编写的难度,而且会使程序显得复杂冗长,易读性很差
方案二:监控程序
将各种功能定义为多个任务,用监控程序进行任务调度的工作,主函数进行各种初始化、控制及调用子函数等工作,而各子函数则完成相应功能
该方案虽然要使用监控程序并且最终会有多个源程序文件,但由于移植性很好,各种功能模块定义清楚,体现了模块化的思想,不仅降低了软件编写的难度,也增强了程序的易读性
因此,本智能电子钟采纳监控程序进行任务调度工作
方案一:一键一义型按键
每按下一个按键,就获得一个键盘编码信息,由键码散转到对应功能模块的入口,启动对应作业
该方案可使用以下三种方式猎取键值:①单纯查询,主程序用扫描键盘等方式来猎取键盘信息,执行对应作业
②键盘中断,按下任何按键都引起一个外部中断请求,键码分析过程放在外部中断子程序中
③定时查询,每隔一段时间查询一次键盘,键盘查询过程安排在定时中断中完成
但由于一个按键只对应一个功能,在实现功能较多的情况下,所需按键数较