基于ds1302的实时数字钟设计内容摘要:

的第 1 位 9 DB2 数据端口 的第 2 位 10 DB3 数据端口的第 3 位 11 DB4 数据端口的第 4 位 12 DB5 数据端口的第 5 位 13 DB6 数据端口的第 6 位 14 DB7 数据端口的第 7 位 15 Vdd(输入 ) 背光电源正极, 5V177。 5% 16 VSS(输入 ) 背光电源负极, 0V 指令表 指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0 1 清屏 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示控制 0 0 0 0 0 0 1 D C B 5 光标 /字符移位 0 0 0 0 0 1 S/C R/L * * 6 功能 0 0 0 0 1 DL N F * * 7 置字符发生器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志和地址 0 1 BF 计数器地址 10 写数据到指令 所设地址 1 0 要写的数据 11 从指令 所设的地址读数据 1 1 读出的数据 7 指令 1:清显示,光标复位到地 址 00H 位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或者右移。 高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 R/L, 高向左 , 低向右。 指令 6:功能设置命 令 DL:高电平时为 8 位总线,低电平时为 4 位总线 N:低电 平 时 为 单 行 显 示 , 高 电 平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。 (有些模块是 DL:高电平时为 8 位总线,低电平时为 4 位总线) 指令 7:字符发生器 RAM 地址设置,地址:字符地址 *8+字符行数。 (将一个字符分成 5*8 点阵,一次写入一行, 8行就组成一个字符 ) 指令 8:置显示地址,第一行为: 80H—— 8FH,第二行为: C0H—— CFH。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或 者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 [ 3 系统硬件设计及实现 该设计的硬件电路由主控部分 (单片机 AT89C51)、计时部分(实时时钟芯片DS1302)、显示部分( LCE1602)、按键部分(独立式键盘)、音响部分(直流蜂鸣器) 5个部分组成。 各部分之间相互协作,构成一个统一的有机整体,实现数字时钟的功能。 单片机外围电路设计 单片机 AT89C51 作为主控芯片,控制整个电路的运行。 单片机外围需要一个复位电路,复位电路的功能是:系统上电时提供复位信号,直至系统电 源稳定后,撤消复位信号。 为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以8 防电源开关或电源插头分 合过程中引起的抖动而影响复位。 该设计采用含有二极管的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。 复位电路的设计图如图示: DS1302 与单片机的接口设计 时钟芯片 DS1302 与单片机 AT89C51 的接口是由 3条线来完成的,单片机 AT89C51的 与时钟芯片的数据传输端 相连, 用来作为 DS1302 输入时钟 SCLK 控制端 , 控制 DS1302 的复位输入端。 DS1302 的第 8管脚与一个独立电池连接, 3 管脚接标准 石英晶振。 DS1302 与单片机的接口电路如图所示: LCD1602 与单片机的接口设计 液晶显示器 LCD1602与单片机 AT89C51的接口由一组 8位数据传输线和 3跟控制线完成。 LCD1602 的 RS、 RW、 E分别由单片机的 、 、 来控制,数据输入口 DB0~DB7 由 ~ 传输数据,因为是接在 P0 口 ,所以要接上拉电阻。 LCD1602 与单片机的接口电路如图所示: RST 9 按键电路设计 本设计中使用的按键不多,只用到四个按键即可完成所需要的功能,因此用四个独立式按键来完成。 S S S S1 分别与 、 、 、 连接,具体功能有: S4主功能 选择; S3 光标移位 /开闹钟; S2 数值加 /关闹钟; S1 秒表/倒计时。 具体电路图如图所示: 闹铃电路设计 闹铃音乐可以直接采用蜂鸣器闹铃,如当前时刻与闹铃时间相同,单片机向蜂鸣器送出高电平,蜂鸣器发声。 采用蜂鸣器闹铃结构简单,控制方便,但是发10 出的闹铃声音单一。 闹铃的音乐不是本设计中的重点,故采用最简单的方法,占用单片机一根 I/O 口 ,中间用 PNP 型三极管 S9012 连接 和蜂鸣器。 当 引脚为低电平时, S9012 的发射极和集电极导通,使蜂鸣器发声。 当响铃标志位为“ 1”时, 送一定频率脉冲,使蜂鸣器发出声音。 如图所示: 电源设计 时钟芯片 DS1302 有 很宽 的工作电压范围,其工作电压为 ~。 单片机 STC89C52 的工作电压范围相对较窄,为 ~ ,所以本设计中,利用 USB给电路提供 +5V 电压,由于 USB 供电可能不稳定,所以加一个滤波稳压电容,使电路的工作保持很高的可靠性。 在电路中接入一个发光二极管作为指示灯,可以很方便地指示电源与电路是否接通 4 软件设计 主程序设计 第一次上电,系统先进行初始化,单片机依次开始调用键盘扫描子程序、 DS1302子程序、闹铃子程序,经过延时,返回程序开头循环运行。 11 DS1302 子程序的设计 单片机 STC89C52 对时钟芯片 DS1302 的控制需要通过程序驱动来实现,程序主要完成两个方面的任务:①利用单片机实现对 DS1302 寄存器的地址定义和控。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。