基于AT89C51单片机的声光控制开关设计Word格式文档下载.docx
- 文档编号:850813
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:33
- 大小:353.90KB
基于AT89C51单片机的声光控制开关设计Word格式文档下载.docx
《基于AT89C51单片机的声光控制开关设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的声光控制开关设计Word格式文档下载.docx(33页珍藏版)》请在冰点文库上搜索。
理学院
指导教师
2013年03月24日
摘 要
针对目前许多公共场所长明灯现象十分普遍所造成能源极大浪费的情况,本设计设计了基于AT89C51单片机的声光控制开关.该设计利用LED显示技术、声音检测技术、光信号检测技术、延时技术、按键扫描等技术来实现对照明灯的控制.测试结果表明,通过光敏电阻对光照强度进行检测和声音检测电路对声音强度进行检测.例如仅有在天黑之后,当有人走过楼梯通道,发出脚步声或其它声音时,楼道灯会自动点亮,提供照明,人们进入家门或走出公寓后,楼道灯会延时几分钟再自动熄灭.在白天时,即使有声音,楼道灯也不会亮,可以达到节能的目的.本设计具有性能稳定、操作方便等优点,具有较高的实用价值.
关键词:
单片机;
声控;
光控;
自动开关
ABSTRACT
Currentlylonglightiswidespreadinmanypublicplacesandcausesagreatwasteofenergy,inresponsetothissituation,thisdesigndesignssoundandlightcontrolswitchbasedonAT89C51microcontroller.ThedesignmakesuseofLEDdisplaytechnology,voicedetectiontechnology,theopticalsignaldetectiontechnique,thetimedelay,thekeyscantechnologytocontrolthelampcontrol.Testresultsshowthatphotoresistordetectsthelightintensityandvoicedetectioncircuitdetectstheintensityofthesound.Forexample,onlyafterdark,whensomeonewalkesthroughthestaircasesissuesfootstepsorothersound,corridorlightwillautomaticallyturnontoprovidelighting,whenpeopleenterthehouseoroutoftheapartment,corridorlightswillextinguishautomaticallyafterafewminutesdelay.Inthedaytime,evenifthereissound,thecorridorlightswillnotlight,thiscanbeachievedthepurposeofenergysaving.Thedesignhasadvantagesofconvenientoperation,stableperformance,andhasahighpracticalvalue.
Keywords:
Single-chipMicrocomputer;
Acousticcontrol;
Light-operated;
Automaticswitch
目 录
1引言 1
2系统硬件设计 2
2.1设计的研究内容 2
2.2单片机控制部分 2
2.3系统电路 5
2.4总原理图 13
3系统软件流程图 13
3.1延时程序 14
3.2按键扫描子程序 14
3.3LED显示程序 15
3.4AD转换程序 16
3.5总程序 16
4系统检测与仿真 16
4.1光信号检测 16
4.2声音信号检测 17
4.3硬件仿真图 18
5结论 18
附 录 20
参考文献 28
致 谢 29
1引言
随着新技术的不断开发与应用,单片机发展迅速,一个以微机应用为主的新
技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业,它所给人带来的方便也是不可否定的并且带动了数字电路技术的进一步发展,在这样的背景下,声光控智能灯应运而生,它既满足了人们对单片机及数字电路技术研究的的需求,也符合了照明灯在人类生活环境中扮演重要角色的条件.
用数字电路技术及单片机实现灯的自动发亮、节能节电、延长寿命变得越来越重要,而且贴近我们的现实生活.声光控电路已融入人们日常生活中许多必不可少的必需品中,它不需要靠手动控制开关,只有人经过发出声音时会自动点亮,广泛应用于走廊、楼道等公共场所,给人们的生活带来了极大的方便.因此,得到了广泛的应用.声光控电路是靠声音和光来控制电路工作的电子开关.该电路由电源电路、声控电路、光控电路和延时控制开关电路等组成,它广泛适用于楼梯间、过道、库房等场合,具有节能省电、使用方便等特点.
声光控智能开关是国家建设部、国家科技部在建筑节能产品中定义的延时自熄开关的一种,其在使用中的节能作用是非常明显的.以40W灯具使用普通开关傍晚连续点亮6小时为例,耗电应为0.24KW/H即0.24度电,如果仍以40W灯具使用声光控延时开关,按照傍晚点亮100次,每次30秒钟计算,耗电量为0.033KW/H即0.033度电,二者的耗电量相比差距为7倍之多.由此可见,声光控开关最大的节能之处在于它很大的开/停时间比,仍以上面的例子作比,普通手动开关一天24小时内如打开6小时,则一天的开停比为6:
24=0.25;
而采用声光控开关一天24小时累计的打开时间为0.83小时 ,则一天的开停比为0.83:
24=0.035.由于声光控智能开关的巨大经济效益及其智能化,智能控制已被人们广泛研究并加以利用.
声光控智能开关的核心部分是控制系统,单片机控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的声光控智能开关控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距.成熟的声光控智能开关控产品主要以模拟电路及数字电路为主,它们只能适应一般系统控制,而用于较高控制场合的智能化国内技术还不十分成熟,形成商品化并广泛应用的控较少.随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创
29
新性研究,使我国仪表工业得到了迅速的发展.
随着科学技术日益迅速的发展和现代工业技术的需要,智能控制已经深入到生活的各个方面,声光控智能开关也不断地改进和提高.它具有控制效果好,经济效益高,方便使用等许多优点.声光控智能开关与传统的手动照明灯相比,也具有节约能源,控制准确等优势.
2系统硬件设计
2.1设计的研究内容
运用单片机可以设计出智能型的声控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单,在使用过程中更加的安全节电,智能环保.
2.2单片机控制部分
本设计通过AT89C51单片机结合LED显示技术、声音传感技术、光感技术、延时技术等来实现对照明设备的声光控制.系统总框图如图1所示:
图1原理框图
由系统方框图可以看出,当光线较亮时,采用光敏电阻把外界光亮程度转换成相应的电压值,然后通过电压比较后给单片机输入数字信号.在光线较暗时,负载电路进行声音检测.用声音传感器将声音信号转换成电信号,从而推动触发工作.当声强达到一定程度时使得灯泡自动点亮,经过内部设定的时间后,灯泡自动熄灭.在延时部分采用单片机内部定时器从而实现不同时间的定时,并根据场所及使用人群的不同通过设置单片机引脚的状态来设置不同的延时时间值,并用LED动态显示方式显示倒计时等数据.单片机通过继电器控制照明设备的打开或者关闭.
2.2.1芯片AT89C51的介绍
AT89C51[1]是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机.AT89C51单片机的可靠性高、体积小、功耗低、便于扩展、价
格便宜、易于产品化.
◆该单片机中有一个8位的微处理器,包括了运算器和控制器两大部分,还增加了面向控制的处理功能.
◆具有5个中断源、2级中断优先权.
◆两个16位的定时器/计数器.
◆128字节数据存储器RAM/SFR,用以存放可以读/写的数据.
◆4个8位并行I/O端口P0~P3.
◆片内振荡器和时钟产生电路.
◆一个全双工的串行口,具有四种工作方式.
◆有21个特殊功能寄存器.
2.2.2外形及引脚排列
如图2所示,其引脚说明如下:
图2AT89C51的引脚排列
VCC供电电压.
GND接地.
P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流.
当P0口的管脚第一次写1时,被定义为高阻输入.P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位.在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻.
P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接
收输出4个TTL门电流.P1口管脚写入1后,被内部上拉为高,可用作输入,P1口
被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故.在FLASH编程和校验时,P1口作为低八位地址接收.
P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输
出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入,并因此作为输入时,P2口的管脚被外部拉低,将输出电流.这是由于内部上拉的缘故.P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位.在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容.P2口在FLASH编程和校验时接收高八位地址信号和控制信号.
P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL
门电流.当P3口写入“1”后,它们被内部上拉为高电平,并用作输入.作为输入,
由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故.
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)P3.4T0(计时器0外部输入)P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号.
RST复位输入.当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间.
ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节.在FLASH编程期间,此引脚用于输入编程脉冲.在平时,ALE端以不变
的频率周期输出正脉冲信号,此频率为振荡器频率的1/6.因此它可用作对外部输出的脉冲或用于定时目的.然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲.如想禁止ALE的输出可在SFR8EH地址上置0.此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用.另外,该引脚被略微拉高.如果微处理器在外部执行状态ALE禁止,置位无效.
/PSEN外部程序存储器的选通信号.在由外部程序存储器取指期间,每个机
器周期两次/PSEN有效.但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现.
/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),
不管是否有内部程序存储器.注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器.在FLASH编程期间,此引脚也用于施加12V编程电源(VPP).
XTAL1反向振荡放大器的输入及内部时钟工作电路的输入.
XTAL2来自反向振荡器的输出.
2.3系统电路
2.3.1光信号检测电路
光控电路主要用到光敏电阻传感器.光敏电阻器是光敏电阻器通常由光敏层、玻璃基片(或树脂防潮膜)和电极等组成,利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;
入射光强,电阻减小,入射光弱,电阻增大.其实物图及工作原理图如图3所示.
图3光敏电阻实物图及原理图
本实验选用MG45型光敏电阻.在黑暗条件下,光敏电阻的可达1~10M欧,在强光条件(100LX)下,阻值仅有几百至数千欧姆.参数表1如下所示:
表1MG45型光敏电阻参数
声光控制电路在光照强时电路不工作,所以单片机首先对光照进行检测,此处使用到光敏电阻、电压比较器、反相器等元件进行检测.设计图如图4所示:
图4光信号检测电路
在图4中LDR1为光敏电阻,光敏电阻器实现的功能是:
当有光照时,光敏电阻的阻值下降,这时的阻值仅有几百至数千欧姆,所以LM393反相输入端为高电平.当光线不足或没有光线时,其阻值可以达到兆欧级以上,此时相当于电路处于断路状态,所以LM393反相输入端为低电平.
其中LM393为电压比较器[6],当反相输入端的电位高于同相输入端时,LM393则输出一低电平.而当同相输入端的电位高于反相输入端的电位时,LM393将会输出一高电平.此时信号会经过具有施密特功能的74LS14反向器,变为低电平后送到单片机中,经过单片机检测是否有足够的光照,当光照不足时则进行声音检测.
在此电路中可以通过改变滑动变阻器的阻值来改变同相输入端的电压,从而
改变对光照强度检测的灵敏度,以满足不同场所或人群的需要.
2.3.2声音信号检测电路
声控电路主要用到话筒和A/D转换器.
驻极体话筒[11]具有体积小、结构简单、电声性能好、价格低的特点,广泛
用于盒式录音机、无线话筒及声控等电路中,属于最常用的电容话筒.话筒的基本结构由一片单面涂有金属的驻极体薄膜与一个上面有若干小孔的金属电极(背称为背电极)构成.驻极体面与背电极相对,中间有一个极小的空气隙,形成一个以空气隙和驻极体作绝缘介质,以背电极和驻极体上的金属层作为两个电极构成一个平板电容器.电容的两极之间有输出电极.由于驻极体薄膜上分布有自由电荷,当声波引起驻极体薄膜振动而产生位移时,改变了电容两极版之间的距离,从而引起电容的容量发生变化,由于驻极体上的电荷数始终保持恒定,根据公式:
Q=CU
所以当C变化时必然引起电容器两端电压U的变化,从而输出电信号,实现声—
电的变换.
由于单片机无法对模拟信号进行识别,因此在对声音信号进行检测时首先要将声音信号对应的电压值转变成数字信号,所以此系统需要使用到A/D转换器.
AD0832[2]被用于本系统,AD0832是8位逐次逼近模数转换器,支持两个单端输入通道和一个差分输入通道,它的通道选择和配置都是通过软件设置.AD0832的主要特点如下:
●易于和微处理器接口或独立使用;
●可满量程工作;
●可用地址逻辑多路器选通各输入通道;
●单5V供电,输入范围为0~5V;
●输入和输出与TTL、CMOS电平兼容;
单片机对光照进行检测,光线不足时,声音信号采集电路便启动.声音信号采集电路如图5所示:
图5声音信号采集电路
用驻极体话筒将得到与声音信号对应的电压值.若有声音时则会输出一电压值,由于传声器转换的电压值非常小,所以必须将该电压经过LM324运算放大器
进行放大,放大倍数为RV1/R9,RV1为可变电阻,通过调节其阻值使其放大倍数产生变化,起到了调节声音灵敏度的作用.
放大后的电压必须经过AD0832进行模数转换,由单片机内部程序对转换值进行对比.当值高于预设值时单片机启动T0计时中断和照明灯控制电路,使照明灯点亮,并通过数码管显示倒计时时间.当没有声音或声音微弱时,系统不进行下
一步的工作.
2.3.3单片机最小系统、时钟电路与复位电路
单片机最小应用系统[6],是指用最少的原件组成的单片机可以工作的系统.对于51系列单片机来说,最小系统应包括单片机、复位电路、晶振电路.
最小系统电路图如图6所示:
图6单片机最小系统
AT89C51单片机的时钟产生方法有两种.内部时钟方式和外部时钟方式.本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡.
内部方式时,时钟发生器对振荡脉冲二分频.系统对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性.因此本系统的晶体振荡器的值为12MHZ,电容取30pF.
当操作或程序运行出错使系统处于死锁状态时,为了摆脱困境可以通过复位键重新启动.当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位.单片机系统的复位方式有:
手动按钮复位和上电复位.
本设计使用的是按键手动复位.手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用的办法是在RST端和正电源VCC之间接一个按钮.在按键
复位的使用过程中,按键抖动现象是不容忽视的,所以为了确保按键的一次闭合
单片机只处理一次,就必须在设计时考虑到抖动的消除.
2.3.4延时显示电路
数码管[7]是此系统将用到的必要元器件.数码管是一种半导体发光器件,其基本单元是发光二极管.数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位、5位、6位、7位等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管.共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮.
图7LED数码管引脚定义 图810引脚的LED数码管
led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极.led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型.位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的.图7 这是一个7段两位带小数点10引脚的LED数码管,引脚定义每一笔划都是对应一个字母表示,DP是小数点,图8这是10引脚的LED数码管.
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类.
静态显示驱动 静态驱动也称直流驱动.静态驱动是指每个数码管的每一个
段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器
译码进行驱动.静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×
8=40根I/O端口来驱动,实际应用时必须增
加译码驱动器进行驱动,增加了硬件电路的复杂性.
动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮.通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动.在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低.
AT89C51芯片内有两个16位的定时/计数器,都可以由软件来设定.在此设计中用到的是T0作为定时器.由于在系统中需要设置延时时间电路,目的是在照明灯点亮后经过一定延时能自动熄灭.电路中采用了单片机内部定时器.
定时/计数部分 AT89C51芯片内有两个16位的定时/计数器,都可以由软件
来设定.在此设计中用到的是T0作为定时器.由于在系统中需要设置延时时间电路,目的是在照明灯点亮后经过一定延时能自动熄灭.电路中采用了单片机内部定时器.
显示电路分析系统功能中有一点是可以根据场所及使用人群的不同设置不
同的延时时间值.虽然动态显示的效果和静态显示是一样的,但动态显示能够节省大量的I/O端口,而且功耗更低.所以设计中采用LED动态显示方式显示倒计时数据.电路如图9所示:
图9延时时间显示电路
由图可知采用了共阴极的2位数码显示管做显示电路,所以只要数码管的a、b、c、d、e、f、g、h引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码见表2.
表2共阴极数码显示管字型代码
字型
共阴极代码
3FH
5
6DH
1
06H
6
7DH
2
5BH
7
07H
3
4FH
8
7FH
4
66H
9
6FH
为了实现不同场所及
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 声光 控制 开关 设计