已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要本文介绍了基于STC89C52单片机为主控单元的电源管理系统,详细阐述了该系统的工作原理、控制策略及其硬件、软件实现。该系统由三部分组成:程序控制、单片机硬件电路和仿真部分。电源部分采用定电压模块220V交流转12V在由7805转5V直流电压分别为各部分电路提供电源。程序控制部分由时钟检测函数、LCD1602显示函数、继电器控制函数和主函数组成。硬件部分由四个模块组成:单片机最小系统、时钟芯片DS12C887、显示模块LCD1602、继电器模块。实时时钟随时与CPU进行数据通信,将DS12C887内部时钟信息显示在LCD1602显示模块上,DS12C887内部有闹钟寄存器,当初始化时间信息时,设置内部闹钟寄存器后,到达相应时间后DS12C887时钟芯片IRQ口发出中断信号给单片机外部中断INT0,当单片机发生中断之后,由继电器电路作出对LED灯的控制,从而达到对公寓电灯的点亮或关闭的控制。关键词:单片机、时钟芯片、LCD1602、闹钟信号AbstractThis article describes the main control unit MCU based STC89C52 power management system, described in detail the working principle of the system, control strategy and its hardware, software. The system consists of three components: process control, microcontroller hardware and simulation part. Constant voltage power supply modules with 220V AC to 12V DC 5V by the 7805 transfer were all part of the circuit voltage to provide power. Process control in part by the clock detection function, LCD1602 display functions, relay control function and composition of the main function. Hardware consists of four modules: SCM minimum system, the clock chip DS12C887, display module LCD1602, relay module. Real-time clock and CPU time for data communication, the DS12C887 internal clock information is displayed on the display module in the LCD1602, DS12C887 internal clock registers, when the initialization time information, set the internal clock register, the corresponding arrival time clock chip DS12C887 IRQ port issue interrupt signal to the MCU external interrupt INT0, occurs when the MCU after the break made by the relay circuit control of LED lights to achieve the lamp lit the apartment on or off the control.Key word: microcontrollers, clock chip, LCD1602, alarm signal目 录第1章 绪 论11.1 引言11.2 选题背景11.3 国内外研究情况21.4 本设计方法及应用3第2章 需求分析42.1 功能性分析42.2 可行性分析42.2.1安全性42.2.2经济性52.3系统开发环境分析5第3章 总体方案设计63.1 芯片比较63.1.1单片机选型63.1.2液晶模块的选择63.1.3时钟芯片的选择73.2 总体设计与系统原理7第4章 系统硬件设计94.1 单片机部分94.1.4 STC89C5294.2 液晶显示模块144.3 时钟芯片部分164.4 继电器模块204.4.1电源与复位电路204.4.2复位电路204.4.3通信模块电路214.4.4继电器电路22第5章 系统软件设计235.1 DS12C887时钟芯片读操作流程245.2 LCD1602液晶模块写操作流程265.3 通信模块流程28第6章 系统调试296.1软件调试296.2硬件调试316.3系统调试31结 论33致 谢34参考文献35附录 源程序代码3741第1章 绪 论1.1 引言单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的设备。随着生活水平的不断改善,学生宿舍用电设备越来越多,考虑到节约用电和安全问题,需要对宿舍各种电器设备用电时间和用电电流进行管理和控制,传统的控制方法采用手工控制,不能及时反映用电情况,在此基础上,本文介绍了基于STC89C52单片机为主控单元的智能电源管理系统,详细阐述了该系统的工作原理、控制策略及其硬件、软件实现。本系统具有配置灵活、可扩展性强等特点,适用于学生宿舍、事业单位、工厂和无人值守设备的电源管理。1.2 选题背景20世纪末,电子技术获得了飞速的发展,在其推动下微机开始向社会各个领域渗透同时大规模集成电路获得了高速发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。科技的进步带动了产品的智能化,单片机的应用更是加快了发展的步伐,它的应用范围日益广泛,已远远超出了计算机科学的领域。小到玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处都离不开单片机,此设计正是单片机的一个典型应用。而此设计可以通过实现智能照明控制,通过对时间的检测,由单片机来控制其反应情况,使其变得智能化,使学生的作息规范化,达到节约用电和安全用电的目的。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。所以,要制作一个定时系统。随时提醒这些容易忘记时间的人。定时器给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以定时为基础的。因此,研究定时器及扩大其应用,有着非常现实的意义。1.3 国内外研究情况电力系统的飞速发展对继电保护不断提出新的要求,技术、计算机技术与通信技术的飞速发展又为继电保护技术的发展不断地注入了新的活力,因此,继电保护技术得天独厚。建国后,我国继电保护学科、继电保护设计、继电器制造和继电保护技术队伍从无到有,在大约10年的时间里走过了先进国家半个世纪走过的道路。50年代,我国工程技术人员创造性地吸收、消化、掌握了国外先进的继电保护设备性能和运行技术,建成了一支具有深厚继电保护造诣和丰富运行经验的继电保护技术队伍,对全国继电保护技术队伍的建立和成长起了指导作用。阿城继电器厂引进消化了当时国外先进的继电器制造技术,建立了我国自己的继电器制造业。因而在60年代中我国已建成了继电保护、设计、制造、运行和教学的完整体系。这是机电式继电保护繁荣的,为我国继电保护技术的发展奠定了坚实基础。继电保护技术未来趋势是向计算机化,网络化,智能化,保护、控制、测量和数据通信一体化发展。随着电力系统的高速发展和计算机技术、通信技术的进步,继电保护技术面临着进一步发展的趋势。国内外继电保护技术发展的趋势为:计算机化,网络化,保护、控制、测量、数据通信一体化和人工智能化,这对继电保护工作者提出了艰巨的任务,也开辟了活动的广阔天地。人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。 1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。起初每周上一次发条,1918年使用电钟计时后,就不用上发条了。定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。现在的不少家用电器都安装了定时器来控制开关或工作时间。而且也是个多任务定时提醒软件。1.4 本设计方法及应用在本设计中,实时时钟随时与CPU进行数据通信,将DS12C887内部时钟信息显示在LCD1602显示模块上,DS12C887内部有闹钟寄存器,当初始化时间信息时,设置内部闹钟寄存器后,到达相应时间后DS12C887时钟芯片IRQ口发出中断信号给单片机外部中断INT0,当单片机发生中断之后,由继电器电路作出对LED灯的控制,从而达到对公寓电灯的点亮或关闭的控制,这时再把下一个闹钟时间点存到DS12C887里面去 等待下一个闹钟的响应。本设计可应用于家庭、企业、商业等所有需要控制时间定时开关的场合:1.用于控制通电时间长短如:电动自行车电池,手机电池,蓄电池的充电。2.用于控制需定时开与关的家用电器如:电饭煲、电热毯、饮水机、空调、广告照明等。3.需频繁通断的用电场合如花圃,草坪的间歇喷灌,鱼缸的周期性增氧过滤,喷泉等。第2章 需求分析本章对系统的功能、可行性方面、实现的目标方面进行了分析。2.1 功能性分析本电源管理系统设计由三部分组成:程序控制、单片机硬件电路和仿真部分。电源由定电压模块220V交流转12V在由7805转5V直流电压分别为各部分电路提供电源。程序控制部分由时钟检测函数、LCD1602显示函数、键盘扫描函数、继电器控制函数和主函数组成。硬件部分由四个模块组成:单片机最小系统、时钟芯片DS12C887、显示模块LCD1602、继电器模块。实时时钟随时与CPU进行数据通信,将DS12C887内部时钟信息显示在LCD1602显示模块上,DS12C887内部有闹钟寄存器,当初始化时间信息时,设置内部闹钟寄存器后,到达相应时间后DS12C887时钟芯片IRQ口发出中断信号给单片机外部中断INT0,当单片机发生中断之后,做出相应的控制。此时POWER反向并重现装载闹钟时间。系统中时钟一直是运行的,当达到另外一个设置的闹钟时间到时候,DS12C887时钟芯片IRQ口发出中断信号给单片机的外部中断INT0,这时单片机作出相应的控制。2.2 可行性分析在设计该电源管理系统之前,从安全性、经济性对本设计进行分析。 2.2.1安全性本设计采用了SRD-S-105D 5V的继电器,利用弱电控制强电,这样保证了使用的用户的安全性。串行时钟DS12C887芯片是一种高性能的时钟芯片,可自动地对秒、分、时、日、周、月、年进行计数,可以方便地与单片机接口,从而解决并行实时芯片使得电路结构复杂的问题,而且DS12C887时钟芯片没有内置电池,在电路掉电的情况下能继续计时,在电路恢复供电之后不需要校正时间因此选用DS12C887芯片。 2.2.2经济性本设计采用价格低廉的单片机AT89S52作为主要芯片,这样可是本所在成本上大大降低。也可使一般的中小用户的使用。作为一个节能型的电源管理系统,该设计具有很高的经济可行性。2.3系统开发环境分析本系统采用硬件和软件两方面共同完成。硬件:Proteus ISIS仿真软件软件:Keil C51单片机编译软件第3章 总体方案设计3.1 芯片比较3.1.1单片机选型当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种:Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。我们最终选用了ATMEL公司的STC89C52单片机。STC89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大STC89C52单片机适用于许多较为复杂控制应用场合3.1.2液晶模块的选择LCD显示器芯片的选择常用的显示器芯片有HD44780、JHD12864E、JHD0801A、VP19264、MOBI2006、LCD1602等,由于HD44780、JHD12864E、VP19264、MOBI2006芯片价格批量生产时购买价格以及在电源系统使用过程实际作用。但LCD1602在系统设计中具有高性能价格比与技术支持强因此选用LCD1602液晶显示模块。3.1.3时钟芯片的选择为实现长时无人置守的系统,我们对STC89C52进行外围扩展。常用的时钟芯片有很多,如DS12C887、 DS1307、PCF8485。经过比较选择,最终选用了DALLAS公司的DS12C887。3.2 总体设计与系统原理 经比较我们选定单片机芯片为STC89C52,时钟芯片为DS12C887。液晶模块选择LCD1602,继电器选择SRD-S-105D。在确定系统的大体形式之后,画出本系统的结构布局,方框原理如图3-1所示。CPU液晶显示屏RS232接口复位电路时钟电路时钟芯片电源按键SRD-S-105D图3-1 系统结构布局图系统由四个模块组成:单片机最小系统、时钟芯片DS12C887、显示模块LCD1602、继电器模块。实时时钟随时与CPU进行数据通信,将DS12C887内部时钟信息显示在LCD1602显示模块上,DS12C887内部有闹钟寄存器,当初始化时间信息时,设置内部闹钟寄存器后,到达相应时间后DS12C887时钟芯片IRQ口发出中断信号给单片机外部中断INT0,当单片机发生中断之后,做出相应的控制。总体设计原理图如图3-2所示。图3-2 总体设计原理图第4章 系统硬件设计4.1 单片机部分4.1.4 STC89C52STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。STC89C52单片机,支持USB口或者是串口两种下载程序方式 不用另买烧写器 编程器等产品 可以方便的烧写程序到单片机里。STC89C52包含以下部分:1.一个8位微处理器CPU2.片内数据存储器RAM和特殊功能寄存器SFR3.片内程序存储器ROM4.两个定时/计数器T0、T1,可用作定时器,也可用以对外部脉冲进行计 数5.四个8位可编程的并行I/O端口,每个端口既可作输入,也可作输出6.一个串行端口,用于数据的串行通信7.中断控制系统8.内部时钟电路STC89C52功能特性概述:STC89C52提供以下标准功能:8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,STC89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。STC89C52的芯片管脚图如图4-1所示。图4-1 STC89C52的芯片管脚图引脚功能说明:VCC电源电压;GND地P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见下表4-1。表4-1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2口P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接收高位地址和一些控制信号。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表4-2所示。表4-2端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。单片机STC89C52的P0口作为输入口。P0与DS12C887的AD相连,进行时间数据的采集;P3.7(RD)与DS12887的17脚DS相连,P3.3与DS12887的19脚IRQ相连,P2.7与DS12887的13脚CS相连;30脚ALE与DS12887的14脚AS相连。单片机的第18引脚和19引脚接晶振电路,XTAL1接外部晶振和微调电容的一端,XTAL2接外部晶振和微调电容的另一端。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。第9引脚为复位输入端,接上电容,电阻后构成上电复位电路。20引脚为接地端,40引脚为电源端。/EA端(31引脚)接+5V电压。由此就构成了单片机主控模块的最小系统,如图4-2所示。图4-2 主控电路及其最小系统电路图4.2 液晶显示模块在上一章已选定了液晶显示模块LCD1602,下面对其作进一步的介绍:1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表4-3所示。表 4-3 各引脚接口说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1602LCD的指令说明及时序液晶模块内部的控制器共有11条控制指令,如表4-4所示。表4-4 1602液晶模块内部的控制器共有11条控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。读操作时序如图4-3所示。图4-3读操作时序4.3 时钟芯片部分本系统器利用STC89C52单片机P1.5-P1.7口和DS12C87时钟芯片实现实时时钟的一种简单方法,利用该系统具有硬件结构简单、软件编程容易和价格低廉的特点。下面简单的介绍一下DS12C887。DS12887是美国DALLAS公司生产的时钟日历芯片,具有24个引脚。DS12887和MC146818B及DS1287管脚兼容。内部自带锂电池,在没有外部电源的情况下可工作十年。它有内部集成晶振。可计算到2100年前的时、分、秒、星期、日、月、年七种日历信息,并带闰年补偿。用2进制或BCD码代表日历或闹钟信息。可选用夏令时模式。可以选用MOTOROLA和INTEL两种总线模式。它采用数据地址总线复用模式。内键128字节RAM,这128字节RAM中前14字节是时钟控制寄存器。其余为通用RAM。它可以输出可编程方波。它可以产生3种可编程中断;一,时间中断,可产生每秒一次直到每天一次中断;二,周期性中断,可产生122ms到500ms周期性中断;三,时间更新结束中断。DS12C887有24个引脚,其引脚如图4-4所示。图4-4 DS12C887引脚图MOT是总线类型选择管脚,当此脚接在VCC上时选择MOTOROLA总线方式,如果此脚接在电源地上或者不接时选择的是INTEL总线模式。AD0-AD7是数据复用总线。GND是电源地。CS是片选信号。AS是ALE信号管教。R/W在INTEL总线模式下是WR。DS在INTEL总线模式下是RD,当它有效时表示DS12C887正在往总线输出数据。RD信号在贮存器芯片上被称为OE信号线。RESET是复位信号,复位信号对日历、时间、RAM无效,系统上电时,复位信号要保持200ms以上DS12887芯片才能正常工作。当复位引脚电平为低并且VCC高于4.5V时,以下情况发生。周期中断允许位清零,闹钟中断允许位清零,更新完成中断标志位清零,中断请求状态标志位清零,周期中断标志位清零,DS12887不可以操作,闹钟中断标志位清零,IRQ呈高阻状态,方波输出允许位清零,更新完成中断允许位清零。IRQ是中断请求输出,当中断状态位和中断允许位有效时,IRQ保持低电平。复位和读C寄存器都可以清除中断信号。没有中断时IRQ保持高阻状态,其它中断源还可以接到中断上。另外由于IRQ是漏极输出,因此需要外接上拉电阻。SQW是方波输出引脚,当电源电压低于4.25V时此脚没有作用。VCC是电源引脚。NC是空引脚。DS12887由晶振,周期中断/方波选择器,方波输出,寄存器ABCD,时钟/日历/闹钟RAM,114字节通用RAM,BCD/二进制数码累加器,时钟/日历更新,总线选择,电源开关和写保护这些部分组成。当VCC高于4.25V 200ms之后,芯片可以被外部程序操作。当VCC低于4.25V时,芯片处于写保护状态,所有的输入均无效,同时所有输出呈高阻状态,当VCC低于3V时,DS12887自动将供电方式改为由内部电池供电。控制、状态寄存器及其功能描述:表4-5寄存器 ABIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0UIPDV2DV1DV0RS3RS2RS1RS0UIP:更新进行标志。DV2- DV0:为 010 时晶振工作,其他组合停止。RS3- RS0:频率选择。表4-6寄存器BBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SETPIEAIEUIESQWEDM24/12DSESET:为 1 时禁止更新。为 0 时正常。PIE:为 1 时周期中断允许。AIE:为 1 时警报中断允许。UIE:为 1 时更新结束中断允许。SQWE:为 1 时方波输出允许。DM:为 0 时时间为 BCD 码,为 1 时为二进制。24/12:为 1 时是 24 小时进制。为 0 时是 12 小时进制。DSE:置 0。表4-7 寄存器CBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0IRQFPFAFUF0000IRQF:中断申请标志。PF:周期中断标志。AF:警报中断标志。UF:更新结束中断标志。表4-8寄存器DBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0VRT0000000VRT:为 0 时表示内部锂电池耗尽。4.4 继电器模块继电器模块包含了电源与复位电路,通信模块电路和继电器电路。4.4.1电源与复位电路本次设计应用的电压有+5V。220V交流电源经变压器,整流,滤波后分别进入芯片7805,产生+5V,这些电源的具体应用情况如下:+5V电源:单片机及外围电路所用电源电源电路可以采用桥式整流电路,用 4 个二极管组成的桥式整流电路可以使用只有单个次级线圈的变压器,负载上的电流波形和输出电压值与全波整流电路相同。图4-5桥式整流电路图4.4.2复位电路当单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。 1.上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。2.按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。本设计采用的是按键复位电路。复位电路图如图4-6所示。图4-6 复位电路4.4.3通信模块电路计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布,RS-2321962年发布,作为工业标准,以保证不同厂家产品之间兼容。RS-232简单有效,在此选择用RS-232作为通信模块。RS-232的8号引脚和7号引脚对应连接接口的3号和2号口,RS232的6号脚连电容后接地,5号和4号引脚对应连接电容的正负极,3号和1号脚也对应连接1UF的电容,2号脚与16号脚连接电容和电源,如图4-12所示。图4-7 通信电路4.4.4继电器电路现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全。电子继电器便能完成这一桥梁作用。当CPU接受到时钟电路发出的中断信号INT0时,继电器作出相应的控制。通过单片机的I/O口控制三极管,检测管脚是否有低电平,通过六个发光二极管来模拟电源的闭合或断开。六个LED灯模拟电源用电器。继电器电路图如图4-13所示。 图4-8 继电器电路第5章 系统软件设计软件是系统的主要组成部分,也是整个调试的重点和难点工作。本设计采用了C语言,因为C语言更接近机器语言,可以直接存取寄存器和I/O,编写的代码可以非常精确的被执行,可以编写出比一般编译系统高效的代码,可以作为不同语言或不同标准的接口。因此,依据课题设计的要求,采用C语言进行软件编程,用模块化程序设计思想,将软件划分成若干模块单元;包括:DS12887时钟显示模块、延时等模块,按键处理子程序模块,通信中断子程序。编程语言选择C语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。C程序通常由三部分组成:指令、伪指令和宏指令。C程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此C源程序一般比较冗长、复杂、容易出错,而且使用C语言编程需要有更多的计算机专业知识,但C语言的优点也是显而易见的,用C语言所能完成的操作不是一般高级语言所能实现的,而且源程序经C生成的可执行文件不仅比较小,而且执行速度很快。在这次单片机电源管理系统程序设计中我基本将程序分为主程序模块、中断定时模块、键盘扫描模块、LCD1602显示模块、DS12C887时钟模块等等。程序控制部分由时钟检测函数、LCD1602显示函数、继电器控制函数和主函数组成。实时时钟随时与CPU进行数据通信,将DS12C887内部时钟信息显示在LCD1602显示模块上,DS12C887内部有闹钟寄存器,当初始化时间信息时,设置内部闹钟寄存器后,到达相应时间后DS12C887时钟芯片IRQ口发出中断信号给单片机外部中断INT0,当单片机发生中断之后,做出相应的控制。主程序流程图5-1所示。开始初始化时间显示重新装载DS12C887闹钟寄存器时间POWER反向中断INT0未触发触发 图5-1主程序流程图5.1 DS12C887时钟芯片读操作流程首先对时钟芯片DS12887初始化,经过对状态寄存器判断之后,对DS12887进行读操作,读操作时利用时钟日历地址相邻的特点,直接使地址增加,随后判断数据是否读完了。若读完了,则返回主程序;若没有读完,则继续增加地址,直到读数据完成为止。在单片机软件设计中, 时钟是重要资源, 为了充分利用时钟资源, 故设计本时钟模块。 本模块使用定时器0,在完成用户指定功能的同时, 还能够自动处理一些其它模块中与时钟相关的信息。在程序的初始化阶段调用时钟模块的初始化函数InitTimerModule()之后,就可以使用时钟模块所以支持的各种功能。具体描述如下:延时:当用户需要进行一定时间的延时时,可以通过调用Delay()来进行,参数为时钟中断的次数。如时钟中断周期为1ms, 想进行100ms的延时, 则可以调用Delay(100)。如果延时的绝对时间小于时钟中断的周期,则不能够用本方法做到延时。定时:当程序中需要使用定时功能时,如等待某外部事件,如果在一定时间内发生则继续执行,如果在这段时间内发生,则认为出现错误,转向错误处理机制。DS12C887时钟芯片的读操作流程图如图5-2所示。判断12C887是否可读开始初始化返回等待读12C887NoYes图5-2 DS12C887时钟芯片的读操作流程图5.2 LCD1602液晶模块写操作流程本设计用的液晶模块是LCD1602液晶模块,这个模块可以进行串口通信也可以进行并口通信,由于单片机口线限制,在这里采用了串口设计思路。本设计采用了分屏显示的原理,在时间显示时显示屏一,在时间调整时显示屏二,其流程图分别如图所示。在屏一显示流程图中,显示设置液晶显示设置为全屏显示,显示界面没有光标显示,年月日的显示从第二行第一个字符开始,时分秒的显示从第三行第一个字符开始。屏一显示流程图如图5-3所示。开始清屏显示设置发送要显示字符代码显示返回设置显示字符的首地址图5-3 时间显示,屏一显示流程图有调整按键显示设置设置显示字符的首地址显示当前时间修改时间判断按键返回时间显示修改是否完成NoYes在显示屏二时应先判断是否有调整时间的请求,如果有时间调整的要求即有按键按下则显示此屏,显示此屏时先进行显示设置,因为要调整时间因此要用光标表示出要调整的位,因此显示设置中要调整出光标,调整时间时先调出当前时间,从当前时间开始调整,然后判断按键,根据按键来调整时间,调整完成之后再返回时间显示即显示屏一。屏二显示流程图如图5-4所示。图5-4 时间调整显示,屏二显示流程图5.3 通信模块流程通信模块的协议包括两部分,一部分是主机程序,一部分是从机程序。这个子程序模块的作用是通过电脑来读写、调整单片机控制电路的时间。主机程序是在电脑上运行,从远程控制时钟,可以对时钟的当前时间进行读写、调整操作。从机程序则是在单片机上运行,利用中断接收来自电脑的操作指令,并且将时间传送给电脑。通信模块流程图如图5-5所示。 开始设置串口的波特率设置串口的工作方式并允许其接受数据允许串口中断结束启动定时器T1图5-5通信模块流程图第6章 系统调试6.1软件调试STC-ISP是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。打开STC-ISP,如图6-1所示界面,在MCU Type栏目下选中单片机,如STC89C52RC。单击“Download”按钮开始下载。注意:一定要先单击“Download”按钮,然后再给单片机电路板通电。图6-1根据9针数据线连接情况选中COM端口,波特率一般保持默认。先确认硬件连接正确,按如图点击“打开文件”并在对话框内找到您要下载的HEX文件:图6-2Keil软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。软件调试是在Keil编译器下进行,源程序编译及仿真调试应分段以子程序为单位逐个进行,最后结合硬件实时调试。图6-3程序仿真6.2硬件调试硬件调试时,可先检查印制板及焊接的质量是否符合要求,有无虚焊点及线路间有无短路,断路.然后用万用表测试或通电检测,要检查管脚与晶振,电源是否连接好;复位电路是否可行。6.3系统调试软硬件结合在一起,看是否能工作正常,由于在模块调试过程中,我们把软硬件所出现的错误都调整过来了,所以系统调试通过。如图6-4所示。图6-4 实物系统工作图结 论在本设计中采用定时器控制继电器的原理。通过实时时钟随时与CPU进行数据通信,将DS12C887内部时钟信息显示在LCD1602显示模块上,DS12C887内部有闹钟寄存器,当初始化时间信息时,设置内部闹钟寄存器后,到达相应时间后DS12C887时钟芯片IRQ口发出中断信号给单片机外部中断INT0,当单片机发生中断之后,由继电器电路作出对LED灯的控制,从而达到对公寓电灯的点亮或关闭的控制,这时再把下一个闹钟时间点重载到DS12C887芯片里面去 等待下一个闹钟的响应。这样就完成了对电源的定时控制。采用相同的原理,本设计还可以运用到家庭、企业、商业等所有需要控制时间定时开关的场合,通过对时钟芯片DS12C887的设置,只需要把继电器上的LED灯换为其他用电器就可以方便使用了。致 谢感谢。参考文献1.赵海兰,朱剑,赵祥.DS1302实时显示时间的原理与应用J.电子技术,2004(1):10-132.于复生,宋现春,艾兴,王伟.时钟芯片DS1302及其在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省四平市双辽市2024-2025学年九年级上学期10月期中考试化学试题(含答案)
- 2024年移动式中转站项目资金申请报告代可行性研究报告
- 2023年房屋和土木工程服务资金需求报告
- 2024年白瓷餐具项目资金申请报告代可行性研究报告
- 赣南师范大学《解析几何》2021-2022学年第一学期期末试卷
- 阜阳师范大学《多元统计分析》2022-2023学年第一学期期末试卷
- 福建师范大学协和学院《幼儿园环境创设与教玩具设计》2022-2023学年第一学期期末试卷
- 劳务公司清算报告模板-财务管理
- 生鲜公司亏损原因财务分析报告模板
- 福建师范大学《设计基础二》2021-2022学年第一学期期末试卷
- 2024年宗教知识竞赛测试题库及答案(共100题)
- 北京2024年第一次高中学业水平合格考化学试卷真题(含答案详解)
- 教育发展未来展望
- GB/T 44146-2024基于InSAR技术的地壳形变监测规范
- 2024年湖南省中考英语试题卷(含答案)
- 卡通版名人介绍竺可桢的故事
- 2024年《公务员法》相关法律法规知识考试题库实验班
- 椎管内麻醉的相关新进展
- 河北省衡水中学2022-2023学年高一上学期综合素质检测二数学试题含解析
- 《中国溃疡性结肠炎诊治指南(2023年)》解读
- 办理宽带拆机委托书
评论
0/150
提交评论