电子时钟LED显示设计

微机应用课程设计报告

题 目:基于51单片机的电子时钟LED显示设计

专 业: 班 级:

姓 名: 学 号: 地 点: 时 间:指导老师:

摘 要

数字电子时钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

本文介绍了基于51单片机的电子时钟的设计,从硬件和软件两个方面给出了具体实现过程。该时钟的设计采用功能分块的思想方法,将硬件电路划分为开关电路,显示驱动电路和数码管电路等若干独立模块,而软件的实现则由闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等组成。文中给出了各个模块的电路图,并用Proteus的ISIS软件对电子时钟系统的各个功能进行了仿真,并给出了相应的仿真结果图像。

关键字:51单片机; 电子时钟

目 录

1 绪 论 ......................................................................................................................... 1 1.1 电子时钟的简单介绍 .......................................................................................... 1 1.2 电子时钟的基本特点 .......................................................................................... 1 1.3 电子时钟的基本原理 ........................................................ 错误!未定义书签。

2 硬件电路设计 ......................................................................................................... 2 2.1单片机模块 ............................................................................................................. 3

2.1.1 AT89C51主要特性如下 ............................................................................ 3 2.1.2 AT89C51主要特性如下 ............................................................................ 4 2.2 时钟设计模块 ...................................................................................................... 6 2.3输入设计模块 ......................................................................................................... 7 2.4输出设计模块 ......................................................................................................... 7

3 电子时钟软件设计 ................................................................................................... 8 3.1 初始化程序 ............................................................................................................ 9 3.2 部分源程序代码 .................................................................. 错误!未定义书签。

4系统测试与结果分析 ................................................................................................ 9 4.1电路安装 ............................................................................................................... 9 4.2 电路调试 .............................................................................................................. 10 4.3 软件调试 ....................................... 错误!未定义书签。 4.4 性能测试 .............................................................................. 错误!未定义书签。

5 总结 ............................................................ 15 参考文献 ..................................................................................................................... 16 附录一 ......................................................................................................................... 17

1 绪 论

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。

1.1 电子时钟的简单介绍

1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。

1.2 电子时钟的基本特点

现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石

英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以

进行时和分的校对,片选的灵活性好。

1.3电子时钟的基本原理

该电子时钟由AT89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。

2 硬件电路设计

此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,小时、分钟和秒,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。单片机采用AT89C51系列,这种单片机应用简单,适合电子钟设计。

图1 系统结构示意图

2.1 单片机模块

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。外形及引脚排列如下图:

图2 单片机模块电路图

2.1.1 AT89C51主要特性:

AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。主要特性如下:

·与MCS-51 兼容

·4K字节可编程FLASH存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24MHz

·三级程序存储器锁定

·128×8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器

·5个中断源 ·可编程串行通道

·低功耗的闲置和掉电模式

2.1.2 AT89C51单片机引脚说明

图3 AT89C51引脚分布图

VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4

个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚 备选功能

