基于单片机的电子时钟设计 精品.docx

上传人:b****4 文档编号:3700159 上传时间:2022-11-24 格式:DOCX 页数:28 大小:695.69KB
下载 相关 举报
基于单片机的电子时钟设计 精品.docx_第1页
第1页 / 共28页
基于单片机的电子时钟设计 精品.docx_第2页
第2页 / 共28页
基于单片机的电子时钟设计 精品.docx_第3页
第3页 / 共28页
基于单片机的电子时钟设计 精品.docx_第4页
第4页 / 共28页
基于单片机的电子时钟设计 精品.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

基于单片机的电子时钟设计 精品.docx

《基于单片机的电子时钟设计 精品.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计 精品.docx(28页珍藏版)》请在冰豆网上搜索。

基于单片机的电子时钟设计 精品.docx

基于单片机的电子时钟设计精品

摘要

 

近几年,单片机在各个领域得到广泛的应用。

本文介绍的是基于AT89C51单片机的数字式电子时钟的设计,包括硬件以及软件的设计。

该设计通过软件编程的方法实现了以24小时为一个周期并能同时显示小时、分钟和秒以及具有整点报时的功能。

该电子时钟设有三个按键:

SB1、SB2和SB3,使之具有校时功能。

关键词:

电子时钟;AT89C51单片机;蜂鸣器;数码管;设计与仿真

 

ABSTRACT

 

SingleChipMicrocomputerhasachievedaimmersepopularityinallfieldsinrecentyears.ThisarticledescribesisbasedonAT89C51MCUdesignofelectronicclock,includingthedesignofhardwareandsoftware.Thedesignmethodofsoftwareprogramming,theclockcandisplayhour,minuteandsecondatthesametimeina24-hourcycleaswellasthewholepointtimekeepingfunction.Thiskindofelectronclockisequippedwiththreekeys.SB1,SB2andSB3,whichenabletheclocktoadjusttokeepaccuratetime.

Keywords:

Electronclock;AT89C51MCU;Buzzer;Alphanumericdisplay;Designandstimulation

 

1绪论

近些年来随着计算机的普及和大规模集成电路的发展,单片机的应用迅猛发展,由于它体积小,耗能低,功能强,价格便宜,工作稳定,使用方便,因此单片机被广泛应用于越来越广泛地应用于智能化仪器,家用自动控制,数据系统采集,军工产品以及工业自化控制领域。

石英晶体振荡器,简称为晶振,它是利用具有压电效应的石英晶体片制成的。

由于其体积小、重量轻、可靠性高、极高的频率稳定性。

因而被作为一种高精确的计时工具。

电子钟,石英钟,石英表均采用了晶振计时技术,因而它们计时精确度高,性能稳定,使用方便,也不经常需要校准。

数字式电子钟利用晶振计时,用LED显示器代替机械指针显示指示的时间,用译码器代替表针机械式传动,因而误差极小。

这种电子时钟能够精确显示时,分,秒,还可以自动进行时和分的校准,大大地扩展了钟表原先仅有的报时功能。

电子时钟的出现给人们生产生话带来了极大的方便。

使得电子时钟被广泛的应用于个人家庭、码头、车站、办公室等场所的各个角落,已成为人们口常生话中不可缺少的必需品。

目前的电子时钟大都基于单片机,并加以时钟芯片构成。

以单片机为核心,可以很方便的扩展很多种外围电路进而可以增添多种功能,比如语音芯片,温、湿度传感器等。

可以使电子时钟的功能更加强大。

增添外围电路,增添新的程序,便可以使它实现不同的功能。

比如说电子万年历就比普通的电子日历功能更多,就是以电子时钟为基础。

而通常基于单片机设计数字时钟有两种:

(1)使用单片机自带的时钟来计时。

这种设计方法硬件线路简单,但是程序相对比较复杂,系统功能跟软件设计有很大的关系。

