- 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、巩固和加深对单片机实验设计的理解,提高综合运用本课程所学知识的能力;
2、掌握单片机的P0、P1、P2口的使用方法,及编程实现所需功能;
3、掌握掌握单片机键盘扫描方法;
4、通过电路方案的分析、论证和比较,设计计算和选取元器件、电路组装、调试和检测等环节,初步掌握简单实用电路的分析方法和工程设计方法;
5、学会keil软件及protuse软件仿真和硬件电路的实验调试和性能指标的测试方法,提高学生动手能力和进行单片机程序设计应用的基本技能;
(二)实验任务及要求
基本功能:
显示时间;
调节时间;
设置闹钟时间;
整点报时(可开可关可随时停止);
扩展功能:
简易计算器(可算加减法)计算范围是:9999-(-999)内的整数加减运算;
秒表(可精确到百分之一秒和十分之一秒,可切换)可存储三个时间并读取显示;
倒计时(可设置倒计时时间,减到0后蜂鸣器响);
(三)实验总电路图(这个硬件电路图是不完善的哈!)
(四)实验原理
1、显示电路
采用动态扫描的方式,不断给P0和P1口送数,其中,P0口决定数码管显示的内容,而P1口决定哪个数码管显示。
在程序中,首先定义数码管的编码:
unsigned char code Select[]={0x00,0x07,0x0b,0x0d,0x0e};//全亮,第一个,第二个,第三个,第四个
//code说明把这个表格里面的数据存在程序存储器中
unsigned char code LED_CODES[]=
{ 0x02,0x9e,0x24,0x0c,0x98,//0-4
0x48,0x40,0x1e,0x00,0x08,//5-9
0x10,0xc0,0x62,0x84,0x60,0x70,//A,b,C,d,E,F
0xFe,0x30,0x90,0x7e,0xBe,0xfc//空格(16),P,H,-,|,
};
然后,在程序中,我定义了一下两个函数,通过对上面数组的操作,进行数码管显示:
void display(uint x,uint y)//显示函数
{
uint i,j;
i=x;j=y;
P1=Select[i];
P0=LED_CODES[j];
}
void display2(uint a,uint b,uint c,uint d)//显示函数2
{
uint i,j,m,n;
i=a;j=b;m=c;n=d;
display(1,i);
delay(5);
display(2,j);
delay(5);
display(3,m);
delay(5);
display(4,n);
delay(5);
}
通过延时,利用人眼视觉暂留的作用,用动态扫描,达到静态显示的效果。
2、键盘扫描电路
从总电路图可以看到,我把键盘阵通过P2口来检测。通过不断的给P2口送值,然后检测P2口的状态,从而判断出,究竟哪个按键被按下,然后去执行之后的程序。
键盘检测时,给P2口送的值以及检测到某个按键所对应的值,如下表:
送值 检测 对应按键 送值 检测 对应按键 P2=0xf7 0x70 按键1 P2=0xfd 0x70 按键9 0xb0 按键2 0xb0 按键← 0xd0 按键3 0xd0 按键0 0xe0 按键4 0xe0 按键→ P2=0xfb 0x70 按键5 P2=0xfe 0x70 按键↑ 0xb0 按键6 0xb0 按键↓ 0xd0 按键7 0xd0 按键OK 0xe0 按键8 0xe0 按键Esc
通过不同的按键,实现不同的功能选择。
(五)实验操作
电子时钟的操作方法,如下图:
下面,具体介绍各功能使用方法:
计算器功能,如下图:
时钟功能,如下图:
秒表倒计时功能,如下图:
(六)时钟误差分析
在51定时器做电子钟的误差分析里,有3项:1、机器周期误差,由晶体频率相对变化的误差产生2、中断响应延迟误差3、调整精度产生的误差,就是计数初值改变1对应的时间差。定时器是独立于CPU的硬件计数器,51CPU只管理启动和装初值。一旦定时器启动之后,就一直在计数,在定时器溢出后会从0重新开始计数,不存在等待问题。定时的误差除了晶体自身的误差(主要指晶体的频率漂移误差,而晶体频率偏离标称值
原创力文档


文档评论(0)