数字电子钟课程设计.docx
- 文档编号:4185487
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:231.94KB
数字电子钟课程设计.docx
《数字电子钟课程设计.docx》由会员分享,可在线阅读,更多相关《数字电子钟课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
数字电子钟课程设计
摘要
电子科技日新月异,人们对现代电子设备的智能化和微型化及其精度提出了更高的要求,而单片机因其具有稳定可靠、体积小、价格低廉等特点,成为设计智能化仪器仪表的首选微控制器。
尤其是现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。
对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。
数码管显示的时间简单明了而且读数快、时间准确显示到秒。
而机械式的依赖于晶体震荡器,可能会导致误差。
数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
数字钟有很多有点:
小巧,走时精度高,使用方便,功能多。
关键字:
数字电子钟单片机
设计目的:
1.掌握数字钟的设计与调试方法。
2.熟悉集成元器件的选择和集成电路芯片的逻辑功能及使用方法。
3.熟悉仿真软件的使用。
方法:
1.查看参考资料,初步确定制作计划。
2.根据实际用途画出电路图,编辑程序控制单片机。
3.运用PROTUES软件进行仿真。
结果:
我成功的采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
结论:
我在这一次数字电子钟的设计过程中,很是受益匪浅。
通过此次实物制作,增强了我们的动手能力,把理论与实践融合在一起。
同时,也进一步加深了对单片机的硬件结构的理解和巩固,编程能力也得到了提高。
这为自己今后进一步深化学习,积累了一定宝贵的经验。
目录
第1章绪论
1.1数字电子钟的意义…………………………………………………………………………3
第2章整体设计方案
2.1单片机的选择…………………………………………………………………………3
2.2单片机的基本结构……………………………………………………………………………3
第3章数字钟的硬件设计
3.1最小系统设计…………………………………………………………………………………5
3.2LED显示电路………………………………………………………………………………8
3.3键盘控制电路………………………………………………………………………………10
第4章数字钟的软件设计
4.1数字电子钟的原理图……………………………………………………………………11
4.2主程序………………………………………………………………………………………12
4.3时钟设置子程序……………………………………………………………………………12
4.4定时器中断子程序………………………………………………………………………13
4.5LED显示子程序……………………………………………………………………………13
4.6按键控制子程序……………………………………………………………………………14
第5章系统仿真
5.1电子钟系统PROTUES仿真…………………………………………………………………16
第6章调试与功能说明
6.1功能说明……………………………………………………………………………………17
6.3系统时钟误差分析…………………………………………………………………………17
第7章结束语……………………………………………………………………………………17
第8章参考文献…………………………………………………………………………………18
第1章绪论
1.1数字电子钟的意义
数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
第2章整体设计方案
2.1单片机的选择
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。
其发展趋势不外乎以下几个方面:
1、多功能
2、高效率和高性能
3、低电压和低功耗
4、低价格
2.2单片机的基本结构
MCS-52单片机内部结构
8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
1)中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
2)数据存储器(RAM)
8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
图2-1单片机8052的内部结构
3)程序存储器(ROM):
8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
4)定时/计数器(ROM):
8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
5)并行输入输出(I/O)口:
8052共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
6)全双工串行口:
8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
7)中断系统:
8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
8)时钟电路:
8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8052单片机需外置振荡电容。
第3章数字钟的硬件设计
3.1最小系统设计
图3-1单片机最小系统的结构图
单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面介绍一下每一个组成部分。
1.电源引脚
Vcc 40 电源端
GND 20 接地端
工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。
2.外接晶体引脚
图3-2晶振连接的内部、外部方式图
XTAL1 19
XTAL2 18
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT89单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
3.复位 RST 9
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
复位是由外部的复位电路来实现的。
片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。
复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。
当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。
复位操作不会对内部RAM有所影响。
常用的复位电路如下图所示:
图3-3常用复位电路图
4.输入输出引脚
(1)P0端口[P0.0-P0.7]P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。
作为输出口时能驱动8个TTL。
对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。
在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。
(2)P1端口[P1.0-P1.7]P1是一个带有内部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收低8位地址信息。
(3)P2端口[P2.0-P2.7]P2是一个带有内部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。
而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
(4)P3端口[P3.0-P3.7]P2是一个带有内部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接控制信息。
除此之外P3端口还用于一些专门功能,具体请看下表。
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
表3-1 P3端口引脚兼用功能表
3.2LED显示电路
显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:
发光二极管LED显示器、液晶LCD显示器、CRT显示器等。
LED显示器是现在最常用的显示器之一,如下图所示。
图3-4LED显示器的符号图
发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。
分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光。
只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。
LED数码管有共阳、共阴之分。
图是共阳式、共阴式LED数码管的原理图和符号.
图3-5共阳式、共阴式LED数码管的原理图和数码管的符号图
显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,另需两个数码管来显示横。
采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。
LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。
对于多位LED显示器,通常
都是采用动态扫描的方法进行显示,其硬件连接方式如下图所示。
图3-6数码管的硬件连接示意图
数码管使用条件:
a、段及小数点上加限流电阻
b、使用电压:
段:
根据发光颜色决定;小数点:
根据发光颜色决定
c、使用电流:
静态:
总电流80mA(每段10mA);动态:
平均电流4-5mA峰值电流100mA
3.3键盘控制电路
该设计需要校对时间,所以用三个按键来实现。
按khour来调节小时的时间,按kmin来调节分针的时间,按ksec来调节秒的时间。
下图是按键硬件连接图。
图3-7按键控制电路的硬件连接图
当用手按下一个键时,如图3-8所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。
这就是抖动。
抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。
很容易想到,抖动问题不解决就会引起对闭合键的识别。
用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码。
图3-8按键抖动信号波形
第4章数字钟的软件设计
系统的软件设计也是工具系统功能的设计。
单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。
4.1数字钟的原理图
用PROTUES软件,根据要求画出数字电子钟的原理图如下所示。
图4-5数字钟的原理图
数字电子钟的工作原理。
数字电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能。
因此,一个基本的数字钟电路主要由显示器“时”,“分”,“秒”和单片机,还有校时电路组成。
8个数码管的段选接到单片机的P0口,位选接到单片机的P2口。
数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。
“分单元”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。
“时单元”采用24进制计时器,可实现对一天24小时的累计。
显示电路将“时”、“分”、“秒”通过七段显示器显示出来。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整,按一下ksec,秒单元就加1,按一下kmin,分就加1,按一下khour,时就加1。
4.2主程序
#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;
unsignedcharcodetable[10]={0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
voiddelay(unsignedint);
voidkeyscan();
voiddisplay();
main()
{TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;ET0=1;TR0=1;
while
(1)
{display();
keyscan();
}
}
voiddelay(unsignedintz)
{unsignedintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);}
4.3时钟设置子程序
voidtime0()interrupt1
{num++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
4.4定时器中断子程序
voidtime0()interrupt1
{num++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
4.5LED显示程序
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=0xfe;
P0=table[secge];
delay(5);
P2=0xfd;
P0=table[secshi];
delay(5);
P2=0xfb;
P0=0x40;
delay(5);
P2=0xf7;
P0=table[minge];
delay(5);
P2=0xef;
P0=table[minshi];
delay(5);
P2=0xdf;
P0=0x40;
delay(5);
P2=0xbf;
P0=table[hourge];
delay(5);
P2=0x7f;
P0=table[hourshi];
delay(5);
}
4.6按键控制子程序
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>=60)
hour=0;
}
while(khour==0)
display();
}
}
第5章系统仿真
5.1电子钟系统PROTUES仿真
用PROTUES软件,根据数字电子钟的原理图,画出仿真图,得到的图如下所示。
图5-1数字钟的PROTES仿真
第6章功能说明
单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。
一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。
6.1系统性能测试与功能说明
走时:
默认为走时状态,按24小时制分别显示“时时-分分-秒秒”,有2个“-”动态显示,时间会按实际时间以秒为最少单位变化。
走时调整:
按ksec对秒进行调整,按一下加一秒;按kmin对分进行调整,按一下加一分;按khour对时进行调整,按一下加一小时,从而达到快速设定时间的目的。
6.2系统时钟误差分析
时间是一个基本物理量,具有连续、自动流逝、不重复等特性。
我国时间基准来自国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。
结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。
S>0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S<0表示秒单元数值的刷新超前,即走时误差为“快”。
本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。
晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。
第7章设计心得
我在这一次数字电子钟的设计过程中,很是受益匪浅。
通过此次实物制作,增强了我们的动手能力,把理论与实践融合在一起。
同时,也进一步加深了对单片机的硬件结构的理解和巩固,编程能力也得到了提高。
这为自己今后进一步深化学习,积累了一定宝贵的经验。
撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。
培养了我运用所学知识解决实际问题的能力。
第8章参考文献
1)田丰《单片机原理及应用》北京:
清华大学出版社
2)孙传友、孙晓斌、张一《感测技术与系统设计》北京:
科学出版社.
3)孙梅生《电子技术基础课程设计》上海:
科技出版社
4)李辉《PLD与数字系统设计西安》电子科技大学出版社
5)吴金戌、沈庆阳、郭庭吉.《8051单片机实践与应用》北京:
清华大学出版社
6)陈明荧《8051单片机课程设计实训教材》北京:
清华大学出版社
7)胡健、刘玉宾、朱焕立《单片机原理及接口技术实践教程》北京:
机械工业出版社
8)康华光《数字电子技术基础》北京:
高等教育出版社,2000
9)阎石《数字电子技术基础(第四版)》北京:
高等教育出版社,1998,11
10)姚福安《电子电路设计与实践(第一版)》山东科学技术出版社,2002,7
11)高吉祥《电子技术基础实验与课程设计》电子工业出版社,2002
12)彭介华《电子技术课程设计指导》北京:
高等教育出版社,1997,4
《综合实践设计》报告
基于单片机数字电子钟的设计与实现
院系:
通信与电子工程学院
班级:
通信082班
姓名:
曲志鑫2008132051
指导教师:
李会
完成时间:
2010/05/10~2010/05/20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子钟 课程设计