合肥工业大学微机原理课程设计数字闹钟.docxVIP

合肥工业大学微机原理课程设计数字闹钟.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
合月巴工业大学 计募机与信息学院 课程设计 课 程:微机原理与接口技术设计 专业班级:计算机科学与技术13-1? 学 号:2013211601 姓 名:康安 一、设计题目及要求: 通过8253定时器产生1秒脉冲定时中断。在中断服务程序 中实现秒、分、小时的进位(24 小时制)O 在七段数码管上显示当前的时分秒(例如,12点10分40 秒显示为121040 )o 3.按“ 3. 按“ C”键可设置时钟的时间当前值(对准时间)。 按“ D”键设置闹铃时间。 按键表示时钟开始运行。 6.程序运行时,首先按键设置闹铃时间,然后按“ 6. 程序运行时,首先按键设置闹铃时间,然后按“ C” 键设置时钟的时间,再按 让时钟开始运行。当前时间运行到闹铃时间时,6个数码管全部 闪烁显示“8”。 二、设计思想: 总体思想: 控制8259中断源18088CPU产生中断控制——? 控制 8259 中断源 1 8088CPU 产生中断 控制——? 8253 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如卜I 138译码器: A,B,C,D,分别连接 A2,A3,A4,GS; yO连接8253的CS片选信号: yl连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253 的 OUTO 接 8259 的 IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线; 本程序包括显示模块,键盘扫描模块,时间计数模块,设迸模块等儿个模块, 程序运行后,LED显示()()()()()()初始值,并且开始计数 (2) 按C键设置初始时间,LED清零,显示待输入状态“——”,之后用户输入数字, 更改LED显示内容。考虑到第一个数只能是0, 1, 2,当笫一个数显示2时笫二个数只能 显示0?4,同理下面各位应满足时钊嗷值的合理的取值; (3) 按D键设置闹钟时间,清除LED显示内容,显示待输入状态“.一-”,之后用户 输入数字,更改LED显示内容。数字的取值情况和按C键设置初始时间相同。 (4) 按E键运疔时钟,LED显示内容恢复为按C键设置的时间,并开始计时。 (5) 当LED显示的数字和预先设置好的闹钟相同时,更改LED显示状态,改为 888888,闪烁显示10秒后恢复原来的时间,继续计数。 2、 主程序设计(他人完成) 主程序中完成通过调用了程序完成对8253及8259的初始化,对8259进行中断设置。 主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259 -个刺激,当8259 接受到刺激后会给CPU —个中断请求,CPU会转去执行中断子程序,而中断子程序设置成 时间计数加,即完成电子表的整体设计。当LED显示的时间达到预先设置的时间,关闭中 断,更改显示内容,在显示一段时间后恢复显示,打开屮断,使电了表恢复运行。 3、 LED显示子程序设计(他人完成) 本程序显示部分用了 6个共阳极LED作为显示管,显示程序要做到每送一次段码就送 一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到 右使6个LED依次显示岀相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这 个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、 键盘扫描子程序设计(他人完成) 本程序主要实现对键盘的按键进行扫描,判断用户是否按下的键值,并将按下的键值作 为参数返回。 5、 时钟功能设置(独立负责) 本程序段负责实现判断用八按下的键值,根据按下的键值转入不同的程序段执行相应的 功能设置。判断键值的方法为设置三个标志位,三个标志位分别对应3个按键,当按键被按 下时,将对应的标志位置为1,在程序段屮对三个标志位进行判断,从而实现不同的功能设 置。 首先调用键盘扫描子程序GetKey获取用户输入的键值,Z后将键值分别打Och, Odh, Oeh 比较: 若键值为C,则跳入下一个程序段SETC,将对应的标志位ButtonC S为1,其余两个 标志 ButtonD 和 ButtonE 为(); 若键值为D,则跳入下一个程序段SETD,将对应的标志位ButtonD置为1,其余两个 标志 ButtonC 和 ButtonE 为 0; 若键值为E,则跳入下一个程序段SETE,将对应的标志位ButtonE置为1,同时由于 耍更改显示的时间状态,将使川到的一个临时缓冲区buff的取出标志位flag也置为1,表示 E键被按下后,要将buff缓冲区内存的时间转移到LcdBuff上来显示用八设置的吋间。其余 两个标志ButtonD和ButtonE为0; 若键值为数字,则跳入下一个程序段NEXT。 NEXT程序段负责完成三个功能:设置

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档