基于单片机的lcd时钟的设计内容摘要:

K2 键调整分, K3 键设置完成。 系统主要特点 ⒈ 本设计以硬件和软件相结合为指导思想,通过软件编程实现系统大部分功能,电路简单明了,系统控制灵活、稳定性高,能很好地满足本设计的基本要求和扩展要求。 ⒉ 本设计采用单片机 AT89S51 来设计完成 ,由于其功能的实现主要通过软件 8 编程来完成 ,那么就降低了硬件电路的复杂性 , 减小 了 电磁干扰和因元器件精度不够引起的误差 , 而且其成本也有所降低。 AT89S51 是低功耗、高性能 CMOS 8 位单片机,片内含 4KB 在系统编 程( ISP)的 Flash 只读程序存储器 , 器件采用 ATMEL公司的高密度、非易失性存储技术 制造 ,兼容标准 8051 指令系统及引脚。 ⒊ 本设计采用 DS1302 为实时控制芯片。 通常用的单片机没有实时时钟部件,如果需要此功能就得使用定时器来实现,而一旦系统掉电时钟就不能运行,这在需要实时时钟的系统中是不允许的,即便使用备用电池,通用单片机系统的功耗较大而通常坚持不久。 这就要求一种功能强、功耗小、计时精度高的高性能时钟芯片,而 DS1302 能很好地满足设计的要求。 ⒋ 本设计采用 字符 型 液晶显示器 LCD1602 来实现显 示电路的功能。 普通的七段显示器一般用来显示数字,若遇到要显示英文文字时,则会选择使用 LCD 显示。 LCD显示 已 成为便携式应用中的主流显示技术 , LCD 显示器具有功耗低、体积小、显示内容丰富、超薄轻巧、操作方便等优点。 9 第 3 章 系统硬件电路设计 系统硬件电路设计是整个系统的基础,要考虑的方方面面很多,除了实现本设计基本功能以外,主要还要考虑如下几个因素:①系统稳定度;②器件的通用性或易选购性;③软件编程的易实现性;④系统其它功能及性能指标。 因此硬件电路设计至关重要。 本系统能够准确显 示时间 (显示格式为“ TIME:时时:分分:秒秒” ),并具有可随时进行时间调整、定时时间设置、闹铃开 /关等功能 , 同时在掉电情况下也能进行时间计数。 硬件电路分为以下几个模块: 1) 单片机控制系统的设计 2) 实时控制 电路 的设计 3) 校时定时 电路 的设计 4) 显示电路的设计 5) 报时 电路 的设计 6) 电源的设计 下面分别介绍各个 模块 的功能及其工作原理。 单片机控制系统的设计 单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。 它由单片机、时钟电路、复位电路等组成。 为了简化电路、降低成本、提 高可靠性, 本设计采用 AT89S51 作为主控制器, 外加一些控制电路来实现 时 钟的基本功能。 主控芯片 AT89S51的介绍 AT89S51 是 一种 低功耗 、 高性能 CMOS 8 位单片机,片内含 4k Bytes 可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS51 指令系统及 80C51 引脚结构。 芯片内集成了通用 8 位 CPU和 在系统可编程( ISP) Flash 存储单元, 使得 AT89S51 可为 众 多嵌入式控制应用系统提供高性价比的解决方案。 此外, AT89S51 可 降至 0Hz 的静态逻辑操作, 并 支持两种软件可选的节电 工作 模式。 空闲模式下, CPU 停止 工作 而 允许 RAM、 定时 器 /计数器 、 串行 10 通信 口 及 外中断系统继续工作。 掉电模式 下, 冻结振荡器而保存 RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。 同时 AT89S51 还具有 PDIP、TQFP 和 PLCC 三种封装形式,以适应不同产品的需求。 如图 所示,为AT89S51 的 PDIP 封装形式的 引脚图。 ⒈ AT89S51 主要性能参数: 与 MCS51单片机产品兼容 4K 字节在系统编程( ISP) Flash 存储器 1000次擦写周期 全静态操作: 0Hz~ 33MHz 三级加密程序存储器 128 8 字节内部 RAM 32 个可编程 I/O 口线 2 个 16 位定时器 /计数器 6 个中断源 全双工串行 UART 通道 低功耗空闲和掉电模式 掉电后中断可唤醒系统 看门狗( WDT)定时器及双数据指针 图 AT89S51 引脚图 掉电标识符和快速编程特性 ⒉ AT89S51 芯片 40 个 引脚功能说明: VCC: 电源 电压。 GND:接地。 P0 口: P0 口 是 一 组 8 位漏级开路双向 I/O 口, 即地址 /数据总线复用口。 作为输 出口用时,每位能驱动 8个 TTL逻辑门电路,对端口写“ 1”可作为高阻抗输入端用。 P0 口还能在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。 在 Flash 编程时, P0 口 接收指令字节 , 在程序校验 时, P0 口 输出 指令字节 ,此时 要求外接上拉电阻。 P1口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口 的输出 缓冲 级可驱动 4 个 TTL 逻辑 门电 路。 对端口写 “1” ,通过内部的 上拉 电阻把端口拉到高电平,此时可作为输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会 输出一个电流。 在 Flash 编程和 程序 校验时, P1 口 接收低 8位地址。 11 P2口: P2 口 是 一个内部 提供 上拉电阻的 8 位双向 I/O 口, P2 口 的输出 缓冲 级可驱动 4 个 TTL 逻辑 门电 路。 对端口写 “1” ,通过内部的 上拉 电阻把端口拉到高电平,此时可作为输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部程序存储器 或 16 位地址外部数据存储器时, P2 口输出高 8 位地址 数据。 在访问 8 位地址的外部数据存储器时, P2口线上的内容在整个 访问 期间不变。 在 Flash 编程 或 校验时 , P2 口接收高 8 位地址和 其它 控制信号。 P3口: P3 口 是一组 内部 提供 上拉电阻 的 8 位 双向 I/O 口。 P3 口 的输出 缓冲 级可驱动 4 个 TTL 逻辑 门电 路。 对 P3口写入 “1” 时 ,它们被内部上拉 电阻拉 为高电平,并用作输入 口。 作为输入 口时 , 被外部拉低的 P3口将 用上拉电阻 输出电流。 P3口除了作为一般 I/O 口外,更重要的用途是它的第二功能,如表 所示。 表 P3口引脚的第二功能 端口引脚 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断 0) INT1(外部中断 1) T0(定时器 /计数器 0外部输入) T1(定时器 /计数器 1外部输入) WR(外部数据存储器写选通) RD(外部数据存储器读选通) P3口还接收一些用于 Flash 编程和程序校验的控制信号。 RST:复位输入。 当振荡器 工作 时, RST 引脚出现两个机器周期以上的高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时, ALE 输出脉冲用于锁存地址的低 8 位字节。 即使不访问外部存储器, ALE 仍 以时钟振荡频率的 1/6 输出固定的正脉冲信号,因此它可对输出时钟或用 于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash 存储器编程时, 该 引脚还用于输入编程脉冲。 如 有 必要,可 通过 对特殊 功能 寄存器区中的 8EH 单元的 D0 位置禁止ALE操作。 该 位置后只有一条 MOVX 和 MOVC 指令 ALE 才会被 激活。 此外, 该 引脚会被 微弱拉高,单片机执行外部程序时,应设置 ALE无效。 12 PSEN:程序储存允许输出是外部程序存储器的读选通信号,当 AT89S51 由外部程序存储器读取指令时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 当访问外部数据存储器时,这两次有效的 PSEN 信号不出现。 EA/VPP:外部访问允许。 欲使 CPU 仅访问外部程序存储器, EA 端必须保持低电平。 需要注意的是:如果加密位 LB1被编程,复位时内部会锁存 EA 端状态。 如EA端为高电平, CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上 +12V 的编程电压 VPP。 XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 AT89S51 最小系统的设计 通常 , 将完成单片机最基本功能 , 没有外围器件及外设接口扩展的系统称之为单片机最小系统 , 简称 最小系统。 根据系统设计要求,结合性能分析,设计的单片机最小系统如图 所示。 图 单片机最小系统 13 ⒈ 时钟电路 : AT89S51 单片机有一个用于构成内部振荡器的反相放大器,反相放大器的输入端为 XTAL1,输出端为 XTAL2,两端连接石英晶体及两个 瓷片 电容形成稳定的自激振荡器。 在本次设计中电容 均 取 22pF,石英晶体的振荡频率 选12MHz。 ⒉ 复位电路: 复位是单片机的初始化操作,复位后可使 CPU 及系统各部件处于确定的初始状态,并从初始状态开始正常工作。 复位电路则是实现这一功能的实际执行者 , 它应 该使高电平的复位信号持续两个机器周期以上。 常用的复位电路有上电复位和手动复位两种, 本设计中的复位电路集手动复位及上电复位于一体:( 1)上电复位是通过外部复位电路的 22uF 电容的充电来实现的,这样只要电源 VCC 的上升时间不超过 1ms,就可以实现自动上电复位。 ( 2)按键手动复位是通过使复位端经电阻与 VCC 接通而实现的。 实时控制电路的设计 本设计采用 DS1302 为实时控制芯片 , 单片机从中读取数据送到 LCD 显示器上显示,从而实现 时 钟的功能 , 并接 后 备电源以 便 在 主 电源断电时其控制电路仍 能计时 ,能满足设计要求。 时钟芯片 DS1302 性能简介 DS1302 是 Dallas 公司生产的一种 高性能、低功耗、带 RAM 的实时时钟芯片,它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息, 而且精度高。 工作电压宽达 ~ , 时耗电小于 300nA, 它还拥有用于主电源和 后备 电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的 31 字节 RAM。 DS1302 与 单片机系统的数据传送依靠 RST、I/O、 SCLK 三根端线即可完成。 其工作过程可概括为:首先系统 RST 引脚驱动至高电平 , 然后在作用于 SCLK 时钟脉冲的作用下 , 通过 I/O 引脚向 DS1302 输人地址 /命令字节 , 随后再在 SCLK 时钟脉冲的配合下 , 从 I/O 引脚写入或读出相应的数据字节。 因此 , 其与单片机之间的数据传送是十分容易实现的。 如图 所示,为DS1302 芯片的引脚图。 14 ⒈ DS1302 引脚说明: X1, X2 晶振引脚 GND 接地引脚 RST 复位端 I/O 数据输入 /输出端口 SCLK 串行时钟端口 VCC1 后备 电源引脚 VCC2 主电源引脚 图 DS1302引脚图 ⒉ DS1302 的控制字节 DS1302 的控制字如 图 所示。 控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入到 DS1302 中 ; 位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据 ; 位 5 至位 1 指示操作 单元的地址 ; 最低有效位(位 0)如为 0 表示要进行写操作,为 1表示进行读操作,控制字节总是从最低位开始输出。 图 DS1302的控制字格式 ⒊ 复位 通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:( 1) RST 接通控制逻辑,允许地址/命令序列送入移位寄存器; ( 2) RST 提供了终止单字节或多字节数据的传送手段。 当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。 如果在传送过程中置 RST 为低电平,则会终止此次数据传送,并且 I/O引脚变为高阻态。 上电运行时,在 Vcc≥ 之前, RST 必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST 置为高电平。 ⒋ 数据输入输出 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0开始。 同样,在紧跟 8位的控制指令字后的下一个。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。