杭州电子科技大学本科毕业论文
3.1.1方案一
选用普通晶闸管又叫可控硅,一种以硅单晶为基本材料P1N1P2N2四层三端器件,由于它特性类似于真空闸流管,所以国际上通称为硅晶体闸流管,简称可控硅T。又由于可控硅最初应用于可控整流方面所以又称为硅可控整流元件,简称为可控硅SCR。
在性能上,可控硅不仅具有单向导电性,而且还具有比硅整流元件(俗称“死硅”)更为可贵的可控性。它只有导通和关断两种状态普通可控硅在电路中最基本的用途就是可控整流。大家熟悉的二极管整流电路属于不可控整流电路。如果把二极管换成可控硅,就可以构成可控整流电路。 3.1.2方案二
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。它是一种当输入量(电、磁、声、光、热)达到一定值时,输出量将发生跳跃式变化的自动控制器件。
其中电磁继电器是在输入电路内电流的作用下,由机械部件的相对运动产生预定响应的一种继电器。电磁继电器的工作原理和特性如下:电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。
还可选用时间继电器,时间继电器是一种利用电磁原理和机械原理实现延时控制的控制电器,一般可分为通电延时型和断电延时型两种类型。断电延时时间继电器里有延时常开接点、延时常闭接点、瞬时常开接点和瞬时常闭接点。 其原理如下: 当断电延时时间继电器的“线圈”断电开接点—时, 延时常开接点——经过设定时间后断开 ;延时常闭接点——经过设定时间后接通;瞬时常开接点——立刻断开; 瞬时常闭接点——立刻接通。 3.1.3方案选取
可控硅优点如下:无触点,开断无涌流,开端速度快,可以控制过零开断。缺点:成本高,控制相对复杂,容量小,功耗大,发热严重;继电器优点:技术
5
杭州电子科技大学本科毕业论文
成熟可靠,触点容量相对较大,成本低,几乎零功耗,发热量小。缺点:开断时会产生涌流,由于反应稍慢,无法用于很精细开断控制电路中,如移向调压等。
综合考虑两种可控开关各自的优缺点,在本设计中最终是采用电磁继电器通断主电路,主要是考虑到继电器结构简单,消耗电能少体积小,成本低,且控制时动作快、可靠性好。这类继电器在制成电灯定时节电开关或电风扇的定时并调速开关或电热器的定时并调温开关,或电灯的定时并调光开关或通用的定时并调压插座都有广泛的应用。
3.2时钟信号的实现
在单片机的内部RAM中,需要设置显示缓冲区,显示的时分秒值是从显示缓冲区中取出的,在RAM中设置四个单元作为显示缓冲区,分别是7AH、7BH、7CH。为使电路和原理叙述方便,我们这里不显示秒值,秒的进位我们通过闪烁分值实现。这样我们一共有四位LED分别显示时和分值,同时时钟都需要校准的。在程序中还需设置显示码表,要显示的数值通过查表指令将显示用的真正码值送到LED上。我们用单片机P89V51RD2FN的P1.5,P3.6和P3.7这三个I/O口外接微动开关来实现时和分的校正,其中P1.5实现每按一次小时或分值加1,连续按下数值累计下去,实现时钟的校准。
时钟的最小计时单位是秒,但使用单片机定时器来进行计时,若使用6.0MHz的晶振,即使按工作方式1工作,最大的计时时间也只能到131ms,所以我们可把每个定时时间取125ms,这样定时器溢出8次(125ms×8=1000ms)就得到最小的计时单位秒。而要实现8次计数用软件方法实现是轻而易举的。我们使用定时器1,以工作方式1工作,定时器进行125ms定时。采用中断方法进行溢出次数的累计,当计满8次即得到1秒的计时。
一个时钟的计时累加,要实现分、时的进位,要用到多种进制,秒、分、时中的进位是十进制,秒向分进位和分向时进位却是六十进制,而每天又有十二小时制或二十四小时制,它们分别又是十二进制和二十四进制。从秒到分和从分到小时可以通过软件累加和数值比较方法实现。
[7]
3.3译码方案的选取
本设计显示电路可分为三大块:键盘电路,输入端译码电路和输出控制端数码显示电路。显示电路端译码通过硬件译码或软件译码都可以实现。
3.3.1方案一
硬件译码,即上面的三大显示模块和显示段码完全由硬件电路设计实现,具体的硬件电路如下图3-2。对于相应的本系统中单片机,我们可选用简化的51系列单片机AT89C2051(20管脚),显示电路主要由七段共阳显示译码器74LS47、3线-8线译码器74LS138、4个PNP型三极管和四个数码管组成。通过AT89C2051的P1.4~P1.7口将要显示字符的BCD码输出到74LS47的四个输人端,然后译
6
[7]
杭州电子科技大学本科毕业论文
码并输出相应的笔段来驱动LED数码管(共阳)。
图3-2 硬件译码的电路实现
图3-2电路图中数码管的低电平段选信号由P1口的P1.0~P1.6输出,其真值表见下表3.1。P1.7输出秒闪烁信号,P3口的P3.0、P3.1输出位选信号给74LS138。74LS138被选中的端口输出低电平,PNP三极管导通,对应的数码管点亮。P3.2、P3.3、P3.4、P3.5分别作“调时”、“调分”、“定时开”、“定时减”的功能按钮开关,P3.7输出控制信号,使双向可控开关通电或断电,控制“输出插座”接通或断开220V交流电,从而控制外接电器的工作状态。其中A/D转换器采用宽工作电压,单输入通道,串行I/O接口8位A/D转换器TLC548CP。
表3.1 0-9显示真值表
其中P3.2、P3.3、P3.4、P3.5分别作“调时”、“调分”、“定时开”、“定时
7
杭州电子科技大学本科毕业论文
减”的功能按钮开关;P3.7输出控制信号,使继电器线圈通电或断电,控制“输出插座”接通或断开220V交流电,从而控制外接电器的工作状态。数码管选用四位一体共阳接法,每个数码管由7段笔划组成,每段笔划由一只数码管点亮,其管压降为1.7-2.2V、电流5-20毫安。
LED数码管显示采用动态扫描方式,见下图3-3。即在某一时刻,只有一个数码管被点亮。数码管的位选信号由AT89C2051的P3.3~P3.5输出,并经74LSl38译码后通过三极管放大,以驱动相应的数码管。本设计译码电路选取74LS138译码集成芯片,其管脚分布如下图3-4,用来驱动4个LED,从功能表上可以看出它的输出只有一个低电平,也就是可以用来用灌电流的方式进行驱动LED,工作电压Vcc=5V,输出可以直接连接LED,没有带来不稳定因素,当然实际中应该串接保护电阻,估计常用的200-300欧姆都可以。
图3-3 LED动态扫描电路
图3-4 74LS138的管脚分布图
从总的设计可以看出,单片机的控制输出是通过P3.0~P3.2口完成的。当程序开始时,这三个口的输出状态都是低电平,AT89C2051通过程序查询三路输出的ON或OFF状态预置时间是否已到,若时间到,则改变相应的输出状态,以完成对外部电路的控制。
8
杭州电子科技大学本科毕业论文
3.3.2方案二
软件译码,即上面的三大显示模块和显示段码完全由软件设计实现。 对于硬件译码来说,扩展多片的外部程序存储器采用多片的ROM扩展时,其片选信号CS的处理方法若采用全硬件实现,优点是扩展的各个EPROM的地址空间可以是连续的,能得到64K的完整空间;缺点是电路结构复杂,需附加译码器电路,常用的如上面提到的74138。
由于单片机本身具有较强的逻辑控制能力,采用软件译码并不复杂。其译码逻辑可以随意编程设定,不受硬件逻辑限制,同时还能简化硬件电路结构。因此,在单片机应用系统中使用非常广泛。
综上,本设计LED译码和显示模块就是采用软件译码实现,程序编写用C语言。作为一种结构化的程序设计语言,C语言的特点就是可以使你尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性,常常被优选作为单片机系统的编程语言。用C 编写程序比汇编更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。
9