基于单片机定时控制器的研制

上传人:r****d 文档编号:117056370 上传时间:2022-07-07 格式:DOC 页数:44 大小:67KB
收藏 版权申诉 举报 下载
基于单片机定时控制器的研制_第1页
第1页 / 共44页
基于单片机定时控制器的研制_第2页
第2页 / 共44页
基于单片机定时控制器的研制_第3页
第3页 / 共44页
资源描述:

《基于单片机定时控制器的研制》由会员分享,可在线阅读,更多相关《基于单片机定时控制器的研制(44页珍藏版)》请在装配图网上搜索。

1、基于单片机定时控制器的研制 论文题目单片机定时控制器的研制摘 要随着电子技术的迅速发展特别是随大规模集成电路出现给人类生活带来了根本性的改变由其是单片机技术的应用产品已经走进了千家万户作为单片机技术应用之一的定时控制器在日常生活工业场合甚至军事领域都有应用本文主要介绍了单片机定时控制器的硬件设计过程单片机作为主控器件是整个系统的核心它起到主要的控制作用时钟芯片为系统提供一个数字钟定时功能的实现也要依赖它液晶模块为系统显示提供载体按键部分采用独立式结构主要用作调时和定时也可用作功能选择控制输出部分通过继电器的动作和发光二极管的亮灭模拟机器的开和停本文完成了对系统硬件电路制作软件设计和调试过程的说

2、明系统最终实现分时段定时控制的功能关键词单片机时钟芯片液晶模块定时控制 Subjectevelopment 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 te

3、chnology application of the single chip microprocessor sets already entered every familyAs one application of the single chip microprocessor technology the time controller has been applied in the daily life the industry situation and military fieldThis article introduced mainly the design process of

4、 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 T

5、he 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 a

6、rticle 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 controller目 录第1章 绪 论111 课题开发背景112 设计要求1第2章 单片机及液晶显示模块321 单片机STC89C

7、58RD结构3com 引脚定义及功能3com 复位电路622 液晶12232模块7com 引脚定义及功能说明7com 指令描述8com LCD12232的写规则11com LCD12232与单片机接口11第3章 硬件设计1331芯片及硬件模块13com 时钟芯片模块DS130213com 液晶外部时钟模块21com 键盘接口电路2332系统设计思路2433硬件框图2534 系统功能说明2635系统硬件设计电路图27第4章 软件设计2941 软件设计的原则2942 系统功能模块图2943 程序流程图30第5章 制作与调试3451 硬件焊接3452 硬件调试35com 焊接调试35com 故障调试

8、35com 功能调试3653 伟福调试软件36com 伟福的特点36com 伟福仿真软件的使用36com 伟福集成调试软件的界面3754综合调试43com 联机调试43com 脱机调试44结束语46附录 硬件实物图47致 谢48参考文献49第章 绪 论11 课题开发背景人类最早使用的定时工具是沙漏或水漏但在钟表诞生发展成熟之后人们开始尝试使用这种全新的计时工具来改进定时器达到准确控制时间的目的 1876年英国外科医生索加取得一项定时装置的专利用来控制煤气街灯的开关它利用机械钟带动开关来控制煤气阀门1起初每周上一次发条1918年使用电钟计时后就不用上发条了 定时器确实是一项了不起的发明使相当多需

9、要人控制时间的工作变得简单了许多人们甚至将定时器用在了军事方面制成了定时炸弹定时雷管现在的不少家用电器都安装了定时器来控制开关或工作时间2 目前单片机渗透到日常生活的各个领域几乎很难找到哪个领域没有单片机的踪迹导弹的导航装置飞机上的各种仪表控制计算机的网络通讯与数据传输工业自动化过程的实时控制和数据处理广泛使用的各种智能IC卡民用豪华轿车的安全保障系统录像机摄像机全自动洗衣机的控制以及程控玩具电子宠物等等这些都离不开单片机更不用说自动控制领域的机器人智能仪表医疗器械了鉴于单片机有如此广泛的应用领域基于单片机的定时控制器就可以运用到日常生活的各个方面如上下班铃声的控制机器的开停机时间控制等等为了

10、能够巩固以前所学习的单片机原理的有关知识并将其应用到实践中培养动手能力和解决实际问题的能力因此选择了基于单片机的定时控制器的设计课题12 设计要求1了解LCD图形显示器的工作原理及硬件结构 2熟悉时钟芯片的工作原理及接口技术3熟悉8031单片机的工作原理及接口技术4自行设计软硬件制作和调试5实现汉字字母的LCD显示6画出硬件设计图和软件流程图7根据软硬件设计完成硬件制作和软件调试8实现每天4时段的定时控制通过软件可以任意设置每个时间段的起始与结束时间第章 单片机及液晶显示模块单片机是系统设计的主控模块液晶是系统显示的载体本章将介绍单片机STC89C58RD的原理及液晶12232模块21 单片机

11、STC89C58RD结构STC89C58RD是宏晶公司生产的低电压加密性强高性能CMOS8位单片机主要性能特点有31增强型6时钟机器周期12时钟机器周期 8051 CPU2工作电压55V38 V3工作频率范围040MH相当于普通8051的080MH实际工作频率可达48MH 4用户可用程序空间32K5片上集成1280字节RAM6通用IO口32个复位后P1P2P3P4 是准双向口弱上拉普通8051传统IO口P0 口是开漏输出作为总线扩展用时不用加上拉电阻作为IO口用时需加上拉电阻7EEPROM功能看门狗功能8外部中断4路下降沿中断或低电平触发中断9共3个16位定时器计数器其中定时器0可当成2个8位

