1、I智能灯控系统设计作者:xx 专业:电气工程及其自动化摘要:随着我国经济的快速发展,人们对于照明设备有了更多的认识。本文就是针对室内照明的能源浪费和灯具寿命缩短问题,设计了一种基于单片机控制的节能控制系统。本文介绍了这种新型室内节能控制系统的工作原理及设计方案,并且阐述了本系统的硬件组成和软件设计。该控制系统若得到推广使用可以实现各类室内照明灯具的智能控制,达到节约能源,延长灯具寿命的目的,使得该系统更具有环保、节能、管理灵活方便的优点。关键词:单片机;红外线传感系统;节能控制系统;LCD显示 目录摘要 I1 绪论 .11.1 室内照明控制系统的研究背景 .11.2 课题研究的目的和意义 .1
2、1.2.1 良好的节能效果可延长灯具寿命 11.2.2 改善工作环境,提高工作效率 .11.2.3 提高管理水平 11.3 课题研究的内容 .22 系统的组成原理 .22.1 系统组成 .22.2 系统工作原理 .2II2.3 单片机应用技术 .32.3.1 单片机的介绍 32.3.2 AT89C51 的介绍 32.3.3 AT89C51 的管脚功能 32.3.4 工作模式 32.4 人体热释红外线传感器 .32.4.1 人体热释红外线传感器组成 32.4.2 被动式热释电红外探测器工作原理 42.5 光敏三极管 .52.6 LCD 液晶显示 .52.7 看门狗 MAX813L63 系统硬件设
3、计 73.1 人体存在信号采集电路设计 .73.2 光敏三极管采光电路设计 .73.3 看门狗监控电路的设计 .83.4 LCD 液晶显示设计 .93.5 电灯的驱动电路设计 103.6 总电路图 114 系统软件设计 .124.1 功能要求和重点 124.2 软件编程 124.2.1 手动控制 .134.2.2 自动控制 144.2.3 显示程序 155 系统仿真 .165.1 仿真软件Proteus 简介 .165.2 系统电路功能仿真 165.3 手动控制 165.4 自动控制 17参考文献 .19III总结 .20附录 1 软件程序 .21附录 2 硬件电路图 .26附录 3 仿真电路
4、图 .27- 1 -1 绪论1.1 室内照明控制系统的研究背景随着人民生活水平的提高和光源的发展,人们对照明的要求越来越高,要求利用灯光营造和谐的气氛、舒适的环境,创造一种动态的效果,以及操作上的简便,传统的灯控系统一般是基于声或光控制,存在不够灵敏、精度不高、范围低等缺陷,经常会有电能的浪费。因而,依据节能、环保的要求,我们设计出智能灯控系统,可以大大提高灯控系统的可靠性、探测能力,特别适用于高校教室、楼道等公共场合,实现灯控的智能化,从而节约电能、环保,方便管理,具有重要的现实意义。1.2 课题研究的目的和意义1.2.1 良好的节能效果可延长灯具寿命当今社会人们更加注重节能环保,在照明这一
5、领域,特别是在公共场所也发生了很大的变化。因而节能应该说是照明控制系统的最大优势。传统的楼宇公共区域照明工作模式,只能是白天关灯,晚上开灯。而采用了智能照明控制系统后,可以根据不同场合、不同的人流量,进行时间段、工作模式的细分,把不必要的照明关掉,在需要时自动开启。同时,系统还能充分利用自然光,自动调节室内照度。控制系统实现了不同工作场合的多种照明工作模式,在保证必要照明的同时,有效减少了灯具的工作时间,节省了不必要的能源开支,也延长了灯具的寿命。 1.2.2 改善工作环境,提高工作效率 良好的工作环境是提高工作效率的一个必要条件。合理地选用光源、灯具及性能优越的照明控制系统,都能提高照明质量
6、。智能照明控制系统具有开关和调光两种控制方法,可以有效地控制各种照明场所的平均照度值,从而提高照度均匀性。同时,系统能根据不同的时间段,人们的不同需要,自动调节照度。 1.2.3 提高管理水平 智能照明控制系统是以自动控制为主、人工控制为辅的系统。在一般的情况下,不需要有人的参与,照明系统自动实现开关和调光功能,使人的手解放出来,既大大减少了管理人员的数量,也排除了由于人为因素而出现的不定时开关,影响学校的正常教学、生活秩序的情况。 - 2 -1.3 课题研究的内容该设计以单片机作为控制器的核心,以人体热释红外线传感器和光敏三极管为信号采集单元,再配以外围电路,通过单片机通信方式实现照明灯具的
7、智能控制,可以有效的实现对房间照明回路的智能控制,避免了照明用电的大量浪费。在系统设计中设计方法的选用是系统设计能否成功的关键。硬件电路是采用结构化系统设计方法,硬件电路的设计最重要的选择是用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统既经济又高性能。软件设计的方法与开发环境的选取有着直接的关系,本系统由于是采用 51 系列单片机,因此使用汇编语言进行开发。 2 系统的组成原理2.1 系统组成系统的结构主要由四部分组成:单片机控制系统、信号采集处理系统、LCD 显示系统和电灯电源驱动系统,达到控制照明灯具的目的。系统组成图如下图 2.1 所示。图 2.1 系统组成图外接的传感器(人
8、体释热红外线传感器和光敏三极管)将信号传送给单片机后,由单片机控制灯的开关和显示系统。软件编程是系统的灵魂,是负责完成硬件电路实现功能和与用户交互的桥梁,是维护系统正常工作的工具。2.2 系统工作原理采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光- 3 -的强度,利用人体的存在信号和环境光信号进行识别和智能判断。2.3 单片机应用技术2.3.1 单片机的介绍单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。单片微型计算机有着集成度高、处理功能强、可靠性高、抗干扰能力强、系统结构简单和价格低廉等特点,被广泛应用在智能
9、仪器仪表、工业检测控制、机电一体化上,并已取得了令人瞩目的成果,获得了较高的经济效益,对人类社会产生了巨大的影响单片机(单片微型计算机)由硬件系统与软件系统组成。硬件系统是指构成微机系统的实体与装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成1。其中运算器和控制器一般做在一个集成芯片上,统称中央处理单元(Central Processing Unit) ,简称 CPU,是微机的核心部件。CPU 配上存放程序和数据的存储器、输入/输出(Input/Output,简称 I/O)接口电路以及外部设备即构成单片机的硬件系统2。软件系统是微机系统所使用的各种程序的
10、总称,人们通过它对微机进行控制并与微机系统进行信息交换,使微机按照人的意图完成预定的任务。软件系统与硬件系统共同构成完整的单片微型计算机系统,两者相辅相成,缺一不可。2.3.2 单片机的工作模式AT89C51 有间歇和掉电两种工作模式。间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU 可根据工作情况适时地进入睡眠状态, 内部 RAM 和所有特殊的寄存器值将保持不变。这种状态可被任何一个中断所终止或通过硬件复位。掉电模式是 VCC 电压低于电源下限, 振荡器停振, CPU 停止执行指令。该芯片内 RAM和特殊功能寄存器值保持不变, 直到掉电模式被终止。只有 VCC 电压恢复到正
11、常工作范围而且在振荡器稳定振荡后, 通过硬件复位掉电模式可被终止。2.4 人体热释红外线传感器2.4.1 人体热释红外线传感器组成人体热释红外线传感器(及红外线热释电传感器)由敏感单元、阻抗变换器和滤光窗三大部分组成。敏感单元的制造材料有所不同。如,SD02 的敏感单元由锆钛酸铅制成;P2288 由LiTaO3 制成。这些材料再做成很薄的薄片,每一片薄片相对的两面各引出一根电极,在- 4 -电极两端则形成一个等效的小电容。因为这两个小电容是做在同一硅晶片上的,而它们形成的等效小电容能自身产生极化,极化的结果是,在电容的两端产生极性相反的正、负电荷。但这两个电容的极性是相反串联的。这正是传感器的
12、独特设计之处,因而使得它具有独特的抗干扰性3。滤光窗能有效地让人体辐射的红外线通过,而最大限度地阻止阳光、灯光等可见光中的红外线的通过,以免引起干扰。传感器只对移动或运动的人体和温度近似人体的物体起作用。2.4.2 被动式热释电红外探测器工作原理在电子防盗、人体探测器领域中,被动式热释电红外探测器的应用非常广泛,因其价格低廉、技术性能稳定而受到广大用户和专业人士的欢迎。被动式热释电红外探头的工作原理及特性:在自然界,任何高于绝对温度(零下 273 度)时物体都将产生红外光谱,不同温度的物体,其释放的红外能量的波长是不一样的,因此红外波长与温度的高低是相关的。人体都有恒定的体温,一般是 37 度
13、,所以会发出特定波长 10 微米左右的红外线,被动式红外探头就是靠探测人体发射的 10 微米左右的红外线而进行工作的。人体发射的10 微米左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号4。图 2.3 红外线热释电传感器工作区示意图红外线热释电传感器对人体的敏感程度还和人的运动方向关系很大,如图 2.3 所示。红外线热释电传感器对于径向移动反应最不敏感, 而对于横切方向 (即与半径垂直的方向)移动则最为敏感。在现场选择合适的安装位置是避免红外探头误报
14、、求得最佳检测灵最敏感移动方向最不敏感移动方向传感器- 5 -敏度极为重要的一环。2.5 光敏三极管通过对光敏电阻、光敏二极管、光敏三极管的比较,发现光敏三极管的光谱响应峰值比较接近人的视觉敏感区 555mm 波长,其次是当光照强度减弱时,它的响应时间相对增加,这对光敏三极管在光照强度变化时,输出状态保持相对稳定十分重要。因此,我们可以利用光敏三极管设计一个电路,使得日光灯无法正常启动或者被强制关闭从而达到节约能源的目的。2.6 LCD 液晶显示LCD 液晶显示选用 1602 芯片来实现,1602 的引脚图如下图 2.4 所示:图 2.4 1602 引脚图第 1 脚:VSS 接低电平 第 2
15、脚:VDD 接 5V 正电源第 3 脚:VEE 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:
16、D0D7 为 8 位双向数据线。1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一- 6 -个固定的代码。 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符 1602 的内部显示地址5 。2.7 看门狗 MAX813L复位电路是单片机工作必不可少的部分。目前,在市场上有许多流行的专用复位芯片。我们在设计中采用了 Maxim 公司生产的 MAX813L。因为
17、MAX813L 具有上电复位、Watchdog 输出、掉电电压监视、手动复位四大功能。在复位电路的设计中被较多地使用。MAX813L 有双列直插和贴片两种封装形式,引脚功能如下:第(1)脚为手动复位输入,低电平有效;第(2)、(3)脚分别为电源和地;第(4)脚为电源故障输入;第(5)脚为电源故障输出;第(6)脚为看门狗输入,第(7)脚为复位输出,第(8)脚为看门狗输出。MAX813L 的引脚图如下图 2.5 所示:图 2.5 MAX813L 芯片的引脚图MAX813L 芯片具有以下主要性能特点: (1) 复位输出。系统上电、掉电以及供电电压降低时,第(7)脚产生复位输出,复位脉冲宽度的典型值为
18、 200ms,高电平有效,复位门限的典型值为 4.65V。 (2) 看门狗电路输出。如果在 1.6s 内没有触发该电路(即第(6)脚无脉冲输入) ,则第(8)脚输出一个低电平信号。 (3) 手动复位输入,低电平有效,即第(1)脚输入一个低电平,则第(7)脚产生复位输出。 (4) 1.25V 时,第(5)脚输出一个低电平信号。 MAX813L 是一体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片;它使用简单、方便。它所提供的复位信号为高电平,因而是应用于复位信号为高电平场合- 7 -的单片机系统的理想芯片。3 系统硬件设计3.1 人体存在信号采集电路设计本设计采用的人体存在信号采集电路
19、的传感器是 HP-208 型号的热释电红外人体存在传感器。人体存在传感器的 1 号引脚为电源信号端,3 号引脚为接地信号端,2 号引脚为采集信号输出端。在电路设计中,为了使人体存在传感器的工作更加可靠,介于人体存在传感器的信号引脚 2 与接地信号引脚 3 之间加了一个 6800pF 的电容,另外,人体存在传感器的信号引脚 2 与单片机的 P1.0 引脚相连,P1.0 引脚再接一个 100K 的上拉电阻,增加人体存在传感器输出信号的可靠性,其电路原理图,如图 3.1 所示:图 3.1 人体存在传感器电路原理图3.2 光敏三极管采光电路设计通过对光敏电阻、光敏二极管、光敏三极管的比较,考虑到灵敏度
20、、可行性、经济性等方面的因素,本设计采用光敏三极管作为采光元件,对教室里的自然光进行采集,设计中采用 3DU5C 型号的光敏三极管。光敏传感器采光电路如图 3.2 所示,采用 LM339 电压比较芯片,组成一个三级电压比较电路。图中,取 R7=200K,40W 白炽灯光照度为强, 约 340 流明,产生光生电流为 34015/300= 17A 产生电压为 3.4V,即为光照度强;25W 白炽灯光照度为中, 约 250流明,产生光电流为 25015/300=12.5uA 产生电压为 2.5V,即为光照度中;15W 白炽灯光照度为弱,约 150 流明,产生光电流为 7.5 uA ,产生电压为 1.
21、5V,即为光照度暗。所以, 图中 V2 取 3V,V1 取 1.5V,VIN3V 光照度为强,VIN1.5V 光照度为弱,- 8 -1.5VVIN3V 光照度为中。V1,V2 通过 200K 电位器调节设定。图中是4.71/31.567V, 4.72/3 3.133V,与此不符故要使用电位器 R76。由于不同时间,不同季节光线的强弱不同,不同的天气情况有较大的影响,光控装置必须充分考虑到这些因素的影响。此外,也必须考虑到诸如闪电,车灯,浮云等一些干扰光源对探测器件的影响,特别是应该避免日出,日落时,大气层对光线的影响。对于一个全面综合的设计的来说,这些都是要考虑进去的因素,但由于自身知识的有限
22、和各方面条件的限制,使得采光方面的设计并没有达到开始时预想的程度。图 3.2 光敏三极管采光电路图3.3 看门狗监控电路的设计看门狗监控电路采用 MAX813L 芯片,MAX813L 与 AT89C51 的接口电路如图 3.3 所示。MR 与 WDO 经过一个二极管连接起来,WDI 接单片机的 P2.7 口,RESET 接单片机的复位输入脚 RESET,MR 经过一个复位按钮接地 7。- 9 -图3.3 看门狗电路图该监控电路的主要功能如下:(1) 系统正常上电复位:电源上电时,当电源电压超过复位门限电压 4.65V,RESET端输出 200ms 的复位信号,使系统复位。(2) 对+5V 电源
23、进行监视:当+5V 电源正常时,RESET 为低电平,单片机正常工作;当+5V 电源电压降至+4.65V 以下时,RESET 输出高电平,对单片机进行复位。(3) 看门狗定时器被清零,WDO 维持高电平;当程序跑飞或死机时,CPU 不能在16s 内给出“喂狗”信号,WDO 跳变为低电平,由于 MR 端有一个内部 250mA 的上拉电流,D 导通 MR 获得有效低电平,RESET 端输出复位脉冲,单片机复位,看门狗定时器清零,WDO 又恢复成高电平。(4) 手动复位:如果需要对系统进行手动复位,只要按下手动复位按钮,就能对系统进行有效的复位 8。3.4 LCD 液晶显示设计采用 AT98C51
24、驱动一片 1602 液晶显示器,使显示器第一行显示“OPEN:”;第二行显示“CLOSE:” 。其中 LM016L 与 1602 功能及用法基本相同,只是 LM016L 上没有控制背光灯的引脚 9。图 3.4 所示电路中,1602 所在库类别为“Optoelectronics”,子类别“Alphanumeric LCDs” (字符型显示器)。电路中使用了滑动变阻器 R5,其所在库类别为“Resistors” ,子类别为“Variable”(可变的)。滑动变阻器 R5 的阻值应设为 10k 。- 10 -图 3 .4 LCD 液晶显示电路3.5 电灯的驱动电路设计主电路和控制电路之间,用来对控制
25、电路的信号进行放大的中间电路(即放大控制电路的信号使其能够驱动功率晶体管) ,称为驱动电路。驱动电路的基本任务,就是将信息电子电路传来的信号按照其控制目标的要求,转换为加在电力电子器件控制端和公共端之间,可以使其开通或关断的信号。单片机发出信号通过同相驱动器 7407 驱动光电耦合器 MOC3021,然后通过 MOC3021来控制双向晶闸管的接通与断开,从而控制电灯的开关。光电耦合器能隔离单片机系统和输出部分,使两部分的电流信号独立,抗外界干扰,提高系统的可靠性。共有 3 盏灯,房间最前的一盏灯与 P2.0 口相连;房间中间一盏等与 P2.1 口相连,最后一盏灯与 P2.2口相连。参见图 3.
26、5 所示。- 11 -图3.5 电灯的驱动电路原理图光电耦合器的性能特点 :光耦的基本结构是将光发射器和光敏器的芯片封装在同一外壳内,并用透明树脂灌封充填作光传递介质,通常将光发射器的管脚作输入端,光敏器的引脚作为输出端,当输入端加电信号时,光发射器发出的光信号通过透明树脂光导介质投射到光敏器后,转换成电信号输出,实现了以光为媒介的电光电信号转换传输,并在电气上是完全隔离的。光耦的主要性能特点如下: (1) 隔离性能好,输入端与输出端完全实现了电隔离,其绝缘电阻 RISO 一般均能达到 1010 以上,绝缘耐压 VISO 在低压时都可满足使用要求,高耐压一般能超过 lkV,有的可达 10kV
27、以上 10。 (2) 光信号单向传输,输出信号对输入端无反馈,可有效阻断电路或系统之间的电联系,但并不切断他们之间的信号传递。 (3) 光信号不受电磁干扰,工作稳定可靠。(4) 抗共模干扰能力强,能很好地抑制干扰并消除噪音。(5) 光发射和光敏器件的光谱匹配十分理想,响应速度快,传输效率高。(6) 易与逻辑电路连接。(7) 无触点。寿命大。体积校耐冲击。(8) 工作温度范围宽,符合工业和军用温度标准。光电耦合器作用就是:阻断信号源跟信号接收方的电气连接,这样可以有较的阻断电气干扰。3.6 总电路图整个控制系统由人体存在信号采集电路,光信号采集电路,看门狗电路,驱动电路等模块组成。通过硬件与软件
28、的共同作用,才能实现控制功能,总电路图见附录 2。- 12 -4 系统软件设计软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机中的地位,而在计算机控制系统中,软件也是非常重要的。在照明控制系统中,硬件设备的功能是由软件来定义的,由此可见,软件是控制系统中的一个重要组成部分。4.1 功能要求和重点本设计以 AT89C51 单片机作为控制装置的智能部件,采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度;根据房间合理开灯的条件,系统通过对人体的存在信号和环境光信号的识别和智能判断,完成对房间照明回路的智能控制,避免了教室用电的大量浪费。在特殊情
29、况下可以通过手动来控制灯的开关。一号按钮控制手动与自动,二号按钮控制灯的开关盏数(按 0 次没灯开,按 1 次开 1 盏灯,按 2 次开 2 盏灯,按 3 次开 3 盏灯,按 4 次后返回到 0) 。因为放大电路和比较电路中有滞环效果所以不必在程序中考虑设置滞环。在单片机接收每一信号时要延迟 3ms 与下一信号比较以防突变。按钮的情况也是如此。当房间里没人灯全关时要延迟 30s 关灯。LCD 液晶显示要及时无误的显示灯所开的盏数,程序见附录2。4.2 软件编程如图4.1为整个程序流程图,首先给狗门电路喂狗防止出现死机的情况。由按键1被按次数R1判断是自动还是手动(按键按一次R11时程序进入手动
30、状态,按键按零次R10时程序则进入自动状态,若按两次就会返还到R10的状态) 。自动时单片机由人体存在信号采集电路和光敏三极管采光电路的信号决定是否开灯,开几盏灯。手动时单片机会由按键2所按的次数R0决定开灯的盏数(按0次全关,案1次开一盏,按2次开两盏,按3次全开,按4次则返还到按0次的状态) 。最终通过LCD液晶显示开灯的盏数和关灯的盏数。P2.0引脚接1号灯(教室里最前面的灯) ,P2.1引脚接2号灯(教室里中间的一盏灯) ,P2.2引脚接3号灯(教室里最后一盏灯) 。全开时P2=00000111B,开两盏灯时教室前后两盏P2=00000101B,开一盏灯教室中间的一盏P2=000000
31、10B,全关时P2=00000000B。- 13 -图4.1 程序流程图4.2.1 手动控制手动控制程序流程图如图4.2所示,由P1.6引脚处的按钮被按次决定手动和自动,R1=0时自动,R1=1手动控制,R1=2后返回到P1.6=0的情况。R1=1手动时按钮2被按的次数R0决定开灯的盏数(R0=0全关,R0=1开一盏灯,R0=2开两盏灯,R0=3全开,RO=4后返回到R00的情况) 。单片机收到信号后将一些情况处理,再给P2赋值。- 14 -图4.2 手动控制程序流程图4.2.2 自动控制自动控制程序流程图如图4.3所示,P1.0连接人体存在信号采集电路(有人时P1.0=1;没人时P1.0=0
32、) ;P1.1,P1.2接光敏三极管信号采集电路,P1.1接信号的高值;P1.2接信号低值。P1.0=0时程序直接跳到延迟30S程序后把灯全关了。P1.0=1时程序开始根据P1.1,P1.2的情况给P2口附值。 (P1.1,P1.2)为(0,0)表示教室里光线很暗要把灯全打开则给P2口附00000111B的值;(P1.1,P1.2)为(0,1)中等强度的光开两盏灯给P2口附00000101B的值;(P1.1,P1.2)为(1,1)关线强则把所有的灯关了给P2口附00000000B的值。- 15 -图4.3 自动控制程序流程图4.2.3 显示程序采用LCD液晶显示,程序每次执行给P2口附值后就给
33、R3附值(所要开的灯盏数) 。执行完开关灯程序后调用显示程序。显示两行,第一行显示“OPEN:#R3”,第二行显示“CLOSE:#R4”(R4关闭灯的盏数) 。- 16 -5.系统仿真5.1 仿真软件Proteus 简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿
34、真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430、Cortex和DSP系列处理器11,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。5.2 系统电路功能仿真利用 Proteus 绘制仿真图。整个仿真图的绘制过程主要有以下几部组成:首先新建一个 Proteus 的工程,在元件库里面搜索所需要的元器件,在元器件上单击右键选中,再单
35、击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出绘制各种需要的线条和其他一些相关的线条和器件,进行节点出是否连接好进行检查,为下一步的系统仿真做准备。画出的仿真电路图。仿真电路总图见附录 3 所示。5.3 手动控制在特殊情况下可以通过手动来控制灯的开关。一号按钮控制手动与自动,二号按钮控制灯的开关盏数(按 0 次没灯开,按 1 次开 1 盏灯,按 2 次开 2 盏灯,按 3 次开 3 盏灯,按 4 次后返回到 0) 。仿真结果参见图 5.3 所示。当按钮按 0 次没灯开和按 4 次后返回到 0 时,此时 3 盏灯全暗,仿真结果参见图5.3a。当按钮按 1 次开 1 盏灯,仿真结果参见图
36、 5.3b。当按钮按 2 次开 2 盏灯,仿真结果参见图 5.3c。当按钮按 3 次开 3 盏灯,仿真结果参见图 5.3d。- 17 -图 5.3 a 图 5.3 b图 5.3 c 图 5.3 d 图 5.3 手动控制仿真图5.4 自动控制通过滑动变阻器改变电阻值的大小,来实现信号强弱采集,再配以外围电路,通过单片机通信方式实现控制灯的开关。信号弱则灯不亮,随着信号慢慢变强灯亮盏数变多。仿真结果参见图 5.4。当滑动变阻器的阻值最小时,信号最弱,则灯亮盏数为 0,仿真结果参见图5.4a。随着滑动变阻器阻值的改变,即电阻值由小到大,则信号慢慢变强,此时灯亮盏数由 1 盏变到 3 盏,仿真结果参见
37、图 5.4b, 5.4c, 5.4d。当滑动变阻器的阻值达到最大时,此时信号最强,3 盏灯全亮,仿真结果见图- 18 -5.4d。图 5.4a 图 5.4b图 5.4c 图 5.4d图 5.4 自动控制仿真图- 19 -参考文献1 何立民,MCS-51系列单片机应用系统设计M 北京:北京航天航空大学出版社,2001.8089 2 康华光,陈大钦.电子技术基础M . 高等教育出版社 ,1998.97993 吴金戎,沈庆阳等. 8051 单片机实践与应用M. 北京:清华大学出版社 ,2002.1171244 张振昭,许锦标.楼宇智能化技术M. 北京: 机械工业出版社,2003.32325 孙涵芳,
38、徐爱卿. 单片机原理及应用M. 北京:北京航空航天大学出版社 ,1996.25306 赵玉安.人体热释电红外传感器介绍J 中国电子制作, 2006. 11137 俞海珍,李宪章,冯浩.热释电红外传感器及其应用J. 电子照明技术,2006.52608 房小翠,王金凤. 单片机使用系统设计技术M. 北京:国防工业出版社 ,1999.17209 王幸之,钟爱琴. AT89 系列单片机原理与接口技术 M. 北京:北京航空航天大学出版社, 2005.9713510 谢自美. 电子线路设计.实验.测试( 第二版)M. 武汉:华中科技大学出版社, 2000.11 汪世明.基于 Proteus 的单片机应用技
39、术M. 北京:电子工业出版社, 2009.6- 20 -总结该系统中人数检测采用了红外传感器,判断人员的进人与走出,从而获得教室的人数信息。光线检测采用光敏电阻,电阻变化时模块的输出电压也变化,通过变换就可得到光线等级。显示设备使用字符型液晶显示屏,显示内容更丰富,操作更简单,界面更友好。本文研究了基于 AT89C51 单片机的智能照明控制系统的设计原理与实现方法,包括硬件设计与软件设计。首先根据设计要求用 Protel 软件绘制出原理图,然后依据原理图选择元器件,在实验板上布置元器件并连接线路,对硬件电路进行测试,检查串行口是否选错,测量电源是否正常,复位电平是否正确,单片机是否正常工作等等
40、。接着就要按照功能要求编程,这里采用汇编语言编程工具,需先根据要求划分模块,优化结构;再根据各模块特点确定何为主程序,何为子程序,何为中断服务程序,相互间如何调用;再根据各模块性质和功能将各模块细化,设计出程序流程图;最后才根据各模块流程图编制具体程序。如果使用在现场环境中必然存在干扰的问题,所以抗干扰与可靠性设计就显得尤为重要。虽然系统已经考虑了可靠性设计问题,如看门狗技术、光电耦合等在电路设计中的应用,但这也只是针对部分问题做了解决,一些详细的设计还有待于解决。该系统还只是理论上设计完成,离真正的现场应用还有一定的距离。软件部分的编制也是力求简单实用,即本着实用、有效、方便的原则进行编制。
41、但一个较好的和较完善的应用软件不是在短时间内就可以完成的,它需要不断的完善和发展,需要我们做大量的工作和时间的检验。现在的系统还没有达到真正的智能化,还需要增加很多新的功能和先进的科学技术,才能达到真正意义上的智能化控制。- 21 -附录 1 软件程序RS EQU p3.0 ;定义引脚变量RW EQU p3.1E EQU p3.2LCD EQU p0BF EQU p0.7COL 1 EQU p1.0 ;有没有人COL 2 EQU p1.1 ;光照度COL3 EQU p1.2COL 7 EQU p1.6 ;自动/手动?COL 8 EQU p1.7 ;手动COL2.7 EQU p2.7ORG 00
42、00HLJMP LOOP0LOOP0: MOV R1, #00HMOV R0, #00HMOV R2, #00HLOOP1: LCALL START2 ;调用显示MOV COL2.7,#1B ;喂狗MOVB,COL7 ;判断手动/自动JZ EQ1LCALL DELAY3MS ;调用延迟3ms程序MOVB, COL7JZ EQ1INC R1 ;r1=0自动,r1=1手动,r1=2 返回r1=0EQ1: MOV A,R1CJNE A,#01H,STRAT1 ;自动CJMP LOOP3 ;手动LOOP2: MOV B, COL1JNZ START1 ;有人则自动- 22 -D30S: MOV A,#
43、2790H ;没有人延迟30S关灯LCALL DELAY3MSMOV COL2.7,#1B ;喂狗DEC AJMP D30SLCALL CLOSE3 ;3盏灯全关DELAY3MS: MOV R6,#4H ;延迟3msY3: MOV R7, #0FFHY4: NOPDJNZ R7, Y4DJNZ R6, Y3RETSTART1: MOV R1,00H ;(COL2,COL3)(0,0)弱光(0,1)中光(1,1) 强光MOV B, COL2JNZ CLOSE3 ;3盏灯全关MOV B, COL3JZ CLOSE0 ;3盏灯全开CJMP CLOSE1 ;开2盏灯LOOP3: MOV B, COL8
44、JZ LLOOP1 ;按钮循环LCALL DELAY3MSMOV B, COL8JZ LLOOP1INC R0CJNE R0, #4H,LLOOP1MOV R0,#00H ;R0到4后还原到0LLOOP1: MOV A, R0SUBB A,#00H ;R0=O全关- 23 -JZ CLOSE0MOV A, R0SUBB A,#01H ;R0=1开1盏灯JZ CLOSE2MOV A, R0SUBB A,#02H ;R0=2开2盏灯JZ CLOSE1MOV A, R0SUBB A,#03H ;R0=3全开JZ CLOSE0CLOSE0: MOV p2,#07H ;全开MOV R3, #03HCJM
45、P LOOP1CLOSE1: MOV p2,#05H ;关中间1盏灯MOV R3, #02HCJMP LOOP1CLOSE2: MOV p2,#02H ;开中间1盏灯MOV R3, #01HCJMP LOOP1CLOSE3: MOV p2,#00H ;全关MOV R3, #00HCJMP LOOP1START2: MOV R4, #03HSUBB R4, R3等待空闲子程序,该程序用于检测1602的状态,至到1602进入空闲状态时退出- 24 -WAIT: MOV LCD, #FFH ;令P0做输入口使用CLR RS ;将RS清0,RW置1SETB RWCLR ENOPSETB EJB BF,
46、 WAITRET写入指令子程序,入口参数为A,A中存储需向1602写指令W-CMD: ACALL WAITMOV LCD, ACLR RS ;将RS与RW清0CLR RWSETB E ;令E端产生下降沿使指令写入1602NOPCLR ERET写入指令数据程序,入口参数为A,A中存储需向1602写入程序的数据W-DATA: ACALL WAITMOV LCD, ASETB RS ;将RS置1,将RW清0CLR RWSETB E ;令E端产生下降沿使数据写入1602NOPCLR ERETTAB: DB OPEN:DB R3DB CLOSE:DB R4- 25 -MAIN: MOV A,#00000
47、001B ;发送清屏操作指令ACALL W-CMD ;清屏操作MOV A,#00111000B ;发送功能设置指令ACALL W-CMD ;令1602以8位数据总线双行显示5*7的字符MOV A,#00001111B ;发送显示控制指令ACALL W-CMD ;打开并使用光标闪烁MOV A,#00010100B ;发送光标移位指令ACALL W-CMD ;令光标自动右移MOV A,#10000000B ;发送DDRAM设置指令ACLL W-CMD ;将当前位置设置在00H处(屏幕第一行的起始出)MOV DPTR,#TAB ;装入查表地址MOV R0, 0SLOOP1: MOV A, R0MOVC A,A+DPTR ;将当前7个字符写入第一行ACALL W-DATAINC R0CJNE R0, #7, SLOOP1MOV A, #0C0HACALL W-CDMSLOOP2: MOV A, RMOVC A,A+DPTRACALL W-DATAINC R0CJNE R0,#15,SLOOP2 ;将后8个字符写入第二行RETEND- 26 -附录 2 硬件电路图- 27 -附录 3 仿真电路图