使用与对时间精度要求不高的场合。

(2)是采用专门的时钟芯片,时钟芯片集成度高,功能强大,它能利用自带的时钟计时并具有自动校准功能,因而计时精度极高。

这样设计软件编程相对简单,但是硬件成较高,适用于对时间精确度要求较高的场合使用。

本文主采用单片机内部的定时/计数器来实现计时的方法,本设计基于单片机AT89C51芯片,显示电路采用LED数码管,辅以必要的外围电路,便构成了一机构简单,适用方便的新型电子时钟

2单片机的简单介绍

2.1单片机的定义及特点

单片机是一种微型计算机,内部集成运算器,控制器、存贮器、总线等器件。

存储器包括程序存贮器ROM(用存储程序和常用的数据)、数据存贮器RAM(用于存储程序运行中的数据)、带有并行和串行接口(便于与外围电路相连)、自带定时器/计数器、和中断控制系统等。

目前大部分单片机还支持外扩存储器的功能,随着集成电路的快速发展,单片机的功能也越来越强大,集成诸如高速计数端口、通讯接口、PW波调制、AD转换、DA转换。

现在功能更为强大,它甚至可以将声音、网络、图像、复杂的输入输出功能全部集在一起。

由于单片机体积小、安装适用方便价格低等优点因而很适合各种复杂度不高的控制场合里。

2.2单片机的分类

按照单片机的类型,单片机有:

(1)STC系列单片机;

(2)具有ISP功能的单片机;(3)PIC系列单片机;(4)AVR单片机;(5)AT系列单片机。

2.3单片机的应用与发展

单片机已经出现在我们生活的各个领域。

大到控制导弹的导航,飞机控制,小到洗衣机和玩具。

计算机的网络通讯与数据传输,工业自动化过程的计时控制和处理数据,广泛使用的各种智能IC卡,数码相机,录像机、摄像机、全自动洗衣机的控制,还有程控玩具、电子宠物等等,由于单片机价格低廉,性能稳定,因而越来越受到电子设计者的喜欢。

单片机应用大致可分几个方面:

(1)智能仪器仪表;

(2)工业控制;(3)家电管理;(4)计算机网络;(5)医疗设备;(6)机器人控制;

单片机发展方向:

(1)向主流机型发展:

(2)软件嵌入:

(3)向RISC体系结构发展:

(4)专用性单片机发展:

(5)向全盘CMOS化发展。

3AT89C51单片机简介

3.1单片机的结构

AT89C51采用CMS工艺,因而功耗很低。

存储上采用非易失存储技术。

片内含有高性能的4KB快闪可编程/擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)。

COMS8位微控制器,其引脚和指令系统与80C51完全兼容。

允许在芯片上的FPEROM在线编程或采用通用的非易失存储编程器对存储器重复编程。

MCS-51单片机内部结构框架,如图3-1

图3-1MCS-51单片机内部结构框架

3.2中央处理器(CPU)的结构

MCS-51单片机内部有一个8位的CPU处理器,同时CPU内部包含了运算器,控制器、寄存器和总线组成。

3.2.1运算器

运算器(ALU)完成二进制的算术/逻辑运算部件为核心,再加上暂存器TMP、寄存器B、PSW程序状态标志寄、ACC存器累加器、B及布尔处理器。

加器ACC(一个八位寄存器)是CPU中工作最频繁的器件。

在进行算术和逻辑运算时,累加器ACC往往在运算前暂存一个操作数(比如是被乘数),而运算后又保存其结果(比如代数积)。

寄存器B主要用于乘法和除法运算操作。

PSW标志寄存器(一个八位寄存器),用来存放运算结果的一些特征,如无进位、溢出标志位等。

3.2.2控制器

控制器是CPU的中枢神经,它带有定时控制逻辑电路、指令寄存器、译码器、SP堆栈指针、DPTR地址指针及PC程序计数器等。

