- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1
PAGE
综合性、设计性实验报告
姓名 陶建敏 学号 201308002107
姓名 贺鹤 学号 201308002118
专业 通信工程 班级 13 级 通信1班
实验课程名称 单片机原理与应用
指导教师及职称 赵全友 副教授
开课学期 2013 至 2014 学年 上 学期
上课时间 2013年 11 月 2 日
湖南科技学院教务处编印
PAGE
一、实验设计方案
实验名称:可调节数字电子钟设计实验时间: 2013-11-2小组合作: 是● 否○小组成员:陶建敏 贺鹤 1、实验目的:
1)学习数码管的基本知识。
2)学会如何控制动态数码管扫描显示。2、实验设备及材料:
硬件设备:计算机
机器配置:AT89C51
操作系统:windows 7
开发工具:Keil uVision3 Proteus 7 Professional
3、实验内容:
①问题描述
利用共阴极的6位LED数码管进行显示,然后用定时器T0实现定时,实现一个数字电子钟,实现时、分、秒,并用“.”隔开显示。
②编程任务
1. 利用通过修改电路实现对数字电子钟实现控制,即能适时地设置时间,并完成相应的程序。
2.利用通过修改电路实现一个电子秒表,启动秒表,暂停秒表,秒表清零,秒表显示到毫秒。
③样例
定时1秒,采用16位定时50ms,共定时20次才可达到1秒,进一步可实现分时。
利用小延时或者另一个定时器实现对8个数码管的动态扫描显示。
时间设置采用外部中断。
4、实验方法步骤及注意事项:
①实验步骤
先查看老师所给的电路图,判断我们所需要用到的IO口以及IO口是用来控制数据形状还是控制哪个二极管发光。查看电路图二,我们知道是用P0来控制数据的显示,而P1则是来控制哪个发光。
分析可知道,我们可以需要用到一个延时程序以及定时器,所以我们定义了一个Delay()函数,开了一个定时器T0.
而我们这个时钟设置时间,我们则是用到了两个外部中断。中断T0连接一个按键,用一个zhuangtai来控制按键次数。按一下,则可以修改秒钟;而按两下则可以修改分钟,而按三下则可以修改时钟,按第四下则回到时钟显示状态。
4. 最后,我们进行了调试,以及修改,成功运行了程序.
②解题思路
如何实现定时1秒,1分,1小时
如何实现对动态数码管的动态扫描显示
如何实现多功能的电子表。
1:定时1秒由定时器中断一次就是10ms 一共中断100次就是1000ms,即1s;1秒到了后秒单元就加1,中断次数要清零;如果到了60秒,分单元就加1,并把秒单元清零;如果分单元到了60分,就把分单元清零,把时单元加1;如果时单元到了24,就把时单元清零;
2:依次选中一个数码管然后令其显示,延迟一定时间,动态扫描由定时器通过定时一段时间扫描一次,整个扫描时间在20ms内
3:实现多功能电子时钟,那就要设定好一个外部中断,用在中断的中的变量去控制和定义其所处的状态也即是其功能按键,键值不同相应的功能就不同;还有中断要控制时间设置的加和减,还有秒表定时时间和时钟定时时间由定时器完成等
5.参考文献:
《单片机原理与接口技术》张毅刚主编,人民邮电出版社,2008
《单片机原理及应用》(第二版), 曹巧媛 主编,电子工业出版社, 2004
指导老师对实验设计方案的意见:
指导老师签名:
年 月 日
实验报告
实验目的、设备与材料、实验内容、实验方法步骤见实验设计方案
2、实验程序
#include reg51.h
#define uint unsigned int
#define uchar unsigned char
sbit P2_7=P2^7;//调节星期按钮
void init();//接口声明
void delay(uint n);//延时函数
void Display(uchar hour, uchar min, uchar sec);//时间显示函数声明
void Show2(uchar xingqi);
void Flash(uchar hour, uchar min, uchar sec);//闪烁函数声明
void Time_transf();//时间转换函数声明
void Set_time();//时间调整
文档评论(0)