电子时钟论文.docx

上传人:b****8 文档编号:11130492 上传时间:2023-02-25 格式:DOCX 页数:72 大小:1.42MB
下载 相关 举报
电子时钟论文.docx_第1页
第1页 / 共72页
电子时钟论文.docx_第2页
第2页 / 共72页
电子时钟论文.docx_第3页
第3页 / 共72页
电子时钟论文.docx_第4页
第4页 / 共72页
电子时钟论文.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

电子时钟论文.docx

《电子时钟论文.docx》由会员分享,可在线阅读,更多相关《电子时钟论文.docx(72页珍藏版)》请在冰豆网上搜索。

电子时钟论文.docx

电子时钟论文

电子钟的设计

1.序言

1.1系统开发背景

随着电子科技的不断发展,传统的时钟已被一些高档的电子时钟所取代,与传统的时钟相比,电子时钟融合了挂历和时钟的优点,能昼夜清晰显示,集年、月、日、时、分、秒、日期、农历、气温于一体,外观新颖,造型别具一格。

除此之外由于挂历以及一些传统电子表的制作成本相对较高,其销售价格也大多在15——30元之间,而一个电子时钟的价格也在这之间,但是挂历只能用一年,传统电子表又不能显示年、月、日,而电子时钟则不一样,由于它可以自动识别闰年、公历、农历、大小月份、农历,星期能自动对应公历无须调整。

对若干年前后的日期都可以查询,但考虑到其寿命原因,至少也可用5—8年。

在价格相差不大的情况下,电子时钟的性价比显然要高的多,就其阅读功能而言,电子时钟阅读起来更加方便,同时他还有闹铃和显示温度的功能,这比传统的挂历以及电子表要强大的多。

其实现的方法也很简单,用一个单片机和数个数码管就可以实现,由此可见,电子时钟的市场经济开发价值要比挂历以及电子表要高的多,电子时钟取代传统的挂历以及传统电子表已成为不可抵挡的趋势。

因此开发一个电子时钟就必须要了解单片机和数码管的原理和功能等,下面一节我们将简单介绍一下单片机和数码管。

1.2系统开发工具介绍与安装

1.2.1PIC系列单片机开发工具MPLAB的组成

MPLAB是一个集成了多种单片机应用开发工具软件于一体的、功能完备的软件包,是PIC单片机编程开发的重要工具。

在此仅对其中的5种工具软件简要介绍如下:

⑴ProjectManager(工程项目管理器)

工程项目管理器是MPLAB的核心部分,用于创建和管理工程项目,为开发人员提供自动化程度高、操作简便的符号化(屏幕上的指令、指令地址、常数、变量、寄存器等均用表义性和可读性很强的符号代表和标识)调试工作平台。

⑵MPLABEditor(源程序编辑器)

源程序编辑器是一个全屏幕文本编辑器,用于创建和修改汇编语言源程序文件。

源程序文件以纯文本格式保存,其文件扩展名为“.asm”。

⑶MPASMAssembler(汇编器)

用于将汇编语言源程序文件(.asm)汇编成机器语言目标程序文件(.hex),并负责查找语法错误和格式错误等一些浅层次简单错误。

⑷MPLAB-SIMSoftwareSimulator(软件模拟器)

软件模拟器是一种代替价格较贵的HardwareEmulstor(硬件仿真器)的调试工具,也是一种非实时、非在线的纯软件的调试工具。

借助这个在微机系统上运行的工具软件,我们可以不需要任何额外的附加硬件,仅用软件的手段,来模仿PIC系列单片机的指令的执行和信号的输入/输出,从而实现对用户自编单片机源程序的模拟运行、功能调试和深层次逻辑错误查找。

因此可以说,这为学习和应用PIC系列单片机的人们提供一种虚拟的实战环境。

对于单片机初学者来说,不用花钱也可以实现边学边练的梦想;对单片机开发者来说,可以缩短开发周期和降低成本。

总之,它是一种许多其他型号系列单片机很少配备的、性能价格比较高的程序调试工具。

不过,它也存在一定的局限性:

