基于AT89C51单片机的电子时钟的设计_第1页
基于AT89C51单片机的电子时钟的设计_第2页
基于AT89C51单片机的电子时钟的设计_第3页
基于AT89C51单片机的电子时钟的设计_第4页
基于AT89C51单片机的电子时钟的设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。为了在观测时间,能够了解与人类密切相关的信息,比如星期、日期等,电子时钟诞生了,它集时间、日期、星期等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。该电子时钟主要采用 STC89C52RC 单片机作为主控核心,由 DS1302时钟芯片提供时钟、LED 动态扫描显示屏显示。STC89C52RC 单片机是由 Atmel 公司推出的,功耗小,电压可选用 46V 电压供电;DS1302 时钟芯片是美国 DALLAS 公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且 DS1302 的使用寿命长,误差小;数字显示是采用的 LED 显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息。此外,该电子时钟还具有时间校准等功能。关键词:时钟电路; 时钟芯片 DS1302;LED 动态扫描; 单片机STC89C52RC;目 录摘要 .3绪论 .5第 1 章 设计要求与方案论证.71.1 引言.71.2 功能要求.71.3 方案论证.7第 2 章 系统硬件电路设计 .112.1 电路设计.112.2 系统硬件概述.152.3 主要单元电路的设计.15第 3 章 系统的软件设计.223.1 程序设计.223.2 程序设计流程图.22第 4 章 结束语.24附录一(电路原理图) . 附录二(程序清单).27绪论随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子时钟,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用,使计时产品的走时日差从分级缩小到 1/600 万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期的显示功能,它更符合消费者的生活需求!因此,电子时钟的出现带来了钟表计时业界跨跃性的进步我国生产的电子时钟有很多种,总体上来说以研究多功能电子时钟为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子时钟的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。除了采用集成化的时钟芯片外,还有采用 MCU 的方案,利用 STC89系列单片微机制成电子电路,采用软件和硬件结合的方法,控制 LED 数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。STC89C52RC 是由ATMEL 公司推出的一种小型单片机。95 年出现在中国市场。其主要特点为采用 Flash 存贮器技术,降低了制造成本,其软件、硬件与 MCS-51 完全兼容,可以很快被中国广大用户接受。本文介绍了基于 STC89C52RC 单片机设计的电子时钟。首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优势以及课题的开发意义;接着介绍了 STC89C52RC 单片机的硬件结构和本毕业设计所要外扩的 LED 显示及其驱动方法,并在此基础上实现了时钟基本电路的设计;然后使用单片机 C 语言进行时钟程序的设计,程序采用模块化结构,使得逻辑关系简单明了,维护方便。 第 1 章 设计要求与方案论证1.1 引言本文提出了一种基于 STC89C52RC 单片机的时钟设计方案,本方案以 STC89C52RC 单片机作为主控核心,与时钟芯片 DS1302、按键、LED 显示等模块组成硬件系统。在硬件系统中设有独立按键和 LED 显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间等,综上所述此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.2 功能要求本电子时钟能动态显示年、月、日、星期、小时、分钟、秒1.3 方案论证1.3.1 技术可行性随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将 CPU 和外围芯片,如程序存储器、数据存储器、并行 I/O 口、串行 I/O 口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer) 。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如 A/D、D/A 转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元、PWM 控制输出单元、PWM 输出时的死区可编程控制功能等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业流水线控制系统、作为家用电器的主控制器、分布式控制系统的终端节点或作为其主控制节点起中继的作用、数据采集系统、自动测试系统等。单片机的出现,并在各技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关: 1、单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采用软、硬件技术。2、系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。3、由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。4、有优异的性能、价格比。1.3.2 单片机的选择方 案 一 : 采 用 传 统 的 STC89C52RC 作 为 电 机 的 控 制 核 心 。 单 片 机 算术 运 算 功 能 强 , 软 件 编 程 灵 活 、 自 由 度 大 , 可 用 软 件 编 程 实 现 各 种 算 法和 逻 辑 控 制 , 并 且 由 于 其 功 耗 低 、 体 积 小 、 技 术 成 熟 和 成 本 低 等 优 点 ,使 其 在 各 个 领 域 应 用 广 泛 。方案二:采用 FTC10F04 单片机,还带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的 8 位 CMOS 微处理芯片,市场应用最多。其主要特点如下:8KB Flash ROM ,可以擦除 1000 次以上,数据保存 10 年。由 于 本 系 统 对 CPU 运 算 速 度 要 求 很 高 , 需 要 执 行 很 复 杂 的 运 算 , 方案 一 成 本 比 较 低 , 适 合 做 设 计 , 方 案 二 运 算 速 度 高 , 性 能 好 , 所 以 两 种方 案 都 有 可 取 之 处 。 选 用 方 案 一 作 为 主 方 案 , 方 案 二 作 为 备 用 方 案 。1.3.3 显示模块的选择 方 案 一 : 使 用 液 晶 显 示 屏 显 示 时 间 数 字 。 液 晶 显 示 屏 ( LCD) 具 有轻 薄 短 小 、 低 耗 电 量 、 无 辐 射 危 险 , 平 面 直 角 显 示 以 及 影 象 稳 定 不 闪 烁等 优 势 , 可 视 面 积 大 , 画 面 效 果 好 , 分 辨 率 高 , 抗 干 扰 能 力 强 等 特 点 。但 由 于 液 晶 是 以 点 阵 的 模 式 显 示 各 种 符 号 , 需 要 利 用 控 制 芯 片 创 建 字 符库 , 编 程 工 作 量 大 , 控 制 器 的 资 源 占 用 较 多 , 其 成 本 也 偏 高 。 在 使 用 时 ,不 能 有 静 电 干 扰 , 否 则 易 烧 坏 液 晶 的 显 示 芯 片 , 不 易 维 护 。方 案 二 : 使 用 传 统 的 LED 数 码 管 显 示 。 数 码 管 具 有 : 低 能 耗 、 低损 耗 、 低 压 、 寿 命 长 、 耐 老 化 、 防 晒 、 防 潮 、 防 火 、 防 高 ( 低 ) 温 , 对外 界 环 境 要 求 低 , 易 于 维 护 , 同 时 其 精 度 比 较 高 , 称 重 轻 , 精 确 可 靠 ,操 作 简 单 。 数 码 管 采 用 BCD 编 码 显 示 数 字 , 程 序 编 译 容 易 , 资 源 占 用 较少 。根 据 以 上 的 论 述 , 采 用 方 案 二 。 在 本 系 统 中 , 我 们 采 用 了 八 段 四 位一 体 数 码 管 串 口 的 动 态 显 示 。1.3.4 键盘模块的选择在 对 日 期 和 时 间 进 行 切 换 , 对 日 期 和 时 间 进 行 调 节 校 准 过 程 中 , 系统 需 要 产 生 激 励 电 流 , 因 此 需 要 用 按 键 。方 案 一 : 使 用 独 立 式 键 盘 。 独 立 式 键 盘 是 指 直 接 用 I/O 口 线 构 成 的单 个 按 键 电 路 。 独 立 式 按 键 电 路 配 置 灵 活 , 软 件 结 构 简 单 。方 案 二 : 使 用 矩 阵 式 键 盘 。 矩 阵 式 键 盘 是 由 行 线 和 列 线 组 成 , 按 键位 于 行 、 列 的 交 叉 点 上 , 行 线 、 列 线 分 别 连 接 到 按 键 开 关 的 两 端 。 其 特点 是 简 单 且 不 增 加 成 本 , 这 种 键 盘 适 合 按 键 数 量 较 多 的 场 合 。根 据 以 上 的 论 述 , 因 本 系 统 需 要 的 按 键 不 多 , 日 期 加 1 键 , 月 数 加1 键 , 年 数 加 1 键 , 分 数 加 1 键 , 时 数 加 1 键 , 时 间 /日 期 切 换 键 , 要 求简 单 。 所 以 采 用 方 案 一 独 立 式 键 盘 。1.3.5 总体方案论证与选择按照系统设计功能的要求,初步确定系统由主控模块、时控模块、及显示模块和键盘接口模块共 4 个模块组成。主 控 芯 片 使 用 51 系 列STC89C52RC 单 片 机 , 时 钟 芯 片 使 用 美 国 DALLAS 公 司 推 出 的 一 种 高 性能 、 低 功 耗 、 带 RAM 的 实 时 时 钟 DS1302。 采 用 DS1302 作 为 计 时 芯 片 ,可 以 做 到 计 时 准 确 。 更 重 要 的 是 , DS1302 可 以 在 很 小 电 流 的 后 备 电 源( 2.5 5.5V 电 源 , 再 2.5V 时 耗 电 小 于 300nA) , 而 且 DS1302 可 以 编 程选 择 多 种 充 电 电 流 来 为 后 备 电 源 进 行 慢 速 充 电 , 可 以 保 证 后 备 电 源 基 本不 耗 电 。 显 示 模 块 采 用 普 通 的 共 阳 极 四 位 一 体 八 段 LED 数 码 管 。第二章 系统硬件电路设计2.1 电路设计2.2 系统硬件概述2.2.1 主控制器 STC89C52RCSTC89C52RC 单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统 8051 单片机,12 时钟、机器周期和 6 时钟、机器周期可以任意选择。主要特性如下: 增强型 8051 单片机,6 时钟、机器周期和 12 时钟、机器周期可以任意选择,指令代码完全兼容传统 8051 单片机。 工作电压:5.5V3.3V 工作频率范围:044MHz 。 用户应用程序空间为 8K 字节 片上集成 512 字节 RAM 通用 I/O 口 32 个,复位后为:P1/P2/P3/P4 是准双向口/弱上位,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 ISP(在系统可编程)/IAP(再应用可编程) ,无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1 )直接下载用户程序,数秒即可完成一片。 具有 EEPROM 功能 具有看门狗功能 共 3 个 16 位定时器/计数器。及定时器 T0、T1、T2 外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒 通用异步串行口(UART),还可用定时器实现多个 UART 工作温度范围:-40+85 度(工业级)/075 度(商业级) PDIP 封装2.2.2 时钟电路 DS1302DS1302 的性能特性: 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较; 用于高速数据暂存的 31*8 位 RAM; 最少引脚的串行 I/O; 2.55.5V 电压工作范围; 2.5V 时耗小于 300nA; 用于时钟或 RAM 数据读/写的单字节或多字节(脉冲方式)数据传送方式; 简单的三线接口; 可选的慢速充电(至 Vcc1)的能力。DS1302 在任何数据传送时必须先初始化,把 RST 脚置为高电平,然后把 8 位地址和命令字装入移位寄存器,数据在 SCLK 的上升沿被访问到。在开始 8 个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为 8+8,在多字节方式下为 8+字节数,最大可达 248 字节数。如果在传送过程中置 RST 脚为低电平,则会终止本次数据传送,并且 I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 脚必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。DS1302 的控制字如表所示。控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入到 DS1302 中。位 6 如果为 0,则表示存取日历时钟数据;为 1 则表示存取 RAM 数据。位51(A4A0)指示操作单元的地址。最低有效位(位 0)如果为 0,则表示药进行写操作;为 1 表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对 32 个地址寻址能力(地址/命令位 1 5=逻辑 1),可以把时钟/ 日历或 RAM 寄存器规定为多字节( burst)方式。位 6 规定时钟或RAM,而位 0 规定读或写。在时钟/日历寄存器中的地址 931 或 RAM寄存器中的地址 31 不能存储数据。在多字节方式下,读或写从地址 0 的位 0 开始。必须按数据传送的次序写最先的 8 个寄存器。但是,当以多字节方式写 RAM 时,为了传送数据不必写所有的 31 字节,不管是否谢了全部 31 字节,所写的每一字节都将传送至 RAM。表 2.1 DS1302 控制字DS1302 共有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。其日历、时间寄存器及其控制字如上表所示,其中奇数为读操作,偶数为写操作。时钟暂停:秒寄存器的位 7 定义位时钟暂停位。当它为 1 时,DS1302 停止振荡,进入低功耗的备份方式,通常在对 DS1302 进行写操作时(如进入时钟调整程序),停止振荡。当它为 0 时,时钟将开始启动。AM-PM/12-24 小时方式:小时寄存器的位 7 定义为 12 或 24 小时方式选择位。它为高电平时,选择 12 小时方式。在此方式下,位 5 为第二个 10 小时位(2023h) 。DS1302 的晶振选用 32768Hz,电容推荐值为 6pF。因为振荡频率较低,也可以不接电容,对计时精度影响不大。2.3 主要单元电路的设计2.3.1 显示电路显示部分采用普通的共阳数码管显示,采用动态扫描,以减少硬件电路。年月日、时分秒、报警共需要 24 位数码显示,用 8 位数码管以按键切换的方式来显示。考虑到一次扫描 24 位数码管显示时会出现闪烁情况,故采用动态扫描,可将数码管数量减少至 8 位,显示时采用串行口输出段码。2.3.2 键盘接口键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段。键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC 机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。此处主要介绍该类非编码键盘及其与 MCS51 型单片机的接口。2.3.2.1 按键开关去抖动问题按键开关在电路中的连接如图所示。按键未按下时,A 点电位为高电平 5V;按键按下时,A 点电位为低电平。A 点电位就用于向 CPU 传递按键的开关状态。但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起 A 点电平不稳定,如图 2-11b 所示,键盘的抖动时间一般为 510ms,抖动现象会引起 CPU对一次键操作进行多次处理,从而可能产生错误。因此必须设法消除抖动的不良后果。图 2.3 键操作和键抖动消除抖动的不良后果的方法有硬、软件两种。为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的抖动,而是用软件消除抖动的方法。根据抖动特性,在第一次检测到按键按下后,执行一段延时 510ms 让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给 510ms 的延时,待后延抖动消失后才转入该键处理程序。2.3.2.2 查询式按键及其接口按照键盘与 CPU 的连接方式可以分为查询按键和矩阵式键盘。查询式按键是各按键相互独立,每个按键占用一根 I/O 口线,每根 I/O 口线上的按键工作状态不会影响其他 I/O 口线上按键的工作状态。查询式按键电路配置灵活,软件结构简单,但每个按键必须占用一根 I/O 口线,在按键数量较多时,I/O 口线浪费较大,且电路结构显得繁杂。故这种形式适用于按键数量较少的场合。2.3.2.3 矩阵式键盘及其接口矩阵式键盘又称行列式键盘,有 n 个行线和 m 个列线,经限流电阻接+5V 电源上,按键跨接在行线和列线上,nm 行列结构可构成 mn 个按键,组成一个键盘。与独立式按键相比,mn 个按键只占用 m+n 根 I/O 口线,因此适用于按键较多的场合。当无键闭合时,相应的 I/O 之间开路。当有键闭合时,与闭合键相连接的两条 I/O 口线之间短路。判断有无键按下的方法是:第一步,置列线相关 I/O 口为输入态,从行线相对应的 I/O 口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,置行线相关 I/O 口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等待近按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。2.3.2.4 键盘扫描控制方式在单片机应用系统中,对键盘的处理工作仅是 CPU 工作内容的一部分,CPU 还要进行数据处理、显示和其他输入输出操作,因此键盘处理工作既不能占用 CPU 太多时间,又需要 CPU 对键盘操作及时作出响应。CPU 对键盘处理控制的工作方式有以下几种:1. 程序控制扫描方式程序控制扫描方式是在 CPU 工作空余,调用键盘扫描子程序,响应键输入信号要求。2. 定时控制扫描方式定时控制扫描方式是利用定时/计数器每隔一段时间产生定时中断,CPU 响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。3. 中断控制扫描方式中断控制扫描方式是利用外部中断源,响应输入信号。当无按键按下时,CPU 执行正常工作程序。当有按键按下时,CPU 立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高 CPU 运行效率,但要占用一个宝贵的中断资源。图即工作于中断方式的矩阵式键盘接口电路。在初始化时 P1.4P1.7 置输出 0,P1.0P1.3 置为输入态,P1.0P1.3分别接至与门各输入端。当有键闭合时 =0,CPU 中断后,在中断服INTO务子程序中,再完成键识别和键功能处理。 图 2.4 工作于中断方式的矩阵式键盘接口电路2.3.3 时钟电路2.3.3.1 DS1302 工作方式简介及数据操作原理DS1302可以对年、月、日、星期、时、分、秒进行计时, 且具有闰年补偿功能, 工作电压宽达2.55.5V。采用三线接口与 CPU进行同步通信, 并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个33x8的用于临时性存放数据的RAM寄存器。DS1302是的DS1202升级产品, 与DS1202兼容, 但增加了主电源/后背电源双电源引脚, 同时提供了对后背电源进行涓细电流充电的能力。DS1302 时钟芯片包括实时时钟/日历和 31 字节的静态 RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于 31 天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用 24时或带 AM/PM 的12 小时格式。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多字节的时钟信号或 RAM 数据。DS1302 有主电源/ 后备电源双电源引脚: Vcc1 在单电源与电池供电的系统中提供低电源,并提供低功率的电磁备份;Vcc1 在双电池系统中提供主电源。在这种运行方式中,Vcc1 里连接到后备电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302 由 Vcc1 或 Vcc2 中较打大者供电。当 Vcc2(Vcc1+0.2V )时,Vcc2 给 DS1302 供电;当Vcc2Vcc1 时,DS1302 由 Vcc1 供电。图 2.5 DS1302DS1302 在任何数据传送时必须先初始化,把 RST 脚置为高电平,然后把 8 位地址和命令字装入移位寄存器,数据在 SCLK 的上升沿被访问到。在开始 8 个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为 8+8,在多字节方式下为 8+字节数,最大可达 248 字节数。如果在传送过程中置 RST 脚为低电平,则会终止本次数据传送,并且 I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 脚必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。DS1302 的控制字如图所示。控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入到 DS1302 中。位 6 如果为 0,则表示存取日历时钟数据;为 1 则表示存取 RAM 数据。位51(A4A0)指示操作单元的地址。最低有效位(位 0)如果为 0,则表示药进行写操作;为 1 表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对 32 个地址寻址能力(地址/命令位 1 5=逻辑 1),可以把时钟/ 日历或 RAM 寄存器规定为多字节( burst)方式。位 6 规定时钟或RAM,而位 0 规定读或写。在时钟/日历寄存器中的地址 931 或 RAM寄存器中的地址 31 不能存储数据。在多字节方式下,读或写从地址 0 的位 0 开始。必须按数据传送的次序写最先的 8 个寄存器。但是,当以多字节方式写 RAM 时,为了传送数据不必写所有的 31 字节,不管是否谢了全部 31 字节,所写的每一字节都将传送至 RAM。DS1302 共有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。其日历、时间寄存器及其控制字如下表所示,其中奇数为读操作,偶数为写操作。表 2.3 DS1302 控制字时钟暂停:秒寄存器的位 7 定义位时钟暂停位。当它为 1 时,DS1302 停止振荡,进入低功耗的备份方式,通常在对 DS1302 进行写操作时(如进入时钟调整程序),停止振荡。当它为 0 时,时钟将开始启动。AM-PM/12-24 小时方式:小时寄存器的位 7 定义为 12 或 24 小时方式选择位。它为高电平时,选择 12 小时方式。在此方式下,位 5 为第二个 10 小时位(2023h) 。DS1302 的晶振选用 32768Hz,电容推荐值为 6pF。因为振荡频率较低,也可以不接电容,对计时精度影响不大。第 3 章 系统的软件设计(3.1 程序设计)电子时钟的程序主要包括 3 个方面的内容:一是 DS1302 从单片机中读取数据进行计数,二是利用按键进行时间的调整,三是单片机中读取DS1302 中的数据驱动 LED 数码管显示时间。STC89C52RC 单片机主要 I/O口的分配:P10、P11、P12 分别接时钟芯片的 SCLK、I/O、RST 引脚,P13、P14、P15、P16 接四个独立按键。主程序返 回按 键 程 序报 警 程 序K等 于 2显 示 报 警 时 间等 于 1显 示 日 期等 于 0显 示 时 间加 程 序开 始流程图时间调整程序流程图第 4 章 结束语2010 年 3 月,我开始了我的毕业论文工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了一个多月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜的,我觉得这一切都值了。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。我不会忘记这难忘的几个月的时间。毕业论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用 protel 99 设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。我从资料的收集中,掌握了很多单片机及其接口应用的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机的最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成毕业论文。在此我要向司老师致以最衷心的感谢和敬意。程序/main.c/#include#define uint unsigned int#includeds1302.h#includekey.h#includebell.hsbit k4=P13;char k=0;char shi,fen,miao,nian,yue,ri;char baojingshi=0x00,baojingfen=0x06,baojingmiao=0x00;void sjdisplay();void rqdisplay();void baojingdisplay();void delay(uint ms);void display(char shu,char wei);char table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void main()ds1302_write(0x80,0x55);ds1302_write(0x82,0x45);ds1302_write(0x84,0x00);ds1302_write(0x8c,0x11);ds1302_write(0x88,0x10);ds1302_write(0x86,0x07);while(1)if(k4=0) delay(5);if(k4=0)while(k4=0);k+;if(k=3)k=0;if(k=0)sjdisplay();if(k=1)rqdisplay();if(k=2)baojingdisplay();if(shi=baojingshi)&(fen=baojingfen)&(miao=baojingmiao)didi(10);key();void sjdisplay()shi=ds1302_read(0x85);/hourfen=ds1302_read(0x83);/minitesmiao=ds1302_read(0x81);/seconddisplay(shi4)display(shidisplay(fen4)display(fendisplay(miaovoid rqdisplay()nian=ds1302_read(0x8d);/nianyue=ds1302_read(0x89);/yueri=ds1302_read(0x87);/ridisplay(nian4)display(niandisplay(yue4)display(yuedisplay(ri4)/0000 0111display(rivoid baojingdisplay() display(baojingshi4)display(baojingshidisplay(baojingfen4)display(baojingfendisplay(baojingmiao4)display(baojingmiaovoid delay(uint ms)uint i,j;for(i=ms;i0;i-)for(j=124;j0;j-);void display(char shu,char wei)P0=tableshu;P2=(1#define uchar unsigned char#define uint unsigned intsbit rst=P12;sbit dat=P11;sbit clk=P10;void ds1302_write(char comm,char dat1)char temp,t;rst=0;clk=0;rst=1;temp=comm;for(t=0;t1);clk=0;temp=dat1;for(t=0;t1;clk=0;rst=0;uchar ds1302_read(char comm)char temp,t;rst=0;clk=0;rst=1;temp=comm;for(t=0;t1;clk=0;temp=0;/00000000 for(t=0;t1;if(dat=1)temp=temp|0x80;else temp=tempclk=1;clk=0;rst=0;return temp;/Ds1302.c/Key.c/#include#define char signed char#define uint unsigned intsbit mode=P14;sbit add=P15;sbit sub=P16;char mod=0;extern void delay(uint ms);extern char shi,fen,nian,yue,ri;extern char baojingshi,baojingfen;extern char ds

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论