网站大量收购独家精品文档,联系QQ:2885784924

数字钟在单片机上的实现(汇编语言).doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉大学电子信息学院 电子系统综合设计课程论文 数字钟在单片机上的实现(汇编语言) 专 业: 年 级: 作 者: _____________ _____________ 指导教师: 2012年 06 月 29 日 目 录 1 作品的背景与意义 1 2 功能指标设计 1 2.1设计要求 1 2.1.1 基本要求 1 2.1.2 拓展要求 1 2.2 功能设计方案 1 3 作品方案设计 2 3.1总体方案的选择 2 3.2模块划分及分析 3 3.3 单模块设计流程图 3 4 模块源程序 7 5 系统测试 35 测试数据: 36 6 心得体会 36 1 作品的背景与意义 数字钟是一种用数字电路技术实现时、分、秒计时的钟表。与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,以便于功能的扩展。 2 功能指标设计 2.1设计要求 2.1.1 基本要求 设计一个精确的1秒定时器; 根据1秒定时器,设计一个带小时、分钟、秒的时钟,并将小时、分钟、秒显示在LED上; 设计小时、分钟、秒的修改按键,可分别调整小时、分钟、秒(按键设计参考电子表)。 2.1.2 拓展要求 增加小时、分钟、秒的键盘直接修改功能; 设计闹钟功能,最多支持5个闹钟,可分别查看和修改闹钟时间,可分别设置闹钟开关; 增加万年历功能。 2.2 功能设计方案 1. 实现正常走时(秒-分-时-日-月-年进位); 2. 能够设置时间和日期; 3. 能够自动区分平闰年和大小月及2月; 4. 具有5个闹钟及其设置功能; 5. 在任何设置状态下,修改位会闪烁显示。 3 作品方案设计 3.1总体方案的选择 以T0计时器中断产生1s信号,T1计时器中断刷新数码管。系统软件流程图如下所示: 设计时使T0优先级高于T1以确保准确计时,初始化完成后,程序一直处于主循环模块,主循环模块中有设置按键的检测模块,当遇到设置信号暂时跳出主循环去执行相应的设置模块,时间设置,日期设置,闹钟设置3大模块彼此之间是相互独立且平行的,他们和主循环模块也不干扰。因此,当进入任何一个模块时,其他模块中的所有功能和按键都暂时失效,程序由始至终中断服务一直打开。 3.2模块划分及分析 ??MAIN:初始化程序模块 进行初值的分配(栈顶地址,初始时间,初始日期,初始化闹钟及相关标志地址)各定时器,中断初始化。 ?ZHUXUNHUAN:主循环模块 程序主要执行部分,包含闹钟检测,独立按键检测(日期—时间转换检测),矩阵按键检测(闹钟设置,日期设置,时间设置)3大检测部分。 ??SERVE:1s中断服务 中断走时:秒→分→时→日→月→年 ?XIAGSHI:刷屏中断服务(显示中断服务) 以人眼不能分辨的频率一次刷新8或6位数码管来显示时间或日期及其他设置界面。 ?SHIJIANSHEZHI:时间设置模块 修改时间,其中修改位闪烁显示加以区分,内嵌了时间的自动检测和校正代码,既不允许修改出现不存在的时间。 ?WANNIANLISHEZHI:日期设置模块 修改日期,同样的修改位闪烁加以区分,内嵌了日期的自动检测和校正代码,既不允许出现不存在的日期。 ?NAOZHONGSHEZHI:闹钟设置模块 修改闹钟时间,闹钟开关的置换,修改位闪烁加以区分,内嵌时间自动监测和校正代码已设置正确的时间。 3.3 单模块设计流程图 在完成的整体设计和模块划分后,便进入到工作量最大的单模块流程设计。 ?主循环: 说明: 1.初始化时,将保存5个闹钟(按时分秒顺序排放)的15个地址50H—5EH均清零,将对应的5个闹钟开关0AH—0EH也都清零表示闹钟开关状态,检测闹钟时,从第一个闹钟开始分别检测开关,时分秒只要有任何一项不符合及即检测下一个闹钟,到最后一个闹铃也不符合时,进入按键检测部分。 2.按键检测包含独立按键和矩阵按键两部分,独立按键很简单,矩阵按键则编写检测子程序,将检测到的键值保存在寄存器R7中,没有检测到按键时不改变R7的数值。因此,检测器先将R7里面放入#0FH(只要不是#00H—#0CH中的数即可),然后调用矩阵键盘检测子程序,再来通过检测R7的数值来判断有无按键按下或按下的那个键。 ?时间设置模块: 说明: 1.进入时间设置模块后,时的十位开始闪烁,通过独立按键s17

文档评论(0)

追风少年 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档