实时时钟电路MC146818A与单片机的接口及编程

发布者:备战最新更新时间:2012-02-18 来源: 国外电子元器件 关键字:实时时钟  单片机  接口  MC146818A 手机看文章 扫描二维码
随时随地手机看文章

  实时时钟电路是控制系统中常用的功能模块。MC146818A是专用于各类微处理器与单片机系统的时钟集成电路。它带有50字节的低功耗静态RAM,可进行时、分、秒和年、月、日及星期的计数,并有自动的月结束识别和闰年处理功能,具有12/24小时和AM/PM的12小时计时功能,既可与 Motorola系列的单片机接口[1],又可与Intel的微处理器接口。本文详细讨论MC146818A与89C51单片机的接口。

1.MC146818A的结构

  MC146818A有双列直插式DIP和PLCC两种封装,图1为双列直插式封装引脚图。下面详细介绍各引脚功能。
  VDD:电源线,可以为3DC~6V;
  VSS:地线,信号、电源地;
  MOT:单片机类型选择线,当MOT接VDD时,选择Motorola总线时序;当MOT接VSS时,选择Intel类型总线,如8051、8085等;
  OSC1、OSC2:时间基准输入线,可接外部信号源或晶振。在时钟电路中,一般接32.768kHz的晶振;
  CKFS:时钟频率输出选择线,当CKFS接VDD时,CKOUT引脚输出频率为晶振频率;当CKFS接VSS时,CKOUT引脚输出频率为晶振频率的1/4;
  CKOUT:时钟输出线;
  SQW:方波输出线;
  AD0~AD7:双向地址/数据总线;
  AS/ALE:地址锁存线;
  DS/RD:读信号线;
  R/WR:写信号线;
  CS:片选线;
  IRQ:中断请求线INT;
  RESET:复位信号线;
  PS:电源检测信号线,用来控制寄存器D的VRT位;
  STBY:掉电检测线,当此线为低时,禁止访问芯片,这有利于电池供电。由于MC146818A采用高速CMOS工艺,对于32.768kHz晶振频率,当VDD为5V时,消耗电流为50μA,因此可以采用后备电池方式,以确保主电源失电后,时钟仍正常工作。

[page]

2. MC146818A与89C51单片机的接口电路

  MC146818A与89C51单片机的接口电路如图2所示。

  上电时,必须保护U2的PS引脚在tPLH时间的低电平,以建立一个过渡状态。上电后,应升高PS引脚电平到VCC,以允许通过读寄存器来把VRT置位。

  将U2的AD0~AD7与单片机P0口数据/地址复用总线相连,并将单片机的ALE、WR、RD、INT1信号线一一对应接到时钟电路U2的引脚,即可完成硬件接口,通过片选CS,选中U2,然后对其进行读/写操作。

