基于单片机的多功能定时器设计.doc
《基于单片机的多功能定时器设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的多功能定时器设计.doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录1 引 言12 概 述22.1 定时开关电源插座系统概述22.2 本设计方案思路22.3 研发方向和技术关键32.4 主要技术指标33 总体设计43.1 可控开关设计的选择43.2 时钟信号的实现63.3 译码方案的选取64 硬件设计104.1 可控开关电路124.2 电平转换电路124.3 单片机系统电路144.4 显示电路165 软件设计175.1 总体方案175.2 主程序流图175.3 中断模块说明186 制作与调试196.1 硬件电路的布线与焊接196.2 调试206.3 改进与扩展207 结 论21致 谢23参考文献23附 录241.引言随着电子技术和电源技术的发展,开关电源
2、以体积小、重量轻、功率密度大、集成度高、输出组合便利等优点而成为电子电路电源的首选。定时开关电源插座,即可以定时打开或关掉电源的插座,这样既能省电又方便用户的个性化使用。 2 概 述2.1定时开关电源插座系统概述本文设计的定时开关电源插座电路系统1主要是利用单片机P89V51RD2FN作为主控制元件,通过外围电路控制可控开关的通断以达到定时开、关的目的。P89V51具有体积小、功能强大、运行速度快、价格低廉等优点,非常适合制作集成度较高的控制电路。通过键盘键入程序控制可控开关和译码器来实现数码管的显示。主板电路包括MCU P89V51 、键盘与显示、输入与输出口、可控开关和稳压等电路组成。2.
3、2本设计方案思路本设计实现通过定时电路来控制电源插座开关的通断,和时钟电路的显示为主要目的;以时钟信号的检测,信号控制,信号译码和数据显示为主要设计内容。定时器是本设计系统中的重点,时间控制器(即定时器)既可以通过纯硬件实现,也可以通过软硬件结合实现,根据时间控制器的核心部件秒信号的产生原理,通常有四种形式,如下所述。(1)采用石英钟专用芯片的实现形式采用石英钟专用芯片的实现的时间控制器,具有实现简单、计时精度高的特点。石英计时芯片比较多,常用的型号有STP5512F、SM5546A和D60400等。如结合利用5512F的2秒输出信号作为秒信号电路的计数脉冲,可实现电子时钟。(2)采用NE55
4、5时基电路的实现形式采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成时间控制器。由555构成的秒脉冲发生器电路2如图1-1所示。输出的脉冲信号Vo的频率f=1.443/(Ra+2Rb)*C,可以通过调节这3个参数,使输出Vo的频率为精确的1HZ。但这类定时器精度低,脉冲周期由外接的电阻和电容决定,常用于旋转灯光控制等。(3)采用单片机常用的时钟芯片以前,通常采用并行的实时时钟芯片计时、EEPROM作为存储器,但对一些微小型智能控制设备而言,并行实时时钟芯片封装形式大,再加上EEPROM,占用扩展线多,使电路结构很难进一步简化。Da
5、llas公司生产的串行实时时钟芯片DS13023具有实时时钟和静态RAM,采用串行通信,可方便地与单片机接口。除了在工业控制中使用外,还可以应用到一般的时钟计数上。 (4)用软件来实现定时通常利用单片机或多媒体或PLC内部的定时器,编写大量的源程序来设计,常称为软件定时器。电子定时器4可用一般数字电路搭建而成,一台四位数的定时器要用十多片数字电路组成,电路结构复杂、体积庞大,而且功能有一定的局限性。在进行定时电路设计时,如果需要定时的时间不是很精确且时间较短的话,往往采用555定时集成电路来实现。然而,若需要定时的时间较长(如1小时以上)则采用专用的集成电路定时器比较方便5,而且使用定时器专用
6、集成电路所设计的应用电路比较简单,同时调试也比较容易。本设计采用单片机作为主硬件电路,外围电路简单,配合软件设计,使用其灵活的编程实现定时,译码和时间显示等,使定时器插座可有更多的扩展功能选择。2.3 研发方向和技术关键(1)合理选取定时器方案,提高系统的精度;(2)交直流电压转换;(3)多路优先译码器的选取及扩展;(4)与微机连接进行程序的汇编输入,实现对定时功能的调试;(5)显示部分中数码管的四位一体共阴接法。2.4 主要技术指标(1)具有电子钟功能,显示为四位数(2) 可设定定时起动(开始)时间与定时结束(关断)时间(3)定时开始,指示灯亮;定时结束,指示灯灭(4)定时范围可以选择(5)
7、 开关次数:2次/天(6) 时钟日差:2秒/天(7)工作温度范围:-1050(8)工作条件:AC220V,10A,50Hz(9)使用范围:办公室电源开关、实验室电源开关等(10)插头插座孔型:插头国标三扁型3 总体设计单片机虽然种类繁多,但每片单片机内部结构都大同小异,均由控制器、运算器、存储器、输入端口、输出端口等组成。各个厂商制成了多种型号的单片机。任何一种单片机不论功能如何强大,都是通过其I/O口来发辉作用的,用户可根据所需来选择单片机的型号,引脚最少从8脚到近百脚的都有。本设计用单片机设计的体积小巧的定时器来控制电源开关插座的通电和断电,并还能作为一台数字钟使用实现时间显示。根据需要选
8、用了一片40条引脚的P89V512FN单片机6,属于飞利浦80C51系列单片机,带64KB闪存和1024字节RAM 。并且P89V51系列单片机内部包含64位FLASH的ISP(在线可编程系统)和IAP(在应用编程)。其设计的几个基本模块如下图31,包括:插头插座(孔型),控制开关,电平转换器,单片机系统,显示电路部分。三扁平插 座可控开关单片机芯 片LED显示AC/DC变压器键 盘220V50Hz 图31 定时开关电源插座的设计原理框图3.1可控开关设计的选择本设计中的定时操作是通过可控开关收到外部电路的控制信号后延时通断的。其中延时实现方式分类一般按常规可分为以下几种:a、通电延时;b、接
9、通延时;c、断电延时;d、断开延时;e、(间隔)定时;f、往复延时;g、星三角启动延时;h、程序式延时。3.1.1方案一选用普通晶闸管又叫可控硅,一种以硅单晶为基本材料P1N1P2N2四层三端器件,由于它特性类似于真空闸流管,所以国际上通称为硅晶体闸流管,简称可控硅T。又由于可控硅最初应用于可控整流方面所以又称为硅可控整流元件,简称为可控硅SCR。在性能上,可控硅不仅具有单向导电性,而且还具有比硅整流元件(俗称“死硅”)更为可贵的可控性。它只有导通和关断两种状态普通可控硅在电路中最基本的用途就是可控整流。大家熟悉的二极管整流电路属于不可控整流电路。如果把二极管换成可控硅,就可以构成可控整流电路
10、。3.1.2方案二继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。它是一种当输入量(电、磁、声、光、热)达到一定值时,输出量将发生跳跃式变化的自动控制器件。其中电磁继电器是在输入电路内电流的作用下,由机械部件的相对运动产生预定响应的一种继电器。电磁继电器的工作原理和特性如下:电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用
11、下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。 还可选用时间继电器,时间继电器是一种利用电磁原理和机械原理实现延时控制的控制电器,一般可分为通电延时型和断电延时型两种类型。断电延时时间继电器里有延时常开接点、延时常闭接点、瞬时常开接点和瞬时常闭接点。 其原
12、理如下: 当断电延时时间继电器的“线圈”断电开接点时, 延时常开接点经过设定时间后断开 ;延时常闭接点经过设定时间后接通;瞬时常开接点立刻断开; 瞬时常闭接点立刻接通。3.1.3方案选取可控硅优点如下:无触点,开断无涌流,开端速度快,可以控制过零开断。缺点:成本高,控制相对复杂,容量小,功耗大,发热严重;继电器优点:技术成熟可靠,触点容量相对较大,成本低,几乎零功耗,发热量小。缺点:开断时会产生涌流,由于反应稍慢,无法用于很精细开断控制电路中,如移向调压等。 综合考虑两种可控开关各自的优缺点,在本设计中最终是采用电磁继电器通断主电路,主要是考虑到继电器结构简单,消耗电能少体积小,成本低,且控制
13、时动作快、可靠性好。这类继电器在制成电灯定时节电开关或电风扇的定时并调速开关或电热器的定时并调温开关,或电灯的定时并调光开关或通用的定时并调压插座都有广泛的应用。 3.2时钟信号的实现在单片机的内部RAM中,需要设置显示缓冲区,显示的时分秒值是从显示缓冲区中取出的,在RAM中设置四个单元作为显示缓冲区,分别是7AH、7BH、7CH。为使电路和原理叙述方便,我们这里不显示秒值,秒的进位我们通过闪烁分值实现。这样我们一共有四位LED分别显示时和分值,同时时钟都需要校准的。在程序中还需设置显示码表,要显示的数值通过查表指令将显示用的真正码值送到LED上。我们用单片机P89V51RD2FN7的P1.5
14、,P3.6和P3.7这三个I/O口外接微动开关来实现时和分的校正,其中P1.5实现每按一次小时或分值加1,连续按下数值累计下去,实现时钟的校准。时钟的最小计时单位是秒,但使用单片机定时器来进行计时,若使用6.0MHz的晶振,即使按工作方式1工作,最大的计时时间也只能到131ms,所以我们可把每个定时时间取125ms,这样定时器溢出8次(125ms8=1000ms)就得到最小的计时单位秒。而要实现8次计数用软件方法实现是轻而易举的。我们使用定时器1,以工作方式1工作,定时器进行125ms定时。采用中断方法进行溢出次数的累计,当计满8次即得到1秒的计时。一个时钟的计时累加,要实现分、时的进位,要用
15、到多种进制,秒、分、时中的进位是十进制,秒向分进位和分向时进位却是六十进制,而每天又有十二小时制或二十四小时制,它们分别又是十二进制和二十四进制。从秒到分和从分到小时可以通过软件累加和数值比较方法实现。3.3译码方案的选取 本设计显示电路可分为三大块:键盘电路,输入端译码电路和输出控制端数码显示电路。显示电路端译码通过硬件译码或软件译码都可以实现。3.3.1方案一硬件译码,即上面的三大显示模块和显示段码完全由硬件电路设计实现,具体的硬件电路如下图32。对于相应的本系统中单片机,我们可选用简化的51系列单片机AT89C20517(20管脚),显示电路主要由七段共阳显示译码器74LS47、3线8线
16、译码器74LS138、4个PNP型三极管和四个数码管组成。通过AT89C2051的P14P17口将要显示字符的BCD码输出到74LS47的四个输人端,然后译码并输出相应的笔段来驱动LED数码管(共阳)。图32 硬件译码的电路实现图32电路图中数码管的低电平段选信号由P1口的P10P16输出,其真值表见下表31。P17输出秒闪烁信号,P3口的P30、P31输出位选信号给74LS138。74LS138被选中的端口输出低电平,PNP三极管导通,对应的数码管点亮。P32、P33、P34、P35分别作“调时”、“调分”、“定时开”、“定时减”的功能按钮开关,P37输出控制信号,使双向可控开关通电或断电,
17、控制“输出插座”接通或断开220V交流电,从而控制外接电器的工作状态。其中A/D转换器采用宽工作电压,单输入通道,串行I/O接口8位A/D转换器TLC548CP。表3.1 09显示真值表其中P32、P33、P34、P35分别作“调时”、“调分”、“定时开”、“定时减”的功能按钮开关;P37输出控制信号,使继电器线圈通电或断电,控制“输出插座”接通或断开220V交流电,从而控制外接电器的工作状态。数码管选用四位一体共阳接法,每个数码管由7段笔划组成,每段笔划由一只数码管点亮,其管压降为1.72.2V、电流520毫安。LED数码管显示采用动态扫描方式,见下图33。即在某一时刻,只有一个数码管被点亮
18、。数码管的位选信号由AT89C2051的P33P35输出,并经74LSl38译码后通过三极管放大,以驱动相应的数码管。本设计译码电路选取74LS138译码集成芯片,其管脚分布如下图34,用来驱动4个LED,从功能表上可以看出它的输出只有一个低电平,也就是可以用来用灌电流的方式进行驱动LED,工作电压Vcc=5V,输出可以直接连接LED,没有带来不稳定因素,当然实际中应该串接保护电阻,估计常用的200-300欧姆都可以。 图33 LED动态扫描电路图34 74LS138的管脚分布图从总的设计可以看出,单片机的控制输出是通过P30P32口完成的。当程序开始时,这三个口的输出状态都是低电平,AT89
19、C2051通过程序查询三路输出的ON或OFF状态预置时间是否已到,若时间到,则改变相应的输出状态,以完成对外部电路的控制。3.3.2方案二软件译码,即上面的三大显示模块和显示段码完全由软件设计实现。对于硬件译码来说,扩展多片的外部程序存储器采用多片的ROM扩展时,其片选信号CS的处理方法若采用全硬件实现,优点是扩展的各个EPROM的地址空间可以是连续的,能得到64K的完整空间;缺点是电路结构复杂,需附加译码器电路,常用的如上面提到的74138。由于单片机本身具有较强的逻辑控制能力,采用软件译码并不复杂。其译码逻辑可以随意编程设定,不受硬件逻辑限制,同时还能简化硬件电路结构。因此,在单片机应用系
20、统中使用非常广泛。综上,本设计LED译码和显示模块就是采用软件译码实现,程序编写用C语言。作为一种结构化的程序设计语言,C语言的特点就是可以使你尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性,常常被优选作为单片机系统的编程语言。用C 编写程序比汇编更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于
21、调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。 4 硬件设计本设计的硬件电路包括单片机P89V512FN电路、键盘输入与数码显示输出、信号输入与输出口、三孔扁平插座,可控开关和稳压器等电路组成。具体主要有三个模块:单片机控制数码显示模块;插座串接继电器模块;AC/DC5V输出稳压模块(如下图41)。随着外加220V/50HZ的交流电加到插座的同时,AC/DC实现电压交直流的转换,把220V的交流电变为5V的直流电用于SRD电磁继电器的工作电压。可控开关装置中的电磁
22、继电器8收到单片机高低脉冲电平的变化相应做出吸合或断开的指令控制,从而控制插座电源的通断。而单片机软件编程通过串口输入和USB接口主要实现键盘、LED显示等各模块的功能,采用C语言编程,来控制译码器译码以及数码管显示。本设计硬件部分电路图见下图42,最终完成的硬件实物图见附录2。其中本系统的核心单片机MCU P89V512FN为40脚600MIL封装,是CMOS型飞利浦80C51系列单片机,带有2KB 闪存E2PROM型。该单片机除了少了两个并口外,能兼容MCS-51系列单片机的所有功能,且具备体积小、功能强、运行速度快等特点。该电路可通过单片机的P37口连接一个键盘电路来实现对参数的人工自由
23、设定,同时可通过串口连接4位LED数码管,以分别显示小时、分钟和秒。系统定时启动是通过P30口完成的。程序开始时这三个口的输出状态都是低电平,P89V512FN通过程序查询P30口输出ON或OFF的状态预置时间是否已到,如果已到时间,则改变相应的输出状态,从而完成对外部电路的控制。单片机控制LED模块AC/DC稳压模块插座串接继电器模块220V输入P1.7控制信号220V 5V输出供电图41本设计的三大模块图42 定时部分硬件电路图如上图4-2,上半部分是数码管显示电路;下半部分是由桥式整流二极管和LM7805组成的AC/DC稳压电路,将220V的交流电压整流,滤波后输出直流5V电压用于单片机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 多功能 定时器 设计
限制150内