毕业设计基于单片机定时控制器的研制

上传人:仙*** 文档编号:30724774 上传时间:2021-10-11 格式:DOC 页数:58 大小:4.14MB
返回 下载 相关 举报
毕业设计基于单片机定时控制器的研制_第1页
第1页 / 共58页
毕业设计基于单片机定时控制器的研制_第2页
第2页 / 共58页
毕业设计基于单片机定时控制器的研制_第3页
第3页 / 共58页
点击查看更多>>
资源描述
论文题目:基于单片机定时控制器的研制论文题目:基于单片机定时控制器的研制摘 要随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。作为单片机技术应用之一的定时控制器,在日常生活,工业场合甚至军事领域都有应用。本文主要介绍了单片机定时控制器的硬件设计过程。单片机作为主控器件,是整个系统的核心,它起到主要的控制作用;时钟芯片为系统提供一个数字钟,定时功能的实现也要依赖它;液晶模块为系统显示提供载体;按键部分采用独立式结构,主要用作调时和定时,也可用作功能选择;控制输出部分通过继电器的动作和发光二极管的亮灭,模拟机器的开和停。本文完成了对系统硬件电路制作、软件设计和调试过程的说明,系统最终实现分时段定时控制的功能。关键词:单片机,时钟芯片,液晶模块,定时控制 Subject:Development of Time Controller Based on Single Chip Microprocessor ABSTRACTAlong with the electronic technology rapid development, appears of the large scale integrated circuit specially, these have made a big change on peoples living. Products including the technology application of the single chip microprocessor sets already entered every family.As one application of the single chip microprocessor technology, the time controller has been applied in the daily life, the industry situation and military field.This article introduced mainly the design process of the time controller composed by the single chip microprocessor. As the main control component, the single chip microprocessor is the core of the device and it plays the main control action. The clock chip provides a digital clock for the device and helps to realize the function of the timing control. The liquid crystal display is the carrier for the device system demonstrating. The keys use free standing structure. They mainly use as the timing and fixed time and use also as function choice. The control output simulates machines opening and stops by relays movement and the light emitter diode. This article has showed the process of the hardware manufacture, the software design and debugging. The function of the time controller is realized finally. KEY WORDS: single chip microprocessor, the clock chip, the liquid crystal display, timing controllerI目目 录录第第 1 章章 绪绪 论论.11.1 课题开发背景.11.2 设计要求.1第第 2 章章 单片机及液晶显示模块单片机及液晶显示模块.32.1 单片机 STC89C58RD+结构.32.1.1 引脚定义及功能.32.1.2 复位电路.62.2 液晶 12232 模块.72.2.1 引脚定义及功能说明.72.2.2 指令描述.82.2.3 LCD12232 的写规则.112.2.4 LCD12232 与单片机接口.11第第 3 章章 硬件设计硬件设计.133.1 芯片及硬件模块.133.1.1 时钟芯片模块 DS1302 .133.1.2 液晶外部时钟模块.213.1.3 键盘接口电路.233.2 系统设计思路.243.3 硬件框图.253.4 系统功能说明.263.5 系统硬件设计电路图.27第第 4 章章 软件设计软件设计.294.1 软件设计的原则.294.2 系统功能模块图.294.3 程序流程图.30第第 5 章章 制作与调试制作与调试.345.1 硬件焊接.345.2 硬件调试.355.2.1 焊接调试.355.2.2 故障调试.355.2.3 功能调试.365.3 “伟福”调试软件.365.3.1 “伟福”的特点.365.3.2 “伟福”仿真软件的使用.365.3.3 “伟福”集成调试软件的界面.37II5.4 综合调试.435.4.1 联机调试.435.4.2 脱机调试.44结束语结束语.46附录附录 硬件实硬件实物物图图.47致致 谢谢.48参考文献参考文献.491第 1 章 绪 论1.1 课题开发背景人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。 1876 年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门1。起初每周上一次发条,1918 年使用电钟计时后,就不用上发条了。 定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。现在的不少家用电器都安装了定时器来控制开关或工作时间2。 目前单片机渗透到日常生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上的各种仪表控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。鉴于单片机有如此广泛的应用领域,基于单片机的定时控制器就可以运用到日常生活的各个方面,如上下班铃声的控制、机器的开停机时间控制等等。为了能够巩固以前所学习的单片机原理的有关知识,并将其应用到实践中,培养动手能力和解决实际问题的能力,因此选择了基于单片机的定时控制器的设计课题。1.2 设计要求(1)了解 LCD 图形显示器的工作原理及硬件结构; (2)熟悉时钟芯片的工作原理及接口技术;(3)熟悉 8031 单片机的工作原理及接口技术;(4)自行设计(软、硬件) 、制作和调试;(5)实现汉字、字母的 LCD 显示;(6)画出硬件设计图和软件流程图;(7)根据软硬件设计完成硬件制作和软件调试;2(8)实现每天 4 时段的定时控制,通过软件可以任意设置每个时间段的起始与结束时间。3第 2 章 单片机及液晶显示模块单片机是系统设计的主控模块,液晶是系统显示的载体。本章将介绍单片机STC89C58RD+的原理及液晶 12232 模块。2.1 单片机 STC89C58RD+结构STC89C58RD+是宏晶公司生产的低电压、加密性强、高性能 CMOS8 位单片机。主要性能特点有3:1)增强型 6 时钟/机器周期,12 时钟/机器周期 8051 CPU;2)工作电压:5.5V3.8 V;3)工作频率范围:040MHz,相当于普通 8051 的 080MHz,实际工作频率可达48MHz; 4)用户可用程序空间 32K;5)片上集成 1280 字节 RAM;6)通用 I/O 口(32)个,复位后:P1/P2/P3/P4 是准双向口/弱上拉(普通 8051 传统 I/O 口) ,P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻;7)EEPROM 功能,看门狗功能;8)外部中断 4 路,下降沿中断或低电平触发中断;9)共 3 个 16 位定时器计数器,其中定时器 0 可当成 2 个 8 位定时器使用;空闲方式停止 CPU 的工作,但允许 RAM、定时/计数器、串行通信口及中断系统继续工作;掉电方式保存 RAM 中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。2.1.1 引脚定义及功能STC89C58RD+封装形式和引脚排列如图 2-1 所示。4图 2-1 STC89C58RD+引脚图图 2-1 中,各引脚功能如下:VCC:电源GND:地P0 口:P0 口是一组 8 位漏极开路的双向 I/O 口,是地址数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接受指令字节,而在程序校验时输出指令字节,校验时要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,它的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。此外,P1.0 和 P1.1 分别作为定时器/计数器 2 的外部计数输入(P1.0/T2)和定时器/计数器 2 的触发输入(P1.1/T2EX) ,具体如表 2-1 所示。Flash 编程和程序校验期间,P1 接收低 8 位地址。5表表 2-1 P1 口第二功能口第二功能引脚号功能特性P1.0T2(定时/计数器 2 外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数器 2 捕获/重装载触发和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2 口:P2 是一个带内部上拉电阻的 8 位双向 I/O 口,的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX DPTR,A)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVX R1,A)时,P2 口线上的内容(特殊功能寄存器 SFR 区中 R2 寄存器的内容) ,在整个访问期间不改变。Flash 编程和程序校验期间,P2 亦接受高位地址和其他控制信号。P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。它的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,他们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流。P3 口除了作为一般的 I/O 口线,更重要的是它的第二功能,如表 2-2 所示。表表 2-2 P3 口的第二功能口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断 0)P3.3INT1(外中断 1)P3.4T0(定时/计数器 0)P3.5T1(定时/计数器 1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通):复位输入。晶振工作时,脚持续 2 个机器周期高电平将使单片机复位。RSTRST6看门狗计时完成后,脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址RST8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节,即使不访问外部存储器,ALE 仍以时钟震荡频率的 1/6 输出固定的正脉冲信号,因此它可对外输出始终或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元中的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和MOVC 指令 ALE 才会被激活。单片机执行外部程序时,应设置 ALE 无效。PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C58RD+由外部程序存储器取指令或数据时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的 PSEN 信号不出现。EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH)EA 端必须保持低电平(接地) 。需注意的是如果加密位 LB1 被编程,复位时内部会锁存 EA 状态。如 EA 为高电平,CPU 则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上编程允许电源 VPP。XTAL1:震荡器反向放大器及内部时钟发生器的输入端。XTAL2:震荡器反向放大器的输出端。2.1.2 复位电路复位电路如图 2-2 所示4。7K200R11KR222uFCVCC图 2-2 复位电路单片机的外部复位电路有上电自动复位和按键手动复位两种,本设计采用的是按键手动复位。按复位键后,复位端通过电阻与 VCC 电源接通。复位电路关系到一个系统能否可靠地工作,由阻容元件以及门电路组成的复位电路在多数情况下均能良好工作,但是阻容复位电路的复位触发门限较难在设计时确定,这与电阻、电容的精度,电源的精度有关,而且受温度的影响较大。所以,如果发现设计的复位电路不起作用时,可以适当调整一下电阻、电容的大小,使复位高电平能够持续 2 个机器周期。2.2 液晶 12232 模块显示部分采用点阵式液晶 LCD12232-2,可以显示汉字和阿拉伯数字。(1)该液晶的基本特性如下5:具有低功耗、供应电压范围宽等特点;具有 16common 和 61segment 输出,并可外接驱动来扩展驱动;具有 2560 位显示 RAM,即 8084 位;具有与 68 系列或 80 系列相适配的 MPU 接口,并有专用的指令集,可以完成文本显示或功能显示的功能设置。(2)工作参数逻辑工作电压:2.6-6.0VLCD 的驱动电压:3.0-13.5V工作温度:0-55(常温)/-20- 70(宽温)保存温度:-10-702.2.1 引脚定义及功能说明8VDD:逻辑电源正VSS:逻辑电源地V0:LCD 驱动电源A0: 数据指令选择。高电平:表示出现在数据总线上的是数据;低电平:表示出现在数据总线上的是指令或读书的状态。CS1/CS2:读写使能,对于 68 系列的 MPU,高电平有效;对于 80 系列的 MPU,低电平有效。CL: 外振时钟RD: 读允许,低电平有效WR: 写允许,高电平有效D0-D7: 数据输入输出引脚RES: 复位端,68 系列的 MPU,上升沿复位;80 系列的 MPU,下降沿复位LED+/LED- : 背光正极电源,背光负极电源12232 引脚如图 2-3 所示。VSS1VDD2VLCD3CL7RD8WR9RET18VLED+19VLED-20DB010DB111DB212DB313DB414DB515DB616DB717A04CS15CS26U?12232-2图 2-3 液晶 12232 引脚图2.2.2 指令描述1)显示模式设置A0RDWRDB7DB6DB5DB4DB3DB2DB1DB00101010111D功能:开关屏幕显示,不改变显示 RAM 中的内容,也不影响内部状态。D=1,开显示;D=0,关显示。如果在显示关闭的状态下,选择静态驱动模式,那么内部电路将处于安全模式。92)设置显示起始行A0RDWRDB7DB6DB5DB4DB3DB2DB1DB0010110A4A3A2A1A0功能:执行该命令后,所设置的行将显示在屏幕的第一行。起始行可以是 0-31 范围内的任意一行。行地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。3)页地址设置A0RDWRD7D6D5D4D3D2D1D0010101110A1A0功能:设置页地址。当 MPU 要对 DD RAM 进行读写操作时,首先要设置列地址和页地址。 A1 A0页地址 0 0 0 0 1 1 1 0 2 1 1 34)列地址设置A0RDWRD7D6D5D4D3D2D1D00100A6A5A4A3A2A1A0当 MPU 要对 DD RAM 进行读写操作前,首先要设置页地址和列地址。执行读写命令后,列地址会自动加 1,直到达到 50H 才会停止,但页地址不变。A6A5A4A3A2A1A0列地址 0 0 1 0 1 1 1 04E10 1 0 1 1 1 14F5)读状态指令A0RDWRD7D6D5D4D3D2D1D0001BUSYADCON/OFRESET0000功能:检测内部状态BUSY 为忙信号,BUSY=1:内部正在执行操作;BUSY=0:空闲状态。ADC:为显示方向,ADC=0:反向显示;ADC=1:正向显示ON/OF:显示开关状态,ON/OF=0:显示打开;ON/OF=1:显示关闭。RESET:复位状态,RESET=0,正常;RESET=1:内部处于复位初始化状态。6)写显示数据A0RDWRD7D6D5D4D3D2D1D0110Write Data将 8 位数据写入 DD RAM ,执行该指令后,列地址自动加 1,所以可以连续将数据写入 DD RAM 而不用重新设置列地址。7)读显示数据A0RDWRD7D6D5D4D3D2D1D0101Read Data功能:读出页地址和列地址限定的 DD RAM 中的数据。当“读-修-改-写”模式关闭时,每执行一次读指令,列地址自动加一,所以可以连续从 DD RAM 中读出数据而不用设置列地址。8)设置显示方向A0RDWRD7D6D5D4D3D2D1D00101010000D功能:该指令设置 DD RAM 中的列地址与段驱动输出的对应关系当 D=0 时,反向;D=1 时,正向。9)开关静态驱动模式设置A0RDWRD7D6D5D4D3D2D1D00101010010D功能:D=0 表示关闭静态显示,D=1 表示打开静态显示1110)占空比选择A0RDWRD7D6D5D4D3D2D1D00101010100D功能:D=0 表示 1/16DUTY,D=1 表示 1/32 DUTY11) “读-修-改-写”模式设置A0RDWRD7D6D5D4D3D2D1D001011100000功能:执行该指令后,每执行一次写数据指令,列地址自动加一;但执行读数据指令时列地址不会改变。这个状态一直持续到执行结束 END 指令。12)END 指令A0RDWRD7D6D5D4D3D2D1D001011101110功能:关闭“读-修-改-写”模式,并把列地址指针恢复到打开“读-修-改-写”模式前的位置。13)复位指令A0RDWRD7D6D5D4D3D2D1D001011100010功能:使模块内部初始化2.2.3 LCD12232 的写规则在液晶屏上横向 8 个点为一个字节数据,汉字在液晶屏上的显示为 1616(宽高),通过字模提取软件按照先左后右,先上后下的方式对汉字进行字模提取,可获得该字模对应的 32 个字节值;阿拉伯数字在液晶屏上的显示为 816(宽高) ,字模提取的方式与汉字相同,可获得该字模对应的 16 个字节值。一个 1616 的汉字的存放方式如下: 0 16 1 17 15 3212一个 816 的阿拉伯数字的存放方式如下: 0 1 15通过单片机将已提取的汉字的字模输入液晶控制器,即可按设定的液晶模块显示需要的汉字或数字。2.2.4 LCD12232 与单片机接口LCD12232 与单片机的接口电路如图 2-4 所示。EA/VPP31XTAL119XTAL218RST9P3.7(RD)17P3.6(WR)16P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P1.0(T2)1P1.1(T2EX)2P1.23P1.34P1.45P1.5(MOSI)6P1.6(MISO)7P1.7(SCK)8(AD0)P0.039(AD1)P0.138(AD2)P0.237(AD3)P0.336(AD4)P0.435(AD5)P0.534(AD6)P0.633(AD7)P0.732(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30(TXD)P3.111(RXD)P3.010GND20VCC40STC89C58RD+VSS1VDD2VLCD3CL7RD8WR9RET18VLED+19VLED-20DB010DB111DB212DB313DB414DB515DB616DB717A04CS15CS2612232-2VCC10KR60.5KR7P3.7P3.6P0.5P0.6P0.34.7KR17VCC1A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC1474HC14C6R18VCCVCCP0.4图 2-4 液晶 12232 与单片机接口电路在图 2-4 中,DB0DB7 作为数据口,与单片机的 P1 口相连;液晶 12232 的RD、WR 端分别接到单片机的 P3.7、P3.6 端口上,由单片机的这两个端口提供液晶的读写信号;液晶的外部晶振由 74HC14 与 R、C 组成的振荡电路提供,具体的内容将在下一章做介绍;液晶的两个读写使能端口 CS1、CS2,与单片机的 P0.5、P0.6 相连,这样可以在程序中对液晶的忙、闲状态进行判别以及控制液晶的读写;RES 端接到P0.4 上,这样在程序中可以灵活的选择液晶的时序。13第 3 章 硬件设计硬件电路是一个单片机系统的躯壳,没有了躯壳,系统会是一个完全瘫痪的系统。本章会向读者讲述整个系统硬件的设计思路和方法,另外还会向大家介绍时钟模块、液晶的外部时钟产生电路等硬件电路。3.1 芯片及硬件模块3.1.1 时钟芯片模块 DS1302美国 DALLAS 公司的 DS1302 是一种高性能、低功耗、带 RAM 的实时时钟芯片,它采用 SPI 串行总线接口与单片机连接6。SPI 是由 MOTOROLA 公司提出的一种同步串行外围接口,采用 3 根或 4 根信号线进行数据传输,所需要的信号包括使能信号、同步时钟、同步数据(输入和输出) 。采用 SPI 接口可以方便地与许多厂家的各种标准外围器件直接连接。采用 SPI 总线可以简化系统结构,降低系统成本,使系统具有灵活的可扩展性。SPI 串行总线有如下一些主要特点:全双工,三线同步传输。主机或从机操作。1.05Mbit/s 的最大主机数据传输速率。4 种可编程主机数据传输速率。可编程串行时钟极性与相位。发送结束中断标志。定开发冲突保护。14总线竞争保护。SPI 从设备一般使用 1 根数据线(I/O)和 2 根控制线(、SCLK) 。其中,数RST据线不仅用于从设备向系统主机返回数据,还可以用作多个从设备之间的级联,当前从设备的 I/O 输出端可以连接到下一级设备的 I/O 输入端。SPI 串行接口设备既可以工作在主设备模式下,也可以工作在从设备模式下。系统主设备为 SPI 总线通信过程提供同步时钟信号,并决定从设备片选信号的状态,使能将要进行通信的设备。SPI 从器件则从系统主设备获取时钟及片选信号,因此从器件的控制信号、SCLK 都是输入信号。RST在系统主机与 SPI 从设备之间进行通信时,不论是命令还是数据都以串行方式传送,串行传送的数据被泵入到一个移位寄存器,并转换为并行数据格式。须指出的是,移位寄存器的位数并不是固定的,它根据不同的设备而各不相同。大多数设备的移位寄存器是 8 位或 8 位的整数倍。如果一个 SPI 从设备没有被选中,它的数据输出端将处于高阻状态,从而与当前处于激活状态的器件隔离。当多个 SPI 从设备级联使用时,将它们的使能端连接到同一个片选信号上,当作一个从设备来处理。级联的 SPI 从设备被看作是一个大的设备并使用相同的片选信号,从设备的数据输出端分别被连接到下一个从设备的数据输入端,并将最后一个从设备的数据输出端连接到系统主机的数据输入端。当系统中所有的 SPI 从设备都需要独立地连接到系统主机时,所有的从设备仍然使用相同的时钟信号 SCLK,并将所有 SPI 从设备的数据输入引脚连接到系统主机的数据输出引脚,从设备的数据输出引脚连接到主机的数据输入引脚,但每个 SPI 从设备采用相互独立的片选信号来控制芯片使能端,这样系统主机可以通过片选信号来选通其中一个从设备进行读写操作访问,而未被选中的其它所有器件处于高阻隔离状态。在 SPI 串行总线通信过程中,用来控制外围设备的选通(低电平有效) ,未选RST通器件的数据输出端信号线将处于高阻状态。SCLK 则用来为数据通信提供同步时钟,不论 SPI 从设备是否处于选通状态,系统主设备都会为所有 SPI 从设备提供 SCLK 信号。SPI 串行数据通信接口可以配置为 4 种不同的工作模式,它们如表 3-1 所示。表表 3-1 SPI 串行通信接口模式串行通信接口模式SPI 模式CPOLCPHA0001511210311CPHA 用来表示同步时钟信号的相位,CPOL 用来表示同步时钟信号的极性。当同步时钟信号的相位为 0、极性也为 0 时,通信过程中的数据位在同步信号的上升沿锁存;当相位为 0,极性为 1 时,数据位在同步时钟信号的下降沿锁存。在同步时钟信号相位为 1 的情况下,同步时钟信号的相位会翻转 180。采用 DS1302 作为主要计时芯片,可做到计时准确。更重要的是,DS1302 可以在很小电流的后备电源(2.55.5V 电源,在 2.5V 时功耗小于 300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。它具有以下性能特性:1)实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;2)用于高速数据暂存的 31x8 位 RAM;3)最少引脚的串行 I/O;4)2.55.5V 电压工作范围;5)用于时钟或 RAM 数据读/写的单字节或多字节(脉冲方式)数据传输方式;6)简单的 3 线接口;7)可选的慢速充电(至 Vcc1)的能力。DS1302 与单片机之间能简单地采用 SPI 同步串行的方式进行通信,仅需用到 3 根信号线:(复位) 、I/O(数据线) 、SCLK(同步串行时钟) 。单片机通过串行口实RST现对 DS1302 的控制和从 DS1302 中读取时钟信息。时钟/RAM 的读/写数据以一个字节或多达 31 个字节的字符组方式通信。DS1302 时钟芯片包括实时时钟/日历和 31B 的静态 RAM,实时时钟/日历提供秒、分、时、日、周、月、年等信息,对于小于 31 天的月和月末的日期自动进行调整,还包括闰年校正功能。时钟的运行可以采用 24h 或带 AM(上午)/PM(下午)的 12h 格式。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 是由 DS1202 改进来的,增加了双电源管脚用于主电源和备份电源供电,其中 VCC1 为可编程涓流充电电源:Vcc1 在单电源与电池供电的系统中提供低电源及16低功率的电池备份;Vcc2 在双电源系统中提供主电源,在这种运行方式中,Vcc1 连接到备份电,以便在没有主电源的情况下能保存时间信息以及数据。DS1302 由 Vcc1 或Vcc2 中较大者供电,当 Vcc2 大于 Vcc1+0.2V 时,Vcc2 给 DS1302 供电;当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。DS1302 有 3 种不同的引脚封装形式,它们分别是双列直插的 DIP8 和表面贴装的SOIC8(150mil) 、SOIC8(200 mil) ,与这 3 种封装相对应的芯片型号分别是DS1302、DS1302Z 和 DS1302S。DS1302 引脚如图 3-1 所示。图 3-1 DS1302 引脚图X1、X2:32.768KHz 晶振引脚。GND:信号地。 :复位引脚。RSTI/O:数据输入输出引脚。SCLK:同步串行时钟输入引脚。VCC2:主电源。 VCC2:备份电源。1DS1302 的内部结构及工作原理:DS1302 串行时钟芯片由电源、移位寄存器、命令控制逻辑、震荡器、实时时钟及 RAM 组成。输入移位寄存器模块用于完成串行数据的输入输出,数据在同步串行时钟 SCLK的上升沿串行输入。无论是读周期还是写周期,也无论是单字节传送方式还是多字节传送方式,数据传送开始的 8 个数据位用于指定 DS1302 中哪个字节被访问。在开始的8 个时钟周期将命令字节装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据。输入移位寄存器模块的所有串行数据输入/输出都必须通过把驱动至高电平状RST态来启动。复位引脚输入与控制逻辑相连,用于允许或禁止地址/命令序列送入移RST位寄存器;同时,还提供了中止单字节或多字节数据传输的手段,如输入为RSTRST低电平,那麽所有的数据传输将被中止并且 I/O 引脚变为高阻态。在 DS1302 的上电过17程中,当 VCC2.5V 之前,必须为逻辑 0。RST在 DS1302 内部共包含 40 个数据节,其中 7 个时钟/日历字节,1 个时钟写保护控制字节,1 个涓流充电控制字节和 31 个 RAM 字节。在对这些字节进行读写访问时,由命令字节中的数据位 A0A5 控制。2DS1302 的控制字如表 3-2 所示。控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入到DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。表表 3-2 控制字节的含义控制字节的含义7 6 5 4 3 2 1 01RAM/CKA4A3A2A1A0RAM/CK3. 复位通过把输入驱动置高电平来启动所有的数据传送。输入有两种功能:首RSTRST先, 接通控制逻辑,允许地址命令序列送入移位寄存器;其次, 提供了终止单RSTRST字节或多字节数据的传送手段。当为高电平时,所有的数据传送被初始化,允许对RSTDS1302 进行操作。如果在传送过程中置为低电平,则会终止此次数据传送,并且 I/ORST引脚变为高阻态。上电运行时,在 Vcc2.5V 之前, 必须保持低电平。只有在 SCLKRST为低电平时,才能将置为高电平。RST4. 数据输入输出在单片机对 DS1302 进行数据读写操作时,所有的读写操作都必须由命令字节来初始化。命令字节的 D7 必须为逻辑 1,如果它为 0,将禁止 DS1302;D6 为逻辑 0 时指定访问时钟/日历数据;为逻辑 1 时指定访问 RAM 数据;D5-D1 指定进行输入或输出的特殊寄存器单元地址;D0 为逻辑 0 时指定进行写操作,为逻辑 1 时指定进行读操作。外部处理器向 DS1302 写数据时,在写命令字节 8 个 SCLK 周期之后,DS1302 会在下 8 个 SCLK 周期的上升沿输入数据字节,如果有更多的 SCLK 周期,它们将会被忽略。外部芯片从 DS1302 读数据时,跟随在读命令字节 8 个 SCLK 周期之后 DS1302会在下 8 个 SCLK 周期的下降沿输出数据。需要注意的是:从 DS1302 输出的第一个18数据位发生在命令字节最后一位后的第一个下降沿处,而且在读操作过程中只要保持为高电平状态,如果有额外的 SCLK 时钟周期,DS1302 将重新发送数据字节,这RST一操作特性使得 DS1302 具有多字节连续读取能力。除了采用单字节方式进行数据读写外,也可以采用突发方式多字节连续读写。通过对地址 31 寻址(命令位的 D1-D5 均为逻辑 1) ,可以把时钟/日历或 RAM 寄存器规定为多字节方式。在多字节方式中读或写从地址 0 的位 0 开始,当以多字节方式写时钟寄存器时,必须按照数据传送的次序写最先的 8 个寄存器。但以多字节方式写 RAM时,不必写所有的 31 个字节,不管是否写齐了 31 个字节,所写的每一个字节都会被传送到 RAM。在控制指令字输入后的下一个 SCLK 时钟的上升沿时数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位至高位 7,数据读写时序如图 3-2 所示。图 3-2 数据读写时序5. DS1302 的寄存器DS1302 共有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。其日历、时间寄存器及其控制字见表 3-3。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存19器内容。DS1302 与 RAM 相关的寄存器分为两类,一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写) 、FFH(读) 。表表 3-3 DS1302 的日历的日历时钟寄存器及其控制字时钟寄存器及其控制字命令字各位内容寄存器名写操作读操作取值范围76543210秒寄存器80H81H00-59CH10SEC SEC分寄存器82H83H00-59010MIN MIN时寄存器84H85H01-12 或00-2312/24010APHR HR日寄存器86H87H01-28,2930,310010DATEDATE月寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年寄存器8CH8DH00-9910 YEAR YEAR秒寄存器的 D7 定义为时钟暂停位,当此位设置为逻辑 1 时时钟振荡器停止使DS1302 进行低功率倍份方式,其消耗电流小于 100nA;当此位设置为逻辑 0 时,时钟将被启动。小时寄存器的 D7 定义为 12 或 24 小时方式选择位,当它为高电平时,选择 12 小时方式;当它设置为低电平时表示选择 24 小时方式。在 12 小时方式下,小时寄存器的 D5 用于 AM/PM 指示,D5 为逻辑高电平表示 PM,在 24 小时方式下,D5 则是第二个小时位。写保护寄存器的 D7 是写保护位,其余低 7 位置为 0。在对时钟或内部 RAM 单元进行写操作前 D7 必须为 0,当 D7 处于高电平状态时,写保护位防止对其它寄存器进20行写操作。涓流充电寄存器用于控制 DS1302 的涓流充电特性。其中,涓流充电选择(TCS)位 D7-D4 控制涓流充电器的选择,只有当 D7-D4 处于 1010 模式时才能使涓流充电器工作,其它所有的模式都将禁止涓流充电。涓流充电二极管选择(DS)位 D3-D2 用于选择连接在 VCC2 和 VCC1 之间的二极管数目,当 DS 为 01 时选择一个二极管,如果为 10 则选择 2 个二极管,DS 为 00 或 11 时涓流充电器被禁止,与 TCS 无关。涓流充电电阻选择(RS)位 D1-D0 用于选择连接在 VCC2 和 VCC1 之间的电阻,RS 为 00 时无电阻连接,RS 为 01 时电阻值为 2K,RS 为 10 时为 4K,RS 为 11 时电阻值为 8K。如果 RS 设定为无电阻的 00,那么涓流充电器将被禁止,与 TCS 无关。涓流充电器的二极管和电阻的选择由用户根据电池或超容量电容充电所需的最大电流决定。假定 5.0 系统电源加到 VCC2,而超容量电容接至 VCC1,并编程设置 VCC2和 VCC1 之间连接一个二极管和一个 2K 的电阻,可得到最大电流为:Imax=(5.0V-0.7V)/2K=2.2mA时钟/日历和控制寄存器的最后一个单元是时钟/日历突发多字节方式控制字。当时钟/日历字节在多字节方式下工作时,最先的 8 个时钟/日历寄存器可以从地址为 0 的第0 位开始连续地读或写。在指定突发方式多字节连续写时钟/日历寄存器时,如果写保护位设置为高电平,那么没有数据会传送到 8 个时钟/日历寄存器中的任一个。DS1302 与单片机的接口如图 3-3 所示。21EA/VPP31XTAL119XTAL218RST9P3.7(RD)17P3.6(WR)16P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P1.0(T2)1P1.1(T2EX)2P1.23P1.34P1.45P1.5(MOSI)6P1.6(MISO)7P1.7(SCK)8(AD0)P0.039(AD1)P0.138(AD2)P0.237(AD3)P0.336(AD4)P0.435(AD5)P0.534(AD6)P0.633(AD7)P0.732(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30(TXD)P3.111(RXD)P3.010GND20VCC40STC89C58RD+X12X23VCC21GND4RST5I/O6SCLK7VCC18DS13021232.768K15pFC115pFC2VCC3V4.7KR14.7KR24.7KR3VCC图 3-3 DS1302 与单片机接口电路在图 3-3 中,由于 DS1302 采用的是同步串行的工作方式,它与单片机的相接的端口只有三个:SCLK,I/O,相对应的接到单片机的 P0.2,P0.1,P0.0,单片机的RSTP0 口在用作 I/O 口的时候要接上拉电阻;X1 ,X2 端接的是 32.768KHz 的外部晶振;VCC2 作为主电源接到+5V 电源上,而 VCC1 是 DS1302 的后备电源,具有涓流充电的特性,接的是+3V 的电池。基于前述的内容,系统在设计时时钟模块选择了 DS1302。3.1.2 液晶外部时钟模块液晶 12232 要正常工作需要接入频率为 2kHz 的外部时钟信号,在本系统中,由74HC14 和电阻 R、电容 C 组成的振荡电路为 12232 提供时钟信号。74HC14 的引脚如图 3-4 所示。221A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC14U?74HC14图 3-4 74HC14 引脚图74HC14 为有施密特触发器的六反相器,其主要电特性的典型值如表 3-4 所示。表表 3-4 74HC14 电特性电特性型号VttPLHtPHLPD54/74140.8V15nS15nS15.3mW引出端符号 :1A6A 输入端 1Y6Y 输出端 逻辑图如图3-5所示。图3-5 74HC14逻辑图极限值:电源电压 . 7V 输入电压: 74HC14. 5.5V 23工作环境温度: 74HC14 070 存储温度 . -65150功能表如表 3-5 所示。表表 3-5 74HC14 功能表功能表InputOutputAYLHHL注:Y=A 推荐工作条件如表3-6所示。 表表3-6 74HC14工作条件工作条件最小额定最大电源电压 Vcc4.75V5V5.25V输入正向阀值电压VIT+1.5V1.7V2V输入负向阀值电压 VIT-0.6V0.9V1.1V滞后电压 Vt0.4V0.8V输出高电平电流 I OH-800A输出低电平电流 I OL16mA74HC14 应用在振荡电路中,如图 3-6 所示。24K1K2K3EA/VPP31XTAL119XTAL218RST9P3.7(RD)17P3.6(WR)16P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P1.0(T2)1P1.1(T2EX)2P1.23P1.34P1.45P1.5(MOSI)6P1.6(MISO)7P1.7(SCK)8(AD0)P0.039(AD1)P0.138(AD2)P0.237(AD3)P0.336(AD4)P0.435(AD5)P0.534(AD6)P0.633(AD7)P0.732(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30(TXD)P3.111(RXD)P3.010GND20VCC40STC89C58RD+1KR111KR121KR13VCC 图 3-6 施密特反相器应用电路该电路产生的时钟信号频率为:110.8fTRC具体电路图如图 3-7 所示。1A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC1474HC14VSS1VDD2VLCD3CL7RD8WR9RET18VLED+19VLED-20DB010DB111DB212DB313DB414DB515DB616DB717A04CS15CS2612232-2CRVCC图 3-7 液晶的外部时钟电路在图 3-7 中,R 阻值选择 6.3K,C 的电容选择 100F。3.1.3 键盘接口电路系统采用的是独立式键盘结构,这是出于对单片机的端口不够的考虑。为了保证按键在按下时相应的单片机端口为低电平,每个按键都通过上拉电阻接到了 VCC 上,具体的电路如图 3-8 所示7。25 图 3-8 键盘接口电路3.2 系统设计思路系统以 12232 液晶模块作为显示的载体,可以实现比较美观的显示界面。它在实现定时功能的基础上,可以实现数字钟走时的功能,能够进行时、分、秒以及汉字的显示。根据系统设计功能的要求,我们确定了系统的组成模块:单片机主控模块,时钟模块,液晶显示模块,键盘接口模块,控制输出模块。本系统软件采用 C 语言编写,增强了软件的可读性和可移植性,便于纠错和扩展;采用模块化的编程方法, 使软件设计的逻辑关系更加明确。基于系统的设计要求,硬件采用了时钟芯片 DS1302,单片机 STC89C58RD+从DS1302 中读取时、分、秒的数据信息,放入内部数据寄存器中,然后单片机执行显示程序,由数据口 P1 将 DS1302 的时、分、秒信息送入 LCD12232 进行显示,这是系统实现走时功能的硬件设计思路。系统的调时和定时功能在硬件上是通过按键 MOV,ADD,OK 实现的:系统在上电后进入初始化的显示界面,按下 ADD 键,进入功能选择界面;按下 MOV 键,选择要执行的功能;按下 OK 键,进入所选的功能。在本系统中,按键 MOV,ADD,OK 是一键多功能的,在进入要选定的功能界面后,例如时间调整界面,MOV 键是移动要调整的时间,ADD 键执行加 1 操作,按下 OK 键,退出到主界面。这些按键的功能定义是在软件中定义好的。26系统在设定的时间到时会有一个控制输出,在硬件上就是让接在 P2_2 口上的继电器动作,同时接在继电器两端的发光二极管亮或灭。由于继电器输出电路接的是 12V的电压,因此在与单片机连接的时候要做好隔离,光电耦合器 TLP521-1 便是起到这种作用的。继电器是由两个三极管驱动的。继电器输出模块用到了光耦 TLP521-1,单片机的端口不能直接驱动光耦,因此在单片机端口和光耦之间加了一个三极管 9013 用于光耦的驱动。光耦到继电器接入三极管 9013,目的是驱动继电器,使继电器在设定时间到时能够可靠动作。3.3 硬件框图根据设计要求所设计的定时控制器硬件框图如图 3-9 所示。STC89C58RD+主控模块DS1302时钟模块 键盘电路LCD 显示电路控制输出电路时钟产生电路图 3-9 系统硬件框图在图 3-9 中,单片机是整个系统的核心,其它的外围电路都是围绕单片机进行设计的:时钟模块为系统提供一个数字钟;键盘电路可以进行调时和定时以及功能的选择;控制输出电路提供设定时间到时的标志(发光二极管的亮和灭);LCD 让系统的显示成为现实。3.4 系统功能说明27系统在上电后,首先进入初始化画面,显示设计小组成员的姓名,过 5 秒后自动转入数字钟的显示画面。按下 ADD 键,系统进入功能选择界面:时间设置、开停机设置、取消设置、运行、返回。1)时间设置:按下 OK 键进入时间设置的界面(分两行:第一行,需要设置的时间;第二行, “确定”) ,按 MOV 键选择要调整的时、分、秒的数值,按 ADD 键进行+1操作,当时间调整好以后,按 MOV 键将选择条移动到第二行的“确定”,再按 OK 键返回到数字钟的界面。2)开停机设置:在功能选择界面选择“开停机设置”,按下 OK 键进入(分两行显示:第一行, “2.开停机设置”;第二行, “01 组 未设置”,此时选择条在第二行) ,按下OK 键开始对 01 组时间的设置:首先进入开机时间设置的界面,再次按下 OK 键,开始设置开机时间,按 MOV 选择要设定的时、分、秒的数字,按 ADD 键进行调整,设定好后按 OK 键和 MOV 键进入停机时间设置的界面,时间设定的操作相同,设定好以后按 OK 键和 MOV 键进入 02 组、03 组、04 组时间的设置。如果开机时间设定好以后,而停机时间未设置就返回,那么系统会提示“停机时间必须设置”;如果停机时间比开机时间早,系统会提示“停机必须晚于开机,重设停机”的字样。当四组时间设定好后,按 OK 键返回功能选择界面。3)取消设置:在功能选择界面下选择“取消设置”,按下 OK 键进入(分两行显示:第一行, “3 取消设置”;第二行, “01 组 已设置”,此时选择条在第二行) ,按 MOV 键选择要重设时间的那一组,选定后按 OK 键进行取消设置操作。假设我们要取消 01 组时间的设置,按下 OK 键以后,液晶屏会显示“01 组 未设置”。4)运行:当开停机时间设置好以后,进入“运行”的界面(分两行显示:第一行,显示当前的实时时间;第二行,显示开停机标志“开”或“停”以及“返回”字样,选择条在“返回”上) ,当设定的开机时间未到时,开停机标志显示的是“停”,设定的时段开机时间到时,开停机标志变为“开”,与此同时,控制输出部分继电器动作,发光二极管亮,而所设定的该时段停机时间到时,开停机标志又变为“停”,直到下一时段的开机时间到时才会变化,与此同时,发光二极管灭。按下 OK 键返回到功能选择界面。5)返回:在功能选择界面选择“返回”,系统会返回到
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!