单片机数字时钟计文档三.docVIP

  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文档。上传文档
查看更多
单片机数字时钟计文档三

单片机课程设计 课题:数字时钟设计 系 别: 专 业: 姓 名: 学 号: 指导教师: 成绩评定· 一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。 二、评分(按下表要求评定) 课程设计成绩评定 一、设计目的 用8013单片机CPU及接口电路设计并实现显示时间的实时时钟。 二、设计要求 (1)??? 在ZY15MCU12BD型综合单片机试验箱的硬件结构上编写软件完成设计。 (2)??? 程序的首地址应使目标机可以直接运行,即从0000H开始。在主程序的开始部分必须设置一个合适的栈底。程序放置的地址须连续且靠前,不要在中间留下大量的空间地址,以使目标机可以使用较少的硬件资源。 (3)??? 6位LED数码管从左到右分别显示时. 分. 秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后变成000000. (4)??? 在XD1—2键盘上选定3个键分别作为小时. 分. 秒的调校键。每按一次键,对应的显示值便加1。分. 秒加到59后变为00;小时加到23后再按键即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变). (5)??? 软件设计必须使用8031片内定时器,采用定时中断结构,不得使用软件延时法。 (6)??? 上机调试程序。 (7)??? 写出设计报告。 三、总体设计 1、设计的总体原理框图 见附录3 2、工作原理 电子时钟主要由8031片内定时器定时中断,并取一存储单元作为计数器使用,每中断一次,在中断服务程序中使计数器加1、8031芯片、74LS373锁存器、8255A接口芯片、74LS240驱动器、LED数码显示管和4*4键盘组成。主要用8031片内定时器定时中断服务程序完成秒、分、时的运算即计时功能,TIME0的中断服务程序完成调时、调分、调秒功能。8255A负责将内存里的时位、分位和秒位数值输出到数码管。同时按键01键、02键、03键是分别对时、分、秒的加1校对;05键、06键、07键时分别对时、分、秒的减1校对;00键是清零键。并且开机时时钟时从000000开始计时的,到235959时在回到000000. 四、各部分电路分析 此实时时钟的设计与实现,主要采用了6只LED数码管,8031内部二进制16位定时器/计数器,可编程中断控制器8031等芯片,包括显示模块,运算模块和校时模块三大功能模块。 1、显示模块: 用8255控制,用数码管的显示功能来设计。显示部分硬件用六只LED为显示管,这些LED发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这8只发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的数字。该模块主要是将运算模块和校时模块运算出来并存放在内存单元里的十六进制表示的时位、分位和秒位数值转化为十进制,并通过8只数码管显示出来。该模块实现的硬件是DVCC-8086JH实验箱中的LED单元,采用软件译码,即在程序中设置一个段选码表。CPU直接往LED输出八段代码,省去了硬件译码器。A0~A3作为8段数据输出口,经74LS07驱动后到达各LED。只要做到每送一次段选码时也送一次位扫描码,并且每送一次位扫描码后,位码中的0右移一位作为下一次的位扫描码,即可实现由左向右使6只LED依次出现数字显示。 2、运算模块: 该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现。本实验中用8031定时器/计数器,但因为8031供的信号的周期是毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8031工作方式为方式1,产生一个50ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8031的IR1号中断来实现,但由于每50ms一次中断请求,所以在中断服务程序必须利用已申请内存单元26H来统计中断请求的次数,只有当26H的值为20时,才能让秒单元内的数值加1。在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24时,直接清零。然后转到调用处。 3、校时模块: 该模块主要功能是修改时、分、秒内存单元的数值。每按一次键,对应的显示值便加1。分、 秒加到5

文档评论(0)

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

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

1亿VIP精品文档

相关文档