PC程序计数器是一个16位寄存器构成的计数器。

如果在单片机执行一个程序,必须把该程序按顺序预先装入存储器ROM的某个区域。

单片机启动后应该按顺序一条条取出指令来加以执行。

因此,必须有一个电路可以找出指令在的单元地址,该电路就是程序计数器PC。

当单片机开始执行程序时,PC装入第一条指令所在地址,每当它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就会自动加1,代表指向下一条指令的地址,这样可以使指令能够顺序执行。

只有遇到转移指令、序调子程用指令,或中断处理时,PC自动跳转到所需要的地方去。

89c51CPU通过PC指定的地址,从ROM相应单元中取出指令字节并放在指令寄存器中寄存,然后翻译指令:

指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号可以与单片机时钟振荡器产生的时钟脉冲在定时和控制电路中相结合,形成按一定规律按节拍变化的电平和时钟,也就是我们所指的控制信息,协调在CPU内部寄存器之间的数据运算、传输操作结果保存等。

3.3硬件结构及引脚说明

MCS-51单片机的内部结构,如图3-2所示。

图3-2MCS-51单片机内部结构

AT89C51单片机运用40Pin封装的双列直接DIP封装结构,下图是它IO口的引脚配置,外部中断引脚与P3引脚复用,40个引脚中,包括电源正极和电源负极,外接石英振荡器的时钟线两根,4组8位双向32个I/O口,。

现在我们对这些引脚的功能加以简单说明,如图3-3所示。

图3-3AT89C51单片机引脚图

P0口(39~32脚):

P0.0~P0.7。

可以作为准双向输入/输出口(在不接片外存储器与不扩展I/O口时)。

在外扩片外存储器或扩展I/O口时,P0口可以分时复用为低8位地址总线和双向数据总线使用。

它是为一个没有内部上拉电阻的IO口,在使用时一般需要外接上拉电阻。

P1口(1~8脚):

P1.0~P1.7,可以作为准双向I/O口使用内部含有上拉电阻。

驱动电流为5毫安,灌电流为20毫安左右。

P2口(21~28脚):

P2.0~P2.,一般作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口被用作高8位地址总线,实现片外数据读取。

P3口(10~17脚):

P3.0~P3.7,是一个复用口,它不仅可以作为准双向I/O口使用外,还具有第二功能,P3口的第二功能如表3-1所示。

表3-1P3口的第二功能

引  脚  

第二功能

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    外部数据存储器读选通信号输入端,低电平有效

ALE/PROG(30脚):

地址锁存有效信号输入端,不用时候可以悬空。

PSEN(29脚):

片外程序存储器读选通信号输出端,当低电平时有效。

在没有外扩存贮器时迎接高电平,不然会造成运行不稳定。

RST/VPD引脚(9脚):

该引脚为单片机的上电复位或掉电保护端。

常见的复位电路有:

上电自动复位电路和上电加手动复位电路,如图3-4所示。

图3-4MCS-51单片机复位电路图

EA/Vpp(31脚):

EA为片外程序存储器选用端,低电平时有效。

XTAL1(19脚)和XTAL2(18脚)外部时钟接入端,分别为反向放大器的输入端和输出端。

该反向放大器可以配置为片内振荡器,采用石晶振荡和陶瓷电容振荡。

如果采用外部时钟源驱动器件,XTAL2不接。

外部振荡输入至内部时钟信号需要通过一个二分频触发器,因此对外部时钟信号的脉宽无太大要求,但必须保证脉冲的高低电平要求的宽度,如图3-5所示。

外部振荡

内部振荡

图3-5MCS-51单片机振荡电路图

3.4单片机的存储器

单片机的结构有两种类型:

一种是程序存储器和数据存储器分开的形式

3.4.1程序存储器(ROM)

程序存储空间可以被映射为内部程序存储器或者外部程序存储器。

