数字电子时钟设计报告(编辑修改稿)内容摘要:

OM)已经存储了160个不同的点阵字符 ,图形寄存器选择控制表如表 所示: 表 LCD1602 寄存器选择控制表 RS R/W 操作说明 0 0 写入指令寄存器(清屏指令等) 0 1 读 busy flag,以及读取位址计数器( DB0~DB6)的值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 (2)指令集 1602 通过 D0~ D7 的 8 位数据端传输数据和指令。 显示模式设置 (初始化 )00111000[0x38]设置 162 显示, 57 点阵, 8 位数据接口;显示开关及光标设置: (初始化 ) 00001DCBD 显示 (1 有效 )、 C 光标显示 (1 有效 )、 B 光标闪烁(1有效 )。 000001NS N=1(读或写一个字符后地址指针加 1并且光标加 1), N=0(读或写一个字符后地址指针减 1 并且光标减 1), S=1 且 N=1(当写一个字符后,整屏显示左移 ), S=0 当写一个字符后,整屏显示不移动。 数据指针设置:数据首地址为 80H,所以数据地 址为 80H+地址码 (027H, 4067H)。 其他设置: 01H(显示清屏,数据指针 =0,所有显示 =0); 02H(显示回车,数据指针 =0)。 DS1302 原理及说明 (1) 时钟芯片 DS1302 的工作原理 DS1302在每次进行读、写程序前都必须初始化,先把 SCLK端置 “0” ,接着把 RST 端置 “1” ,最后才给予 SCLK 脉冲;读 /写时序如下图 所示。 图 为 DS1302 的控制字,此控制字的位 7 必须置 1,若为 0 则不能把对 DS1302进行读写数据。 对于位 6,若对程序进行读 /写时 RAM=1,对时 间进行读 /写时,CK=0。 位 1至位 5指操作单元的地址。 位 0 是读 /写操作位,进行读操作时,该位为 1;该位为 0 则表示进行的是写操作。 控制字节总是从最低位开始输入 /输出的。 表 为 DS1302 的日历、时间寄存器内容: “CH” 是时钟暂停标志位,当该位为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位为 0 时,时钟开始运行。 “WP” 是写保护位,在任何的对时钟和 RAM 的写操作之前, WP 必须为 0。 当 “WP” 为 1时,写保护位防止对任一寄存器的写操作。 (2) DS1302 的控制字 DS1302 的控制字如图 所 示。 控制字节的高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果 0,则表示存取日历时钟数据,为 1表示存取 RAM 数据;位 5 至位 1指示操作单元的地址;最低有效位(位0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 图 DS1302的控制字 (3) 数据输入输出 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8 位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0位到高位 7。 如下图 所示: 图 DS1302 读与写的时序图 1. DS1302 的寄存器 DS1302 有 12个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式 ,其 日历、时间寄存器及其控制字见表。 表 DS1302 的日历、时间寄存器 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写 )、 FFH(读 )。 第 3 章 系统的硬件设计与实现 本系统的电路系统框图如图 所示。 STC89C52 单片机对 DS1302 和DS18B20 写入控制字并读取相应的数据,继而控制 LCD1602 作出对应的显示。 LCD1602 液晶显示模块 STC89C52 主控模块 按键控制模块 DS1302 时钟模块 图 系统硬件框图 本电路是由 STC89C52 单片机作为控制核心,能在 5V 电压工作, STC89C52是一个低功耗,高性能 CMOS 8 位单片机,片内含 8kBytes ISP(Insystem programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL公司的高密度、非易失性存储技术制造,兼容标准 MCS51 指令系统及 80C52 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 STC89C52 可为许多嵌入式控制应用系统提供高性价比的解决方案;时钟电路由 DS1302 提供,它是一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为 ~。 采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302 内部有一个 31*8 的用于临时性存放数据的 RAM 寄存器。 可产生年、月、日、周、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由 LCD1602 液晶显示器完成,该显示器为工业字符型液晶,能够同时显示 16x02 即 32 个字符( 16列 2 行)。 主要模块电路的设计 STC89C52 单片机主控制模块的设计 STC系列单片机是由 STMicroelectronics 公司 生产,并有宏晶 公司 做大陆代理的。 本设计使用 STC89C52作为控制核心,其管脚兼容其他 51系列的单片机,以下对 STC89C52 进行简单讲解。 STC89C52 单片机包含中央处理器、程序存储器 (ROM)、数据存储器 (RAM)、定时 /计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。 采用 40Pin 封装的双列直接 DIP 结构,图 是它们的引脚配置, 40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组 8位共 32 个 I/O 口,中断口线与 P3 口线复用。 现在对各引脚功能说明如下(图 ): 图 STC89C52 单片机管脚图 ( 1)主电源引脚 Vcc :接+ 5V 电源正端。 Vss :接+ 5V 电源地端。 ( 2)输入/输出引脚 ~ : P0口的 8 个引脚。 在不接片外存储器与不扩展 I/ O接口时,可作为准双向输入/输出接口。 在接有片外存储器或扩展 I/ O 接口时, P0口分时复用为低 8位地址总线和双向数据总线。 ~ : P1口的 8 个引脚。 可作为准双向 I/ O接口使用。 对于 52子系列, 与 还有第二种功能: 可用作定时器/计数器 2 的计数脉冲输入端 T2。 可用作定时器/计数器 2的外部控制端 T2EX。 ~ : P2口的 8个引脚。 可作为准双向 I/ O 接口;有接有片外存储器或扩展 I/ O接口且寻址范围超过 256个字节时, P2口用作高 8 位地址总线。 ~ : P3口的 8个引脚。 除作为准双向 I/ O 接口使用外,还具有第二种功能 ,详见表。 表 P3 口第二功能表 引脚 第二功能 RXD(串行口输入) TXD(串行口输出) I175。 N175。 T175。 0175。 (外部中断 0输入) I175。 N175。 T175。 1175。 (外部中断 1输入) T0(定时器 0的外部输入) T1(定时器 1的外部输入) W175。 R175。 (片外数据存储器写控制信号) R175。 D175。 (片外数据存储器读控制信号) ( 3)控制总线 ALE/ PROG:地址锁存有效信号输出端。 在访问片外程序存储器期间,每机器周期该信号出现两次,其下降沿用于控制锁存 P0 口输出的低 8 位地址。 对于片内含 EPROM 的机型,在编程期间,此引脚用作编程脉冲 PROG 的输入端。 PSEN:片外程序存储器读选通信号输出端,或称片外取指信号输出端。 在向片外程序存储器读取指令或常数期间,每个机器周期该信号两次有效(低电平),以通过数据总线 P0 口读回指令或常数。 在访问片外数据存储器期间, PSEN 信号将不出现。 RST/ V:( RST 是 RETET 简略写法。 )是复位端。 单片机的 振荡器工作时,该引脚上出现持续两个机器周期的高电平就可实现复位操作,使单片机回复到初始状态。 上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms 以上才能保证有效复位。 Vcc 掉电期间,该引脚如接备用电源 VPD(电压范围 + 至 +),可用于保存片内 RAM 中的数据。 当 Vcc下降到某规定值以下 VPD,便向片内 RAM 供电。 EA/ VDD:片外程序存储器选用端。 该引脚有效(低电平)时只选用片外程序存储器,否则计算机上电或 6复位后先选用片内程序存储器。 ( 4)外接晶振引脚 XTAL1:片内反 相放大器输入端。 XTAL2:片内反相放大器输出端。 外接晶体时, XTAL1 和 XTAL2 各接晶体的一端,借外接晶体与片内反相放大器构成振荡器。 图 单片机最小系统 时钟电路模块的设计 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,工作电压为 ~。 采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM数据。 DS1302 内部有一个 318 的用于临时性存放数据的 RAM寄存器。 DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 DS1302 的引脚排列 ,其中 Vcc1 为后备电源, Vcc2 为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。 当 Vcc2 大于 Vcc1+ 时, Vcc2 给 DS1302 供电。 当 Vcc2 小于 Vcc1时, DS1302 由 Vcc1 供电。 X1 和 X2 是振荡源,外接 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST提供终止单字节或多字节数据的传送手段。 当 RST 为高电平时,所有的数据传送被初始化 ,允许对 DS1302 进行操作。 如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。 上电运行时,在 Vcc之前, RST 必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端 (双向 ), SCLK 为时钟输入端。 DS1302 的控制字节的最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位6如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据。 位 5 至位 1指示操作单元的地址。 最低有效位 (位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0位到高位 7。 DS1302 有 12个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。