12、定时器使用空闲方式停止CPU的工作但允许RAM定时计数器串行通信口及中断系统继续工作掉电方式保存RAM中的内容但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位com 引脚定义及功能STC89C58RD封装形式和引脚排列如图2-1所示图2-1图2-1中各引脚功能如下VCC电源GND地P0口P0口是一组8位漏极开路的双向IO口是地址数据总线复用口作为输出口用时每位能以吸收电流的方式驱动8个TTL逻辑门电路对端口写1可作为高阻抗输入端用在访问外部数据存储器或程序存储器时这组口线分时转换地址低8位和数据总线复用在访问期间激活内部上拉电阻在Flash编程时P0口接受指令字节而在程序校验时输出指令

13、字节校验时要求外接上拉电阻P1口P1是一个带内部上拉电阻的8位双向IO口它的输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路对端口写1通过内部的上拉电阻把端口拉到高电平此时可作输入口作输入口使用时因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流此外com为定时器计数器2的外部计数输入P10T2和定时器计数器2的触发输入P11T2EX具体如表2-1所示Flash编程和程序校验期间P1接收低8位地址表2-1 P1口第二功能引脚号功能特性P10T2 定时计数器2外部计数脉冲输入 时钟输出P11T2EX 定时计数器2捕获重装载触发和方向控制 P15MOSI 在系统编程用 P16MISO 在

14、系统编程用 P17SCK在系统编程用P2口P2是一个带内部上拉电阻的8位双向IO口的输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路对端口写1通过内部的上拉电阻某个引脚被外部信号拉低时会输出一个电流在访问外部程序存储器或16位地址的外部数据存储器例如执行MOVX DPTRA时P2口送出高8位地址数据在访问8位地址的外部数据存储器如执行MOVX R1A时P2口线上的内容特殊功能寄存器SFR区中R2寄存器的内容在整个访问期间不改变Flash编程和程序校验期间P2亦接受高位地址和其他控制信号P3口P3口是一组带有内部上拉电阻的8位双向IO口它的输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路对P

15、3口写入1时他们被内部上拉电阻拉高并可作为输入端口作输入端时被外部拉低的P3口将用上拉电阻输出电流P3口除了作为一般的IO口线更重要的是它的第二功能如表2-所示表2-2 P3口的第二功能端口引脚第二功能P30RXD 串行输入口 P31TXD 串行输出口 P32INT0 外中断0 P33INT1 外中断1 P34T0 定时计数器0 P35T1 定时计数器1 P36WR 外部数据存储器写选通 P37RD 外部数据存储器读选通 复位输入晶振工作时脚持续2个机器周期高电平将使单片机复位看门狗计时完成后脚输出96个晶振周期的高电平特殊寄存器AUXR 地址8EH 上的DISRTO位可以使此功能无效DISR

16、TO默认状态下复位高电平有效ALEPROG当访问外部程序存储器或数据存储器时ALE地址锁存允许输出脉冲用于锁存地址的低8位字节即使不访问外部存储器ALE仍以时钟震荡频率的16输出固定的正脉冲信号因此它可对外输出始终或用于定时目的要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲对Flash存储器编程期间该引脚还用于输入编程脉冲PROG如有必要可通过对特殊功能寄存器SFR区中的8EH单元中的D0位置位可禁止ALE操作该位置位后只有一条MOVX和MOVC指令ALE才会被激活单片机执行外部程序时应设置ALE无效PSEN程序存储允许PSEN输出是外部程序存储器的读选通信号当STC89C58RD由外

17、部程序存储器取指令或数据时每个机器周期两次PSEN有效即输出两个脉冲在此期间当访问外部数据存储器时这两次有效的PSEN信号不出现EAVPP外部访问允许欲使CPU仅访问外部程序存储器地址为0000H-FFFFHEA端必须保持低电平接地需注意的是如果加密位LB1被编程复位时内部会锁存EA状态如EA为高电平CPU则执行内部程序存储器中的指令Flash存储器编程时该引脚加上编程允许电源VPPXTAL1震荡器反向放大器及内部时钟发生器的输入端XTAL2震荡器反向放大器的输出端com 复位电路复位电路如图2-2所示4图2-2单片机的外部复位电路有上电自动复位和按键手动复位两种本设计采用的是按键手动复位按复

18、位键后复位端通过电阻与VCC电源接通复位电路关系到一个系统能否可靠地工作由阻容元件以及门电路组成的复位电路在多数情况下均能良好工作但是阻容复位电路的复位触发门限较难在设计时确定这与电阻电容的精度电源的精度有关而且受温度的影响较大所以如果发现设计的复位电路不起作用时可以适当调整一下电阻电容的大小使复位高电平能够持续2个机器周期22 液晶12232模块显示部分采用点阵式液晶LCD12232-2可以显示汉字和阿拉伯数字1该液晶的基本特性如下5具有低功耗供应电压范围宽等特点具有16common和61segment输出并可外接驱动来扩展驱动具有2560位显示RAM即8084位具有与68系列或80系列相适

19、配的MPU接口并有专用的指令集可以完成文本显示或功能显示的功能设置2工作参数逻辑工作电压26-60VLCD的驱动电压30-135V工作温度0-55常温-20- 70 宽温 保存温度-10-70com 引脚定义及功能说明VDD逻辑电源正VSS逻辑电源地V0LCD驱动电源A0 数据指令选择高电平表示出现在数据总线上的是数据低电平表示出现在数据总线上的是指令或读书的状态CS1CS2读写使能对于68系列的MPU高电平有效对于80系列的MPU低电平有效CL 外振时钟RD 读允许低电平有效WR 写允许高电平有效D0-D7 数据输入输出引脚RES 复位端68系列的MPU上升沿复位80系列的MPU下降沿复位L

20、EDLED- 背光正极电源背光负极电源12232引脚如图2-3所示图2-3 液晶12232com 指令描述1显示模式设置A0RDWRDB7DB6DB5DB4DB3DB2DB1DB00101010111D功能开关屏幕显示不改变显示RAM中的内容也不影响内部状态D 1开显示D 0关显示如果在显示关闭的状态下选择静态驱动模式那么内部电路将处于安全模式2设置显示起始行A0RDWRDB7DB6DB5DB4DB3DB2DB1DB0010110A4A3A2A1A0功能执行该命令后所设置的行将显示在屏幕的第一行起始行可以是0-31范围内的任意一行行地址计数器具有循环计数功能用于显示行扫描同步当扫描完一行后自动

21、加一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 04E 1 0 1 1 1 14F5读状态指令A0RDWRD7D6D5D4D3D2D

22、1D0001BUSYADCONOFRESET0000功能检测内部状态BUSY为忙信号BUSY 1内部正在执行操作BUSY 0空闲状态ADC为显示方向ADC 0反向显示ADC 1正向显示ONOF显示开关状态ONOF 0显示打开ONOF 1显示关闭RESET复位状态RESET 0正常RESET 1内部处于复位初始化状态6写显示数据A0RDWRD7D6D5D4D3D2D1D0110Write Data将8位数据写入DD RAM 执行该指令后列地址自动加1所以可以连续将数据写入DD RAM 而不用重新设置列地址7读显示数据A0RDWRD7D6D5D4D3D2D1D0101Read Data功能读出页地

23、址和列地址限定的DD RAM 中的数据当读-修-改-写模式关闭时每执行一次读指令列地址自动加一所以可以连续从DD RAM中读出数据而不用设置列地址8设置显示方向A0RDWRD7D6D5D4D3D2D1D00101010000D功能该指令设置DD RAM 中的列地址与段驱动输出的对应关系当D 0时反向D 1时正向9开关静态驱动模式设置A0RDWRD7D6D5D4D3D2D1D00101010010D功能D 0表示关闭静态显示D 1表示打开静态显示10占空比选择A0RDWRD7D6D5D4D3D2D1D00101010100D功能D 0表示116DUTYD 1表示132 DUTY11读-修-改-写

24、模式设置A0RDWRD7D6D5D4D3D2D1D001011100000功能执行该指令后每执行一次写数据指令列地址自动加一但执行读数据指令时列地址不会改变这个状态一直持续到执行结束END 指令12END 指令A0RDWRD7D6D5D4D3D2D1D001011101110功能关闭读-修-改-写模式并把列地址指针恢复到打开读-修-改-写模式前的位置13复位指令A0RDWRD7D6D5D4D3D2D1D001011100010功能使模块内部com LCD12232的写规则在液晶屏上横向8个点为一个字节数据汉字在液晶屏上的显示为1616宽高通过字模提取软件按照先左后右先上后下的方式对汉字进行字模

25、提取可获得该字模对应的32个字节值阿拉伯数字在液晶屏上的显示为8宽高字模提取的方式与汉字相同可获得该字模对应的16个字节值一个1616的汉的存放方式如下 0 16 1 17 15 32一个8的阿拉伯数字的存放方式如下 0 1 15通过单片机将已提取的汉字的字模输入液晶控制器即可按设定的液晶模块显示需要的汉字或数字com LCD12232与单片机接口LCD12232与单片机的接口电路如图2-4所示图2-4 液晶12232与单片机接口电路在图2-4中DB0DB7作为数据口与单片机的P1口相连液晶12232的RDWR端分别接到单片机的P37P36端口上由单片机的这两个端口提供液晶的读写信号液晶的外部

26、晶振由74HC14与RC组成的振荡电路提供具体的内容将在下一章做介绍液晶的两个读写使能端口CS1CS2与单片机的P05P06相连这样可以在程序中对液晶的忙闲状态进行判别以及控制液晶的读写RES端接到P04上这样在程序中可以灵活的选择液晶的时序第章 硬件设计硬件电路是一个单片机系统的躯壳没有了躯壳系统会是一个完全瘫痪的系统本章会向读者讲述整个系统硬件的设计思路和方法另外还会向大家介绍时钟模块液晶的外部时钟产生电路等硬件电路31芯片及硬件模块com 时钟芯片模块DS1302美国DALLAS公司的DS1302是一种高性能低功耗带RAM的实时时钟芯片它采用SPI串行总线接口与单片机连接SPI是由MOT

27、OROLA公司提出的一种同步串行外围接口采用3根或4根信号线进行数据传输所需要的信号包括使能信号同步时钟同步数据输入和输出采用SPI接口可以方便地与许多厂家的各种标准外围器件直接连接采用SPI总线可以简化系统结构降低系统成本使系统具有灵活的可扩展性SPI串行总线有如下一些主要特点全双工三线同步传输主机或从机操作105Mbits的最大主机数据传输速率4种可编程主机数据传输速率可编程串行时钟极性与相位发送结束中断标志定开发冲突保护总线竞争保护SPI从设备一般使用1根数据线IO和2根控制线SCLK其中数据线不仅用于从设备向系统主机返回数据还可以用作多个从设备之间的级联当前从设备的IO输出端可以连接到

28、下一级设备的IO输入端SPI串行接口设备既可以工作在主设备模式下也可以工作在从设备模式下系统主设备为SPI总线通信过程提供同步时钟信号并决定从设备片选信号的状态使能将要进行通信的设备SPI从器件则从系统主设备获取时钟及片选信号因此从器件的控制信号SCLK都是输入信号在系统主机与SPI从设备之间进行通信时不论是命令还是数据都以串行方式传送串行传送的数据被泵入到一个移位寄存器并转换为并行数据格式须指出的是移位寄存器的位数并不是固定的它根据不同的设备而各不相同大多数设备的移位寄存器是8位或8位的整数倍如果一个SPI从设备没有被选中它的数据输出端将处于高阻状态从而与当前处于激活状态的器件隔离当多个SP

29、I从设备级联使用时将它们的使能端连接到同一个片选信号上当作一个从设备来处理级联的SPI从设备被看作是一个大的设备并使用相同的片选信号从设备的数据输出端分别被连接到下一个从设备的数据输入端并将最后一个从设备的数据输出端连接到系统主机的数据输入端当系统中所有的SPI从设备都需要独立地连接到系统主机时所有的从设备仍然使用相同的时钟信号SCLK并将所有SPI从设备的数据输入引脚连接到系统主机的数据输出引脚从设备的数据输出引脚连接到主机的数据输入引脚但每个SPI从设备采用相互独立的片选信号来控制芯片使能端这样系统主机可以通过片选信号来选通其中一个从设备进行读写操作访问而未被选中的其它所有器件处于高阻隔离

30、状态在SPI串行总线通信过程中用来控制外围设备的选通低电平有效未选通器件的数据输出端信号线将处于高阻状态SCLK则用来为数据通信提供同步时钟不论SPI从设备是否处于选通状态系统主设备都会为所有SPI从设备提供SCLK信号SPI串行数据通信接口可以配置为4种不同的工作模式它们如表3-1所示表3-1 SPI串行通信接口模式SPI模式CPOLCPHA00011210311CPHA用来表示同步时钟信号的相位CPOL用来表示同步时钟信号的极性当同步时钟信号的相位为0极性也为0时通信过程中的数据位在同步信号的上升沿锁存当相位为0极性为1时数据位在同步时钟信号的下降沿锁存在同步时钟信号相位为1的情况下同步时

31、钟信号的相位会翻转180采用DS1302作为主要计时芯片可做到计时准确更重要的是DS1302可以在很小电流的后备电源2555V电源在25V时功耗小于300nA下继续计时并可编程选择多种充电电流来对后备电源进行慢速充电可以保证后备电源基本不耗电它具有以下性能特性1实时时钟可对秒分时日周月以及带闰年补偿的年进行计数2用于高速数据暂存的31x8位RAM3最少引脚的串行IO42555V电压工作范围5用于时钟或RAM数据读写的单字节或多字节脉冲方式数据传输方式6简单的3线接口7可选的慢速充电至Vcc1的能力DS1302与单片机之间能简单地采用SPI同步串行的方式进行通信仅需用到3根信号线复位IO数据线S

32、CLK同步串行时钟单片机通过串行口实现对DS1302的控制和从DS1302中读取时钟信息时钟RAM的读写数据以一个字节或多达31个字节的字符组方式通信DS1302时钟芯片包括实时时钟日历和31B的静态RAM实时时钟日历提供秒分时日周月年等信息对于小于31天的月和月末的日期自动进行调整还包括闰年校正功能时钟的运行可以采用24h或带AM上午PM下午的12h格式采用三线接口与CPU进行同步通信并可采用突发方式一次传送多个字节的时钟信号或RAM数据DS1302是由DS1202改进来的增加了双电源管脚用于主电源和备份电源供电其中VCC1为可编程涓流充电电源Vcc1在单电源与电池供电的系统中提供低电源及低

33、功率的电池备份Vcc2在双电源系统中提供主电源在这种运行方式中Vcc1连接到备份电以便在没有主电源的情况下能保存时间信息以及数据DS1302由Vcc1或Vcc2中较大者供电当Vcc2大于Vcc102V时Vcc2给DS1302供电当Vcc2小于Vcc1时DS1302由Vcc1供电DS1302有3种不同的引脚封装形式它们分别是双列直插的DIP8和表面贴装的SOIC8150milSOIC8200 mil与这3种封装相对应的芯片型号分别是DS1302DS1302Z和DS1302SDS1302引脚如图3-1所示图3-1 DS1302引脚图X1X232768KH晶振引脚GND信号地 复位引脚IO数据输入输

34、出引脚SCLK同步串行时钟输入引脚VCC2主电源 VCC2备份电源1DS1302的内部结构及工作原理DS1302串行时钟芯片由电源移位寄存器命令控制逻辑震荡器实时时钟及RAM组成输入移位寄存器模块用于完成串行数据的输入输出数据在同步串行时钟SCLK的上升沿串行输入无论是读周期还是写周期也无论是单字节传送方式还是多字节传送方式数据传送开始的8个数据位用于指定DS1302中哪个字节被访问在开始的8个时钟周期将命令字节装入移位寄存器之后另外的时钟在读操作时输出数据在写操作时输入数据输入移位寄存器模块的所有串行数据输入输出都必须通过把驱动至高电平状态来启动复位引脚输入与控制逻辑相连用于允许或禁止地址命

35、令序列送入移位寄存器同时还提供了中止单字节或多字节数据传输的手段如输入为低电平那麽所有的数据传输将被中止并且IO引脚变为高阻态在DS1302的上电过程中当VCC25V之前必须为逻辑0在DS1302内部共包含40个数据节其中7个时钟日历字节1个时钟写保护控制字节1个涓流充电控制字节和31个RAM字节在对这些字节进行读写访问时由命令字节中的数据位A0A5控制2DS1302的控制字如表3-2所示控制字节的最高有效位位7必须是逻辑1如果它为0则不能把数据写入到DS1302中位6如果为0则表示存取日历时钟数据为1表示存取RAM数据位至位1指示操作单元的地址最低有效位位0如为0表示要进行写操作为1表示进行

36、读操作控制字节总是从最低位开始输出表3-2 控制字节的含义7 6 5 4 3 2 1 01RAMCKA4A3A2A1A0RAMCK3 复位通过把输入驱动置高电平来启动所有的数据传送输入有两种功能首先 接通控制逻辑允许地址命令序列送入移位寄存器其次 提供了终止单字节或多字节数据的传送手段当为高电平时所有的数据传送被初始化允许对DS1302进行操作如果在传送过程中置为低电平则会终止此次数据传送并且IO引脚变为高阻态上电运行时在Vcc25V之前 必须保持低电平只有在SCLK为低电平时才能将置为高电平4 数据输入输出在单片机对DS1302进行数据读写操作时所有的读写操作都必须由命令字节来初始化命令字节

37、的D7必须为逻辑1如果它为0将禁止DS1302D6为逻辑0时指定访问时钟日历数据为逻辑1时指定访问RAM数据D5-D1指定进行输入或输出的特殊寄存器单元地址D0为逻辑0时指定进行写操作为逻辑1时指定进行读操作外部处理器向DS1302写数据时在写命令字节8个SCLK周期之后DS1302会在下8个SCLK周期的上升沿输入数据字节如果有更多的SCLK周期它们将会被忽略外部芯片从DS1302读数据时跟随在读命令字节8个SCLK周期之后DS1302会在下8个SCLK周期的下降沿输出数据需要注意的是从DS1302输出的第一个数据位发生在命令字节最后一位后的第一个下降沿处而且在读操作过程中只要保持为高电平状

38、态如果有额外的SCLK时钟周期DS1302将重新发送数据字节这一操作特性使得DS1302具有多字节连续读取能力除了采用单字节方式进行数据读写外也可以采用突发方式多字节连续读写通过对地址31寻址命令位的D1-D5均为逻辑1可以把时钟日历或RAM寄存器规定为多字节方式在多字节方式中读或写从地址0的位0开始当以多字节方式写时钟寄存器时必须按照数据传送的次序写最先的8个寄存器但以多字节方式写RAM时不必写所有的31个字节不管是否写齐了31个字节所写的每一个字节都会被传送到RAM在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302数据输入从低位即位0开始同样在紧跟8位的控制指令字后的下

39、一个SCLK脉冲的下降沿读出DS1302的数据读出数据时从低位0位至高位7数据读写时序如图3-2所示图3-2数据读写时序5 DS1302的寄存器DS1302共有12个寄存器其中有7个寄存器与日历时钟相关存放的数据位为BCD码形式其日历时间寄存器及其控制字见表-3此外DS1302还有年份寄存器控制寄存器充电寄存器时钟突发寄存器及与RAM相关的寄存器等时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容DS1302与RAM相关的寄存器分为两类一类是单个RAM单元共31个每个单元组态为一个8位的字节其命令控制字为COHFDH其中奇数为读操作偶数为写操作再一类为突发方式下的RAM寄存器此方式下

40、可一次性读写所有的RAM的31个字节命令控制字为FEH写FFH读表3-3 DS1302的日历时钟寄存器及其控制字寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器80H81H00-59CH10SEC SEC分寄存器82H83H00-59010MIN MIN时寄存器84H85H01-12或00-231224010APHR HR日寄存器86H87H01-282930310010DATEDATE月寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年寄存器8CH8DH00-9910 YEAR YEAR秒寄存器的D7定义为时钟暂停位当此位设置

41、为逻辑1时时钟振荡器停止使DS1302进行低功率倍份方式其消耗电流小于100A当此位设置为逻辑0时时钟将被启动小时寄存器的D7定义为12或24小时方式选择位当它为高电平时选择12小时方式当它设置为低电平时表示选择24小时方式在12小时方式下小时寄存器的D5用于AMPM指示D5为逻辑高电平表示PM在24小时方式下D5则是第二个小时位写保护寄存器的D7是写保护位其余低7位置为0在对时钟或内部RAM单元进行写操作前D7必须为0当D7处于高电平状态时写保护位防止对其它寄存器进行写操作涓流充电寄存器用于控制DS1302的涓流充电特性其中涓流充电选择TCS位D7-D4控制涓流充电器的选择只有当D7-D4处

42、于1010模式时才能使涓流充电器工作其它所有的模式都将禁止涓流充电涓流充电二极管选择DS位D3-D2用于选择连接在VCC2和VCC1之间的二极管数目当DS为01时选择一个二极管如果为10则选择2个二极管DS为00或11时涓流充电器被禁止与TCS无关涓流充电电阻选择RS位D1-D0用于选择连接在VCC2和VCC1之间的电阻RS为00时无电阻连接RS为01时电阻值为2KRS为10时为4KRS为11时电阻值为8K如果RS设定为无电阻的00那么涓流充电器将被禁止与TCS无关涓流充电器的二极管和电阻的选择由用户根据电池或超容量电容充电所需的最大电流决定假定50系统电源加到VCC2而超容量电容接至VCC1

43、并编程设置VCC2和VCC1之间连接一个二极管和一个2K的电阻可得到最大电流为I 50V-07V 2K 22mA时钟日历和控制寄存器的最后一个单元是时钟日历突发多字节方式控制字当时钟日历字节在多字节方式下工作时最先的8个时钟日历寄存器可以从地址为0的第0位开始连续地读或写在指定突发方式多字节连续写时钟日历寄存器时如果写保护位设置为高电平那么没有数据会传送到8个时钟日历寄存器中的任一个DS1302与单片机的接口如图3-3所示图3-3 DS1302与单片机接口电路在图3-3中由于DS1302采用的是同步串行的工作方式它与单片机的相接的端口只有三个SCLKIO相对应的接到单片机的P02P01P00单

44、片机的P0口在用作IO口的时候要接上拉电阻X1 X2端接的是32768K的外部晶振VCC2作为主电源接到5V电源上而VCC1是DS1302的后备电源具有涓流充电的特性接的是3V的电池基于前述的内容系统在设计时时钟模块选择了DS1302com 液晶外部时钟模块液晶12232要正常工作需要接入频率为2Hz的外部时钟信号在本系统中由74HC14和电阻R电容C组成的振荡电路为12232提供时钟信号74HC14的引脚如图3-4所示图3-4 74HC14引脚图74HC14为有施密特触发器的六反相器其主要电特性的典型值如表3-4 74HC14电特性型号VtPLHtPHLPD54741408V15nS15nS

45、153mW引出端符号 1A6A 输入端 1Y6Y 输出端 逻辑图如图3-5所示图3-5 74HC14逻辑图极限值电源电压 7V 输入电压 74HC14 55V 工作环境温度 74HC14 070 存储温度 -65150功能表如表3-5表3-5 74HC14功能表推荐工作条件如表3-6所示 表3-6 74HC14工作条件最小额定最大电源电压Vcc475V5V525V输入正向阀值电压V15V17V2V输入负向阀值电压V06V09V11V滞后电压V04V08V输出高电平电流I-800A输出低电平电流I16mA74HC14应用在振荡电路中如图3-6所示图3-6 施密特反相器应用电路该电路产生的时钟信号

46、频率为具体电路图如图3-7所示图3-7 液晶的外部时钟电路在图3-7中R阻值选择63KC的电容选择100Fcom 键盘接口电路系统采用的是独立式键盘结构这是出于对单片机的端口不够的考虑为了保证按键在按下时相应的单片机端口为低电平每个按键都通过上拉电阻接到了VCC上具体的电路如图3-8所示7图3-8 键盘接口电路32系统设计思路 使软件设计的逻辑关系更加明确基于系统的设计要求硬件采用了时钟芯片DS1302单片机STC89C58RD从DS1302中读取时分秒的数据信息放入内部数据寄存器中然后单片机执行显示程序由数据口P1将DS1302的时分秒信息送入LCD12232进行显示这是系统实现走时功能的硬

47、件设计思路系统的调时和定时功能在硬件上是通过按键MOVADDOK实现的系统在上电后进入初始化的显示界面按下ADD键进入功能选择界面按下MOV键选择要执行的功能按下OK键进入所选的功能在本系统中按键MOVADDOK是一键多功能的在进入要选定的功能界面后例如时间调整界面MOV键是移动要调整的时间ADD键执行加1操作按下OK键退出到主界面这些按键的功能定义是在软件中定义好的系统在设定的时间到时会有一个控制输出在硬件上就是让接在P2_2口上的继电器动作同时接在继电器两端的发光二极管亮或灭由于继电器输出电路接的是12V的电压因此在与单片机连接的时候要做好隔离光电耦合器TLP521-1便是起到这种作用的继

48、电器是由两个三极管驱动的继电器输出模块用到了光耦TLP521-1单片机的端口不能直接驱动光耦因此在单片机端口和光耦之间加了一个三极管9013用于光耦的驱动光耦到继电器接入三极管9013目的是驱动继电器使继电器在设定时间到时能够可靠动作33硬件框图根据设计要求所设计的定时控制器硬件框图如图3-9所示图3-9系统硬件框图在图3-9中单片机是整个系统的核心其它的外围电路都是围绕单片机进行设计的时钟模块为系统提供一个数字钟键盘电路可以进行调时和定时以及功能的选择控制输出电路提供设定时间到时的标志发光二极管的亮和灭LCD让系统的显示成为现实34 系统功能说明系统在上电后首先进入初始化画面显示小组成员的姓

49、名过5秒后自动转入数字钟的显示画面按下ADD键系统进入功能选择界面时间设置开停机设置取消设置运行返回1时间设置按下OK键进入时间设置的界面分两行第一行需要设置的时间第二行确定按MOV键选择要调整的时分秒的数值按ADD键进行1操作当时间调整好以后按MOV键将选择条移动到第二行的确定再按OK键返回到数字钟的界面2开停机设置在功能选择界面选择开停机设置按下OK键进入分两行显示第一行2开停机设置第二行01组 未设置此时选择条在第二行按下OK键开始对01组时间的设置首先进入开机时间设置的界面再次按下OK键开始设置开机时间按MOV选择要设定的时分秒的数字按ADD键进行调整设定好后按OK键和MOV键进入停机

50、时间设置的界面时间设定的操作相同设定好以后按OK键和MOV键进入02组03组04组时间的设置如果开机时间设定好以后而停机时间未设置就返回那么系统会提示停机时间必须设置如果停机时间比开机时间早系统会提示停机必须晚于开机重设停机的字样当四组时间设定好后按OK键返回功能选择界面3取消设置在功能选择界面下选择取消设置按下OK键进入分两行显示第一行3 取消设置第二行01组 已设置此时选择条在第二行按MOV键选择要重设时间的那一组选定后按OK键进行取消设置操作假设我们要取消01组时间的设置按下OK键以后液晶屏会显示01组 未设置4运行当开停机时间设置好以后进入运行的界面分两行显示第一行显示当前的实时时间第

51、二行显示开停机标志开或停以及返回字样选择条在返回上当设定的开机时间未到时开停机标志显示的是停设定的时段开机时间到时开停机标志变为开与此同时控制输出部分继电器动作发光二极管亮而所设定的该时段停机时间到时开停机标志又变为停直到下一时段的开机时间到时才会变化与此同时发光二极管灭按下OK键返回到功能选择界面5返回在功能选择界面选择返回系统会返回到数字钟的显示界面35系统硬件设计电路图根据设计要求所设计的定时控制器的硬件电路如图3-10所示图3-10 系统硬件原理图在图3-10中单片机作为主控单元是整个系统的核心它的P1口与液晶的数据口相连而按键和DS1302分别接到单片机的P2口和P0口上单片机的P3

52、口使用的是它的第二功能第章 软件设计软件是一个系统的灵魂在软件的支配下硬件电路才能工作整个系统才会实现既定的功能在上章的硬件电路设计完成以后在这一章中简要的介绍了软件的设计思想主流程图等内容41 软件设计的原则软件是电路的灵魂如果没有软件那么硬件电路就形同虚设没有什么用途只有配合了软件硬件电路才可以完成人们设计它时的一些功能所以软件设计就显得比较重要了但是软件的设计是建立在硬件基础上的它是在硬件电路的基础上编写程序使得CPU能够按照人们的设想给出脉冲从而在硬件电路上实现其功能在本次设计的软件设计中单片机应用软件系统的设计包括功能模块划分程序流程确立模块接口设计以及程序代码编写依据系统的功能要求

53、将整体软件系统分割成若干个独立的程序模块在软件设计中从以下几个方面考虑了设计原则1程序代码效率C语言简洁紧凑灵活方便运算符丰富语法限制不太严格程序设计自由度大而且程序生成的代码质量高程序执行的效率高一般只比汇编语言生成的程序代码效率低1020在需要对系统硬件进行操作的场合用C语言优于其它高级语言2程序错误分析主要是对一些错误的语句的识别纠正42 系统功能模块图根据系统功能要求所设计的定时控制器软件框图如图4-1所示图4-1 系统功能模块图图4-1系统的软件设计的思路和模块其中时间读取时间校准时间设定是软件设计中的难点这也是软件设计中的主体部分43 程序流程图在软件设计时需要先对硬件的各个电路的

54、各个模块进行初始化定义图4-2 换屏模拟图流程如图4-34-4所示图4-3 开机初始化流程图在图4-3中主程序首先进行变量的初始化然后开定时器中断接着进行DS1302的初始化包括写保护禁止赋时间初值LCD清屏是调用清屏函数开机画面显示设计人姓名延时5秒后进入功能函数的循环体 图4-4 功能选择程序流程图图4-4说明功能选择程序流程液晶首先显示的是当前时间紧接其后的是等待按键按下的程序如果是ADD键按下程序进入时间调整被选中的界面如果是MOV键和OK键按下液晶将会停留在显示当前时间的界面当确定ADD键按下时系统进入时间设置被选中的显示程序之后有一个等待按键按下的程序如果MOV键按下系统进入开停机

55、设置被选中的显示程序如果ADD键按下液晶停留在当前的界面如果OK键按下系统进入时间调整的程序在上一步确定MOV键按下后系统进入开停机设置被选中的显示程序再判断按键按下情况如果MOV键按下液晶显示取消设置被选中如果OK键按下系统则进入开停机设置的程序当取消设置被选中时如果按下OK键系统会进入取消设置的程序如果按下MOV键液晶显示运行被选中如果MOV键按下液晶显示返回被选中如果OK键按下系统进入运行的界面与此同时当前时间与设定时间的比较也会进行二者相等时会把P22口置相应的值再次按下OK键系统返回到功能选择的界面若返回被选中按下OK键后系统返回到当前时间的显示第章 制作与调试前面所述的都是硬件电路

56、的设计思路和方法以及软件的流程都是理论上的而硬件制作就是把这些理论变成实物的过程系统是由硬件和软件的统一体也就是说硬件和软件相匹配才能使系统正常的工作这就需要进行调试本章的内容主要就是介绍硬件电路的制作和调试过程另外对伟福调试软件做简单的介绍51 硬件焊接在系统的总体电路图设计出来后就要开始焊接工作了通过焊接使电路变成实物使理论电路变成可以工作的能够达到设计要求能够满足模拟显示的完整的实物电路所以这也是设计中的一个不可忽视的环节它是理论电路图能否实现功能的关键也是后期能否顺利调试的关键因此这个环节很重要焊接安装时应注意以下几个问题准备好常用的工具和材料焊接电路时一套基本的工具是必不可少的如电烙

57、铁钳子改锥镊子导线和焊锡正确使用得心应手的工具可大大提高工作效率保证装配质量所有电子元器件安装前要全部检测一遍以保证元器件质量有极性的电子元器件安装时其标志最好一致以便于检查和更换集成电路的方向要保持一致以便于正确布线和查线在面包板上组装电路时为了便于检查可根据连线的不同作用选择不同颜色的导线正确的布线原则是元器件的引线要尽量短线条在拐弯时要圆滑不要有尖角导线要粗细适中避免导线与面包板之间接触不良元件在电路板最后的排列直接关系到元器件之间连接的走线排列的合理不仅使各元件之间的连接线节省美观而且在焊接时轻松不容易出错由于电路比较大所以用两块一块放芯片一块放液晶屏这样在排列器件时就轻松的多了把整个

58、板子分成4个部分STC89C58RD部分DS1302部分键盘接口部分液晶屏部分这样条理清晰就是最后的电路检查也特别的清晰明了接下来就是电路的焊接了电路的焊接是整个设计的重要环节通过这一步把一个个零散的元器件变成一个统一的整体变成一个和电路图一样的实物是完成设计的重要一步在焊接过程中进展还算是比较顺利焊接时虽然也出现了少许的虚焊短焊但这是不可避免的只要及时地检查出来加以纠正就可以了在焊完以后对一些在焊接时挨得比较近容易短路的地方进行了检测并且在焊接时使用带有绝缘表皮的连接线以尽量避免不必要的短路52 硬件调试com 焊接调试检测仪器主要是万用表它可以测量交直流电压交直流电流电阻电容及半导体二极管

59、三极管测量精度高使用方便电路焊接完毕后首先对照电路原理图认真地检查电路接线是否正确主要直观检查电源地线信号线三极管和二极管液晶12232的接线并在原理图上对查过的线路作出了标记然后一一检查了每个焊点是否有虚焊一般焊点为圆球形时容易出现虚焊仪表主要是万用表的二极管档蜂鸣器来检测电路的通断由于电路的连线比较多有好多地方肉眼是无法一下就看出问题的用仪表确定是否存在连接的地方没有连接不该连接的地方断开检查线路是否有短路和断路现象一旦发现及时的排除尤其是液晶部分一定要格外的仔细是重点检查的地方检查时发现在这个环节做得还可以没有发现误断误短的地方com 故障调试初步确定连接无误后通电进行调试先将伟福仿真器

60、的仿真头插到单片机底座上打开仿真器的电源选择硬件仿真然后上电我们是分模块进行调试的由于此时软件还没有完成首先调试继电器输出模块给P2_2口送入低电平发现继电器能动作但是与继电器相连的发光二极管不亮检查电路发现继电器有一根导线接错了修改后该模块调试成功第二个调试的模块便是DS1302由于DS1302必须要将时间显示出来才能进行调试因此要和液晶模块一同调试先将12232的程序例子载入后编译运行发现12232能够正常显示汉字和数字然后将DS1302程序载入运行后发现12232上显示的是乱码仔细检查软件后发现DS1302写入的数据和读出的数据不同而且DS1302一直被写保护禁止修正后液晶上显示的时间开

61、始变了说明现在DS1302已经启动而且能够正常走时了最后一个就是按键模块的调试了当按下某个按键是用万用表二极管档测量开关的两端万用表发出蜂鸣声说明该模块没有故障至此硬件电路完全调通com 功能调试在电路中要确保设定时间到的时候P2_2口送出的是低电平目的是为了继电器能够可靠动作DS1302要接入后备电源或者是大容量电容从而掉电时不至于失去DS1302的数据信息液晶12232要接入频率为2KHZ的外部时钟这是必需的继电器输出部分在硬件没有问题后上电发现继电器未动作时与继电器同接在三极管9013集电极的电阻发烫电阻烫的发黑了更换功率大的电阻后仍然发烫最后在老师的帮助下调整了电路这个问题得到了解决53 伟福调试软件com 伟福的特点伟福提供了一个集成调试环境它集成了编辑器编译器调试器源程序编辑编译下载调试全部可以在一个环境下完成且伟福的多种仿真器及所支持的各种CPU仿真全部集成在一个环境下可仿真MCS51系列MC

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

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

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


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