- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字钟的实现.doc
多功能数字钟的设计与实现
一、实验目的
1.掌握数字钟的设计原理。
2.用微机实验平台实现数字钟。
3.分析比较微机实现的数字钟和其他方法实现的数字钟。
二、实验内容与要求
使用微机实验平台实现数字钟。
1.基本要求如下:
24小时制时间显示。
可以随时进行时间校对。
整点报时。
闹钟功能,要求设置起闹时间时,不影响时钟的正常走时。
2.提高要求
校时时相应位闪烁。
能够设置多个起闹点。
三、实验报告要求
1.设计目的和内容
2.总体设计
3.硬件设计:原理图(接线图)及简要说明
4.软件设计框图及程序清单
5.设计结果和体会(包括遇到的问题及解决的方法)
四、系统总体设计
根据设计要求,初步思路如下:
计时单元由定时/计数器8253的通道0来实现。定时采用硬件计数和软件技术相结合的方式,即通过8253产生一定的定时时间,然后再利用软件进行计数,从而实现24小时制定时。8253定时时间到了之后产生中断信号,8253在中断服务程序中实现时、分、秒的累加。
时间显示采用实验平台上的6个LED数码管分别显示时、分、秒,采用动态扫描方式实现。
校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。按键包括校时键、闹钟定时键、加1键和减1键等。
报警声响用蜂鸣器产生,将蜂鸣器接到8255的一个端口,通过输出电平的高低来控制蜂鸣器的发声。
系统硬件设计主要利用微机实验平台上的电路模块。硬件电路主要由键盘电路、单脉冲产生单元、8253定时计数器、8255并行接口单元、8259中断控制器、LED显示电路和蜂鸣器电路等等。系统的硬件电路设计框图如图1所示。
图1 硬件电路框图
五、硬件设计
根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,由于实验平台上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图2所示。硬件电路由定时模块、按键模块、数码管显示模块和蜂鸣器模块组成。
各个模块的详细说明:
1.定时模块
定时模块主要是实现硬件定时1s,由8253的计数器0来实现。Clk0接实验平台分频电路输出Q6,f=46875hz。GATE0接8255的PA0,由8255的PA0输出来控制计数器的起停。OUT0接8259的IRQ2,定时完成请求中断,进入中断服务程序。软件在中断服务程序中实现时分秒的累加。
2.LED数码管模块
实验平台上提供一组六个LED数码管。插孔CS1用于数码管段选的输出选通,插孔CS2用于数码管位选信号的输出选通。本设计用6个数码管来动态显示时分秒,动态显示的定时时间由软件延时。
3.按键模块
按键模块包括有2个单脉冲发生单元的按键,3个键盘模块的按键。2个单脉冲发生单元的按键K1,K2分别为校时键和闹钟定时键,采用中断方式。3个键盘按键A键,B键和C键分别为加1键,减1键和切换键。具体的功能定义如下表。键盘电路和8255的连接见图3所示。
按键 键名 功能说明 K1 校时键 进入校时状态 K2 闹钟定时键 进入闹钟定时状态 A键 加1键 校分或校时的时候使其加1递增 B键 减1键 校分或校时的时候使其减1递减 C键 切换键 校分后切换到校时
校时后切换到时钟状态
闹钟设定分值后切换到设定时值
闹钟设定时值后切换到时钟状态
图3 键盘电路和8255的连接图
4.蜂鸣器模块
蜂鸣器模块由蜂鸣器驱动电路和8255组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图4所示。当8255的PB0口输出为高电平时,蜂鸣器产生蜂鸣音,8255输出为低电平时,蜂鸣器不发声。
图4 蜂鸣器电路
六、软件设计
1. 软件设计思路
根据系统的功能,可以将程序分为5个功能模块,包括LED数码管扫描模块、时间计时模块、校时模块、闹钟定时模块和键盘扫描模块。
LED数码管扫描模块
在采用动态扫描方式时,要使得LED显示得比较均匀,又有足够的亮度,需要设置适当的扫描频率。当扫描频率在70Hz左右时,能够产生足够的图形和比较好的效果。在每一位LED显示后调用一个延时程序。
采用实验平台时,插孔CS1用于数码管段选的输出选通,插孔CS2用于数码管位选信号的输出选通。在编程时,只需要先输出数据选通相应的位,再输出显示数据。显示数据输出前要将数据转换为显示代码。
时间计时模块
计时是采用硬件计时和软件计时相结合的方法。硬件定时100ms,产生中断。8253定时的时间是100ms,clk0的输入时钟f=46875hz,所以计数初值为124FH。分别用Hour、Min、Sec来存储时分秒值。在中断服务程序中,计数到1秒的时间时,Sec加1。当Sec加到60的时候进一,Min值加1。当Min等于60时,H
文档评论(0)