一是它还不能模拟PIC16F87X片内少数功能特殊的外围模块;二是它不能帮我们查找目标板上的电路错误;三是它执行速度慢而只能适合调试那些实时性要求不高的程序。

⑸MPLAB-ICDDebugger(在线调试工具ICD的支持程序)

这是一种专门与ICD配合使用的支持程序。

ICD是Microchip公司专为PIC16F87X设计的一种廉价的在线调试工具套件。

另外,还包含一些其他工具软件。

例如:

程序模块连接器、库程序管理器、C语言编译器、硬件在线仿真器的支持程序、目标程序烧录器的支持程序、在DOS操作系统下运行的汇编器等等。

1.2.2MPLAB的安装

为了使MPLAB能够顺利安装和可靠地运行,对于所用的微机系统有一个起码地要求。

既安装和运行MPLAB所需的最小计算机配置为:

﹡CPU为Intel486或型号更先进的处理器;

﹡操作系统为MicrosoftWindows98/2000或WindowsXP;显示器为VGA(建议使用SVGA);内存容量应不小于8MB(建议32MB);可利用的硬盘空间不小于20MB;﹡配有鼠标。

下面我们介绍在WindowsXP操作系统之下,安装MPLAB的过程。

首先将Microchip公司提供的光盘放入光驱内,点击“我的电脑”会出现光盘的标志符

,右击此标志符一次,再点击“打开”,找到了文件夹“tools”,右击此文件夹,点击打开,找到“download”的文件夹,右击打开此文件夹,找到mplab-ide的文件夹,同样右击打开此文件夹,会出现MPLV5XX的文件夹,再打开这个MPLV5XX的文件夹,就出现了Mp57full的安装文件,打开文件就进入了如图1.2.1的安装对话框。

图1.1进入MPLAB安装的对话框

点击Next两次,进入了如图1.2.2所示的对话框,用鼠标点击去掉一些暂时用不到的程序左边的钩号。

点击两次“Next”,就出现了图1.2.3的对话框,在这里点击“Browse”键即可选择你想安装MPLAB的地方,选择好后就点击“Next”,直到出现图1.2.4的准备好安装MPLAB的对话框,点击“Next”就开始安装了。

图1.2MPLAB组件选择对话框

图1.3选择安装MPLAB的路径

图1.4准备好安装MPLAB的对话框

安装完成后,MPLAB会自动在WindowsXP“开始”按钮的“程序”组中,建立一个“MicrochipMPLAB”程序组。

至此MPLAB的系统文件已经安装完毕。

用户可在硬盘驱动器C:

﹨ProgramFiles﹨Mplab目录下,建立一个新的子目录Work作为我们的工作目录,存放我们在学习和操作过程中产生的各种文件。

如果日后不打算使用MPLAB,想清除其占用的硬盘空间,MPLAB自带了卸载程序C:

﹨ProgramFiles﹨Mplab﹨unwise32.exe,运行它即可将MPLAB全部彻底地自动删除干净。

1.2.3MPLAB-ICD在线调试工具套件及其应用

MPLAB-ICD是Microchip公司针对其PIC系列单片机中,近期推出的具有片内FLASH程序存储器的PIC16F87X系列单片机,所研制的一套廉价的学习和开发工具套件。

MPLAB-ICD可以用于实验阶段的评估和辅助调试。

它既是一个编程器(即程序烧写器),又是一个实时在线调试器。

用它可以代替在单片机应用项目的开发过程中常用的两种工具——硬件在线实时仿真器和程序烧写器。

它利用了PIC16F87X片内集成的在线调试器(in-circuitdebugger)能力和Microchip公司的在线串行编程技术(in-circuitserialprogramming)。

MPLAB-ICD工作于MPLAB集成开发环境软件包之下,其仿真头直接连接到目标电路板上,如同将一片PIC16F87X插入到目标板内一样去运行用户编制的程序。

MPLAB-ICD套件中包括的部件有:

MPLAB-ICD仿真头;MPLAB-ICD模块;及MPLAB-ICD演示板;RS-232串行通信电缆;连接插针:

2条14脚插针和2条20脚插针;20cm长的6芯电缆;包含所有MPLAB软件包和文档资料的光盘;《MPLAB-ICD用户指南》的中文翻译版本;还有直流电源适配器。

