毕业设计-基于单片机定时控制器的研制_第1页
毕业设计-基于单片机定时控制器的研制_第2页
毕业设计-基于单片机定时控制器的研制_第3页
毕业设计-基于单片机定时控制器的研制_第4页
毕业设计-基于单片机定时控制器的研制_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目基于单片机定时控制器的研制摘要随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。作为单片机技术应用之一的定时控制器,在日常生活,工业场合甚至军事领域都有应用。本文主要介绍了单片机定时控制器的硬件设计过程。单片机作为主控器件,是整个系统的核心,它起到主要的控制作用;时钟芯片为系统提供一个数字钟,定时功能的实现也要依赖它;液晶模块为系统显示提供载体;按键部分采用独立式结构,主要用作调时和定时,也可用作功能选择;控制输出部分通过继电器的动作和发光二极管的亮灭,模拟机器的开和停。本文完成了对系统硬件电路制作、软件设计和调试过程的说明,系统最终实现分时段定时控制的功能。关键词单片机,时钟芯片,液晶模块,定时控制SUBJECTDEVELOPMENTOFTIMECONTROLLERBASEDONSINGLECHIPMICROPROCESSORABSTRACTALONGWITHTHEELECTRONICTECHNOLOGYRAPIDDEVELOPMENT,APPEARSOFTHELARGESCALEINTEGRATEDCIRCUITSPECIALLY,THESEHAVEMADEABIGCHANGEONPEOPLESLIVINGPRODUCTSINCLUDINGTHETECHNOLOGYAPPLICATIONOFTHESINGLECHIPMICROPROCESSORSETSALREADYENTEREDEVERYFAMILYASONEAPPLICATIONOFTHESINGLECHIPMICROPROCESSORTECHNOLOGY,THETIMECONTROLLERHASBEENAPPLIEDINTHEDAILYLIFE,THEINDUSTRYSITUATIONANDMILITARYFIELDTHISARTICLEINTRODUCEDMAINLYTHEDESIGNPROCESSOFTHETIMECONTROLLERCOMPOSEDBYTHESINGLECHIPMICROPROCESSORASTHEMAINCONTROLCOMPONENT,THESINGLECHIPMICROPROCESSORISTHECOREOFTHEDEVICEANDITPLAYSTHEMAINCONTROLACTIONTHECLOCKCHIPPROVIDESADIGITALCLOCKFORTHEDEVICEANDHELPSTOREALIZETHEFUNCTIONOFTHETIMINGCONTROLTHELIQUIDCRYSTALDISPLAYISTHECARRIERFORTHEDEVICESYSTEMDEMONSTRATINGTHEKEYSUSEFREESTANDINGSTRUCTURETHEYMAINLYUSEASTHETIMINGANDFIXEDTIMEANDUSEALSOASFUNCTIONCHOICETHECONTROLOUTPUTSIMULATESMACHINESOPENINGANDSTOPSBYRELAYSMOVEMENTANDTHELIGHTEMITTERDIODETHISARTICLEHASSHOWEDTHEPROCESSOFTHEHARDWAREMANUFACTURE,THESOFTWAREDESIGNANDDEBUGGINGTHEFUNCTIONOFTHETIMECONTROLLERISREALIZEDFINALLYKEYWORDSSINGLECHIPMICROPROCESSOR,THECLOCKCHIP,THELIQUIDCRYSTALDISPLAY,TIMINGCONTROLLER目录第1章绪论111课题开发背景112设计要求1第2章单片机及液晶显示模块321单片机STC89C58RD结构3211引脚定义及功能3212复位电路622液晶12232模块7221引脚定义及功能说明7222指令描述8223LCD12232的写规则11224LCD12232与单片机接口11第3章硬件设计1331芯片及硬件模块13311时钟芯片模块DS130213312液晶外部时钟模块21313键盘接口电路2332系统设计思路2433硬件框图2534系统功能说明2635系统硬件设计电路图27第4章软件设计2941软件设计的原则2942系统功能模块图2943程序流程图30第5章制作与调试3451硬件焊接3452硬件调试35521焊接调试35522故障调试35523功能调试3653“伟福”调试软件36531“伟福”的特点36532“伟福”仿真软件的使用36533“伟福”集成调试软件的界面3754综合调试43541联机调试43542脱机调试44结束语46附录硬件实物图47致谢48参考文献49第1章绪论11课题开发背景人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门1。起初每周上一次发条,1918年使用电钟计时后,就不用上发条了。定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。现在的不少家用电器都安装了定时器来控制开关或工作时间2。目前单片机渗透到日常生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上的各种仪表控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。鉴于单片机有如此广泛的应用领域,基于单片机的定时控制器就可以运用到日常生活的各个方面,如上下班铃声的控制、机器的开停机时间控制等等。为了能够巩固以前所学习的单片机原理的有关知识,并将其应用到实践中,培养动手能力和解决实际问题的能力,因此选择了基于单片机的定时控制器的设计课题。12设计要求(1)了解LCD图形显示器的工作原理及硬件结构;(2)熟悉时钟芯片的工作原理及接口技术;(3)熟悉8031单片机的工作原理及接口技术;(4)自行设计(软、硬件)、制作和调试;(5)实现汉字、字母的LCD显示;(6)画出硬件设计图和软件流程图;(7)根据软硬件设计完成硬件制作和软件调试;(8)实现每天4时段的定时控制,通过软件可以任意设置每个时间段的起始与结束时间。第2章单片机及液晶显示模块单片机是系统设计的主控模块,液晶是系统显示的载体。本章将介绍单片机STC89C58RD的原理及液晶12232模块。21单片机STC89C58RD结构STC89C58RD是宏晶公司生产的低电压、加密性强、高性能CMOS8位单片机。主要性能特点有31)增强型6时钟/机器周期,12时钟/机器周期8051CPU;2)工作电压55V38V;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中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。211引脚定义及功能STC89C58RD封装形式和引脚排列如图21所示。图21STC89C58RD引脚图图21中,各引脚功能如下VCC电源GND地P0口P0口是一组8位漏极开路的双向I/O口,是地址数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接受指令字节,而在程序校验时输出指令字节,校验时要求外接上拉电阻。P1口P1是一个带内部上拉电阻的8位双向I/O口,它的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。此外,P10和P11分别作为定时器/计数器2的外部计数输入(P10/T2)和定时器/计数器2的触发输入(P11/T2EX),具体如表21所示。FLASH编程和程序校验期间,P1接收低8位地址。表21P1口第二功能引脚号功能特性P10T2定时/计数器2外部计数脉冲输入,时钟输出P11T2EX定时/计数器2捕获/重装载触发和方向控制P15MOSI在系统编程用P16MISO在系统编程用P17SCK(在系统编程用)P2口P2是一个带内部上拉电阻的8位双向I/O口,的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR,A)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXR1,A)时,P2口线上的内容(特殊功能寄存器SFR区中R2寄存器的内容),在整个访问期间不改变。FLASH编程和程序校验期间,P2亦接受高位地址和其他控制信号。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。它的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,他们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线,更重要的是它的第二功能,如表22所示。表22P3口的第二功能端口引脚第二功能P30RXD串行输入口P31TXD串行输出口P32INT0外中断0P33INT1外中断1P34T0定时/计数器0P35T1定时/计数器1P36WR外部数据存储器写选通P37RD外部数据存储器读选通复位输入。晶振工作时,脚持续2个机器周期高电平将使单片机复位。RSTRST看门狗计时完成后,脚输出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仅访问外部程序存储器(地址为0000HFFFFH)EA端必须保持低电平(接地)。需注意的是如果加密位LB1被编程,复位时内部会锁存EA状态。如EA为高电平,CPU则执行内部程序存储器中的指令。FLASH存储器编程时,该引脚加上编程允许电源VPP。XTAL1震荡器反向放大器及内部时钟发生器的输入端。XTAL2震荡器反向放大器的输出端。212复位电路复位电路如图22所示4。K200R11KR222UFCVCC图22复位电路单片机的外部复位电路有上电自动复位和按键手动复位两种,本设计采用的是按键手动复位。按复位键后,复位端通过电阻与VCC电源接通。复位电路关系到一个系统能否可靠地工作,由阻容元件以及门电路组成的复位电路在多数情况下均能良好工作,但是阻容复位电路的复位触发门限较难在设计时确定,这与电阻、电容的精度,电源的精度有关,而且受温度的影响较大。所以,如果发现设计的复位电路不起作用时,可以适当调整一下电阻、电容的大小,使复位高电平能够持续2个机器周期。22液晶12232模块显示部分采用点阵式液晶LCD122322,可以显示汉字和阿拉伯数字。(1)该液晶的基本特性如下5具有低功耗、供应电压范围宽等特点;具有16COMMON和61SEGMENT输出,并可外接驱动来扩展驱动;具有2560位显示RAM,即8084位;具有与68系列或80系列相适配的MPU接口,并有专用的指令集,可以完成文本显示或功能显示的功能设置。(2)工作参数逻辑工作电压2660VLCD的驱动电压30135V工作温度055(常温)/2070宽温保存温度1070221引脚定义及功能说明VDD逻辑电源正VSS逻辑电源地V0LCD驱动电源A0数据指令选择。高电平表示出现在数据总线上的是数据;低电平表示出现在数据总线上的是指令或读书的状态。CS1/CS2读写使能,对于68系列的MPU,高电平有效;对于80系列的MPU,低电平有效。CL外振时钟RD读允许,低电平有效WR写允许,高电平有效D0D7数据输入输出引脚RES复位端,68系列的MPU,上升沿复位;80系列的MPU,下降沿复位LED/LED背光正极电源,背光负极电源12232引脚如图23所示。VSS1VDD2VLCD3CL7RD8WR9RET18VLED19VLED20DB010DB111DB212DB313DB414DB515DB616DB717A04CS15CS26U122322图23液晶12232引脚图222指令描述1)显示模式设置A0RDWRDB7DB6DB5DB4DB3DB2DB1DB00101010111D功能开关屏幕显示,不改变显示RAM中的内容,也不影响内部状态。D1,开显示;D0,关显示。如果在显示关闭的状态下,选择静态驱动模式,那么内部电路将处于安全模式。2)设置显示起始行A0RDWRDB7DB6DB5DB4DB3DB2DB1DB0010110A4A3A2A1A0功能执行该命令后,所设置的行将显示在屏幕的第一行。起始行可以是031范围内的任意一行。行地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。3)页地址设置A0RDWRD7D6D5D4D3D2D1D0010101110A1A0功能设置页地址。当MPU要对DDRAM进行读写操作时,首先要设置列地址和页地址。A1A0页地址0000111021134)列地址设置A0RDWRD7D6D5D4D3D2D1D00100A6A5A4A3A2A1A0当MPU要对DDRAM进行读写操作前,首先要设置页地址和列地址。执行读写命令后,列地址会自动加1,直到达到50H才会停止,但页地址不变。A6A5A4A3A2A1A0列地址001011104E1011114F5)读状态指令A0RDWRD7D6D5D4D3D2D1D0001BUSYADCON/OFRESET0000功能检测内部状态BUSY为忙信号,BUSY1内部正在执行操作;BUSY0空闲状态。ADC为显示方向,ADC0反向显示;ADC1正向显示ON/OF显示开关状态,ON/OF0显示打开;ON/OF1显示关闭。RESET复位状态,RESET0,正常;RESET1内部处于复位初始化状态。6)写显示数据A0RDWRD7D6D5D4D3D2D1D0110WRITEDATA将8位数据写入DDRAM,执行该指令后,列地址自动加1,所以可以连续将数据写入DDRAM而不用重新设置列地址。7)读显示数据A0RDWRD7D6D5D4D3D2D1D0101READDATA功能读出页地址和列地址限定的DDRAM中的数据。当“读修改写”模式关闭时,每执行一次读指令,列地址自动加一,所以可以连续从DDRAM中读出数据而不用设置列地址。8)设置显示方向A0RDWRD7D6D5D4D3D2D1D00101010000D功能该指令设置DDRAM中的列地址与段驱动输出的对应关系当D0时,反向;D1时,正向。9)开关静态驱动模式设置A0RDWRD7D6D5D4D3D2D1D00101010010D功能D0表示关闭静态显示,D1表示打开静态显示10)占空比选择A0RDWRD7D6D5D4D3D2D1D00101010100D功能D0表示1/16DUTY,D1表示1/32DUTY11)“读修改写”模式设置A0RDWRD7D6D5D4D3D2D1D001011100000功能执行该指令后,每执行一次写数据指令,列地址自动加一;但执行读数据指令时列地址不会改变。这个状态一直持续到执行结束END指令。12)END指令A0RDWRD7D6D5D4D3D2D1D001011101110功能关闭“读修改写”模式,并把列地址指针恢复到打开“读修改写”模式前的位置。13)复位指令A0RDWRD7D6D5D4D3D2D1D001011100010功能使模块内部初始化223LCD12232的写规则在液晶屏上横向8个点为一个字节数据,汉字在液晶屏上的显示为1616(宽高),通过字模提取软件按照先左后右,先上后下的方式对汉字进行字模提取,可获得该字模对应的32个字节值;阿拉伯数字在液晶屏上的显示为816(宽高),字模提取的方式与汉字相同,可获得该字模对应的16个字节值。一个1616的汉字的存放方式如下0161171532一个816的阿拉伯数字的存放方式如下0115通过单片机将已提取的汉字的字模输入液晶控制器,即可按设定的液晶模块显示需要的汉字或数字。224LCD12232与单片机接口LCD12232与单片机的接口电路如图24所示。EA/VPP31XTAL119XTAL218RST9P37RD17P36WR16P32INT012P33INT113P34T014P35T115P10T21P11T2EX2P123P134P145P15MOSI6P16MISO7P17SCK8AD0P0039AD1P0138AD2P0237AD3P0336AD4P0435AD5P0534AD6P0633AD7P0732A8P2021A9P2122A10P2223A11P2324A12P2425A13P2526A14P2627A15P2728PSEN29ALE/PROG30TXDP3111RXDP3010GND20VCC40STC89C58RDVSS1VDD2VLCD3CL7RD8WR9RET18VLED19VLED20DB010DB111DB212DB313DB414DB515DB616DB717A04CS15CS26122322VCC10KR605KR7P37P36P05P06P0347KR17VCC1A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC1474HC14C6R18VCCVCCP04图24液晶12232与单片机接口电路在图24中,DB0DB7作为数据口,与单片机的P1口相连;液晶12232的RD、WR端分别接到单片机的P37、P36端口上,由单片机的这两个端口提供液晶的读写信号;液晶的外部晶振由74HC14与R、C组成的振荡电路提供,具体的内容将在下一章做介绍;液晶的两个读写使能端口CS1、CS2,与单片机的P05、P06相连,这样可以在程序中对液晶的忙、闲状态进行判别以及控制液晶的读写;RES端接到P04上,这样在程序中可以灵活的选择液晶的时序。第3章硬件设计硬件电路是一个单片机系统的躯壳,没有了躯壳,系统会是一个完全瘫痪的系统。本章会向读者讲述整个系统硬件的设计思路和方法,另外还会向大家介绍时钟模块、液晶的外部时钟产生电路等硬件电路。31芯片及硬件模块311时钟芯片模块DS1302美国DALLAS公司的DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它采用SPI串行总线接口与单片机连接6。SPI是由MOTOROLA公司提出的一种同步串行外围接口,采用3根或4根信号线进行数据传输,所需要的信号包括使能信号、同步时钟、同步数据(输入和输出)。采用SPI接口可以方便地与许多厂家的各种标准外围器件直接连接。采用SPI总线可以简化系统结构,降低系统成本,使系统具有灵活的可扩展性。SPI串行总线有如下一些主要特点全双工,三线同步传输。主机或从机操作。105MBIT/S的最大主机数据传输速率。4种可编程主机数据传输速率。可编程串行时钟极性与相位。发送结束中断标志。定开发冲突保护。总线竞争保护。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种不同的工作模式,它们如表31所示。表31SPI串行通信接口模式SPI模式CPOLCPHA00011210311CPHA用来表示同步时钟信号的相位,CPOL用来表示同步时钟信号的极性。当同步时钟信号的相位为0、极性也为0时,通信过程中的数据位在同步信号的上升沿锁存;当相位为0,极性为1时,数据位在同步时钟信号的下降沿锁存。在同步时钟信号相位为1的情况下,同步时钟信号的相位会翻转180。采用DS1302作为主要计时芯片,可做到计时准确。更重要的是,DS1302可以在很小电流的后备电源(2555V电源,在25V时功耗小于300NA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。它具有以下性能特性1)实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;2)用于高速数据暂存的31X8位RAM;3)最少引脚的串行I/O;4)2555V电压工作范围;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在单电源与电池供电的系统中提供低电源及低功率的电池备份;VCC2在双电源系统中提供主电源,在这种运行方式中,VCC1连接到备份电,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由VCC1或VCC2中较大者供电,当VCC2大于VCC102V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电。DS1302有3种不同的引脚封装形式,它们分别是双列直插的DIP8和表面贴装的SOIC8(150MIL)、SOIC8(200MIL),与这3种封装相对应的芯片型号分别是DS1302、DS1302Z和DS1302S。DS1302引脚如图31所示。图31DS1302引脚图X1、X232768KHZ晶振引脚。GND信号地。复位引脚。RSTI/O数据输入输出引脚。SCLK同步串行时钟输入引脚。VCC2主电源。VCC2备份电源。1DS1302的内部结构及工作原理DS1302串行时钟芯片由电源、移位寄存器、命令控制逻辑、震荡器、实时时钟及RAM组成。输入移位寄存器模块用于完成串行数据的输入输出,数据在同步串行时钟SCLK的上升沿串行输入。无论是读周期还是写周期,也无论是单字节传送方式还是多字节传送方式,数据传送开始的8个数据位用于指定DS1302中哪个字节被访问。在开始的8个时钟周期将命令字节装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据。输入移位寄存器模块的所有串行数据输入/输出都必须通过把驱动至高电平状RST态来启动。复位引脚输入与控制逻辑相连,用于允许或禁止地址/命令序列送入移RST位寄存器;同时,还提供了中止单字节或多字节数据传输的手段,如输入为低电平,那麽所有的数据传输将被中止并且I/O引脚变为高阻态。在DS1302的上电过程中,当VCC25V之前,必须为逻辑0。RST在DS1302内部共包含40个数据节,其中7个时钟/日历字节,1个时钟写保护控制字节,1个涓流充电控制字节和31个RAM字节。在对这些字节进行读写访问时,由命令字节中的数据位A0A5控制。2DS1302的控制字如表32所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据位5至位1指示操作单元的地址最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。表32控制字节的含义765432101RAM/CKA4A3A2A1A0RAM/CK3复位通过把输入驱动置高电平来启动所有的数据传送。输入有两种功能首RSTRST先,接通控制逻辑,允许地址命令序列送入移位寄存器其次,提供了终止单字节或多字节数据的传送手段。当为高电平时,所有的数据传送被初始化,允许对RSTDS1302进行操作。如果在传送过程中置为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC25V之前,必须保持低电平。只有在SCLKST为低电平时,才能将置为高电平。ST4数据输入输出在单片机对DS1302进行数据读写操作时,所有的读写操作都必须由命令字节来初始化。命令字节的D7必须为逻辑1,如果它为0,将禁止DS1302;D6为逻辑0时指定访问时钟/日历数据;为逻辑1时指定访问RAM数据;D5D1指定进行输入或输出的特殊寄存器单元地址;D0为逻辑0时指定进行写操作,为逻辑1时指定进行读操作。外部处理器向DS1302写数据时,在写命令字节8个SCLK周期之后,DS1302会在下8个SCLK周期的上升沿输入数据字节,如果有更多的SCLK周期,它们将会被忽略。外部芯片从DS1302读数据时,跟随在读命令字节8个SCLK周期之后DS1302会在下8个SCLK周期的下降沿输出数据。需要注意的是从DS1302输出的第一个数据位发生在命令字节最后一位后的第一个下降沿处,而且在读操作过程中只要保持为高电平状态,如果有额外的SCLK时钟周期,DS1302将重新发送数据字节,这RST一操作特性使得DS1302具有多字节连续读取能力。除了采用单字节方式进行数据读写外,也可以采用突发方式多字节连续读写。通过对地址31寻址(命令位的D1D5均为逻辑1),可以把时钟/日历或RAM寄存器规定为多字节方式。在多字节方式中读或写从地址0的位0开始,当以多字节方式写时钟寄存器时,必须按照数据传送的次序写最先的8个寄存器。但以多字节方式写RAM时,不必写所有的31个字节,不管是否写齐了31个字节,所写的每一个字节都会被传送到RAM。在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7,数据读写时序如图32所示。图32数据读写时序5DS1302的寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字见表33。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。表33DS1302的日历时钟寄存器及其控制字命令字各位内容寄存器名写操作读操作取值范围76543210秒寄存器80H81H0059CH10SECSEC分寄存器82H83H0059010MINMIN时寄存器84H85H0112或002312/24010APHRHR日寄存器86H87H0128,2930,310010DATEDATE月寄存器88H89H011200010MMONTH周寄存器8AH8BH010700000DAY年寄存器8CH8DH009910YEARYEAR秒寄存器的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处于高电平状态时,写保护位防止对其它寄存器进行写操作。涓流充电寄存器用于控制DS1302的涓流充电特性。其中,涓流充电选择(TCS)位D7D4控制涓流充电器的选择,只有当D7D4处于1010模式时才能使涓流充电器工作,其它所有的模式都将禁止涓流充电。涓流充电二极管选择(DS)位D3D2用于选择连接在VCC2和VCC1之间的二极管数目,当DS为01时选择一个二极管,如果为10则选择2个二极管,DS为00或11时涓流充电器被禁止,与TCS无关。涓流充电电阻选择(RS)位D1D0用于选择连接在VCC2和VCC1之间的电阻,RS为00时无电阻连接,RS为01时电阻值为2K,RS为10时为4K,RS为11时电阻值为8K。如果RS设定为无电阻的00,那么涓流充电器将被禁止,与TCS无关。涓流充电器的二极管和电阻的选择由用户根据电池或超容量电容充电所需的最大电流决定。假定50系统电源加到VCC2,而超容量电容接至VCC1,并编程设置VCC2和VCC1之间连接一个二极管和一个2K的电阻,可得到最大电流为IMAX50V07V/2K22MA时钟/日历和控制寄存器的最后一个单元是时钟/日历突发多字节方式控制字。当时钟/日历字节在多字节方式下工作时,最先的8个时钟/日历寄存器可以从地址为0的第0位开始连续地读或写。在指定突发方式多字节连续写时钟/日历寄存器时,如果写保护位设置为高电平,那么没有数据会传送到8个时钟/日历寄存器中的任一个。DS1302与单片机的接口如图33所示。EA/VPP31XTAL119XTAL218RST9P37RD17P36WR16P32INT012P33INT113P34T014P35T115P10T21P11T2EX2P123P134P145P15MOSI6P16MISO7P17SCK8AD0P0039AD1P0138AD2P0237AD3P0336AD4P0435AD5P0534AD6P0633AD7P0732A8P2021A9P2122A10P2223A11P2324A12P2425A13P2526A14P2627A15P2728PSEN29ALE/PROG30TXDP3111RXDP3010GND20VCC40STC89C58RDX12X23VCC21GND4RST5I/O6SCLK7VCC18D15PFC115PFC2VCC3V47KR147KR247KR3VCC图33DS1302与单片机接口电路在图33中,由于DS1302采用的是同步串行的工作方式,它与单片机的相接的端口只有三个SCLK,I/O,相对应的接到单片机的P02,P01,P00,单片机的STP0口在用作I/O口的时候要接上拉电阻;X1,X2端接的是32768KHZ的外部晶振;VCC2作为主电源接到5V电源上,而VCC1是DS1302的后备电源,具有涓流充电的特性,接的是3V的电池。基于前述的内容,系统在设计时时钟模块选择了DS1302。312液晶外部时钟模块液晶12232要正常工作需要接入频率为2KHZ的外部时钟信号,在本系统中,由74HC14和电阻R、电容C组成的振荡电路为12232提供时钟信号。74HC14的引脚如图34所示。1A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC14U74HC14图3474HC14引脚图74HC14为有施密特触发器的六反相器,其主要电特性的典型值如表34所示。表3474HC14电特性型号VTTPLHTPHLPD54/741408V15NS15NS153MW引出端符号1A6A输入端1Y6Y输出端逻辑图如图35所示。图3574HC14逻辑图极限值电源电压7V输入电压74HC1455V工作环境温度74HC14070存储温度65150功能表如表35所示。表3574HC14功能表INPUTOUTPUTAYLHHL注YA推荐工作条件如表36所示。表3674HC14工作条件最小额定最大电源电压VCC475V5V525V输入正向阀值电压VIT15V17V2V输入负向阀值电压VIT06V09V11V滞后电压VT04V08V输出高电平电流IOH800A输出低电平电流IOL16MA74HC14应用在振荡电路中,如图36所示。K1K2K3EA/VPP31XTAL119XTAL218RST9P37RD17P36WR16P32INT012P33INT113P34T014P35T115P10T21P11T2EX2P123P134P145P15MOSI6P16MISO7P17SCK8AD0P0039AD1P0138AD2P0237AD3P0336AD4P0435AD5P0534AD6P0633AD7P0732A8P2021A9P2122A10P2223A11P2324A12P2425A13P2526A14P2627A15P2728PSEN29ALE/PROG30TXDP3111RXDP3010GND20VCC40STC89C58RD1KR111KR121KR13VCC图36施密特反相器应用电路该电路产生的时钟信号频率为108FTRC具体电路图如图37所示。1A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC1474HC14VSS1VDD2VLCD3CL7RD8WR9RET18VLED19VLED20DB010DB111DB212DB313DB414DB515DB616DB717A04CS15CS26122322CRVCC图37液晶的外部时钟电路在图37中,R阻值选择63K,C的电容选择100F。313键盘接口电路系统采用的是独立式键盘结构,这是出于对单片机的端口不够的考虑。为了保证按键在按下时相应的单片机端口为低电平,每个按键都通过上拉电阻接到了VCC上,具体的电路如图38所示7。图38键盘接口电路32系统设计思路系统以12232液晶模块作为显示的载体,可以实现比较美观的显示界面。它在实现定时功能的基础上,可以实现数字钟走时的功能,能够进行时、分、秒以及汉字的显示。根据系统设计功能的要求,我们确定了系统的组成模块单片机主控模块,时钟模块,液晶显示模块,键盘接口模块,控制输出模块。本系统软件采用C语言编写,增强了软件的可读性和可移植性,便于纠错和扩展;采用模块化的编程方法,使软件设计的逻辑关系更加明确。基于系统的设计要求,硬件采用了时钟芯片DS1302,单片机STC89C58RD从DS1302中读取时、分、秒的数据信息,放入内部数据寄存器中,然后单片机执行显示程序,由数据口P1将DS1302的时、分、秒信息送入LCD12232进行显示,这是系统实现走时功能的硬件设计思路。系统的调时和定时功能在硬件上是通过按键MOV,ADD,OK实现的系统在上电后进入初始化的显示界面,按下ADD键,进入功能选择界面;按下MOV键,选择要执行的功能;按下OK键,进入所选的功能。在本系统中,按键MOV,ADD,OK是一键多功能的,在进入要选定的功能界面后,例如时间调整界面,MOV键是移动要调整的时间,ADD键执行加1操作,按下OK键,退出到主界面。这些按键的功能定义是在软件中定义好的。系统在设定的时间到时会有一个控制输出,在硬件上就是让接在P2_2口上的继电器动作,同时接在继电器两端的发光二极管亮或灭。由于继电器输出电路接的是12V的电压,因此在与单片机连接的时候要做好隔离,光电耦合器TLP5211便是起到这种作用的。继电器是由两个三极管驱动的。继电器输出模块用到了光耦TLP5211,单片机的端口不能直接驱动光耦,因此在单片机端口和光耦之间加了一个三极管9013用于光耦的驱动。光耦到继电器接入三极管9013,目的是驱动继电器,使继电器在设定时间到时能够可靠动作。33硬件框图根据设计要求所设计的定时控制器硬件框图如图39所示。STC89C58RD主控模块DS1302时钟模块键盘电路LCD显示电路控制输出电路时钟产生电路图39系统硬件框图在图39中,单片机是整个系统的核心,其它的外围电路都是围绕单片机进行设计的时钟模块为系统提供一个数字钟;键盘电路可以进行调时和定时以及功能的选择;控制输出电路提供设定时间到时的标志(发光二极管的亮和灭);LCD让系统的显示成为现实。34系统功能说明系统在上电后,首先进入初始化画面,显示设计小组成员的姓名,过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)返回在功能选择界面选择“返回”,系统会返回到数字钟的显示界面。35系统硬件设计电路图根据设计要求所设计的定时控制器的硬件电路如图310所示。1212MHZ30PFC130PFC222UFC3VCC1KRX12X23VCC21GND4RST5I/O6SCLK7VCC18DS1302VCC3V1232768K15PFC415PFC547KR247KR347KR1K1K2K310KR4D4148510R5LED0VCCEA/VPP31XTAL119XTAL218RST9P37RD17P36WR16P32INT012P33INT113P34T014P35T115P10T21P11T2EX2P123P134P145P15MOSI6P16MISO7P17SCK8AD0P0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论