1、1教室人数监视及照明控制系统摘 要:为响应国家节能减排的号召,我 们设计制作了教室人数监视及照明控制系统。本系统以 AT89S52 单片机为基础,利用 220V 交流电供 电,主要可实现以下功能:1)感应光线强弱并判断是否需要开灯。利用光敏电阻,通过 A/D 转换,根据需要设定修改光线设定值,当光线达到设定值时灯亮,光 线低于设定值时灯不亮。2)根据人数的多少控制 LED 灯点亮的数目。利用两组对射式光电开关,根据产生高低电平的顺序区分人的进出,单片机对人数进行加减计数,当人数在 5 人之内亮一盏灯, 5-10 人亮两盏灯,10-15 人亮三盏灯。3)根据实际需要的不同,利用按键对亮灯人数的限
2、定值进行修改。4)液晶 1602 实时显示当前室内人数。5)单片机和上位机进行 RS-232 通信,利用计算机实时监控室内当前人数的变化。关键词:单片机 220V 供电 光敏电阻 AD 转换 光电开关 液晶 RS-232 通信 Abstract:In response to the call of the national energy-saving emission reduction, we designed a number of classroom monitoring and lighting control systems. The system is based on a sin
3、gle chip AT89S52, using 220V AC power supply, to achieve the following main functions: 1) The light sensor to determine whether strong or weak and need to turn on the lights. The use of light resistance, through the AD conversion, according to the need to modify configuration settings of light, when
4、 the light reached when the lights settings, set the value lower than the light does not shine lights. 2) according to the number of how much control the number of lit LED lights. The use of two photoelectric switch to radio, according to the order of high to distinguish between low-level entry and
5、exit of people, the number of single-chip to carry out addition and subtraction of the count, when the number of people in 5 bright lights a bright 5-10 2 lights, 10-15-liang 3 lights. 3) According to the actual needs of the different buttons on the light use of the limited value of the number of mo
6、difications. 4) LCD displays the current indoor 1602 the number of real-time. 25) single-chip microcomputer and PC to RS-232 communications, the use of the computer the number of real-time monitoring of changes in the current room.Key words: single-chip power supply 220V Photosensitive resistor conv
7、ersion AD Photoelectric switch LCD RS-232 communication1 总体设计思路和方案目前高校室内照明大多是依靠人工区分光线强弱和人数来控制灯的亮灭和灯点亮的数目,这样不仅非常麻烦,而且对能源产生了很大浪费。为了节约用电,我们设计制作了教室人数监控及照明系统。本系统将主要实现以下几个功能:感应光线强弱并判断是否需要开灯;根据人数的多少控制 LED灯点亮的数目;利用按键对亮灯人数的限定值进行修改;液晶实时显示当前室内人数;计算机实时监控室内当前人数的变化。我们利用光敏电阻、对射式光电开关、上位机,以及控制模块、电源供电模块、A/ D 转换模块、液晶显
8、示模块、按键控制模块、LED 照明模块和 RS-232 通信模块七个功能模块,共同构成一个系统来实现以上功能。系统方案框图如图 1 所示:控制模块A/D 转换模块显示模块对射式光电开关光敏电阻LED 照明模块上位机显示人数RS232-通信模块按键控制模块电源供电模块感应光线强弱 高低电平计数图 1 系统方案框图2 方案比较与论证2.1 控制方式的选择3方案一:采用 PLC 控制。PLC 控制比较简单方便,系统也比较稳定,但是 PLC 价格昂贵,成本高,不适合小型电路设计。方案二:采用单片机控制。单片机价格便宜,成本低,易于操作,特别是常用的AT89S52 单片机控制,技术已经比较熟练,完全可以
9、实现本系统所需要的各种功能。考虑到成本问题,我们选择方案二。针对单片机不稳定的缺点,可以采用隔离等措施解决。2.2 电源的选择方案一:采用干电池。用干电池方便稳定,但是电压会随着使用慢慢降低,使用时间也受到限制,需要经常更换电池或给电池充电。方案二:采用稳压电源。自行设计制作电源,输入 220V 交流电,输出 5V 直流电,大大增加了使用时间。因为照明控制系统应长时间供电,所以选择方案二。2.3 显示模块的选择方案一:采用数码管。数码管价格便宜,操作简单,显示清晰。但是要显示较多字符,则需要的数码管就很多,这就使得单片机的管脚过多被占用,造成单片机管脚资源紧张。方案二:采用 LCD1602 液
10、晶。LCD1602 可以显示 2 行 16 列字符,可通过 8 位或 4 位数据总线控制,使用方便,占用 I/O 口少。为了节省单片机管脚资源,我们选择方案二。2.4 按键的选择方案一:采用 4X4矩阵式键盘,占用 8个 I/O口,且键盘数目多。方案二:采用独立式键盘,一个键盘占用一个 I/O口,适应于键盘数目少的场合。因为本系统用到 8个按键,数目比较少,因此我们选择方案二。2.5 上位机编程语言的选择方案一:采用组态软件。组态软件使用方便,动画丰富,主要用于工控,控制单片机有时还需开发驱动,比较麻烦。如果购买正版组态软件,成本较高。方案二:采用 Visual Basic6.0 语言。VB
11、软件下载方便,成本低,与单片机通信的编程技术比较成熟,可以完成本系统所需的控制需求。综合以上,我们选择方案二。2.6 光电开关的选择方案一:采用对射式光电开关。检测距离为 1至 20m,工作电压为直流 5-36V。它的价格比较贵,但是反应灵敏,检测距离远,测量结果精确。方案二:采用漫反射式光电开关。漫反射式光电开关价格比较便宜,反射板式检测距离为 10cm 至 50cm,检测距离近,测量结果不准确。因为本制作重在演示,只要达到演示效果即可。为了降低成本,我们选择方案二。3 系统硬件设计3.1电源电路设计4图 2 电源模块电路如图 2所示为系统的电源电路,220V 交流电经过变压器变成 7.5V
12、交流电,经整流、滤波电路后送到 7805进行稳压得到 5V直流电,最后再次经滤波电路,为系统提供 5V电源,用来给单片机、继电器和其他原件供电。3.2光敏电阻系统采用型号为 5537的光敏电阻,实物图和结构图如图 3所示:图 3 光敏电阻它的技术参数如下:响应时间(ms)亮电阻(10Lux)(K)暗电阻(M)光谱峰值(nm)最大电压 (VDC)最大功耗(mw) 上升 下降光线强弱的不同导致光敏电阻的变化,从而导致光敏电阻分压的不同,将它所分的电压输入到 ADC0809的 IN0。另外,可以通过调节电位器 R1的阻值来修改感应光线的强弱。具体的连线电路图如图 4所示:30-50 3 540 15
13、0 100 20 305图 4 光电开关电路3.3 A/D 转换电路设计系统采用 ADC0809芯片搭建 A/D 转换电路。A DC0809 是 采 样 频 率 8 位 的 、 以 逐 次 逼 近原 理 进 行 模 数 转 换 的 器 件 。 其 内 部 有 一 个 8 通 道 多 路 开 关 , 它 可 以 根 据 地 址 码 锁 存 译码 后 的 信 号 , 只 选 通 8 路 模 拟 输 入 信 号 中 的 一 个 进 行 A/D 转 换 。 它 的 主 要 特 性 为 : 1)8 路 8 位 A D 转 换 器 , 即 分 辨 率 8 位 ; 2) 具 有 转 换 起 停 控 制 端
14、; 3) 转 换 时 间 为100 s; 4) 单 个 5V 电 源 供 电 ; 5) 模 拟 输 入 电 压 范 围 0 5V, 不 需 零 点 和 满 刻 度校 准 ; 6) 工 作 温 度 范 围 为 -40 85 摄 氏 度 ; 7) 低 功 耗 , 约 15mW。ADC0809 芯 片 有 28 条 引 脚 。 IN0 IN7: 8 路 模 拟 量 输 入 端 。 2-1 2-8: 8 位 数 字 量输 出 端 。 ADDA、 ADDB、 ADDC: 3 位 地 址 输 入 线 , 用 于 选 通 8 路 模 拟 输 入 中 的 一 路 。ALE: 地 址 锁 存 允 许 信 号 ,
15、 输 入 , 高 电 平 有 效 。 START: A D 转 换 启 动 信 号 , 输 入 , 高电 平 有 效 。 EOC: A D 转 换 结 束 信 号 , 输 出 , 当 A D 转 换 结 束 时 , 此 端 输 出 一 个 高 电平 ( 转 换 期 间 一 直 为 低 电 平 ) 。 OE: 数 据 输 出 允 许 信 号 , 输 入 , 高 电 平 有 效 。 当 A D转 换 结 束 时 , 此 端 输 入 一 个 高 电 平 , 才 能 打 开 输 出 三 态 门 , 输 出 数 字 量 。 CLK: 时 钟 脉冲 输 入 端 , 要 求 时 钟 频 率 不 高 于 64
16、0KHZ。 REF( +) 、 REF( -) : 基 准 电 压 。 Vcc: 电源 , 单 一 5V。 GND: 地 。 ADC0809 的 工 作 过 程 是 : 首 先 输 入 3 位 地 址 , 并 使 ALE=1, 将 地 址 存 入 地 址 锁 存 器中 。 此 地 址 经 译 码 选 通 8 路 模 拟 输 入 之 一 到 比 较 器 。 START 上 升 沿 将 逐 次 逼 近 寄 存 器 复位 。 下 降 沿 启 动 A D 转 换 , 之 后 EOC 输 出 信 号 变 低 , 指 示 转 换 正 在 进 行 。 直 到 A D转 换 完 成 , EOC 变 为 高 电
17、 平 , 指 示 A D 转 换 结 束 , 结 果 数 据 已 存 入 锁 存 器 , 这 个 信 号 可用 作 中 断 申 请 。 当 OE 输 入 高 电 平 时 , 输 出 三 态 门 打 开 , 转 换 结 果 的 数 字 量 输 出 到 数 据 总线 上 。本 系 统 中 , 当 IN0端接收到电压模拟量时,经过 ADC0809转换成 8位数字量,设定由D0D7中的某一个口输出的数字量输入到与门(与非门 74LS00取反) ,当它为 1时转为光线暗模式,此时允许 LED照明模块点亮。63.4 液晶显示电路设计本系统使用带背光的液晶模块 TC1602EL,TC1602EL 采用标准的
18、 16脚接口,其引脚功能如下:第 1脚:VSS 为电源地,接 GND;第 2脚:VDD 接 5V正电源;第 3脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K的电位器调整对比度;第 4脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;第 5脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作,当 RS和 RW共同为低电平时可以写入指令或者显示地址,当 RS为低电平 RW为高电平时可以读忙信号,当 RS为高电平 RW为低电平时可以写入数据;第 6脚:E 端为使能端,当 E端由高
19、电平跳变成低电平时,液晶模块执行命令;第 714 脚:D0D7 为 8位双向数据线;第 15脚:BLA 背光电源正极(+5V)输入引脚;第 16脚:BLK 背光电源负极,接 GND。TC1602EL液晶的主要技术参数如下:逻辑工作电压(VDD):+4.5 +5.5V;LCD 驱动电压(VDD - VL): +4.5 +13.0V;工作电流: 2.0mA。TC1602EL液晶显示模块可以和 52系列单片机直接接口,通过向单片机输入程序来控制液晶上显示的内容。本系统可显示两项内容:当前室内人数“the number is #”和设定的点亮 1、2、3 盏灯的人数限制“1 # 2 # 3#” 。图
20、5为单片机和液晶接口电路图:图 5 单片机和液晶接口电路图3.5 LED照明模块电路设计光电开关在无人经过时保持高电平,有人经过时产生低电平。两对光电开关 I1、I2 的位置不同,因此人进和出时产生低电平的先后顺序不同,分别将他们产生的高低电平输入单片机的 P10和 P11管脚,根据两端口的高低电平的不同区分进出,并利用单片机进行计数,进一个人加一,出一个人减一。当人数达到设定值 1时,P25 管脚输出高电平;当数目达到设定值 2时,P26 管脚输出管脚高电平;当数目达到设定值 3时,P27 输出高电平。光电开关位置的示意图如图 6所示:7图 6 光电开关位置示意图系统用 LED灯代替电灯进行
21、演示,电路图如图 7所示:图 7 LED显示电路3.6 RS-232通信模块电路单片机和计算机要实现串口通信,需要用到 9针串口和 MAX232芯片。RS-232串口有 9个引脚,各针脚的定义为 :1 .载波检测 DCD;2.接收数据 RXD;3.发送数据 TXD;4 .数据终端准备 DTR;5.信号地 SG;6.数据准备就绪 DSR;7.请求发送RTS;8.清除发送 CTS;9 振铃提示 RI。本系统用到的是 2、3 引脚具体如 8图所示:8图 8 串口引脚图MAX232 是 专 门 为 电 脑 的 RS-232 标 准 串 口 设 计 的 接 口 电 路 ,使 用 +5v 单 电 源 供
22、电 。内 部 结 构 基 本 可 分 三 部 分 。 一 是 电 荷 泵 电 路 , 由 1、 2、 3、 4、 5、 6 脚 和 4 只 电 容 构 成。 功 能 是 产 生 +12v 和 -12v 两 个 电 源 , 提 供 给 RS-232 串 口 电 平 的 需 要 。 二 是 数 据 转 换通 道 , 由 7、 8、 9、 10、 11、 12、 13、 14 脚 构 成 两 个 数 据 通 道 。 其 中 13 脚 ( R1IN) 、12 脚 ( R1OUT) 、 11 脚 ( T1IN) 、 14 脚 ( T1OUT) 为 第 一 数 据 通 道 ; 8 脚 ( R2IN) 、
23、9脚 ( R2OUT) 、 10 脚 ( T2IN) 、 7 脚 ( T2OUT) 为 第 二 数 据 通 道 。 TTL/CMOS 数 据 从 T1IN、 T2IN 输 入 转 换 成 RS-232 数 据 从 T1OUT、 T2OUT 送 到 电 脑 DB9 插 头 ; DB9 插 头 的 RS-232 数 据 从 R1IN、 R2IN 输 入 转 换 成 TTL/CMOS 数 据 后 从 R1OUT、 R2OUT 输 出 。 三 是 供 电, 15 脚 GND、 16 脚 VCC( +5v) 。 图 9 为 MAX232 与 单 片 机 和 串 口 的 管 脚 接 线 图 :图 9 MAX232 与 单 片 机 和 串 口 的 管 脚 接 线 图3.7 按键电路设计按键的电路图如图 10所示:9图 10 按键电路其中,S1 控制电源通断,S2 取消操作,S3、S4 对第一盏灯点亮的限制人数进行加减,S5、S6 对第二盏灯点亮的限制人数进行加减,S7、S8 对第三盏灯点亮的限制人数进行加减。4 系统软件设计系统主流程图如下:10开始单片机初始化监测人数监测亮度到指定值 1模式选择人数加 人数减到指定值 2 到指定值 3亮一组灯亮两组灯亮三组灯进 出强弱5 系统测试结果