那么它的功能特点则有:

●能以实时或单步方式运行用户程序;

●断点设置功能;

●在线调试功能;

●在线编程功能;

●工作电压范围为3.0~5.5V;

●可从目标板上获取工作电源;

●工作频率范围为32kHz~20kHz;

●可对源程序直接进行代码级的调试;

●可以工作于MPLAB集成开发环境下;

●以RS-232串行接口方式与微机系统相连。

借助于MPLAB-ICD工具套件,用户可以实现:

①在自己设计的PIC16F87X的应用电路中实时运行和调试自己的源程序——软件调试。

②用自己编制的程序来调试和检验自制目标板上的电路——硬件调试;

③利用在线串行编程技术将自己设计的目标程序烧写到插在目标板上的PIC16F87X单片机(又称目标单片机)中——程序固化。

对于这套小巧廉价的、电路简洁的MPLAB-ICD的开发工具套件,由于在实现在线调试和在线编程的过程中,采用了PIC16F87X集成在片内的在线调试功能和Microchip公司的在线串行编程协议,因此在用MPLAB-ICD仿真目标单片机时一定会存在一定的局限性。

具体地说,MPLAB-ICD工作过程中将会占用目标单片机的片内和引脚中的部分资源。

这部分资源用户就不能再使用了。

不过,对于一般的项目开发没有太大的影响,并且与价格昂贵的专业级全功能在线实时仿真器相比,用它来调试和烧写PIC16F87X系列单片机,仍然是一套具有极高性能价格比的开发工具套件,所以它非常适合初级开发者的学习和实践。

我们通过使用此套工具就可以很好的进行单片机的应用。

1.2.4其他所用外围模块、电路及器件的简要介绍:

这个系统中使用了在32768Hz的自备晶振支持下的PIC单片机内部TMR1定时计数器。

由于本系统意在实现外部的电池提供电源,为了节省能源,需要单片机进入睡眠模式,但同时又不能影响计数器的计时工作,由于TMR1能够在睡眠模式下工作,所以我们用TMR1作为计时器,32768晶振则是给TMR1提供振荡信号的,由于TMR1是一个双字节计数器,总的计数次数是2的16次方计即32768×2次。

所以它可以方便地由TMR1产生精确的秒信号,在此基础上,再进一步由软件计数器形成分、小时、日以至月、年的数值。

在此次设计中,我们也加上了+9V的电压,当然还需要一个稳压模块,我们采用7805来实现稳压的功能。

除此之外还有各种值的电阻和电容。

2.系统总体分析与设计

2.1系统的开发目标

本系统的基本任务和目标就是利用PIC16F877单片机中的计时器TMR1所自带的低频时基振荡器(32768晶振),用来实现记录和计算真实的年、月、日、时、分、秒、的时钟功能。

然后将所记录的数据转换成数码管显示,同时通过单片机的相应引脚输出的控制信号来控制时间信号所显示的位置及光标的形态等。

从而达到将所计时间显示在数码管上面。

(注:

由于实验设备和环境的原因,不能实现显示节假日、农历、节气以及闹铃等功能)

实现以上的任务需要几大模块:

1实现自动识别闰年,大小月份天数的算法。

2如何实现将所计的数字转换成数码管显示。

3怎样实现对电子时钟的时间调节。

2.2关于此系统的背景知识

2.2.1相关的单片机知识简介

TMR1和TMR0一样,既可作为时间定时器又可当作事件计数器。

但它是一个16位宽的上升沿触发的累加计数“寄存器对”即TMR1HH和TMR1L。

与它相关的寄存器有6个如表2.1所示

寄存器名称

寄存器符号

寄存器

地址

寄存器内容

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

中断控制寄存器

INTCON

0B/8B/

10B/18B

GIE

PIE1

T0I1

INTE

RBIE

T0IF

INTF

RBIF

第一外设中断控制寄存器

PIR1

0CH

PSPIF

ADIF

RCIF

TXIF

SSPIF

CCP1IF

TMR2IF

TMR1IF

第一外设中断屏蔽寄存器