3.软件编程

  MC146818A时钟电路的内部地址空间如表1所列。
  对MC146818A的编程,主要是通过它的寄存器A、B、C、D设置工作状态实现的。下面着重分析这四个寄存器。
  (1)寄存器A:用来确定基准频率和分频计数器的输出频率,它的格式为:

  各位定义为:
  D7-U1P,只读位。“1”表示正在更新,“0”表示可读时间、闹钟和日历值。
  D6D5D4-DV2DV1DV0,可读写,不受RESET影响,用于选择基准频率,对于32.768kHz晶振,D6D4应清零,D5置1。
  D3D2D1D0-RS3RS2RS1RS0,可读写,不受RESET影响,通过SQW引脚输出方波及中断周期。选择分频输出频率。
  (2)寄存器B:用来确定更新周期、各种中断的许可、数据格式、计时方式和输出方波的许可。可读写。它的格式为:

  各位定义为:D7-SET为“0”表示允许周期更新,“1”停止周期更新,以便对时间和日历进行初始化;
  D6-P1E:“1”表示允许周期中断,激活IRQ;“0”表示禁止周期中断;
  D5-A1E:“1”表示允许闹钟中断,0”表示禁止。
  D4-U1E,“1”表示允许周期更新“结束位激活IRQ,“0”表示禁止;
  D3-SQWE:“1”表示允许方波由SQW引脚输出,“0”表示禁止,并使SQW始终为低电平;
  D2-DM:数码格式选择。“1”选择二进制码,“0”选择十进制码;
  D1-12/24:小时选择,“1”表示时间单元为24小时计时,“0”表示时间单元为12小时计时,这样,地址单元4与5的最高位“0”为AM,“1”为PM。
  D0-DSE:夏令时允许位,“0”为禁止。
  (3)寄存器C:只读、中断标志位。
  它的格式为:

  各位定义为:D7-IRQF:中断请求标志,为“1”时IRQ引脚输出低电平。
  D6-PF:周期中断标志位;
  D5-AF:闹钟中断标志位;   
  D4-UF:周期更新完成标志位。

  只有当寄存器B的P1E,A1E,U1E为1时,才会触发PF,AF,VF三个位中断,并使IRQF置位。
  (4)寄存器D:只读,表示RAM和时间是否有效,只考虑D7位VRT,其余均不考虑。当引脚PS为高电平时,VRT为“1”,表示RAM与时钟信息为可读,若PS引脚为低电平,则VRT=0,此时信息不可读。

  通过以上对四个控制器的分析,得出MC146818A的编程流程如图3所示。

  硬件连接及软件设计好后,MC146818A就可开始工作,进入计时状态。对于32.768kHz晶振,更新时禁止读写时间为1948μs,其余时间均可对有关单元进行读写。

关键字:实时时钟  单片机  接口  MC146818A 引用地址:实时时钟电路MC146818A与单片机的接口及编程

上一篇:基于PSD3XX与ADMC401接口设计的静止无功发生器系统
下一篇:高性能单片机μPD70320的特点及应用

推荐阅读最新更新时间:2024-03-16 12:53