AT89C51单片机内部具有的4KB程序存储器被映射到程序存储空间的0000H~0FFFH这些区间。

这部分程序存储空间也可以被映射到外部程序存储器,引脚(引脚31)所接的电平决定它具体被映射为哪一种程序存储器。

当引脚为低电平,外部程序存储器被映射到这部分程序存储空间;当引脚为高电平,内部程序存储器被映射到这部分程序存储空间;。

高于0FFFH的程序存储空间只能被映射为外部程序存储器。

ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。

ROM所存数据稳定,断电后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。

除少数品种的只读存储器(如字符发生器)可以通用之外,不同用户所需只读存储器的内容不同。

为便于使用和大批量生产,进一步发展了可编程只读存储器(PROM)、可擦可编程序只读存储器(EPROM)和电可擦可编程只读存储器

3.4.2数据存储器(RAM)

单片机的数据存储器是由读写存储器RAM组成。

其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区,其最大容量可扩展到64k,用于存储实时输入的数据。

8051内部有256个单元的内部数据存储器,。

8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中00H~7FH(即0~127)为内部数据RAM的地址,80H~FFH作为特殊功能寄存器的地址。

在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按“位(bit)寻址”,还可按字节寻址。

从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R0~R7。

究竟选用哪一组寄存器,由前述标志寄存器中的RS0和RS1来选用。

在这两位上放入不同的二进制数,就可选用不同的寄存器组。

3.4.3特殊功能寄存器(SFR)

特殊功能寄存器(SFR)的地址范围是80H~FFH。

在MCS-51中,除四个工作寄存器还有程序计数器PC区外,其余21个特殊功能寄存器都在这SFR块当中。

其中5个是双字节寄存器,它们共占用了26个字节,如图3-6所示。

各特殊功能寄存器的符号和地址见表3-2所示。

图3-6MCS-51单片机存储器说明

表3-2MCS-51单片机的特殊功能寄存器地址及功能表

MCS-51单片机的特殊功能寄存器

符号

地址

功能介绍

B

F0H

B寄存器

ACC

E0H

累加器

PSW

D0H

程序状态字

TH2*

CDH

定时器/计数器2(高8位)

TL2*

CCH

定时器/计数器2(低8位)

RCAP2H*

CBH

外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位

RCAP2L*

CAH

外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位

T2CON*

C8H

T2定时器/计数器控制寄存器

IP

B8H

中断优先级控制寄存器

P3

B0H

P3口锁存器

IE

A8H

中断允许控制寄存器

P2

A0H

P2口锁存器

SBUF

99H

串行口锁存器

SCON

98H

串行口控制寄存器

P1

90H

P1口锁存器

TH1

8DH

定时器/计数器1(高8位)

TH0

8CH

定时器/计数器1(低8位)

TL1

8BH

定时器/计数器0(高8位)

TL0

8AH

定时器/计数器0(低8位)

TMOD

89H

T0、T1定时器/计数器方式控制寄存器

TCON

88H

T0、T1定时器/计数器控制寄存器

DPH

83H

数据地址指针(高8位)

DPL

82H

数据地址指针(低8位)

SP

81H

堆栈指针

P0

80H

P0口锁存器

PCON

87H

电源控制寄存器

4LED数码管简介

单片机中最经常使用的是7段共阳极的LED数码管,LED是发光二极管的简写。

LED数码管显示器由于结构简单,体积小,亮度高,功耗低,稳定性,好价格便宜,寿命长,速度快,亮度高,使用灵活,便于和单片机接口相连,因而得到广泛应用。

LED数码管显示器是由若干个发光二极管组成显示字段的显示部件组长,当发光二极管通电导通时,相应的一个部位或一个笔划就会显示发光,分别控制不同组合的二极管导通,就能显示出各种需要的字符。