PIE1

8CH

PSPIE

ADIE

RCIE

TXIE

SSPIE

CCP1IE

TMR2IE

TMR1IE

TMR1低字节

TMR1L

0EH

16位TMR1计数寄存器低字节寄存器

TMR1高字节

TMR1H

0FH

16位TMR1计数寄存器高字节寄存器

TMR1控制寄

存器

T1CON

10H

——

——

T1CK

PS1

T1CK

PS0

T1OS

CEN

T1SYNC

TMR1

CS

TMR1

ON

表2.1:

与TMR1模块相关的寄存器(阴影部分表示没有用到的寄存器)

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

——

——

T1CKPS1

T1CKPS0

T1OSCEN

T1SYNC

TMR1CS

TMR1ON

表2.2:

TRMR1控制寄存器T1CON

其中TMR1控制寄存器T1CON是一个只用到低6位的可读/写寄存器。

最高2外位未用,读出是返回0,其余各位的含义如下:

●TICKPS1〜T1CKPS0:

分频器分频比选择位,如表2.3

 

表2.3:

分频器分频比

T1CKPS1〜T1CKPS2

分频比

00

1:

1

01

1:

2

10

1:

4

11

1:

8

●T1OSCEN:

TMR1自带振荡器使能位

◆1允许TMR1振荡器起振;

◆0禁止TMR1振荡器起振,令非门的输出端成高阻态。

●T1SYNC:

TMR1外部输入时钟与系统时钟同步控制位。

□TMR1工作于计数器方式(TMR1CS=1时):

◆1=TMR1外部输入时钟于系统时钟不保持同步;

◆0=TMR1外部输入时钟于系统时钟保持同步;

□TMR1工作于定时器方式(TMR1CS=0时):

◆该位不起作用。

●TMR1CS:

时钟源选择位。

◆1=选择外部时钟源,即时钟信号来源于外部引脚或自带振荡器;

◆0=选择内部时钟源(fosc/4=TCYC指令周期).

●TMR1ON:

TMR1使能控制位

◆1=开启TMR1,使TMR1进入活动状态;

◆0=关闭TMR1,使TMR1退出活动状态,以节省能耗.

2.2.2相关的数码管知识

(A)数码管的外部结构

数码管是一种半导体发光器件,其基本单元是发光二极管。

(实物参照图片)。

 

 

 

图2.1:

数码管的实物图

(B)数码管的分类

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

(C)数码管的驱动

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

①静态显示驱动:

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:

),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

②动态显示驱动:

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

(D)数码管参数

8字高度:

8字上沿与下沿的距离。

比外型高度小。

通常用英寸来表示。

范围一般为0.25-20英寸。

长*宽*高:

长——数码管正放时,水平方向的长度;宽——数码管正放时,垂直方向上的长度;高——数码管的厚度。

时钟点:

四位数码管中,第二位8与第三位8字中间的二个点。

一般用于显示时钟中的秒。

(E)数码管应用

数码管使用的电流与电压

电流:

静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。

电压:

查引脚排布图,看一下每段的芯片数量是多少?

当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。

恒流驱动与非恒流驱动对数码管的影响

①显示效果

由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大,并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。

另外,当温度变化时驱动芯片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。

②安全性:

即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。

另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。

超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。

3.系统结构及功能的实现

3.1系统的基本结构

电子时钟是用于计算时间并显示时间的一种计时器,时间的值是不断变化的。

所以它最起码的结构应有时间计数器、显示器、以及一些外部电路所需元件。

这里的时间计数器我们用PIC16F877单片机代替,同时兼作信号输入输出控制器,显示器用数码管显示。

其电路图如下:

图3.1:

系统结构电路图

3.2系统功能的实现

电子时钟是一种自动计时器,但它必须的按照相应的历法规则来计时。

规则如下:

i.一年12个月闰年366天,平年365天;

ii.一月31天,平年二月28天(闰年二月29天),三月31天,四月30天,五月31天,六月30天,七月31天,八月31天,九月30天,十月31天,十一月30天,十二月31天;

iii.当年数为四的倍数,且不是一百的倍数时,当年为闰年,全年366天,二月为29天,其余各月不变。

