1、 扩展时钟系统实验 原理及分析报告 学 院 计算机工程学院 专 业 计算机科学与技术 年级班别 10 计算机科学与技术 2 班 学 号 学生姓名 指导教师 日期:2012 年 12 月 目 录 一 实验目的2 二 实验内容2 三 实验器材2 四 实验原理2 五 接线图案6 六 程序框图6 七 实验步骤6 八 实验程序7 九 实验现象分析15 十 总结15 一、一、实验目的实验目的:掌握 MCS51 单片机扩展时钟电路的设计方法;了解 DS12887 的工 作原理。 二、二、实验内容:实验内容:编程实现下列功能:程序第一次运行后,初始化时间显示为 00: 00:00,即 6 位数码管显示为 00
2、.00.00。通过键盘MON设定小时为 07,通过键 盘LAST设定分钟为 08,通过键盘NEXT设定秒为 09,两分钟后即在 7.10.09 时关掉电源, 等待2分钟后再打开电源, 这时时间应为7.12.09, 即停电后DS12887 中的时钟不会停止运行。 三、三、实验器材:实验器材:1、超想-3000TC 综合实验仪 1 台 2、KEIL 仿真器 1 台 3、连线若干 根 4、计算机 1 台 四、四、实验原理:实验原理: 在很多应用场合要求单片机系统不仅能够准确地采集数据, 而且还需要了解 产生这些数据的时刻, 为单片机系统增加日历时钟是一项非常有用的技术, 掌握 这项技术便是本实验的目
3、的。实验中使用 DALLAS 公司生产的日历、时钟加 RAM 芯片 DS12887。它具有接口简单,使用方便等特点,曾被用在 586 计算机中。其 引脚分布如图所示,内部有 128 字节的非易失 SRAM,具体分配也如图所示。 引脚分布图引脚分布图 存储器分布图存储器分布图 通过对寄存器 A、B、C、D 的编程可以控制 DS12887 的工作方式。 寄存器寄存器 A A D7 D6 D5 D4 D3 D2 D1 D0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 UIP 位当其为 0 时指示更新在 244S 内不会发生;DV2 DV1 DV0 当其为 010 时,打开晶振,并
4、允许时钟开始计时;RS3 RS2 RS1 RS0 用于选择周期中断或输 14 BYTE 00 0D FF 00 SECONDS 01 SECODES ALARM 02 MINUTES 114 BYTE 03 MINUTES ALARM 04 HOURS 05 HOURS ALARM 06 DAY OF THE WEEK 07 DAY OF THE MONTH 08 MONTH 09 YEAR 0A REGISTER A 0B REGISTER B 0C REGISTER C 0D REGISTER D 出方波频率,当其分别为 0111、1000、1001、1011、1101、1110、1111
5、 时,对 应频率为 512Hz、256Hz、128Hz、64Hz、32Hz、16Hz、8Hz、4Hz、2Hz。 寄存器寄存器 B B D7 D6 D5 D4 D3 D2 D1 D0 SET PIE AIE UIE SQW DM 12/24 DSE SET 位为 0 时,每秒计数一次,置 1 后,更新转换被禁止;PIE、AIE、UIE 位 当它们为1 时,分别允许周期中断、报警中断和时钟数据更新结束中断,为0 时, 禁止中断产生;SQWE 位当其为 1 时,按以寄存器 A 中由 RS3 RS2 RS1 RS0 设定的 频率从 SQW 引脚输出方波,当其为 0 时,SQW 为低电平;当 DM 为 1 时选用二进制 数据格式,反之为 BCD 数据格式;12/24 位为 1 时,指定 24 小时时间格式,否则 为 12 小时时间格式;DSE 为1 时允许夏时制发生。 寄存器寄存器 C C D7 D6 D5 D4 D3 D2 D1 D0 IRQF PF AF UF 0 0 0 0 寄存器 C 的内容是周期中断标志位 PF、报警中断标志位 AF、更新结束中断 标 志 位UF和 中 断 请