LED七段数码由8个发光二极管组成,根据内部发光二极管的连接结构不同,LED数码管可以分为共阴极数码管和共阳极两种数码管,共阳极数码管所有的正极连载一起的,同理共阴极的数码管,所有的负极接地,本系设计采用共阴极数码管。

LED的结构及连接如图4-1所示

图4-1

当选用共阴极的LED数码管时,所有发光二极管阴极会被连在一起接地,当某个发光二极管的对应的引脚加入高电平时,对应的二极管就会发光。

因此要显示想要的字形就应使该字形的相应段的断码点亮,实际上就单片机把要显示的数转化为数码管断码来显示。

此数据为字符的段码,但要注意扫描的速度。

字型码与LED显示器各段的关系如表4-1所示。

表4-1

D7

D6

D5

D4

D3

D2

D1

D0

dp

g

f

e

d

c

b

a

dp为小数点,字符0、1、2……F的段码如表4-2所示

表4-2

字符

段码(共阴)

段码(共阳)

0

3FH

COH

1

06H

F9H

2

5BH

A4H

3

4FH

B0H

4

66H

99H

5

6DH

92H

6

7DH

82H

7

07H

F8H

8

7FH

80H

9

6FH

90H

A

77H

88H

B

7CH

83H

C

39H

C6H

D

5EH

A1H

E

79H

86H

F

71H

8EH

-

40H

BFH

.

80H

7FH

熄灭

00H

FFH

LED显示器可以分为有静态显示方式和动态显示方式两种。

静态显示就是当数码管显示某个字符时,相应的段恒定的导通,直到要显示下一个字符为止。

数码管工作在静态显示方式时,共阴极COM端要接地;若为共阳极COM端接在+5V电源。

每位的段选线应分别与一个8位锁存器的输出端相连,数码管的各位是相互独立的,且要显示字符一经确定,相应锁存器的输出将维持不变。

静态显示数码管一直在工作,因而数码管静态显的亮度较高。

在这种显示方式编程比较容易,管理也较简单,但占用I/O口线资源较多,浪费资源,成本较高,需要加装锁存器,因而在显示位数较多的情况下,我们大都都采用数码管动态显示方式进行显示。

由于所有数码管的8位段码皆由一个I/O口控制,因此,在每一显示瞬间瞬间,8位数码管的断码都会被同时选中。

要想每个数码管显示不同的字符,就必须采用扫描方法一次点亮想控制的数码管,即在每一瞬间只使其中的一个数码管工作显,其他的都熄灭。

在此瞬间,段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在此时选中选中需要点亮的数码管。

该显示位送入选通电平(因为LED为共阴,故应送低电平),以保证该位显示相应字符。

如此替换,使每个数码管分时显示该位应显示字符。

在多位LED显示时,为了简化电路,节约成本,将所有位的段选线并联在一起,由单片机的一个8位I/O口控制。

而共阴(共阳)极公共端则分别接在不同的I/O口上进行控制,实现个数码管的分时选通。

段选码,位选码每送入一次后延时约1MS,因人的视觉暂留时间为0.1S(100MS),所以每位显示的时间如果超过超过20MS,并保持延时一段时间,会造成视觉暂留效果,给人看上去每个数码管都在亮。

这种方式称为数码管动态扫描方式。

下面是本设计采用的共阴极LED七段数码显示器,如图4-2.

图4-2

电流:

数码管静态扫描时,推荐使用10-15mA的驱动电流;动态扫描时,平均电流为4-5mA,峰值电流有时能达到50-60mA。

电压:

当选择红色时,最好使用1.9V的驱动电压;当选择绿色时,使用2.1V的驱动电压。

5软件设计

程序流程,如图5-1所示。

图5-1系统流程图

本次设计,采用汇编语言程序,这样可以提高计时的正确性。

使用内部定时器T0,并工作在方式1,由于采用的是12M的晶振,在这种工作方式下的最大的定时时间间隔为65.536ms,所以在本设计中采用定时的时间间隔为50ms,这样经过20个定时时间间隔恰好是1s。

