- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六 时、分、秒计时器的设计
实验六 时、分、秒计时器的设计
一、实验目的
掌握数码管动态显示的基本方法;
掌握键盘按键控制的实现方法;
根据已知电路和设计要求在实验板上实现时、分、秒计时器。
二、实验内容
1、在STC89C52实验平台上实现时、分、秒时钟,4位数码管上显示分、秒或者时、分。
2、应用键盘控制时间的显示。键盘按键控制“切换时分、分秒显示”、“启动停止”、“加秒显示内容”、“加分显示内容”、“加时显示内容”。
3、根据已知电路和设计要求在PROTEUS平台仿真实现时钟系统。
实验原理
实验要求1、动态扫描可以实现要求。简单地说,动态扫描就是选通一位,送一位数据。原理图中的P10~P13是位选信号,即选择哪个数码管显示数字;P00~P07是段码,即要显示的数字。可以通过依次选通一位7段数码管并通过P0端口送出显示数据。由于人眼的视觉残留原理,如果这种依次唯一选通每一位7段数码管的动作在0.1s内完成,就会造成多位数码管同时点亮显示各自数字的假象。本实验使用中断,实现每1s更新一次数字。
实验要求2、利用键盘扫描,对扫描结果判断与进行对应操作可以实现要求。简单地说,就是中断来临时,对键盘进行一次扫描,将扫描到的键值与对应操作联系起来。其中对启动与停止设置标志位,通过对标志位的判断来停止或启动,而不是对TR0进行直接操作,以防与中断计数的启动与停止互相覆盖,而达不到要求。对显示模式设置标志位,根据不同的标志选择“时分”或“分秒”显示方式。对于“分”其可能在十位与各位,也可能在百位千位,所以应该根据不同模式设置不同的显示位置。
实验要求3、本实验在电路板运用、在proteus上仿真结果见下述。
四、实验方法与步骤
设计思路和方法:
根据电路图,分析数码管动态显示的设计思路;使用中断实现每1秒更新一次数字的设计思路;使用键盘控制时间显示的设计思路。
(1)数码管动态显示的原理如“实验原理”里所述,不赘述;
使用中断实现每1s更新一次数字的设计思路:本次实验使用Timer0中断,由于其定时时间最大为65536us,不能实现1s的长延时,那么可以使用多次中断来实现,并且在中断到来时,不断地死循环显示数字。在编写代码时,初始化时分秒;设置Timer0定时时间为50ms,可以用一个参数i计算中断的次数;当中断的次数达到20次时,说明已经达到了1s,此时更新数字,即将数字MiaoG自增1;当MiaoG数字大于9时,MiaoS自增1;当MiaoS数字大于5时,FenG自增1;当FenG数字大于9时,FenS自增1;当FenS大于5时,ShiG自增1;当ShiG大于9时,ShiS自增1;当ShiS等于2且ShiG大于3时,时分秒清零。其中值得注意的是,对显示模式设置标志位,根据不同的标志选择“时分”或“分秒”显示方式。对于“分”其可能在十位与各位,也可能在百位千位,所以应该根据不同模式设置不同的显示位置。
扫描键值的函数放在中断里面,每次中断时,判断是否有键被按下,并判断键值是多少,执行相对应的操作。这里比较值得注意的是,标志位flag的设置问题。不能直接对TR0进行操作来实现暂停与启动,因为在中断的定时器设置会覆盖掉,所以要用标志位flag而不是TR0。本实验中,按P37 ShiG加1;按P36FenG加1,按P35MiaoG加1,按P34时分显示模式,按P33暂停计时,按P32启动计时与分秒显示方式。不同显示方式用flag2来标志。
针对电路图及设计要求给出程序框图。
由于流程图篇幅大,另作一个A3纸word文档。
设计步骤:
1、编写源代码
第一步:打开Keil uVision4,单击主菜单“project”的“new project”选项,选择工程保存路径,输入工程名“Six”;在弹出的对话框里选择Atmel的80C51,单击“确定”;
第二步:单击主菜单的“File”的“New”选项,在编辑窗口里编写源代码。
/***************************************************************************
效果:1、4位数码管上显示分秒或者时分;
2、键盘按键控制“切换时分、分秒显示”、“启动停止”、
“加秒显示内容”、“加分显示内容”、“加时显示内容”;
编者:谢剑辉 2014年05月24日
****************************************************************************/
//头文件:
#include reg51.h
//变量定义:
unsigned char Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x
您可能关注的文档
最近下载
- 认识叶子的课件.pptx VIP
- 2024.12.14+理论攻坚-药理学3+李晓棠++(讲义+笔记)(2025全国医疗事业单位招聘考试系统班图书大礼包).pdf VIP
- 英语发展史_教学课件 Part 1General_Introduction.ppt VIP
- (2025秋新版)二年级语文上册全册教案.pdf
- 山东省济南市高新区2021-2022学年七年级上学期期末考试语文试卷(有答案).docx VIP
- 全聚德期权小白书.pdf VIP
- 消防设施维保过程风险及保障措施.pdf VIP
- 《JEPPESEN航图》航空培训.ppt
- 人教版七年级上册数学全册教案(最全).doc VIP
- 成人股骨颈骨折诊治指南.pdf
文档评论(0)