否则为平年。

iv.当年数为一百的倍数,且不是四百的倍数时,当年为平年,否则为闰年。

v.一天24个小时,每小时60分钟,每分60秒。

以上是最基本的历法,由于条件和时间有限,至于节气、礼拜天等我们不考虑在内,系统完全是自动计算时、分、秒、日期、月份及年份。

中间不需要人工去完成,因此,我们就必须做出相应的算法来控制数码管显示对应的码段。

设计步骤如下:

步骤一:

选择芯片

根据实际情况和设计要求选取合适的单片机,这里选用Microchip公司的P16F877芯片(PIC单片机可以在MPLAB-ICD演示板上实现),因为它的定时器1可以用作实时时钟RTC。

步骤二:

确定时间的调整方法

按键分别用RB0和RB7口,采用中断方式

RB0:

用来选择调整对象,并用指示灯作出相应指示

RB7:

对选择的对象进行调整

使用方法:

在初始状态,RD7指示灯点亮,此时没有选择调整对象。

当按一次RB0后,RD6指示灯点亮,此时可以用RB7对年份进行调整;同理,可以用RB0依次选中月,日,星期,时,分和秒,指示灯也会依次指示

步骤三:

定义寄存器

秒寄存器:

SECOND六十进制有0状态

分寄存器:

MINUTE六十进制有0状态

时寄存器:

HOUR二十四进制有0状态

星期寄存器:

WEEK八进制无0状态

日寄存器:

DAY根据年月确定进制(进制寄存器COUNT_D)无0状态

月寄存器:

MONTH十三进制无0状态

年寄存器:

YEAR一百进制(设计时间100年)有0状态

初始默认时间为2004/01/02FRI00:

00:

00

及SECOND=0,MINUTE=0,HOUR=0,WEEK=5,

DAY=2,MONTH=1,YEAR=4,COUNT_D=32

进位寄存器:

CARRY

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

 

Bit4:

月进位标志位Bit3:

日进位标志位

Bit2:

时进位标志位Bit1:

分进位标志位

Bit0:

秒进位标志位

当有进位时在相应位上置1

确定一个月的天数的寄存器:

CARRY_DAY

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

Bit3:

当月份(MONTH)为1,3,5,7,8,10或12时该位置‘1’,1,2位置‘0’

Bit2:

当月份(MONTH)为4,6,9或11时该位置‘1’,1,3位置‘0’

Bit1:

当月份(MONTH)为2时该位置‘1’,2,3位置‘0’

Bit0:

当为闰年(能被四整除)时该位置‘1’,(只要YEAR的0,1位为0,便能整除)

闰年2月为29天,平年2月为28天

1,3,5,7,8,10,12月为31天;4,6,9,11月为30天

对象标志寄存器:

CON_OBJ它是用来标记所要调整的对象的

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

 

Bit7:

表示没有选择任何对象Bit3:

把星期作为当前调整对象

Bit6:

把年作为当前调整对象Bit2:

把时作为当前调整对象

Bit5:

把月作为当前调整对象Bit1:

把分作为当前调整对象

Bit4:

把日作为当前调整对象Bit0:

把秒作为当前调整对象

步骤四:

设置TMR1,产生1s脉冲

利用定时器1自带的振荡器,在外加上32768Hz的晶振,设预分频比为1:

1,TMR1H初始值设为80H,TMR1L初始值设为0H,此时便能产生1s钟的实时时钟脉冲

初始化TMR1

循环等待中断

开中断,开定时器1

1

主程序

步骤五:

画框图

设置各口的I/O状态

设置默认时间和默认寄存器

调用液晶初始化子程序

2

时间中断服务子程序(COUNT_TIME)

关定时器1

清中断标志,重装初始值

开定时器1

 

SECOND+1

SECOND=60

秒N

Y

置秒进位标志位,清SECOND

秒进位标志位置位否

N

Y

MINUTE+1

置分进位标志位,清MINUTE

MINUTE=60

N

Y

置时进位标志位,清HOUR

HOUR=24

HO

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

当前位置:首页 > 工程科技 > 建筑土木

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

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