在计时子程序时,使用34H单元表示50ms存贮单元,用30H表示秒(s)的存储单元,用31H表示分(min)的存储单元,用32H表示时(h)存储单元。

当34H中的数据为14h(即十进制为20)时,表示1s的时间到了,这时将30H中的内容自动加1,同时将34H中的自动内容清零;当30H中存放的数据为3Ch(即十进制为60)时,表示1min时间到了,此时将31H中的内容自动加1,同时将30H中的内容被清零;当31H中的数据为3Ch(即十进制为60)时,表示1h时间到了,此时将32H中的内容自动加1,同时将31H中的内容被清零;当32H中的数据为18h(即十进制为24)时,表示一天过完了,此时将32H内容被清零,重新自动开始计时。

在显示子程序中,每个数码管显示时间控设置在5ms,当显示秒数字时,把秒数字的个位对应的二进制码用P2口的7个脚(P2.0~P2.6)来控制,同时选通显示秒的个位数据的数码管,电平保持5ms;之后把秒数字的十位对应的二进制码送往P2口的7个脚,同时选通显示秒的十位数据的数码管工作。

也保持大约5ms,之后把显示分割符对应的二进制码送往P2口的7个脚,同时选通显示分隔符的数码管,也保持大约5ms;这样有3个5ms内只有负责秒显示的两个数码管显示和一个显示分隔符的数码管进行显示,而其余的数码管因未选通不工作而不显示任何的数据信息,同理显示分钟和小时也采用相似的控制方法,8个数码管一次轮流工作显示,显示的频率为1000ms/(5ms·8)=25Hz,使用这种频率数码管发出的光不会使人眼睛产生跳跃或重影的感觉。

在时间调整的程序中,在P1.0~P1.2口获得低电平信并维持在5ms以上时便确认该键被按下。

如果P1.0口为有效低电平,则自动将30H(秒计时单元)内容加1,同时将调整调用显示函数显示。

然后再次检测P1.0口是仍未有效的低电平,如果“是”则继续调整秒数据,“否”则接下来判断P1.1口是否为有效低电平,如果是有效低电平则将31H(分钟计时单元)内容自动加1,同时调用显示子函数将调整后的分数据显示,然后返回再次判断P1.0口的电平,如果不是有效低电平,则接下来判断单片机P1.2口是否为有效低电平,如果P1.2口是低电有效单片机则将32H(小时计时单元)内容自动加1,同时调用显示子函数将调整后的小时数据显示,再次返回判断P1.0口的电平,如果P1.2口不是有效电平就退出时间调整程序。

6时钟设计的硬件仿真

6.1仿真软件的介绍

Proteus的ISIS是一款Labcenter新出品的电路来分析实物仿真系统,可意对各种电路和IC进行仿真,并支持单片机,它元件库齐全,且使用方便,是一个不可多得的专业的单片机进行仿真系统。

采用PC进行虚拟仿真实验要比显示中采用单片机实验箱更为有效,跟快捷,更经济。

因为用户可以根据需要随时随地对原理电路图进行修改和改进,并立即就能获得仿真结果。

由于在软件上修改原理电路图要比在实际中修改硬件电路容易得多,快捷的多。

而且还可以根据不同的设计要求来采用不同元器件,或者修改元器件电气参数以获得不同输出结果,在成功进行虚拟仿真并获得成功的条件下,再制作实际硬件进行连线线实验,可以获得事半功倍的效果。

Proteus仿真环境,如图6-1所示。

图6-1Proteus仿真环境

6.2数字电子时钟硬件电路原理及设计

硬件电路原理图,如图6-2所示。

图6-2硬件电路原理图

如图所示,本设计以AT89C51单片机作为MCU控制部件,该型号单片机(见第二章)一共有40个引脚,选用P2口进行数据传送,P3口进行数码管的位选

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1