基于单片机的电子钟.docx
- 文档编号:20155106
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:14
- 大小:137.68KB
基于单片机的电子钟.docx
《基于单片机的电子钟.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子钟.docx(14页珍藏版)》请在冰豆网上搜索。
基于单片机的电子钟
课程设计成绩评定表
学生姓名
学号
专业班级
通信081
起止时间
2010.11~2010.12
设计题目
基于AT89S52电子时钟的设计
课
程
设
计
成
绩
考核内容
成绩
1.实验出勤情况
2.实验完成情况
3.实验报告完成情况
4.实际电路完成情况
5.实验室电路完成情况
6.课程设计报告完成情况
7.考试成绩
课程设计成绩
指导教师:
年月日
目录
1.设计目的………………………………………………………1
2.总体电路框图…………………………………………………1
3.单元电路设计…………………………………………………2
4.元件明细表……………………………………………………8
5.安装调试………………………………………………………9
6.收获体会………………………………………………………10
7.附录……………………………………………………………10
1.设计目的
#O c-U1\6N/u/L大学课件论文设计1.了解数字钟的原理,从而学会制作数字钟及调试方法。
2.了解各种在制作中用到的中小规模集成电路的作用及实用方法。
3.进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。
4.熟悉集成电路及有关元器件的使用,熟悉面包板的使用。
5.熟悉51单片机的结构,掌握keil、proteus软件的使用方法及仿真电路的设计。
2.总体电路框图
4-5数字钟的原理图
工作原理:
一个基本的数字钟电路主要由显示器“时”,“分”,“秒”和单片机,还有校时电路组成。
8个数码管的段选接到单片机的P0口,位选接到单片机的P2口。
数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。
“分单元”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。
“时单元”采用24进制计时器,可实现对一天24小时的累计。
显示电路将“时”、“分”、“秒”通过七段显示器显示出来。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整,按一下ksec,秒单元就加1,按一下kmin,分就加1,按一下khour,时就加1。
3.单元电路设计
1最小系统设计
单片机最小系统的结构图
单片机的最小系统是由电源、复位、晶振、/EA=1组成。
电源引脚Vcc 40 电源端GND 20 接地端
工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。
P3引脚
兼用功能
P3.0
串行通讯输入(RXD)
P3.1
串行通讯输出(TXD)
P3.2
外部中断0(INT0)
P3.3
外部中断1(INT1)
P3.4
定时器0输入(T0)
P3.5
定时器1输入(T1)
P3.6
外部数据存储器写选通WR
P3.7
外部数据存储器写选通RD
P3端口引脚兼用功能表
2.LED显示电路
LED显示器是现在最常用的显示器之一,如下图所示。
图3-4LED显示器的符号图
显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第三个和第四个数码管,秒的十位和个位分别显示在第五个和第六个数码管,采用动态扫描的方法进行显示,其硬件连接方式如下图所示。
数码管的硬件连接示意图
数码管使用条件:
3.键盘控制电路
该设计需要校对时间,所以用三个按键来实现。
按khour来调节小时的时间,按kmin来调节分针的时间,按ksec来调节秒的时间。
下图是按键硬件连接图。
4.系统程序设计流程图
主程序
#include
sbitksec=P3^0;
sbitkmin=P3^1;
sbitkhour=P3^2;
unsignedcharsecshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0;
unsignedintnum=0,sec=0,min=0,hour=0;
unsignedcharcode
table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
voiddelay(unsignedint);
voidtime0();
voiddisplay();
voidkeyscan();
main()
{TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;ET0=1;TR0=1;
while
(1)
{keyscan();
display();
}
}
voiddelay(unsignedintz)
{unsignedintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);}
定时器中断子程序
voidtime0()interrupt1
{num++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
LED显示程序
voiddisplay()
{if(num==20)
{num=0;
sec++;
if(sec==60)
{sec=0;
min++;
if(min==60)
{min=0;
hour++;
if(hour==24)
{hour=0;
min=0;
sec=0;
}
}
}
}
secge=sec%10;
secshi=sec/10;
minge=min%10;
minshi=min/10;
hourge=hour%10;
hourshi=hour/10;
P2=0x01;
P0=table[secge];
delay(5);
P2=0x02;
P0=table[secshi];
delay(5);
P2=0x04;
P0=0xbf;
delay(5);
P2=0x08;
P0=table[minge];
delay(5);
P2=0x10;
P0=table[minshi];
delay(5);
P2=0x20;
P0=0xbf;
delay(5);
P2=0x40;
P0=table[hourge];
delay(5);
P2=0x80;
P0=table[hourshi];
delay(5);
}
按键控制子程序
voidkeyscan()
{if(ksec==0)
{delay(10);
if(ksec==0)
{sec++;
if(sec>=60)
sec=0;
}
while(ksec==0)
display();
}
if(kmin==0)
{delay(10);
if(kmin==0)
{min++;
if(min>=60)
min=0;
}
while(kmin==0)
display();
}
if(khour==0)
{delay(10);
if(khour==0)
{hour++;
if(hour>=24)
hour=0;
}
while(khour==0)
display();
}
}
4.元件明细表
元器件清单
型号
功能
备注
89c52单片机
微处理器
1片
最小系统开发板
定时/计数器,并行输入输出(I/O)口,全双工串行口,时钟电路
1片
印刷电路板
1个
开关
调表
3个
Led数码管
7字段显示
6个
电阻
限流
13个
三极管S9013
信号放大
6个
5.安装调试
单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。
一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。
1硬盘调试
元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。
若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。
将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。
2系统性能测试与功能说明
走时:
默认为走时状态,按24小时制分别显示“时时-分分-秒秒”,有2个“-”动态显示,时间会按实际时间以秒为最少单位变化。
走时调整:
按ksec对秒进行调整,按一下加一秒;按kmin对分进行调整,按一下加一分;按khour对时进行调整,按一下加一小时,从而达到快速设定时间的目的。
3系统时钟误差分析
电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。
S>0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S<0表示秒单元数值的刷新超前,即走时误差为“快”。
本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。
晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。
4软件调试问题及解决
软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。
软件调试可以采取离线调试和在线调试两种方式。
前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。
本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。
仿真部分采用protus6professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。
6.收获体会
通过这次课程设计的制作使我们对课堂上的理论知识有了进一步的了解,并增强了对数字电子技术这门课程的兴趣。
同时也发现自对数电知识和电子设计软件掌握得不够。
这次设计仿真我们用到了仿真软件Proteus7.7和编译软件keil3.0,从软件的安装到使用,从网上查阅资料学到了很多课堂之外的专业知识。
这次的设计最主要是单片机的应用,从控制到接口。
技术是一个多学科的综合,要做到灵活应用需要自我学习各种辅助技术的应用。
其次感受最深的是设计是一小步,实现成实物才是一大步。
这次仿真驱动数码管没有用电流放大电路,制作时因为如电流很小数码管无法显示。
设计中每一步都要细心认真,一个小的失误,都会导致后面的环节发生错误。
在制作过程中虽然后来有设计上的疏忽但是我们每一步都细心焊接,一步一检查,一次成功。
动手锻炼增长了知识的同时也增强了我们思考问题、解决问题和动手的能力。
此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题的能力,出现差错的随机应变,和与人合作的团队精神,都让我受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。
这次明显体会到自己知识的匮乏,思考问题不全面,这激励我要学好基础知识的同时要拓展知识面,增强自己的综合能力,从而使得自己成为一个有综合能力的人才而更加适应社会。
7.附录:
1.单片机引脚图2.MCS-52系列单片机的内部结构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子钟