浅谈51单片机的中断控制
51系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套结构。 现在很多兼容51的单片机已经有4个优先级(或更多)和更多的中断源了。 想要研究中断的嵌套,应该从中断优先级入手。 一些资料中,把有关中断优先级的中断响应原则,写成如下三条: 1、CPU同时接收到几个中断申请时,首先响应优先级级别最高的中断请求; 2、正在进行的中断过程不能被新的同级或低优先级的中断请求所中断; 3、正在进行的低优先级中断过程,能被高优先级中断请求所中断。 中断优先级的设置,是在IP寄存器中进行,IP称为中断优先级控制寄存器。 把IP中的某位置为1,则相应的中断源为高优先级;为0,则为低优先级。 当把5个中断源,划分成两个优先级之后,它们的
[单片机]
浅谈51<font color='red'>单片机</font>的中断控制
基于AVR单片机的AT24C02子程序
/******************************************************************** 目 的: 建立AT24C02操作库 目标系统: 基于AVR单片机 应用软件: ICCAVR *********************************************************************/ /*0101010101010101010101010101010101010101010101010101010101010101010
[单片机]
51 单片机计数器T1计数外部脉冲
/********************************************** 方法1:延时法 硬件:11.0592MHz晶振,STC89C52,RXD P1.0 TXD P1.1 T1 P3.5 波特率:9600 描述:T0用于定时,方式1,定时时间50ms,中断方式;T1用于计数,10s定时时间到后,将计数的脉冲利用模拟串口发送出去外部的脉冲是用STM8L101产生的频率为1Hz的方波。1s 来1个下降沿 **********************************************/ #include reg52.h #define uchar unsigned char sbit P1
[单片机]
嵌入式学习笔记18——AVR单片机之熔丝位设置
1.熔丝位简介: 熔丝位状态为 1 表示未编程,熔丝位状态为 0 表示编程,因为在AVR的器件手册中是使用已编程和未编程定义熔丝位的。 AVR单片机的熔丝位是可以多次编程的。 AVR单片机芯片加密锁定之后(LB2/LB1=1/0,0/0)不能通过任何方式读取芯片内部的Flash和EEPROM的数据。 下载编程的正确步骤是:下载运行代码和数据,配置相关的熔丝位,最后配置芯片的加密位。 2. AVR单片机加密熔丝位的设置 3. 功能熔丝位的设置 4. Bootloader熔丝位简介 5. 系统时钟源选择熔丝位 6. 使用外部晶体时的工作模式设置 7.
[单片机]
嵌入式学习笔记18——AVR<font color='red'>单片机</font>之熔丝位设置
基于单片机的太阳能环境参数测试仪设计方案
引 言   为了确保太阳能发电系统能够正常的工作,需要对太阳能发电系统的各项环境参数进行测量,从而有效地控制其运行。本文介绍了一种基于单片机的太阳能参数测试仪,提供了3种参数的测量功能和通信接口,以及2种供电方式,既可作为手持设备使用,又能安装在发电系统中,具有较高的实用价值。   1 硬件 电路设计   1.1 总体结构   该测试仪以AT89S52单片机为核心,外接温湿度传感器SHTll、照度传感器TSL2561、四位共阴数码管、RS485总线通信接口以及显示切换按键。单片机上电工作后,对当前温度、湿度、光强度进行实时测量,通过按键切换将测得的3种参数通过LED数码管进行轮流显示;此外,还可以通过RS485总线与PC
[单片机]
基于<font color='red'>单片机</font>的太阳能环境参数测试仪设计方案
利用微控制器简化电子镇流器的设计
目前,设计工程师在设计荧光灯或HID电子镇流器时面临着许多新的挑战。除了一般的成本、可靠性与寿命压力之外,设计师还必须实现一些增强的终端用户功能,例如远程亮度控制,同时还要满足日益严格的国内与国际照明规范。 虽然传统的离散模拟设计技术仍然能够实现很多新的功能需求,但是,采用新一代的基于Flash的低成本8位微控制器(MCU)对于实现满足规范要求的低成本、高分辨率、数字电子镇流控制的设计,具有多种系统优势。尤其是,这些MCU简化了数字反相控制功能,并集成了PFC功能。 电子镇流控制 图1给出了大多数电子镇流控制应用中采用的基本模块结构。主要模块包括EMI(电磁干扰)滤波器、全波整流器、有源PFC前端、数字控制部分和共振灯管
[工业控制]
51单片机【四】蜂鸣器 晶振 单片机频率
莫名想起小时候电脑开机自检时的声音 当然平时洗衣机空调什么的也有 蜂鸣器原理就是两个铁片让其中一个的一端正负极不停的变换从而拍击另一个产生声音 蜂鸣器分有源和无源蜂鸣器 有源指的是外部只需要供电即可响 无源指的是外部必须给一个变化的供电 ULN2003D 是类似于74HC573的一个放大器 蜂鸣器的BZ接在它的OUT5上 而CPU一端接在P15 因此使用P15控制 void BuzzerOnOff(void) { gBuz = 1; delay1ms(); gBuz = 0; delay1ms(); } 文末有晶振很具体的原理介绍,简要来说就是利用石英给它外部电压它能向表一样来计时给处理器参考
[单片机]
51<font color='red'>单片机</font>【四】蜂鸣器 晶振 <font color='red'>单片机</font>频率
基于C8051F350单片机的气体流量计检测仪硬件设计
气体流量计是较为常用的仪表设备。钟罩式气体流量标准装置是以空气作为介质,对气体流量计进行检定、校准和检测的计量标准装置。主要适用于速度式、容积式和差压式等气体流量计的检定、校准和型式评价工作,也可用于气体流量测量的研究工作。本文基于C8051F350单片机,改造现有的钟罩装置,设计一种气体流量计检测仪。 气体流量计检定技术概述 目前,气体流量计的检定方法广义上可分为直接测量和间接测量两种。 直接测量法的是用实际流体进行计量检定,其具体定义为用标准装置(标准流量计或计量器具)与被测流量计串联,通过比较两者测得流体的累积流量值,得出被测流量计测量误差的方法。实流检测法具有检定环境与工况环境一致、流量值准确可靠和真实反映被测流量计计
[单片机]
基于C8051F350<font color='red'>单片机</font>的气体流量计检测仪硬件设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved