河北工业大学2012届本科毕业论文
低电压、高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元。 主控制器系统的外围接口电路由键盘、数码显示及驱动电路、晶振、看门狗电路、通信接口电路等几部分组成。主控制器系统的硬件电路原理图如图3.1所示。 P1.012P1.13P1.24P1.3P1.4P1.5P1.6P1.789C5112345678131215143112MHz+5VVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RXDTXDALE/PPSEN403938373635+5V343332212223242526272810113029+5V7447VCCaAbBcCdDefRBIgRBOGNDLT567890开定时关确认↑↓P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT1INT0T1T0EA/VPPXTAL1XTAL2RESETRDWRGND+5V100Ω ×7D4D3D2D1A1015×44.7KΩ ×4VCC30pFABCG2AG2BY0Y1Y2Y3VCC30pF19189171620DWDORESETGND74LS138MRVCCWDIMAX813L 图3.1 主控制器系统的硬件电路原理图 3.1.1 键盘的接口设计
键盘的结构形式有两种,即独立式按键和矩阵式键盘。本系统使用的是4×4矩阵式键盘,第一行从左到右为1、2、3、4,第二行为5、6、7、8,第三行为9、0、开、关,第四行为增值、减值、定时、确认。该形式的键盘,每个按键开关位于行列的交叉处,采用逐行扫描的方法识别键码。矩阵键盘的列线从左到右分别与单片机的P1.0、P1.1、P1.2、P1.3相连,矩阵键盘的行线从上到下分别与P1.4、P1.5、P1.6、P1.7相连。每当按下一个键时,对应的行线与列线就会连通,这样单片机就能检测出信号,并通过键盘扫描程序对键盘进行扫描,以识别被按键的行、列位置。 3.1.2 LED数码显示的接口设计
6
河北工业大学2012届本科毕业论文
数码显示与驱动电路由74LS138译码器、7447 TTL BCD-7段高有效译码器/驱动器、4个数码管以及5个A1015三极管组成。由单片机的P0.0~P0.3口输出的四位BCD码,经7447芯片后,翻译成7段数码管a、b、c、d、e、f、g相应的段,并输出点亮数码管相应的段。单片机的P0.4、P0.5口输出的信号经74LS138译码器后产生的高电平信号加在A1015三极管的基极,控制三极管的导通,从而起到对相应数码管的选通作用。4个7段数码管都被接成共阳极方式。 3.1.3 看门狗监控电路的设计
本系统采用MAXIM公司的低成本微处理器监控芯片MAX813L构成硬件狗,与AT89C51的接口电路如图3.1所示。MR与WDO经过一个二极管连接起来,WDI接单片机的P2.7口,RESET接单片机的复位输入脚RESET,MR经过一个复位按钮接地。该监控电路的主要功能如下:
a)系统正常上电复位:电源上电时,当电源电压超过复位门限电压4.65V,RESET端输出200ms的复位信号,使系统复位。
b)对+5V电源进行监视:当+5V电源正常时,RESET为低电平,单片机正常工作;当+5V电源电压降至+4.65V以下时,RESET输出高电平,对单片机进行复位。
c)看门狗定时器被清零,WDO维持高电平;当程序跑飞或死机时,CPU不能在1.6s内给出“喂狗”信号,WDO跳变为低电平,由于MR端有一个内部250mA的上拉电流,D导通MR获得有效低电平,RESET端输出复位脉冲,单片机复位,看门狗定时器清零,WDO又恢复成高电平。
d)手动复位:如果需要对系统进行手动复位,只要按下手动复位按钮,就能对系统进行有效的复位。
3.2 分控制器的电路设计
分控制器采用低档型的AT89C2051单片机作为微处理器,AT89C2051也是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2K bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),兼容标准MCS-51指令系统,具有15线可编程I/O口,该单片机具有体积小、成本低、结构简单、性价比较高等特点。
分控制器系统的外围接口电路由晶振、实时时钟芯片、可控硅控制电路、零点检测电路、看门狗电路、通信接口电路等组成。分控制器系统的硬件电路原理图如图
7
河北工业大学2012届本科毕业论文
3.2所示。
+5VDS1302VCC1VCC23.6VBATTERY89C20511234530pF12MHzRSTX1X2GND20pF32.768KHz+5VVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.720191817161514131211+5V100Ω+5V+5V1.5KΩSCLKI/ORST/VppRXD/P3.0TXD/P3.1XTAL2XTAL1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5GND20pFLM7805VCC+5VD3+3VOGND2220nF220nFVI1678910DD110VD2~220V30pF-LM311D41KΩ1246MOC3021330Ω+5VWDORESETGNDMRVCCWDI7404BT131330Ω39Ω~220V0.01uFMAX813L
图3.2 分控制器系统的硬件电路原理图
3.2.1 时钟芯片的接口设计
本系统利用单片机89C2051和时钟芯片DS1302进行串行数据通信,读取和写入实时数据,用于定时控制照明灯具的启停。DS1302是美国Dallas公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31日时可自动调整。
DS1302与单片机的连接仅需要3根线,即SCLK、I/O、RST。RST接在P1.7上,此引脚为高电平时,选中该芯片,可对其进行操作。串行数据线I/O与串行时钟线SCLK分别接在P1.5和P1.6上,所有的单片机地址、命令及数据均通过这两条线传输。在本系统中,89C2051为主器件,DS1302为从器件,主器件在总线上产生时钟脉冲、寻址信号、数据信号等,而从器件则相应接收数据、送出数据。对DS1302的每一次读写需16个时钟脉冲,前8个脉冲输入操作地址和读写命令。其中位7必须为1;位0为0时向芯片写入数据,为1时从芯片读出数据;位6~位1选定芯片中的地址。后8个脉冲写入或读出数据。
DS1302采用双电源系统供电,VCC1在双电源系统中提供主电源,在这种运用方
8
河北工业大学2012届本科毕业论文
式下VCC2连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由两者中的较大者供电。当VCC1大于VCC2+0.2V时,VCC1给DS1302供电。当VCC1小于VCC2时,DS1302由VCC2供电。 3.2.2 零点检测与可控硅控制电路的设计 这部分电路的设计采用单片机的I/O口灌电流的方法控制可控硅实现开关与调光控制,用光电耦合器M0C3021作为可控硅的驱动器,同时实现强、弱电的隔离。光电耦合器M0C3021通过一个非门与89C2051的P3.7口连接,当此脚输出低电平时,将会封锁住MOC3021,使双向可控硅BT131不导通,这样就会使照明灯关闭;当P3.7脚输出高电平时,使光电耦合器MOC3021打开驱动双向可控硅,从而将双向可控硅触发导通,这样就开启了所要控制的照明灯。对于照明灯的亮度调节,这里采用PWM(Pulse Width Modulation)方式,即脉冲宽度调制的简称,PWM是一种周期一定而高低电平的占空比可以调制的方波信号,当输出脉冲周期一定时,输出脉冲的占空比越大相对应的输出有效电压越大。在一个周期内的脉冲宽度(导通时间)为T1,周期为T,波形如图3.3所示。 T1TT2 图3.3 脉冲波形图 则输出电压的平均值为: U=VCC×T1/T=αVCC 其中α=T1/T(正脉冲的持续时间与脉冲周期的比值)称为占空比,α的变化范围为 0≤α≤1,VCC为电源电压。 当电源电压VCC不变的情况下,输出电压的平均值U取决与占空比α的大小,改变α的大小就可以改变输出电压的平均值,这就是PWM的工作原理。灯泡的亮度与加在灯泡两端的电压成比例,而灯泡两端的电压与可控硅的导通角成比例,这样通过调节PWM信号的占空比来控制可控硅的导通角。因此占空比越大,灯泡就越亮,当占空比α=1时,灯泡的亮度最高。 由于89C2051单片机没有PWM信号输出功能,所以在这里采用单片机定时器配合9
河北工业大学2012届本科毕业论文
软件的方法来实现PWM信号的输出。
使用PWM方法进行可控硅控制时,调制频率不能低于市电频率,因为当频率低于50Hz时,超过了人眼视觉暂留效应,用于调光将产生闪烁的现象。当调制频率大于市电频率,可控硅将处于连续导通状态而不能达到调压的目的,因此必须使用过零检测作为触发可控硅的基点。在本系统中所使用的过零检测电路如图3.2所示,先由一个变压器将市电电压转换成10V左右的电压,经过整流、稳压后可作为系统工作电源,同时将变压器次级的同名端引出一根线连接到比较器LM311的正输入端,用以检测交流电的过零点,然后将过零信号送给单片机的P1.3口上。当检测到交流电的过零点时,就去触发双向可控硅,同时通过PWM信号的输出控制双向可控硅的导通时间,最终达到控制灯泡亮度的目的。
3.3 RS485通信电路的设计
本系统的有线通信方式采用RS485总线进行通信,RS485标准支持半双工通信,只需三根线就可以进行数据的发送和接收,同时具有抑制共模干扰的能力,接收灵敏度可达±200mV,大大提高了通信距离,在100K bps速率下通信距离可达1200m,如果通信距离缩短,最大速率可达10M bps。在这里使用的是主从式通信方式,主机由主控制器充当,从机为分控制器。主机处于主导和支配地位,从机以中断方式接收和发送数据,主机发送的信息可以传送到所有的从机或指定的从机,从机发送的信息只能为主机接收,从机之间不能直接通信。主机与从机的通信电路图分别如图3.4与图3.5所示。
主机与从机选用的RS485通信收发器芯片为MAX485,它是MAXIM公司生产的用于RS 485通信的低功率收发器件,采用单一电源+5 V工作,额定电流为300 μA,采用半双工通信方式。它完成将TTL电平转换为RS485电平的功能。MAX485芯片内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;RE和DE端分别为接收和发送的使能端,当RE端为逻辑0时,器件处于接收状态;当DE端为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可,主机与从机分别使用P2.6与P1.0脚进行控制;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在进行通信时只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹
10