基于AT89C52单片机的教室灯光控制系统 下载本文

内容发布更新时间 : 2024/5/5 11:30:55星期一 下面是文章的全部内容请认真阅读。

图1 DS1302引脚

DS1302与单片机接口电路连接原理图如图3.2.5其中Vcc2外接3.6V可充电的铿电池,为DS1302的备用电源。Vcc1外接系统供电模块的输出稳定电压+5V,为DS1302的主电源。DS1302由Vcc1和Vcc2两者中较大者供电。系统正常运行时,Vcc1大于Vcc2,因此由Vcc1给DS1302供电,在主电源关闭的情况下,则由Vcc2给DS1302供电,保持时钟的连续运行。Xl和X2是振荡源,外接32. 768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送,与单片机的复位信号相连。时钟输入端SCLK接单片机P1.5引脚,进行时钟控制。数据输入/输出端I/0接单片机P1.6引脚,进行数据传输。

图3.2.5DS1302与单片机接口电路连接原理图

2.硬件时钟芯片的引脚功能及其工作原理

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器; 其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置

16

为低电平,则会终止此次数据传送,I/0引脚变为高阻态。上电运行时,在Vcc>2. 5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/0为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。 硬件时钟芯片DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB (D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护:D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB (DO)为逻辑0,指定写操作(输入),DO=1,指定读操作(输出)。

在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。

要特别说明的是备用电源,可以用电池或者超级电容器((0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时一间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3. 6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100?F就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。 3.2.6系统看门狗电路

在单片机工炸过一程中,不可避免的会由于外界的干扰而产生程序跑飞、死机甚至造成整机瘫痪等情况,为了能够恢复单片机的工作,只能采用重新复位的方法,虽然在程序设计中,一可以使用软件陷阱的方法来减少这种情沉的发生,但是不能完全解决这个问题,因此还应该在硬件设计中使用看门狗电路,这样在单片机发生死机的情况下,看门狗将产生一个夏位信号给单片机,使单片机复位重新执行程序:.现在的MCU被集成了越来越多的功能,有的集成了看门狗,如工IMP813L。还有的芯片更是把EEPROM也集成进去,如X5045芯片。由于系统需要

17

看门狗和EEPROM,所以本硬件设计中使用了美国Xicor公司生产的芯片X5045。

X5045具有三种常用的功能:看门狗定时器、复位控制和EEPROM集成在单个8个引脚封装的CMOS器件内,将电源监控和看门狗功能与高速三线非易失性存储器组合庄一起,从而在很人程度上降低了系统成本并减少了对电路板空间的要求,X5045的引脚排列如图3.2.6-1

图 3.2.6-1X5045的引脚排列

看门狗定时器的预置时间是通过X5045的状态寄存器的相应位来设定的。如表3. 2. 6状态寄存器所示,X5045状态寄存器共有6位有含义。其中WD l , WDO和看门狗电路有关,其余位和EEPROVI的工作设置有关。

表3. 2. 6状态寄存器

D7 X D6 X D5 WD1 D4 WD0 D3 BL1 D2 BL0 D! WEL D0 WIP WD1=0,WD0=0,预置时间为1.4S。 WD1=0,WD0=1,预置时间为0.6S。 WD1=1,WD0=0,预置时间为0.2S。 WD1=1,WD0=1,禁止看门狗工作。

看门狗电路的定时时间长短可山具体应用程序的循环屁期决定,通常比系统正常工作时最大循环周期的时间略长即可。本系统中X5045的硬件连接图如图3.2.6-2所示。

18

3.6.2-2 X5045的硬件连接图

系统数据存储及故障保护部分由X5045组成,X5045是一种串行通讯的512字节EEPROM,同时兼有看门狗和电源监控功能,X5045有三种可编程看门狗周期,上电和VCC低于检测门限时,输出复位信号,X5045输出复位高电平有效,为了复位更加可靠,其复位输出端外接一个10K的上拉电阻,并与AT89C52的复位端相连。看门狗能在电源上电、掉电期间产生一个复位信号。该芯片还带有一个1. 4秒的看门狗定时器可监控单片机的工作。如果在1. 4秒内未检测到其工作,出现故障,内部定时器将使看门狗WD I处于低电平状态,为系统提供保护,避免死机、程序跑飞或进入死循环等意外的发生。

X5045代表了新一代串行EEPROM的发展趋势,它的运用极大的节省了系统空间和资源,同时简化了电路设计,缩短产品开发周期。 3.2.7继电器驱动接口电路

继电器驱动接口电路如图3.2.7所示,这里继电器由相应的PNP型号的59012三极管来驱动,开机时,单片机初始化后的P3. 5/P3. 6为高电平,三极管截止,所以开机后继电器始终处于释放状态,如果P3. 5/P3. 6为低电平,三极管的基极就会被拉低而产生足够的基极电流,使三极管导通,继电器就会得电吸合,从而驱动负载,点亮相应电灯。继电器的输出端并联100欧的电阻和6800皮法电容,目的是避免继电器吸合与释放期间产生火花。每个继电器都有一对常开常闭

19

的触点,便于在其他电路中使用,继电器线圈两端反相并联的二极管是起到吸收反向电动势的功能,保护相应的驱动三极管,这种继电器驱动方式硬件结构比较简单。

图3.2.7继电器驱动电路图

3.2.8 超时报警电路

在教室中,若采用手动方式控制时,一方面由于学生及管理人员的疏忽,教室里没有人而灯还亮着,导致教室灯工作超时,能源浪费,于是本系统采用超时报警电路,以声音的方式来提醒管理人员是否关闭电源。另一方面由于学生学习紧张,在夜里忘了时间点,学习期间开灯时间过长,致使教室灯工作超时,于是本系统超时报警电路就会发出声音,提醒学生应该休息或必需改用遥控器手动方式来控制灯了。这样,还可以更好地保护公共设施。本系统采用超时报警的电路如图3.2.9的P3.4端口外加一个10K的上拉电阻,再经过限流电阻100欧与三极管C945的基极相连。当P3.4端口为低电平,即基极为低电平时,三极管导通,驱动蜂鸣器发出声音,以示教室灯工作超时。若P3. 4端口为高电平,即基极为高电平时,三极管截止,蜂鸣器不工作,教室灯工作正常。本系统采用超时报警电路方便了管理人员对教室的管理,能够更好地、及时地管理教室。

20