第9卷第2期2004年4月 新 余 高 专 学 报JOURNAL OF XINYU COLLEGEVol.9,NO.2Apr.2004
用单片机实现电子时钟
p 彭小军
(新余高等专科学校 工程系,江西 新余 338031)
摘 要:时钟电路是保证计算机系统正常工作的基础,概述了用单片机实现电子时钟的硬件框图及软件实现方法。关键词:电子时钟;单片机;8155芯片;时钟芯片
中图分类号:TP311.1 文献标识码:A 文章编号:1008-6765(2004)02-0054-03
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现;二是用专门的时钟芯片实现,本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法。
1 基本功能
(1)时间显示功能:显示时、分、秒。
(2)时间和闹钟设置功能:可以通过键盘的任意设定、修改显示时间和闹钟时间。
2 硬件框图
可编程可擦除只读存储的低电压、高性能CMOS8位微处理器,该器件采用ATMEL高密度非易失性存储器制造技术与工业标准的MCS)51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的ATC51是一种高效微控制器,为很多嵌入控制系统提供了一种灵活性高且价廉的方案。
2.2 时间显示电路
由于ATC51单片机I/O口有限,采用可编程的并行I/O口芯片8155进行扩展,时间显示电路为了简化硬件线路,降低成本,利用LED动态显示接口电路实现。
2.3 时间、闹钟设置电路
由于时间的设置只需四个按键(秒、分、时、闹钟时间设置启动),电路简单,所以可以采用式按键来实现。
2.4 闹钟电路
当时间与设置闹钟时间相等时,通过I/O口控制继电器接通闹钟实现。
2.5 复位电路采用按钮电平复位电路(如下图)
2.1 单片机
单片机采用ATC51型,它是一种带4K字节闪烁
收稿日期:2004-02-20
作者简介:彭小军(1974-),男,江西新余人,新余高等专科学校工程系助教。
2004(第9卷)新 余 高 专 学 报 # 55#
3 软件设计
软件采用模块化设计,其流程图如下:
3.1 初始化参数设置
包括数据堆栈区、定时/计数器的初始化、8155芯片的初始化及时间、显示数据的初始化设置。
定时/计数器的初始化:包括对TMOD、TCON以及根据定时时间对时间初值的设置。设电子钟采用中断定时100ms,fosc=6MHZ,采用T0方式1,则X=216-100ms
2us
=15536=3CB0H,则TH0=3CH,TL0=0BOH。8155芯片的初始化:8155对单片机来讲是一个外部接口芯片,它与外部RAM的操作方法一样。即:
MOV DPTR,#addr16MOV A,#03HMOVX @DPTR,A3.2 键盘设置子程序
这里主要介绍秒设置子程序的部分代码。KEY:JBKEY-S,M-SET;秒设置键按下吗?;如没按下则判断分设;置键是否压下LCALLDELAYJBKEY-S,M-SET
INCDATA-S;如秒设置键压下,则秒单;元加1MOVA,DATA-S
CJNEA,#60,DATA-S;秒单元=60,;则清0
MOVDATA-S,#00HS-DIS:MOVA,DATA-S
LCALLHEX-BCD;调用BCD码转换;子程序MOV69H,AMOV6AH,BS-REP:LCALLDIS
JNBKEY-S,S-REP;待秒设置键释放M-SET:,,;分设置键判断程序略
其中KEY-S,DATA-S需在主程序中用伪指令定义后,才能使用。
3.3 显示子程序
采用动态扫描的方式和查表程序可实现实时时间的显示。
3.4 控制子程序
作用是判断时间是否与设置的闹钟时间是否相等,如相等则开启闹钟。
3.5 中断定时子程序
是电子时钟的核心,在这里主要介绍一下秒单元的定时过程,其中5FH存放100ms单元的数值。
CLOCK:PUSH ACC;参数入栈保护PUSH PSWCLR TR0
MOV TL0,#0B0H;定时参数重;新设置
MOV TH0,#03CHSETB TR0INC 5FHMOV A,5FH
CJNE A,#10,FK;100ms单元;内容=10,则;秒单元加1
MOV 5FH,#00H;100ms单元内;容清0
MOV A,DATA-SADD A,#01H;秒单元加1MOV DATA-S,A
CJNE A,#60,FK;秒单元内容;=60,则秒单
# 56#彭小军:用单片机实现电子时钟 第2期
;元清0
MOVDATA-S,#00H***********(分、时单元定时过程略)FK:POPPSW;出栈,退出中断子;程序POP ACCRETI4.结束语
由于时钟电路的重要性,时钟电路在很多应用系统
中必不可少,用软件方法可以实现,但误差很大,主要用在对时间精度要求不高的场合,在对时间精度要求很高的情况下,通常采用时钟芯片来实现。典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足精度要求。参考文献:
[1]曹巧媛.单片机原理与应用[M].北京:电子工业出版社,2002.
[2]何立民.单片机高级教程)应用与设计[M].北京:航空航天大学出版社,2001.
Usingthemonolithicmachinetorealizetheelectronicclock
PENGXiao-jun
(XinyuCollege,Xinyu338031,China)
Abstract:Theclockcircuitisthebasisofensuringthenormaloperationofthecomputersystem.Thepaperintroduceshowtousethemonolithicmachinetorealizethehardwareframeoftheelectronicclockandtherealizationmethodofsoftware.Keywords:Electronicclock;Monolithicmachine;8155core;Clockcore