P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(计时器0外部输入) P3.5 T1(计时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH

编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

2.2 时钟设计模块

单片机利用外部12MHZ晶振构成振荡电路作为时钟源,时钟电路的原理如下图。

图4 时钟电路图

2.3 输入设计模块

输入信号主要是各种模式选择和调整信号,由按键开关提供。以下为输入部分样例:

图5 输入模块电路图

在本实验中主要用用P3口输入按键信号,还用到了特殊的P0口。对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示:

图6 开关功能示意图

2.4输出模块设计

本实验的数码本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯管是共阴的,为了防止段选信号不能驱动数码管,故在P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入,如下图:

图7 输出模块电路图

3电子时钟系统软件设计

基本的程序流程应该是:在主程序中检测各个时间按钮是否有动作若有,就储存并修改相关的的时间寄存器的值,若没有,就继续检测。在计时子程序中将各时间寄存器的值逐个加1,每加一次就要检查是否已超过显示的上限值,这样在后面就便于处理,在扫描显示子程序中,将扫描位数指针与20H相加,从而得到相应的显示数据;然后按照显示的位数加显示数就的格式,将数据从P1口输出到数码管上去显示,当然还有定时中断子程序,在这里,它实现计时1S的时间延时。

3.1 初始化程序

图8 初始化流程图

3.2 部分源程序代码:

ORG 00H;主程序起始地址

JMP START;主程序START

ORG 0BH;定时器T0中断起始地址

JMP TIM0;定时器T0中断子程序TIM0

START: MOV SP;#70H;设置堆栈指针

MOV 28H,#00;设置显示位数扫描指针初值为0

MOV 2AH,#12H;设置时钟显示寄存器初值为12H

MOV 2BH,#00;设置分钟显示寄存器初值为00H

MOV 2CH,#00;设置秒钟显示寄存器初值为00H

MOV TMOD,#01H;设置定时器T0工作在方式1

MOV TH0,#0F0H;定时4ms的初值,即0F060H

MOV TL0,#60H;初值的低位

MOV IE,#82H;定时器T0中断允许

MOV R4,#250;保证后面实现中断250次,即1s的延时

SETB TR0;启动定时器T0

LOOP: JB P0.0,N2;若秒没有按键,就转去下一步检查分

CALL DELAY;延时5ms消除抖动

MOV A,2CH;将秒寄存器的值载入累加器A

ADD A,#01H;A的内容加1

DA A;十进制调整

MOV 2CH,A;A 的值存入秒寄存器

CJNE A,#60H,N1;看是否已经是60秒,若不是就继续检查

MOV 2CH,#00;已经是60秒,就清空秒寄存器的值

N1: JNB P0.0,$;秒按键还没有放开就循环等待

CALL DELAY;延时5ms,消除抖动

N2: JB P0.1,N4;若分没有按键,就转去下一步检查时钟

CALL DELAY;延时5ms,消除抖动

MOV A,2BH;将分寄存器的值载入累加器A

ADD A,#01H;A的内容加1

DA A;十进制调整

MOV 2BH,A;A的值存入分寄存器

CJNE A,#60H,N3;看是否已经是60分

MOV 2BH,#00;已经是60分,就清空秒寄存器的值

N3: JNB P0.1,$;分按键还没有放开就循环等待

CALL DELAY;延时5ms,消除抖动

N4: JB P0.2,LOOP;若时没有按键,就转回去继续检查看是否秒有按键

CALL DELAY;延时5ms,消除抖动

MOV A,2AH;将时寄存器的值载入累加器A

ADD A,#01H;A的内容加1

DA A;十进制调整

MOV 2AH,A;A的值存入时寄存器

CJNE A,#24H,N5;看是否已经是24时,若不是就继续检查

MOV 2AH,#00;已经是24时,就清空寄存器的值

N5: JNB P0.2,$;时钟按键还没有放开就循环等待

CALL DELAY;延时5ms,消除抖动

JMP LOOP;返回重新检查看是否有按键

;*******定时器T0中断子程序*******

TIM0: MOV TH0,#0F0H;定时初值重设

MOV TL0,#60H

PUSH ACC;将累加器A的值暂存于堆栈

PUSH PSW;将PSW的值暂存于堆栈

DJNZ R4,X2;计时中断不满1s就退出继续中断

MOV R4,#250;计时1s

CALL CLOCK;调用计时子程序CLOCK

CALL DISP;调用显示子程序DISP

X2: CALL SCAN;调用扫描子程序SCAD

POP PSW;到堆栈取回PSW的值

POP ACC;到堆栈取回累加器ACC的值

4 系统测试与结果分析

4.1电路安装

安照电路原理图把元器件安装到已打好的铜板对应的位置,把个元器件固定在铜板后,用导线把对应的元器件的引脚相连接,再用焊锡焊接好即可。注意事项:

(1)元器件的布局应尽量集中,且各个元器件间引脚的连线应尽量短、不弯 曲,跳线尽量少。

(2)各个元器件引脚的焊接不要虚焊。

4.2电路调试

把相应编译好的目标程序代码加载到单片机芯片AT89C51,可接上5V电压源即开始进行硬件电路的调试工作。如果显示结果不符合设计要求,即检查电路各连接点是否正确连接,再次进行硬件电路的调试工作,或是检查代码程序是否符合硬件电路的设计,若有错即进行相应的修改,编译后,再进行硬件电路的调试工作。如此反复操作,直到调试出正确结果。

4.3 软件调试

(1) 在计算机上运行程序调试软件Keil C,进行程序调试。

(2)利用Proteus 软件进行仿真模拟。

(3)加载程序代码到单片机芯片AT89C51中,进行模拟仿真。若出现错误,查看错误后进行相应修改再进行调试与模拟仿真,直到调试出正确结果。

4.4 性能测试

系统上电后进行功能的测试,通过测试观察到,系统上电后数码管上显示时间:11-11-11。通过测试,本作品设计实现了数字电子钟的基本功能,且系统工作稳定。经过全组组员一起调试及验证,计时误差为1.0秒。

5 总结

本次课程设计的题目是LED数字显示电子时钟。经过一个星期的努力,终于调试成功,并经过测试数据显示, 系统的可靠性已经基本能够达到实际电子钟的设计要求,同时本单片机数字电子钟系统具有扩展性。

本设计从经济实用的角度出发,采用51单片机的AT89C51芯片作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、电源输入等电路并用汇编语言编写主控芯片的控制程序,研制了一款可以调时并带有秒表功能的电子时钟。使用单片机制作的电子时钟具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于体育赛事和车站、办公室及家庭等场所,有一定的实用性。此电子时钟严格按照要求设计,基本达到了预期效果,能够正确的显示时分秒的计时,算上是一次比较成功的设计了。

实验中遇到了不少问题,但我们一起改进和综合了如下。

1.按键问题。此设计中,很多功能选择是通过按键开关实现的。在仿真中发现,调整数值时,有时按键反应太快,按一次,跳了几下,使设置时间很不方便。于是用软件延时将按键进行两级防抖,从而大大提高了按钮的可操作性。

2.添加功能问题。此设计中,除了基本的功能外,我们发现没有突出的亮点,于是想到添加一个秒表计时的功能,我们将定时器1进行时分复用,通过按键按下的先后顺序对定时器1的计时或计数进行功能选择,此程序是在调时进行后由开关1控制,进行复位和控制,可以实现叠加计时和清零。

课程设计是培养学生综合运用所学知识,发现实际问题、提出实际问题、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际学习能力、动手能力的具体训练和考察过程。

在此次数字钟设计过程中, 在学习新知识的同时,把在课程中学到的理论知识运用到实际作品设计、操作中,更进一步地熟悉了单片机芯片的结构及掌握了其工作原理和具体的使用方法与相关元器件的参数计算方法、使用方法,了解了电路的开发和制作及课程设计报告的编写。加深了对相关理论知识及专业知识的掌握度,增强自身的动手能力,锻炼及提高了理解问题、分析问题、解决问题的能力,更深刻的体会到了理论联系实际的重要性。

最后,我们组通过此次单片机课程设计不仅仅将我们一学期在单片机课程上的所学很好的应用到了实际设计中,更是将理论知识应用到了实践中,这才是真正的学习,不仅仅是读万卷书,更要行万里路,讲知识与实践有机的结合。也十分感谢老师为我们提供了这次单片机课程设计的机会,我们也通过此次课程设计,更清晰更实际的接触到了单片机。

微机应用课程设计 电子时钟LED显示设计

参考文献

1、《单片机原理及应用》李建忠 编 西安电子科技大学出版社。

2、《单片微型计算机原理与接口技术》 高峰 编 电子工业出版社。

3、《单片机应用新技术教程》邹逢兴 编 高等教育出版社。

4、《16位微型计算机原理接口及其应用》 朱宇光 编 电子工业出版社。

5、《微型计算机原理与接口技术》 吴秀清 编 中国科学技术出版社。

6、《微型计算机接口技术》 邓亚平 编 清华大学出版社。

7、《单片机原理及及应用》 王迎旭 编 机械工业出版社。

微机应用课程设计 电子时钟LED显示设计

附录一 系统电路结构图:

图9 系统电路图

18

19


相关文章

  • LED旋转时钟原理
  • 1.绪论 旋转时钟造型奇特,结构简单,但却能显现出炫丽的画面.从在网上看到旋转时钟的视频的那一刻起,我就决心做一个属于自己的LED 旋转时钟. 我开始在网上收集各种有关旋转时钟的资料,网上大致分几种模式,简单的只是刷屏读取字模显示汉字,难度 ...

  • 单片机课程设计电子钟(电子时钟)
  • 单片机课程设计 电 子 钟 院 系:信息工程与自动化系 专 业:08自动化 姓 名: 学 号: 指导教师: 设计日期:2011年12月 课程设计任务书 一.设计题目:基于单片机的电子钟的设计 二.任务与要求: 1.基本任务: 设计一个具有特 ...

  • 多功能电子时钟设计
  • 宿州学院 本科生毕业设计说明书(毕业论文) 题 目:多功能电子钟的设计 学生姓名:胡利芳 学 号:2010080118 专 业:电子信息工程 班 级:10电信专升本 指导教师:张翠侠 多功能电子钟的设计与实现-硬件部分 摘 要 电子时钟主要 ...

  • 单片机电子时钟设计
  • 摘 要 单片机是一个由微处理器(CPU).片内数据储存(RAM)与特殊功能寄存器(SFR).片内程序存储器(ROM).并行输入输出(I/O).定时/计数器.串行通信口.总线控制器.中断控制系统.片内振荡器和内部总线组成的集成电路芯片.它体积 ...

  • 多路彩灯控制器
  • 目录 前 言---------------------------------------------------------------5 第1章 方案论证----------------------------------------- ...

  • 路灯控制电路
  • 2009年全国大学生电子制作大赛 设 计 报 告 参赛学校 参赛人员 参赛工位号 摘要 根据题目要求,本控制系统电路由MCU为主控芯片,辅以测量光和红外的传感元件,可根据环境明暗变化,自动开灯和关灯,支路控制器能根据交通情况自动调节亮灯状态 ...

  • 简易数字钟电路设计基本思路
  • VTECHNOLOGY职业 技术理论研究 简易数字钟电路设计基本思路黑 龙 江 邵 兰一.概述随着数字电视的普及,电子计算机技术在广播电视行业得到了越来越广泛的应用.掌握电子计算机应用及网络管理方面的知识和技能已经成为业内人员必须具备的基本 ...

  • 电子钟实训报告
  • <单片机原理及应用> 课程设计报告 课题名称: 基于单片机的电子钟的设计 姓 名: 院 系: 专 业: 学 号: 指导教师: 完成时间: 年 月 日 目录 摘要 -------------------------........ ...

  • 嵌入式论文
  • [摘要]LED显示技术在工业仪表中应用十分广泛,它能直观地显示运行系统的实时状态.同时PIC单片机由于功能强,成本低的优势在各种仪表中应用广泛.对PIC单片机控制点阵LED显示技术进行研究. [关键词]PIC单片机LED 控制 [Abstr ...

© 2024 范文参考网 | 联系我们 webmaster# 12000.net.cn