资源描述
陕西理工学院毕业设计
鸡舍智能补光器的设计
(陕西理工学院 物理与电信工程学院 电子信息工程专业, 级 班 ,陕西 汉中 723003)
指导教师:
【摘要】在鸡的养殖过程中,鸡舍环境对鸡的生长和产蛋质量影响较大,鸡舍的灯光控制是蛋鸡饲养中的重要一环。本设计以STC89C52单片机为主控设计了时钟控制与光照控制相结合的鸡舍补光电路。其中,实时光照监控模块能够实现不同天气,不同季节鸡舍灯光的实时监测;时钟电路模块设定冬/夏两个不同季节的固定补光时间段,以使鸡舍内的光照强度保持恒定。有效的促进了雏鸡的生长,蛋鸡的产蛋率及质量得以提高。并能根据鸡生长的不同阶段调节补光时间段。并以12864LCD液晶能够实时显示夏季补光时间、冬季补光时间、自动补光时间、休息时间(通过切换模块)。与高端的鸡舍灯光控制器相比,虽然功能较少,但实现了基本的补光功能,满足了实际需要,同时成本较低,基本上能够适合于中小规模的养鸡场。
【关键词】固定补光;实时监控;光照控制;时钟控制
The design of Intelligent lighting device on pheasantry
(Class , , School of Physics and Electronic Information Engineering,Electronics and Information Engineering Dept,Shaanxi University of Technology,Han zhong 723003,Shaanxi)
Tutor:
[Abstract] In the process of chicken breeding, there have an influence on the growth of chicken and egg quality by pheasantry environment, so the light control is an important measure in laying hens breeding. This design using STC89C52 MCU as the main control core and designed a light control circuit on pheasantry combine with time and illumination control .Among them, the real-time monitoring module can realize light real-time monitoring in the different weather or different seasons; Clock circuit module set fixed fill light time between two different seasons of winter/summer, so that make the light intensity constant in the henhouse. Promoting the growth of the chicks effectively, improving the rate of laying hens and quality. And can adjust the light according to the different stages of chickens grow period. And 12864 LCD can display real-time fill light summer time and winter time, automatic light time, and rest time (by switching module). Compared with the high-end light controller, though less functional, but realized the basic function of fill light, meet the actual needs, at the same time, lower cost, basically can be suitable for small and medium-sized chicken farm.
[Keywords] light control; clock control; fixed fill light; real-time monitoring.
陕西理工学院毕业设计
目录
1 引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
2 设计思路 3
2.1 设计要求 3
2.2 方案论证 3
2.3 设计内容 3
2.4 设计方案 4
3模块电路设计 6
3.1 电源电路设计 6
3.2 过零检测电路 6
3.3 光控检测电路 7
3.3.1 光敏电阻工作原理 7
3.3.2 ADC0832芯片介绍 7
3.3.3 光控检测工作原理 8
3.4 时钟控制电路 8
3.4.1 LCD12864介绍 8
3.4.2 DS1302芯片介绍 9
3.4.2 单片机芯片STC89C52原理 9
3.5 晶振电路 13
4软件设计 14
4.1编程软件简介 14
4.2系统软件调试 15
5 硬件安装与调试 17
5.1系统硬件调试 17
5.2系统整体调试 18
总结 21
致谢 22
参考文献 23
附录A 外文文献 24
附录B 中文翻译 28
附录C 主电路原理图 31
附录D 主电路PCB图 32
附录E 实物图 33
附录F 元器件清单 34
附录G C语言源程序 35
陕西理工学院毕业设计
1 引言
1.1 课题背景
光照时间及光照强度与鸡的代谢、活动及行为关系密切。对蛋鸡来说,光照对蛋鸡的产蛋时间、蛋的质量、性成熟等各方面都具有较大的影响。所以育成鸡的蛋鸡光照时间一定要适宜,因为时间过短会推迟蛋鸡的性成熟,产蛋量也会减少,过长则会使蛋鸡性成熟提前,过早成熟的鸡不仅产蛋率低,蛋的质量也差。
对肉鸡来说,光照时间对肉鸡生产性能有极其重要的影响。对于小日龄的肉鸡而言,光照时间太短,会减慢增重;对于大日龄的肉鸡而言,在一定范围内,光照饲料的转化率越高,鸡的生长速度越快,死亡率也越低。因为雏鸡的视线较弱,所以只有充足的光照强度和光照时间才能使它们熟悉环境,找到水料。而对于其他日龄的蛋鸡和肉鸡而言,过强的光照,会使鸡烦躁不安,造成严重的神经质、啄癖恶癖。光照突然增强将使蛋鸡产畸形蛋,对肉鸡的采食率和饲料转化率也有很大的影响。
科学的养鸡方法为:鸡舍白天正常采光,夜间依靠灯光进行补光。经验表明补光分两时段为宜:即天黑后延续一段时间,次日凌晨前补充一段时间,由于季节的差异,要求夏天少补、冬季多补、阴雨常补。
1.2 国内外研究现状
在国外,由于一些大型养鸡场对鸡舍光照强度调控设备的需求量迅速增加,导致一部分发达国家的鸡舍光照强度调节控制设备在极短的时间内发展了起来,逐步向自动化、智能化发展。从20世纪中后期以后,计算机等新兴技术的发展使得鸡舍光照控制得到了很大的进步,鸡舍光照调控设备制造产业很快得到发展并且成为一项新型的产业。美国、加拿大等发达国家投入精力研发可以帮助养户进行管理和提高自动控制的辅助设备,光照控制系统已经广泛的应用在现代化养鸡场中。国外的鸡舍光强调节控制设备在设计过程中,不仅追求良好的调控效果,而且重视能源和人力的节约。
国内的研究人员对鸡舍的灯光也做了很多的研究:2011年,罗光毅、李天华、张真等人设计了基于LED光源的大型养鸡场照明系统,此外还采用三基色LED光源设计LED灯具,并与PC机、LED灯光控制器、灯光编辑软件组成LED灯灯具照明系统。1996年田泽正设计的新型鸡舍灯光自动控制器,利用继电器、光敏电阻和三极管组成的光电控制电路来控制灯光的工作,同时光电控制电路是用双向晶闸管控制,实现了灯光的渐亮渐暗。1994年郑绍仪、连树旺设计了鸡舍光电式自动灯光调节装置,原理是利用可控硅单相交流调压器组成的主电路来控制灯光。
国内有人以AT89C51单片机为主控,采用光敏电阻构成的电路来检测环境中光的强度,根据蛋鸡需要的光照条件,通过对环境光信号的智能判断,完成了鸡舍照明回路的智能控制。整个系统由光敏电阻采集光强,然后送入单片机进行处理,再通过单片机来控制鸡舍的灯光。与此同时也将环境亮度检测、人工定时控制、液晶显示加入到了系统中。
因地域或季节的不同,自然光照有时达不到要求,所以要采用人工补光。以往补光习惯在晚上进行,但实际工作中,晚上因为是用电高峰期,所以光照强度往往达不到要求还会经常停电,这样的话不仅达不到补光的目的,还使得当日的最后一次喂料也不能正常进行。介于这个原因,常常采用清晨补光,来弥补晚上补光的缺陷。清晨补光的优点:清晨补光可以避免因晚上用电高峰而使鸡舍光照不足,或因停电使补光不能正常进行的现象;夏季因为晚上天气炎热,蛋鸡食欲会下降,清晨空气凉爽,会避免鸡采食减少的问题;冬季夜间寒冷,清晨补光可使鸡群通过采食和运动来增加产热维持鸡舍温度;以往晚上补光,鸡群每日的产蛋高峰在上午,下午收集完鸡蛋后只能等第二天出售。鸡蛋放在鸡舍内受到老鼠、苍蝇等的污染,不仅从外观上影响了蛋的新鲜度,而且因蛋内水分的蒸发减少了蛋重,影响收入。
第 59 页 共 58 页
另外还要注意以下6点:
(1) 一定要制定周全详尽的光照计划,并且付诸行动,切不可半途而废。
(2) 在育成期,每天的光照时间应保持恒定或逐渐减少,切记不能增加光照时间。
(3) 在产蛋期,每天的光照时间应保持恒定或逐渐增加,切记不能减少,必须特别注意的是光照时间的增加应该是逐渐的,否则容易造成鸡的脱肛等病症的发生。
(4) 不能随意改变光照时间和光的颜色,否则会使鸡停产。一般都采用红色或白色光照,其结果无论在产蛋量及蛋的质量方面都有改进,而且能防止或减少啄羽、啄肛、斗殴等恶癖的发生。同时对鸡的生长和饲料消耗等方面也能收到较好的效果。
(5) 光照强度应该均匀一致。并且灯光应该逐渐明或渐暗,否则会引起鸡群的应激反应,突然关灯或把光照时间缩短太快都会引起换羽、产畸形蛋、甚至停产等不良后果。
(6) 必须加强饲养管理措施学习,切实做好鸡的疫病防治工作,以确保人工光照的效果。
1.3 本课题研究内容
本课题主要研究如何给鸡舍补光。要求鸡舍有足够时间(18小时)的光照,时间在凌晨4点到晚上10点之间。也有给鸡一定的休息时间。本设计采用常见的电子元器件实现光照控制和时钟控制相结合的控制电路。与高端的鸡舍灯光控制器相比,虽然功能较少,精度不高,但实现了基本的控制功能,满足了实际需要,同时大大降低了成本,适合于中小规模的养鸡场。与低端的鸡舍灯光控制器相比,功能比较完备,控制效果要更好。
2 设计思路
2.1 设计要求
本设计采用常见的电子元器件实现光照控制和时钟控制相结合的控制电路,使鸡舍光照时间恒定为凌晨4点到晚上10点之间的18小时,在晴天实现傍晚、凌晨双时段补光,同时解决阴雨天气补光的问题,在季节变换时也不需要调节,真正的实现自动补光。基本满足了实际需求,适用于中小规模的养鸡场。
2.2 方案论证
系统的方案有三种:
(1)方案一 恒光强电路
设定鸡舍内的光照强度,对鸡舍内光照强度进行检测,与设定值比较后输出控制信号,控制补光设备补光,使鸡舍内的光照强度恒定。
(2)方案二 光照延时电路
白天利用自然光照,傍晚从某一设定时刻开始补光,用延时装置控制补光设备补光一段时间。
(3)方案三 光照、时钟双控电路
用时钟电路设定需要补光的时间段和不需要补光的时间段,在需要补光的时间段内,光照控制电路控制补光设备补光,使鸡舍内的光照强度恒定。
方案一比较容易实现,但不够科学,没有考虑鸡的生活习性,另外耗能也比较大;方案二节约了电能,充分利用了自然光,但不易实现凌晨补光和阴雨天的补光,延迟补光的开始时间也需要随着季节的改变而改变,不方便调节;方案三具有方案一、二的优点,同时弥补了其缺陷:在夜晚设定了不补光的时间段,使鸡能够休息好,在补光的时间段保持鸡舍内的光照强度恒定,在晴天实现了傍晚、凌晨双时段补光,同时解决了阴雨天气补光的问题,在季节变换时也不需要调节。因此采用方案三。
2.3 设计内容
照度是反映光照强度的一种单位,其物理意义是照射到单位面积上的光通量,照度的单位是每平方米的流明数(Lm),也叫勒克斯(Lux);1Lux=1Lm/平方米,上式中光照强度可用照度计测量,但一般的鸡场与养鸡户没有,因此可用简便的公式I=K·W/H进行计算。式中I为光照强度(勒克斯),K=0.9(常数),W为用于人工光照的白炽灯泡瓦数,H为灯泡至鸡体的距离(米)。
适宜的光照可以提高蛋鸡的产蛋率,加快肉鸡的增重速度,加强雏鸡血液循环、增加食欲、有助于钙磷代谢、增强免疫力。但是,如果光照时间过长或过短,光照过强或过弱,都会对鸡产生负面影响。人工光照和自然光照比最大优点是能做到人为控制,使光照时间和光照强度达到最适宜的程度。
补光原理如图1所示。
图1 补光原理图
如图1所示,光照控制和时钟控制两种控制方式叠加在一起就是补光的实际效果,夏季补光实现了凌晨提前二个小时补灯光,天亮后接受自然光,天黑后延续二个小时补光。随着昼夜时差;春、夏、秋、冬补光时间自行调节,冬季补光时间相对最长,补光时间可提前及延长4小时之久。通过光敏电阻调整,还可以有阴雨天全天自动补光的功能。
2.4 设计方案
首先,利用光敏电阻特性设计一个光控检测电路。没有光照时,给单片机相应引脚一个高电平信号,有光照时给该引脚一个低电平信号(设为输入信号)。再利用单片机软件实现时钟控制:当有输入信号时,单片机相应引脚为高电平;当没有输入信号时,且时间在凌晨四点到晚上十点时,单片机该引脚为低电平信号(设输出信号),如果不在这个时间段,该引脚仍为高电平。通过过零检测电路判定220v的交流电是否过零点,如果是,则开启交流导通进行补光。
本方案是以单片机为主体的设计方案,系统框图如图2所示。
直流稳压电源
光控检测电路
时钟电路
过零检测电路
晶振电路
单片机
液晶显示
LCD12864
市电
LED灯开关电路
降压
图2 系统框图
本设计是用220v的市电给整个系统供电,通过直流稳压电源将220v的交流电转换为5v的直流电给单片机及以单片机为主体的各模块电路供电。光控检测电路和时钟控制电路实现了光照控制和时钟控制相结合的控制电路,使鸡舍光照时间恒定为凌晨4点到晚上10点之间的18小时,在晴天实现傍晚、凌晨双时段补光。实现了对鸡舍进行自动补光实时监控。
3 模块电路设计
3.1 电源电路设计
图3电源电路图
如图3所示,AC1和AC2是交流电形成回路,U1是对220V市电进行变压、整流、滤波、稳压后获得5V的直流稳压电源,为光控监测电路、时钟控制电路、液晶显示电路提供低压直流电源,光控监测电路、时钟控制电路对控制量进行处理后控制主电路中补光设备的运行,进行补光。自锁开关是开启和断开液晶显示屏,当按下的时候1、2导通,开关开启;再按开关上弹,开关断开。C1和C2是对5V直流电源再次滤波,以获得更稳定的5v直流电。
3.2 过零检测电路
过零检测电路指的是当交流系统中,当波形从正半周向负半周转换时,经过零位时,系统作出的检测。可作为开关电路或者频率检测。本设计中是当作开关电路。
过零检测主要的作用是做过零触发,避免大电流的开关状态。过零检测的作用可以理解为给主芯片提供一个标准,这个标准的起点是零电压,可控硅导通角的大小就是依据这个标准。也就是说塑封电机高、中、低、微转速都对应 一个导通角,而每个导通角的导通时间是从零电压开始计算的,导通时间不一样,导通角度的大小就不一样,工作原理如图4。
图4 过零检测电路
220V的交流电首先经过电阻分压,然后进行光电耦合,假设输入的是A相电压,则在A相电压由负半周向正半周转换时,图4中三极管Q2导通并工作在饱和状态,会产生一个下降沿脉冲送入单片机的INT0引脚使系统进入中断程序。微机系统进入中断程序后,发出采样命令并从采样保持器读取电流值,这个电流值即为A相的电流,经过1/4个周期电压达到最大值,此时对电压进行采样,得到U1,由 U1=1.414U可以得到电压有效值U。
3.3 光控检测电路
3.3.1 光敏电阻工作原理
光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的碲化物、硫化物、硒化物等半导体。通常是采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。在黑暗环境里,光敏电阻的阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子—空穴对半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子—空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到波长的光线照射时,电流就会随光强的而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可以加直流电压,也可以加交流电压。半导体的导电能力取决于半导体导带内载流子数目的多少。
表1 5537光敏电阻的基本参数
基片尺寸
5.1±0.2mm
亮电组
暗电阻
最大电压
最大功耗
环境温度
光谱峰值
响应时间
1Ω-10Ω(≥100LUX)
≥2MΩ
150V
100mW
-30°C - +70°C
540nm
上升30ms;下降30ms
如表1,根据光敏电阻工作原理,当光照小于100LUX时,光敏电阻阻值大于等于2MΩ,当光照大于100LUX时,光敏电阻阻值30ms内迅速变小最后阻值介于1Ω-10Ω。单片机STC89C52引脚电压大于1.8V视为高电平,低于0.7V视为低电平。该模块设计中,要求有光照(大于100LUX)时,输入信号为低电平;没有光照(小于100LUX)时,输入信号为高电平。
3.3.2 ADC0832芯片介绍
ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换芯片。它的体积小,兼容性强,性价比高,深受单片机爱好者及企业欢迎。
ADC0832具有以下特点:
● 8位分辨率;
● 双通道A/D转换;
● 输入输出电平与TTL/CMOS相兼容;
● 5V电源供电时输入电压在0~5V之间;
● 工作频率为250KHZ,转换时间为32μS;
● 一般功耗仅为15mW;
● 8P、14P—DIP(双列直插)、PICC多种封装;
● 商用级芯片温宽为0°C to +70°C,工业级芯片温宽为40℃ to +85℃。
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。由于ADC0832是8位分辨率,返回的数值在0~255之间,对应模拟数值为0~5V,因此每一档对应的电压值约为0.0196V。
3.3.3 光控检测工作原理
图5 光控检测电路
如图5所示,ADC0832是将采集过来的0~5V的模拟电压信号转换为0~255V的数字信号。R10是光敏电阻,连接R11小电阻是为了避免R10直接接5V电源和地,不管外界光强如何变化电压始终恒定的误区。CHO接ADC0832,使得R10两端的电压随着外界光强的变化而变化(光照强时,R10电阻减小,电压减小;光照弱时,R10电阻增大,电压增大)。
U=5v
所以,R10两端的电压范围为: 到 之间,本设计中将根据光照强度以百分比显示实际光照强度和补充光照强度,真正的做到了实时监控的作用。
3.4 时钟控制电路
3.4.1 LCD12864介绍
LCD是液晶显示器的缩写,它是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或黑底白字显示的目的。液晶显示器具有省电,抗干扰能力强等优点,因此被广泛应用在智能仪器仪表和单片机测控系统中。
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
液晶体积小、功耗低、显示操作简单,但是它有个致命的弱点,其使用的温度范围很窄,通用型液晶正常工作温度范围为0℃-+55℃,存储温度范围为-20℃- +60℃,即使是宽温级液晶,其正常工作温度范围也仅为-20℃- +70℃,存储温度范围为-30℃- +80℃。
由于本系统需要显示年月日时分秒还有光照强度,所以用字符型液晶LCD12864足以满足要求。12864液晶主要技术参数如下表2所示。
表2 12864液晶主要技术参数表
显示容量
128×64个字符
芯片工作电压
工作电流
模块最佳工作电压
点尺寸
4.8-5.2V
4.0mA(5.0V)
5.0V
0.44×0.60(W×H)mm
3.4.2 DS1302芯片介绍
DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信 实时时钟/日历电路。提供秒分时日日期月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1 RES 复位,2 I/O 数据线,3 SCLK串行时钟。时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302 是由DS1202 改进而来,增加了以下的特性。双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器。它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域。
3.4.2 单片机芯片STC89C52原理
(1) STC89C52单片机简介
STC89C52单片机是STC公司制作的一种性能优秀,功耗较低的微控制器系统,单片机内部存在8K的可编程控制的Flash内部存储器。STC89C52单片机使用的是传统的51底层内核,但是在标准51内核上进行了大量的优化和改动,在性能上相对传统的51单片机有了显著地提高,并且增加了大量的经典51单片机无法实现的功能模块。在芯片内核,存在高效的8为CPU和可多次擦出重写的可控Flash,这些特性使得STC89C52单片机在众多的嵌入式控制系统中具有极大的竞争优势,并且它相对于更高效的ARM器件有着巨大的成本优势,这些优点使得STC89C52单片机占有了大量的市场资源,跻身为目前流传使用度最高的单片机控制系统之一。
STC89C52单片机是由STC公司生产的一种高性能的、低功耗的CMOS8位微控制器,具有 8K 的系统可编程Flash存储器。STC89C52单片机使用的是经典的C-51内核,但是做了很多的改进使得芯片具有传统51单片机所不具备的许多功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多的嵌入式控制应用系统提供了高灵活的解决方案,成为目前广泛使用的单片机微控制器之一。 STC89C52拥有如下基本功能: 8k字节的可编程Flash,32 位的I/O 输入输入端口,512bit的RAM内核,4个外部中断, 内置4KB EEPROM,看门狗定时器,3个16 位定时器/计数器等等。使用STC89C52单片机可以完成所有基本的对于微控制器控制系统的编程和处理方法。
(2) STC89C52单片机的结构和端口资源
STC89C52单片机拥有一共40个外部端口,根据功能特性可以划分为主电源模块、多复用功能的I\O端口、外部连接晶振荡、控制和复位等。它能够完成复杂的控制问题,且成本较低,应用范围广。其结构管脚如图6所示。
图6 STC89C52的管脚图
STC89C52存在4个8位的并行I/O输入输入端口:分别为P0、P1、P2、P3端口,相对应的外部接口分别是P0.0 ~ P0.7,P1.0 ~ P1.7,P2.0 ~ P2.7,P3.0 ~ P3.7,总计32条I/O线,每一条线能够独立作为输入或输出端口。
1)P0端口,这个端口功能实现了一个8位的双向I/O端口。而在端口对外部的程序或者输入的数据存储器实现读写时,P0端口可以作为多路复用的低字节地址/数据总线,只有在这个条件时,P0端口存在内部上拉电阻。
2)P1端口,这个端口是内部存在上拉电阻的8路双向I/O输入输出端口,当给该端口写入“1”的时候,内部的上拉电阻把该端口电压置高,在这个时候该端口作为输入口使用。并且,P1.0和P1.1端口能够设置成定时/计数器,如表3所示。
表3 P1口管脚复用功能表
端口引脚
复用功能
P1.0
T2(定时器/计算器2的外部输入端)
P1.1
T2EX(定时器/计算器2的外部触发端和双向控制)
P1.5
MOSI(用于在线编程)
P1.6
MISO(用于在线编程)
P1.7
SCK(用于在线编程)
3)P2端口,这个端口是内部存在上拉电阻的8路双向I/O输入输出端口,当给该端口写入“1”的时候,内部的上拉电阻把该端口电压置高,在这个时候该端口作为输入口使用。
4)P3端口,这个端口是内部存在上拉电阻的8路双向I/O输入输出端口,当给该端口写入“1”的时候,内部的上拉电阻把该端口电压置高,在这个时候该端口作为输入口使用。
在STC89C52中,P3端口也存在着大量的复用功能,如表4所示。
表4 P3口管脚复用功能表
端口引脚
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
1)PSEN的程序存储允许信号。它是用来读取外部程序存储器。
2)RST复位功能连接端口。在晶振工作的时候,在这个引脚上连续出现两个机器周期的高脉冲时,内部电路将单片机做复位处理。
3)ALE/PROG地址锁存的控制端口。每当从存储器读取数据的时候,该端口发送信号作为锁存低字节地址。在对Flash存储器编程时,这个端口可以输入编程脉冲PROG。
4)EA/Vpp外部读写数据控制端口。为了使单片机可以正确的从地址为0000H~FFFFH的外部ROM中接受到代码,所以要把EA置低,所以接到地端。然而,如果程序锁位1,EA在复位锁存。
5)XTAL1振荡器的反相放大器输入,内部时钟工作电路的输入。
6)XTAL2振荡器的反相放大器输出。
3.4.3 时钟控制工作原理图
图7 时钟控制工作原理图
如图7所示,本设计12864的 D0-D7八个数据口与单片机P0口相连,其余引脚与单片机的接法如图7所示。P1、P2是排阻,起到上拉电阻的作用。单独的P0口驱动能力弱,上拉电阻增加其流过的电流,进而增加了驱动能力。P3也是上拉电阻,增加信号的驱动能力。DS1302是时钟芯片,Y2是频率为32.768KHZ的晶振,为DS1302的内部时钟提供计时脉冲。主要是实现补光时间的设定。D1是3V的电池,避免外部电路断电时继续给DS1302供电,使时钟继续工作。按键K6是调界面,K5是调节时间界面,K4是加1操作,K3是减一操作,K1是确定键。
3.5 晶振电路
简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。
MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHz,则一个机器周期就是1us。而DJNZ指令是双周期指令,所以执行一次要2us。
机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHz晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。
每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
STC89C52内部有一个用于构成片内振荡器的高增益反相放大器, 振荡器产生的信号送到CPU, 作为CPU的时钟信号,驱动CPU产生执行指令功能的机器周期。引脚XTAL1和XTAL2是此放大器的输人端和输出端。对外接电容C3和C4的值虽然没有严格的要求, 但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡的接法的快速性和温度稳定性。外接石英晶体时, C3和C4一般取(40pF-10pF),外接的是石英晶体, 所以,C3、C4选择标称值30pF。
系统振荡电路如图8所示。
图8 晶振电路
如图8所示,12MHZ的晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。所以,本设计中,执行一条指令的时间是1us。
4 软件设计
本系统软件程序主要实现时间设定、液晶显示、LED灯亮灭的转换等功能。
4.1编程软件简介
Keil uVision4软件是由Keil Software公司推出的最经典的单片机软件集成开发环境, Keil uVision4比起Keil uVision3或Keil uVision2界面感觉舒服,是众多单片机应用开发软件中最优秀的软件之一。提供了包括C语言编译器、连接器、宏汇编、库管理,具有可视化的操作界面,使用极其方便。它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑、编译、仿真于一体,界面友好,易学易用,在调试程序、软件仿真方面也有很强大的功能,能够完成51系列及与之兼容的绝大多数类型的单片机的程序设计和仿真。本系统就是在Keil uVision4中采用模块化程序设计,用C语言进行编写源程序。
图9 Keil uVision4操作界面
操作界面如图9所示,可以看出Keil uVision4编辑状态的操作界面主要由五部分组成,分别是:菜单栏、编辑窗口、工程管理器窗口、工具栏、输出信息窗口。本设计程序用C语言编写,详见附录G。
程序流程如图10所示。
初始化子程序
显示 界面
有光照
Y
傍 晚
补 光
清 晨
补 光
N
实 时
监 控
休息时间
开 始
4点~22点
调节时间
结 束
图10 程序流程
图10是本设计C语言源程序的流程图,时间调节模块分为夏季、冬季、自动补光时间、休息时间,初始化程序后,在判断有光照的前提下,4点~22点为光照时间,在夏季清晨、傍晚各两小时补光时间,冬季清晨、傍晚各四小时补光。此外,显示界面显示夏冬两季固定补光时间的开始、结束和剩余,自动补光时间的实际光强和需补充的光强。
4.2系统软件调试
本设计采用模块化程序设计,所以软件方面首先要保证各个子程序模块(包括液晶显示模块、按键操作模块、时钟控制模块等)能正确运行。如果能实现预定功能,则说明程序正确,如图11所示。
图11 Keil uVision4操作界面
5 硬件安装与调试
系统调试可以验证系统是否能够完成设计要求功能和检验功能。如果硬件是系统的躯体,那么软件就是系统的灵魂,只有将软硬件结合起来才能完成设计要求,所以系统的调试主要是系统的硬件与软件调试并将两者结合起来达到最终效果。
5.1系统硬件调试
Altium Designer是一款功能强大的电子设计软件,它的前身是protel,所以有用过protel软件的同学会发现它的操作界面大致相同,与前几个版本相比Altium designer具有的亮点:
● 提供了将设计数据管理置于设计流程核心地位的全新桌面平台
● 提供了新的维度,以供器件数据的搜寻和管理,确保输出到制造厂的设计数据具有准确性和可重复性
● 为设计环境提供供应链信息的智能链接,确保对元器件的使用有更好的选择
● 提供了涵盖整个设计与生产生命周期的器
展开阅读全文