多功能电子时钟系统设计毕业设计论文(编辑修改稿)内容摘要:

图 31单片机 STC89C52引脚图 引脚功能简介: 单片机的 40个引脚大致可分为 4 类:电源、时钟、控制和 I/O 引脚。 电源 ( 1) VCC— 芯片电源,接 5V; ( 2) VSS— 接地端; 时钟 XTAL XTAL2:晶体振荡电路反相输入和输出端。 控制线 (1)ALE/PROG:地址锁 存允许 /片内 EPROM 编程脉冲 ALE 功能:用来锁存 P0 口送出的低 8位地址 PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚输入编程脉冲。 (2)PSEN:外 ROM 读选通信号。 (3)RST/VPD:复位 /备用电源。 RST(Reset)功能:复位信号输入端。 VPD 功能:在 VCC掉电情况下,接备用电源。 (4)EA/Vpp:内外 ROM 选择 /片内 EPROM 编程电源。 EA 功能:内外 ROM 选择端 Vpp 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加编程电源 Vpp。 I/O 线 89C52 共有 4个 8位并行 I/O 端口: P0 口、 P1口、 P2口、 P3 口,共 32 个引脚。 P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 P0:经上拉电阻后作为液晶模块的数据输入端。 作为 LCD1602 的 RS 端 作为 LCD1602 的 RW 端 作为 LCD1602 的 EN 端 作为蜂鸣器的输出端 作为 DS1302 的 CLK 端 作为 DS1302 的 IO 端 作为 DS1302 的 RST 端 ~ 作为按键选择端 键盘电路的输入端 单片机晶振模块设计 单片机 晶振的作用 是为系统提供基本的时钟信号。 没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。 单片机工作时,是一条一条地从 RoM 中取指令,然后一步一步地执行。 单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。 —个机器周期包括 12 个时钟周期。 因为我们 选择了 12MHZ 晶振,它 的时钟周期是 1/ 12us,它的一个机器周期是 12(1/ 12)us,也就是 1us。 电路设计如下图 32所示: 图 32 单片机晶振电路 单片机复位电路设计 单片机在启动时都需要复位,以使 CPU 及系统各部件处于确定的初始状态,并从初态开始工作。 89 系列单片机的复位信号是从 RST 引脚输入到 芯片 内的施密特 触发器 中的。 当系统处于正常工作状态时,且 振荡器 稳定后,如果 RST 引脚上有一个高电平并维持 2 个机器周期 (24 个振荡周期 )以上,则 CPU 就可以响应并将系统复位。 单片机系统的复位方式有:手动按钮复位和上电复位。 我们采用的是上电复位,通电后回到初始化。 电路如下图 33所示: 图 33 单 片机复位电路 时钟电路 DS1302 简介 DS1302是由美国 DALLAS公司推出的一种低功耗、高性能的实时时钟芯片, 实时时钟可提供年、月、日、时、分和秒的调整,一个月的 30 天与 31 天可以自动调整,且具有闰年的自动补偿功能。 此款时钟芯片附加 31 字节的静态 RAM,用 SPI 三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM 数据。 工作电压 ~。 采用主电源和备用电源的双电源供电,并且可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。 DS1302 用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广 范应用于多个领域。 时钟电路如下图 34 所示: 图 34 DS1302 时钟电路 引脚介绍 Vcc1:主电源; Vcc2:备份电源。 当 Vcc2Vcc1+ 时,由 Vcc2 向 DS1302 供电,当 Vcc2 Vcc1 时,由 Vcc1 向 DS1302 供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线; RST 为复位 引脚 ,在读、写数据期间,必须为高, X1 X2 为 32867Hz 晶振管脚,为芯片提供 时钟脉冲。 引脚图如下 35 所示: 图 35 DS1302 引脚图 图 36 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 时,写保护位防止对任一寄存器的写操作。 DS1302 在每次进行读、写程序前都必须初始化,先把 SCLK 端置 “ 0”,接着把 RST 端置“ 1”,最后才给予 SCLK 脉冲;读 /写时序如图 5 所示。 表 2为 DS1302的控制字,此控制字的位 7必须置 1, 若为 0则不能把对 DS1302 进行读写数据。 对于位 6,若对程序进行读 /写时 RAM=1,对时间进行读 /写时, CK=0。 位 1 至位5指操作单元的地址。 位 0是读 /写操作位,进行读操作时,该位为 1;该位为 0则表示进行的是写操作。 控制字节总是从最低位开始输入 /输出的。 表 6为 DS1302的日历、时间寄存器内容:“ CH”是时钟暂停标志位,当该位为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位为 0时,时钟开始运行。 “ WP” 是写保护位,在任何的对时钟和 RAM 的写操作之前, WP 必须为 0。 当“ WP”为1时,写保护位防止对 任一寄存器的写操作。 的使用方法介绍 (1) DS1302 的控制字节 DS1302 的控制字如表所示。 控制字节最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6如果 0,则表示存取日历时钟数据,为 1 表示存取 RAM数据;位 5 至位 1指示操作单元的地址;最低有效位(位 0)如为 0表示要进行写操作,为 1表示进行读操作,控制字节总是从最低位开始传输 表 31 DS1302控制字 1 RAM A4 A3 A2 A1 A0 RD CK WR (2) 数据输入输 出( I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8 位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。 其读写时序如下图 36示 图 36 DS1302读写时序 ( 3) DS1302 寄存器 DS1302 中与时间、日期有关的寄存器共有 12 个,其中 7个存放数据的格式为 BCD 码格式,其读写地址如下表所示 表 32 DS1302寄存器说明表 读寄存器 写寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 范围 81H 80H CH 10 秒 秒 0059 83H 82H 10 分 分 0059 85H 84H 12 0 10 时 时 023 24 AM/PM 112 87H 86H 10 日 日 131 89H 88H 10 月 月 112 8BH 8AH 0 0 0 0 0 周 17 8DH 8CH 10 年 年 0099 8FH 8EH WP 0 0 0 0 0 0 0 ―― 第一行秒寄存 器, CH 为时钟暂停标志位,该位为 1 时时钟停止,该位为 0时时钟运行。 第二行分寄存器, bit0~bit6 表示分钟数,因采用 BCD 编码,所以低四位最大能表示的数字为 9,计数满向高三位进 1。 第三行时寄存器, 12/24 用来定义 DS1302 小时的运行模式, 12 小时模式下bit5 为 1 表示 PM下午, bit5 为 0 表示 AM上午。 第八行控制寄存器, bit7 是写保护位 WP,当 WP为 1时,写保护位可防止对任一寄存器的写操作,在任何的对时钟和 RAM 的写操作之前, WP 位必须为 0 此外, DS1302 还有年份寄存器、控制寄存器、充 电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写 )、 FFH(读 )。 按键控制模块 采用独立式按键,因为独立式按键的电路配置灵活,软件简单,每个按键只占用一根 I/O接口线, 并且用的数量不多,所以采用独立式按键。 大概要采用 8个按键分别命名为 K0 到 K7,K1 键是每种模式的退出,然后都是正常显示时钟时间, K3进入校准模式,此时 K4 表示秒、分、时的切换。 K0 是进入秒表模式, K3是启动和记录, K2 是暂停, K4 是清零, K K K7是三组数据的记录。 在正常显示时间下, K2 进入定时模式, K3 显示分, K4显示时, K K6 是时间的上下波动。 电路图如下 37所示: 图 37 按键电路 显示模块 简介 1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示 字母、数字、符号等的 点阵 型液晶模块。 它由若干个 5X7 或者 5X11 等 点阵 字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义 CGRAM,显示效果也不好)。 1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)。 电路如下 38 所示: 图 38 液晶显示电路 1602LCD 的引脚功能 表 33 LCD1602 引脚接口说明表 引脚 符号 引脚说明 引脚 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 1 脚: VSS 为地电源。 第 2 脚: VDD 接 5V 正电源。 第 3 脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚: RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄器。 第 5 脚: R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低 电平 R/W 高电平时可以读忙信号,当 RS 为高电平 R/W为低电平时可以写入数据。 第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14 脚: D0~ D7 为 8位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 1602LCD 的字符液晶字库 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代 码是 01000001B( 41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。