烟台大学毕业论文(设计)
普通高频放大PNP8550三极管,在秒信号的放大上,因为是P2.7高电平导通,所以选用普通低频放大NPN9013型号的三极管,为保护三极管,将采用五个限流电阻接在P2.1-P2.6与三极管之间。通常选用1k-10k之间,本设计采用1k的电阻。与NPN之间因为要有0.7的压差,所以选用更大的电阻此处选用2.2kΩ的电阻。三极管到两
个秒信号之间,仍用300Ω的做保护发光二极管。
由于89C51P0口内部没有上拉电阻,P0口是一组8为漏极开路双向I/O,没有电源不能输出高电平,不用上拉电阻是不能工作的,所以P0口要加上拉电阻。这样还
能让输出高电平信号更稳定,根据一般规律,此处R17-R20选用1kΩ的上拉电阻。
4.3 时钟电路及复位电路的设计
AT89C51单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊的一排一排的工作,因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常见的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟方式。 4.3.1 时钟电路 (1)内部时钟方式
89C51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚跨接石英晶体振荡器(简称晶振)和瓷介电容,就构成一个稳定的自己振荡器,图4-7为89C51内部时钟方式的振荡器电路。
图4-7 89C51时钟方式的振荡电路
电路图中的电容C1和C2典型值通常选择为30pF左右。对外界电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、起振的快速性和振荡器的稳定性。晶振的振荡频率范围通常是选在1.2MHz-12MHZ之间,本设计选用12MHz的晶振。晶振的频率会越高,则系统的时钟频率也就越高,单片机的运行速度也就越高。但是反过来运行速度快对存储器的速度要求也就越高,对印刷电路板的工艺要求也相
14
烟台大学毕业论文(设计)
应的高,即要求线间的寄生电容要小;晶振和电容要尽可能安装的跟单片机芯片靠近, (2)外部时钟方式
外部时钟方式是使用外部振荡脉冲信号,常用于多片89C51单片机同时工作,以便于多片89C51单片机之间的同步,一般为低于12MHz的方波。
外部时钟源直接接到XTAL2端,通过XTAL2端输入到片内的时钟发生器上。电路如图4-8所示。由于XTAL2的逻辑电平不是TTL,故建议接一个4.7-10kΩ的上拉电阻。
本系统只用到一片单片机芯片,不存在同步的问题,因此采用内部时钟方式。
这样可以减少寄生电容,能更好的保证振荡器稳定、可靠地工作。
图4-8 外部时钟方式振荡电路
4.3.2 复位电路 计算机在启动时,系统进入复位状态。在复位状态,CPU和系统都处于一个确定的初始状态或成为原始状态,在这种状态下,所有的专用寄存器都赋予默认值。
单片机复位电路包括片内、片外两部分,片外复位电路通过引脚加到内部复位电路上,内部复位电路在每个机器周期S5P2对片外信号进行一次采样,当RST引脚上出现连续两个机器周期的高电平时,单片机就可以完成一次复位。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的,AT89C51单片机通常采
上电自动复位电路在通电瞬间,在RC电路充电过程中,RST端出现正脉冲,从而使单片机复位。
按键手动复位电路可分为按键电平复位及按键脉冲复位两种,按键电平复位是将复位端通过电阻与Vcc相连,而按键脉冲复位电路是利用RC微分电路产生的正脉冲
来达到复位目的。
本设计采用按键脉冲复位,电路如图4-9所示。
用上电自动复位和按键手动复位两种方式。
15
烟台大学毕业论文(设计)
图4-9 复位电路
根据只要电容充电时间大于两个机器周期以上的时间,就能复位的原则,t=RC(其中电阻单位欧姆,电容单位法拉,时间单位秒),选取电容为22uf,电阻R2为200Ω。其中电阻R1为了保护电容而加入,5V本已小于C3的击穿电压,故在此,R1可选用常用的1kΩ的电阻即可。
4.4 键盘输入模块
本设计采用的是独立式非编码键盘的接口电路,连接如图4-10所示。
图4-10 键盘电路
图中的每个按键均和89C51的P3口中一条相连。若没有按键按下时,89C51从P3口读得引脚电平平均为“1”(+5V); 若某一按键被按下,则该键所对应的端口线变为低电平。单片机定时对P3口进行程序查询,即可发现键盘上是否有按键按下以及哪个
16
烟台大学毕业论文(设计)
按键被按下。从而通过程序执行相应的操作。
这五个按键实现的功能分别如下:
? AN1按下,对系统时间小时位进行调整; ? AN2按下,对系统时间分钟位进行调整; ? AN3按下,对系统时间星期位进行调整;
? AN4按下,一次时,对浇水时间进行设定,再通过AN1和AN2对需要的小时与分钟进行设定;AN4按下两次时,为对浇水时长进行设定,范围为0~9999,AN1调整千位和百位,AN2设定十位和个位;按下三次回到正常系统显示; ? AN5按下,是为了点亮星期位的小数点,表示此天不浇水,其在AN3调整到不需要浇水的天时按下,来点亮此天的小数点位。
虽然89C51的P3口内有上拉电阻,可以不用外界电阻,但是为了增强抗干扰的能力,本设计在按键电路上都接上一个上拉电阻,大小仍按习惯选用1kΩ即可。
4.5 浇水模块设计
作为系统的最终执行模块,本设计选取实现八路自动浇水的功能,在系统设置好每天浇水时间与每路浇水时长后,定时器将会在设定时间开始浇水,每路依次浇水,浇水的出口,是采用浇灌还是喷灌,由用户根据具体情况自行选用安装,水量结合设置的浇水时长与选用的水源及管道大小来具体设置。 4.5.1 ULN2803的介绍
浇水开关采用继电器的设计,因此选用了一个ULN2803,它是驱动用集成电路,片内有8路驱动器。脚1、2、3、4、5、6、7、8分别是这8路驱动器的输入,输入信号可直接是TTL或CMOS(5.0V)信号。脚18、17、16、15、14、13、12、11分别是8路驱动器输出。输出是OC门,集电极VCE=50V,驱动电流500MA。可直接驱动灯或感性负载继电器等。常连接在阵列非常适合逻辑接口电平数字电路(例如TTL,CMOS或PMOS上/ NMOS)和较高的电流/电压,如电灯、电磁阀、继电器、打印锤或其他类似的负载,广泛的使用范围:计算机、工业和消费应用。
片内8路输出都代有续流二极管,从10脚并联接出。作用是为了防止继电器断开时产生的反向高压损坏89C51。使用时9脚接地,驱动继电器时10脚接继电器驱动正电源。例:第一路1脚输入,那么18脚就是输出,驱动继电器,继电器线圈一端接继电器电源正,继电器线圈另一端接18脚。1脚加高电平,继电器就吸合。
其引脚图如图4-11所示:
17
烟台大学毕业论文(设计)
181716151413121110123456789VCCGND
图4-11 ULN2803引脚图 引脚功能如下:
1-8引脚:输入端 11-18引脚:输出端 9引脚:地端 10引脚:电源+
10脚接正极,9脚接地,1进18出,2进17出,3进16出,以此类推共8路 。 4.5.2 浇水功能的实现
通过上述ULN2803的介绍,它是一个反向器的作用,设定的浇水的一天到了浇水时刻时,P1.0-P1.7输出10000000,ULN2803的1口输入高电平,相应的18脚输出低电平,继电器K1得点,一路开始浇水,显示模块显示浇水倒计时,倒计时为0000后,P1.0-P1.7输出01000000,从而使第二路开始浇水,以此类推,完成八路自动浇水后,重新显示当前时间。
浇水电路如图4-12所示。其中二极管起到在ULN2803输出电压发生波动时,保护继电器的作用,所以选择普通的整流二极管H1N4001,发光二极管是在继电器导通时随之导通显示本路浇水,其中R9-R16为发光二极管的限流电阻,在上述计算中取大于287Ω的就可,本处选用1kΩ的作为限流电阻。
18