基于51系列单片机的多路定时唤醒仪设计毕业论文(编辑修改稿)内容摘要:

3. 全静态 操作 : 0—— 24Hz; 4. 1000 次擦写周期; 5. 三级 加密程序存 储 器 ; 6. 256 8 字节内部 RAM; 7. 32 个外部双向输入 /输出( I/O)口 ; 8. 6 个中断优先级 ; 3 个 16 位可编程定时 /计数器 ; 9. 可编程串行 UART 通道; 10. 低 功 耗空闲和掉电 模 式。 此外, AT89C52 是用静态逻辑来设计的,其工作频率可下降到 0Hz,并提供两种可用软件来选择的省电方式 —— 空闲方式( Idle Mode)和掉电方式( Power Down Mode)。 在空闲方式中, CPU 停止工作,而 RAM、定时器 /计数器、串行口和中断系统都继续工作。 在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内 RAM 中的内容,直到下一次硬件复位为止 [8]。 图 AT89C52 芯片 PDIP 封装引脚图 AT89C52 为适应不同的产品需求,采用 PDIP、 TQFP、 PLCC 三种封装形式,本 系内蒙古科技大学毕业设计 说明书(毕业 论文 ) 统采用双列 直插 PDIP 封装形式 ,如图。 时钟日历芯片 选择 常用时钟日历芯片比较 在电子时钟设计中,常用的实时时钟芯片有 DS1288 DS121 DS164 DS1302。 每种芯片的主要时钟功能基本相同,只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同。 DS12887 与 DS1216 芯片都有内嵌式锂电池作为备用电池; X1203 引脚少,没有嵌入式锂电池,跟 DS1302 芯片功能相似,只是相比较之下, X1203与 AT89C52 搭配使用时 占用 I/O 口 较多。 DS1643 为 带有全功能实时时钟的 8K 8 非易失性 SRAM,集成了非易失性 SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源, BCD 码表示的年、月、日、星期、时、分、秒,带闰年补偿。 同样, DS1643 拥有28 只管脚,硬件连接起来 占用微处理器 I/O 口较多,不 方便 系统功能拓展和维护。 故而从性价比 和 货源上考虑,本设计采用实时时钟日历芯片 DS1302。 DS1302 简介 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟 日历 芯片,附加 31 字节静态 RAM,采用 SPI 三 总 线接口与 CPU 进行同步通 信,并可采用突发方式一次传送多个字节的时钟信号和 RAM 数据。 实时时钟可提供秒、分、时、日、星期、月和年,一个月 小于 31 天时可以自动调整,且具有闰年补偿功能。 工作电压宽达 ~。 采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后 备 电源进行涓细电流充电的能力 , 并且可以关闭充电功能。 有主电源和备份电源双引脚,而且备份 电源 可由大容量电容(> 1F)来替代。 需要强调的是, DS1302 需要使用 的晶振。 内蒙古科技大学毕业设计 说明书(毕业 论文 ) DS1302 引脚说明 DS1302 引脚图参照图。 VCC1 为后备电源, VCC2 为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 VCC1 或 VCC2 两者中的较大者供电。 当VCC2 大于 VCC1+ 时, VCC2 给 DS1302 供电。 当 VCC2 小于 VCC1 时, DS1302由 VCC1 供电。 X X2 为振荡源,外接 晶振。 RST 是复位 /片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能 : (1) RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器。 (2) RST 提供了终止单字节或多字节数据的 传送手段。 当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。 如果在传送过程中置 RST 为低电平,则会终止此次数据传送,并且 I/O 引脚变为高阻态。 上电运行时,在 VCC≥ 之前, RST 必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端 (双向 ),下文有详细说明。 SCLK 为时钟输入端。 1 2 3 4 5 6ABCD654321DCBAT i t leN u m be r R e v i s i onS i z eBD a t e : 9 Jun 20 08 S he e t o f F i l e : C : \ D o c um e nt s a n d S e tt i ng s \ A d m i ni st r a t or \桌面 \常亮毕业设计 \电路图 \多功能电子时钟毕业设计电路图 .ddbD r a w n B y :V C C 11X12X23G N D4V C C 2 8S C L K 7I / O 6R S T 5D S 13 02 图 DS1302 芯片引脚图 其引脚功能参照表。 内蒙古科技大学毕业设计 说明书(毕业 论文 ) 表 DS1302 引脚功能说明 引脚号 名称 功能 1 VCC1 备份电源输入 2 X1 晶振输入 3 X2 晶振输出 4 GND 地 5 RST 控制移位寄存器 /复位 6 I/O 数据输入 /输出 7 SCLK 串行时钟 8 VCC2 主电源输入 DS1302 的控制字和读写时序说明 在编程过程中要注意 DS1302 的读写时序。 DS1302 是 SPI 总线驱动方式。 它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。 要想与 DS1302 通信,首先要先了解 DS1302 的控制字。 DS1302 的控制字如 表。 表 DS1302 控制 字(即地址及命令字节) BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 1 RAM A4 A3 A2 A1 A0 RD CK WR 控制字的作用是设定 DS1302 的工作方式、传送字节数等。 每次数据的传输都是由控制字开始。 控制字各位的含义和作用如下: 1. BIT7: 控制字的最高有效位 , 必须是逻辑 1,如果它为 0,则不能把数据写入到DS1302 中。 2. BIT 6:如果为 0,则表示存取日 历时钟数据,为 1 表示存取 RAM 数据; 内蒙古科技大学毕业设计 说明书(毕业 论文 ) 3. BIT 5 至 BIT 1( A4~ A0): 用 A4~ A0 表示,定义片内寄存器和 RAM 的地址。 定义如下: 当 BIT 6 位 =0 时,定义时钟和其他寄存器的地址。 A4~ A0=0~ 6,顺序为秒、分、时、日、月、星期、年的寄存器。 当 A4~ A0=7,为芯片写保护寄存器地址。 当 A4~ A0=8,为慢速充电参数选择寄存器。 当 A4~ A0=31,为时钟多字节方式选择寄存器。 当 BIT 6=1 时,定义 RAM 的地址, A4~ A0=0~ 30,对应各子地址的 RAM,地址31 对应的是 RAM 多字节方式选择寄存器。 4. BIT 0(最低有效位):如为 0,表示要进行写操作,为 1 表示进行读操作。 控制字总是从最低位开始输出。 在控制字指令输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从最低位( 0 位)开始。 同样,在紧跟 8 位的控制字指令后的下一个 SCLK 脉冲的下降沿,读出 DS1302 的数据,读出的数据也是从最低位到最高位。 图 DS1302 数据读写时序 DS1302 的数据读写方式有两种,一种是单字节操作方式,一种是多字节操作方式。 每次仅写入或读出一个字节数据称为单字节操作,每次对时钟 /日历的 8 字节或 31 字节RAM 进行全体写入或读出的操作,称其为多字节操作方式。 当以多字节方式写时钟寄内蒙古科技大学毕业设计 说明书(毕业 论文 ) 存器时,必须按数据传送的次序依次写入 8 个寄存器。 但是,当以多字节方式写 RAM时,不必写所有 31字节。 不管是否写了全部 31字节,所写的每一个字节都将传送至 RAM。 为了启动数据的传输, CE 引脚 信号应由低变高,当把 CE 驱动至逻辑 1 的状态时,SCLK 必须为逻辑 0,数据在 SCLK 的上升沿串行输入。 无论是读周期还是写周期,也无论送方式是单字节传送还是多字节传送,都要通过控制字 指定 40 字节中的哪个将被访问。 在开始 8 个时钟周期把命令字(具有地址和控制信息的 8 位数据)装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据,所有的数据在时钟的下降沿变化。 所有写入或读出操作都是先向芯片发送一个命令字节。 对于单字节操作,包括命令字节在内,每次为 2 个字节,需要 16 个时钟;对于时钟 /日历多字节模式操作,每 次为 7 个字节,需要 72 个时钟;而对于 RAM 多字节模式操作,每次则为 32 字节,需要多达 256 个时钟。 这里仅给出单字节读写时序,如图。 多字节操作方式与其类似,只是后面跟的字节数不止一个。 DS1302 的片内寄存器 通过控制字对 DS1302 片内寄存器进行寻址之后,即可就所选中寄存器的各位进行操作。 片内各寄存器及各位的功能定义如表。 内蒙古科技大学毕业设计 说明书(毕业 论文 ) 表 DS1302 有关 日历、时间 的 寄存器 读寄存器 写寄存器 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 范围 81H 80H CH 10 秒 秒 0059 83H 82H 10 分 分 0059 85H 84H 24/12 0 10 时 时 112 023 AM/PM 87H 86H 0 0 10 日 日 131 89H 88H 0 0 10 月 月 112 8BH 8AH 0 0 0 0 0 周日 17 8DH 8CH 10 年 年 0099 8FH 8EH WP 0 0 0 0 0 0 0 — DS1302 有关日历、时 间的寄存器共有 10 个, 时钟 /日历包含在 其中 的 7 个写 /读寄存器内,这 7 个寄存器分别是秒、分、小时、日、月、星期和年。 小时寄存器( 85H、 84H)的位 7 用于定义 DS1302 是运行于 12 小时模式还是 24 小时模式。 当为 12 小时 制式 时,位 5 为“ 0”表示 AM;为“ 1”表示 PM。 在 24 小时 制式下 ,位 5 是第二个 10 小时位 ( 20~ 23 时)。 秒寄存器( 81H、 80H)的位 7 定义为时钟暂停标志( CH)。 当该位置为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位置为 0 时,时钟开始运行。 一般在设置时钟时,可以停止其工 作,设定完之后,再启动其工作。 控制寄存器( 8FH、 8EH)的位 7 是写保护位( WP),其它 7 位均置为 0。 在任何 片内 时钟 /日历寄存器 和 RAM,在 写操作之前, WP 位必须为 0,否则将不可写入。 当 WP位为 1 时,写保护位防止对任一寄存器的写操作。 因此,通过置写保护位,可以提高数内蒙古科技大学毕业设计 说明书(毕业 论文 ) 据的安全性。 另外,还有慢速充电控制寄存器和 RAM 寄存器。 如表。 表 充电控制寄存器和 RAM 寄存器 各位定义 慢速充电寄存器控制着 DS1302 的慢速充电特性。 寄存器的 BIT4~ BIT7( TCS)决定是否具备充电性能:仅在编码为 1010 的条件下才具备充电性能,其他编码组合不允许充电。 BIT2 和 BIT3 选择在 VCC2 和 VCC1 之间是一个还是两个二极管串入其中。 如果编码DS 是 01,选择一个二极管;如果编码是 10,选择两个二极管;其他编码将不允许充电。 该寄存器的 BIT0 和 BIT1 用于选择与二极管相串联的电阻值。 其中编码 RS=01 为 2 KΩ,RS=10 为 4 KΩ, RS=11 为 8 KΩ,而 RS=00 将不允许进行充电。 因此,根据慢速充电寄存器的不同编码可得到不同的充电电流。 其具体计算如公式 : I充 电 0DE=(V V V )/R 式 ( ) 式中: V0—— 所接入的 工作电压; VD—— 二极管压降,一个按 计算; R—— 慢速充电控制寄存器 0 和 1 位编码决定的电阻值; VE—— VCC1 脚所接入的电池电压。 RAM 寄存 器寻址空间一次排列的 31 字节静态 RAM 可为用户使用,备用电源位RAM 提供了掉电保护功能。 寄存器和 RAM 的操作通过命令字节的 BIT6 加以区别。 当BIT6 为“ 0”时对 RAM 区进行寻址;否则将对时钟 /日历寄存器寻址 [11]。 其操作方法与前述相同。 具体驱动程序 参 见 附录 A。 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 充电控制寄存器。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。