数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计1数理与信息工程学院《单片机原理及应用》期末课程设计题目:智能控制开关的设计专业:电子信息工程班级:电信041班姓名:李浩然学号:04610116指导老师:余水宝成绩:15格式规范,属于自己的东西少(2007.1)数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计2目录第1节引言......................................................11.1智能控制开关概述............................................11.2本设计任务..................................................1第2节智能控制开关硬件设计..................................32.1系统的硬件构成及功能........................................32.2AT89C51单片机及其引脚说明...................................32.3DS12887时钟芯片及引脚说明...................................42.4键盘控制和实时显示电路......................................52.5密码、时间设置掉电存储电路..................................72.6电源电路....................................................82.7开关控制电路................................................8第3节系统软件设计............................................93.1系统主程序设计.............................................9第4节系统调试与测试结果分析..............................124.1使用的仪器仪表.............................................124.2系统调试...................................................13结束语...........................................................14参考文献........................................................15附录.............................................................16数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计3智能控制开关的设计数理与信息工程学院电信041李浩然指导老师:余水宝第1节引言在自动测控系统中,特别是长时间无人值守的测控系统中,经常需要进行长达几小时的定时操作。若采用单片机设计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。由于DS12887时钟芯片能很好地解决以上问题,因此,我们基于该芯片设计了一款智能控制开关。1.1智能控制开关概述卧们所设计的智能控制开关是由单片机89C51控制电路、按键与LCD显示电路和掉电存储电路以及电源电路组成,电路十分的简单,主要由51芯片编程实现,功能十分的强大,时间精度非常高,是一款比较实用的智能开关,同时也是一件有欣赏价值的工艺艺术品。1.2本设计任务要求:(1)密码保护和设置;(2)实时显示和定时控制显示;(3)密码和定时断电保护;(4)准时对开关进行控制(开和关);(5)写出详细的设计报告;(6)给出全部电路和源程序。数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计4第2节智能控制开关硬件设计2.1系统的硬件构成及功能智能开关控制的原理框图如图2所示。它由以下几个部件组成:单片机89C51、电源电路、掉电存储电路、开关控制、键盘输入和显示以及电源电路组成。时间显示采用LCD1602,以降低对单片机端口数的要求,同时也降低系统的功耗。时间控制电路和键盘输入以及掉电存储都通过89C2051的I/O口控制。电源部分:电源部分由整流、滤波和集成稳压器组成,以保证系统稳定工作。EEPROM存储器AT89C51电源DS12887时钟LCD1602显示键盘输入开关控制图2-1智能开关控制系统原理框图2.2AT89C51单片机及其引脚说明AT89C51单片机是51系列单片机的一个成员,内部自带4K字节可编程FLASH可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,与IntelMCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C51构成的单片机系统是具有结构简单、造价低廉、效率高的微控制系统,减少了硬件开销,节省了成本,提高了系统的性价比。AT89C51是一个有40个引脚的芯片,引脚配置如图3所示。与8031相比,AT89C51自带4K的ROM和128B的RAM,因此编写中小型系统就无需任何硬件进行扩展。数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计5图2-2AT89C51引脚配置AT89C51芯片的40个引脚功能为:VCC:电源电压。GND:接地。RST:复位输入。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡放大器的输出。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计6/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。P0口:8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:8位双向I/O口。引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。在闪速编程与编程校验期间,P1口也可接收编码数据。P2口:带内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:引脚P3.0~P3.7为带内部上拉的双向I/0引脚。P3口的输出缓冲器能接收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。P3口也可用作特殊功能口,其功能见表1。P3口同时也可为闪速存储器编程和编程校验接收控制信号。表2-1P3口特殊功能P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计7P3.5T1(定时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)2.3DS12887时钟芯片及引脚说明DS12887如下图4所示,它可直接替换IBMAT计算机的时钟/日历与MC146818B和DS1287管脚兼容在掉电方式下持续工作十年以上内部包含锂电池,时钟和辅助电路系统记量秒、分、小时、星期、日期、月、年和润年直到2100年用二进制或BCD码表示时间,日历和闹钟12或24小时方式,有上下午的12小时方式夏时制方式可选择使用Motorola或Intel总线时序。地址、数据管脚复用128字节RAM空间,14字节用于时间和控制寄存器,114字节用于普通用途可编程方波输出信号总线兼容的中断信号(IRQ)可分别通过软件屏蔽的三个中断:1、闹钟、每秒或每天2、122ms~500ms周期性中断3、时钟更新周期结束图2-3DS12887引脚配置GND,VCC:直流电源+5V电压。当5V电压在正常范围内时,数据可读写;当VCC低于4.25V,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器被切换到内部锂电池。MOT(模式选择):MOT管脚接到VCC时,选择MOTOROLA时序,当接到GFND时,选择INTEL时序。SQW(方波信号同):SQW管脚能从实时时钟内部15级分频器的13个抽头中数理与信息工程学院《单片机原理及应用》期末课程设计——智能控制开关的设计8选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。AD0~AD7(双向地址/数据复用线):总线接口,可与MOTOROLA微机系列和INTEL微机系列接口。AS(地址选通输入):用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。DS(数据选通或读输入):DS/RD客脚有两种操作模式,取决于MOT管脚的电平,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总的时刻,在写周期,DS的后沿使DS12887锁存写数据。选择INTEL时序时,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。R/W(读/写输入):R/W管脚也有两种操作模式。选MOTOROLA时序时,R/W是一电平信号,指示当前周期是读或写周期,DSO为高电平时,R/W高电平指示读周期,R/W低电平指示写周期;选INTEL时序,R/W信号是一低电平信号,称为WR。在此模式下,R/W管脚与通用RAM的写允许信号(WE)的含义相同。CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断条件满足时,IRQ处于高阻态