基于51单片机的声控开关Word格式文档下载.docx
- 文档编号:19624412
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:14
- 大小:170.60KB
基于51单片机的声控开关Word格式文档下载.docx
《基于51单片机的声控开关Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的声控开关Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
当人们走出家门和公寓,楼道的灯延时30秒后自动熄灭,以达到节能的目的。
二、设计的内容及要求
本文主要是用51单片机来实现声控开关目的,使其具备判断声音大小和延时功能,驻极体话筒接收到一定强度的声音信号后,声音信号转换为电压信号,幅度很小,经放大、整形后,由单片机接收电压信号,程序通过判断电压的大小来判断声音大小,当声音超过一定分贝后,电灯通电点亮。
当单片机接收不到连续的声音阀值后,启动延时程序,电灯大约在30秒后熄灭。
三、指导教师评语
四、成绩
指导教师(签章)
年月日
一声控延时开关系统组成框图及工作原理
本电路运用驻极体话筒将声音信号转化为电压信号的方式,通过C51单片机中逻辑语句的判断功能和计时功能,设计声控延时开关,电路控制原理如下:
图1系统总原理图
该系统以单片机为核心,控制电路主要是完成电灯的启动、停止以及对声音大小的判断,声音经过驻极话筒转化为电信号,再经过整形电路完成模数转换,数字信号传递给51单片机,由逻辑判断函数完成对声音信号大小的判断,避免生活噪音点亮电灯,浪费能源,计时电路完成对电灯的延时关断,当系统未接收到持续的声音信号时,延时30秒后电灯自动关断。
二硬件设计
2.1单片机系统
图2.1单片机系统
单片机最小系统电路如图2.1所示,单片机采用ATMEL公司的AT89C51,晶体振荡器选12MHz,C1、C2为22p瓷片电容,与晶体振荡器构成时钟电路。
完成对单片机计时功能的辅助。
2.2声音整形电路
如下图所示,声音经过驻极话筒的转换传递给模数转换器,方便单片机对信号的识别和系统函数语句的执行。
图2.
图2.2模数转换电路
2.3总电路图:
AT89C51中:
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)这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051
通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出全部为高电平,堆栈指钟写入07H,
其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,
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:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms
来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
图2.3总电路图
注:
图中驻极话筒用滑动变阻器替代。
系统检测与仿真:
本设计的程序是采用C语言来编写,并且通过单片机Proteus仿真软件对程序进行仿真,Proteus软件中的ISIS模块是电子系统仿真平台软件,主要完成电子原理图的绘制与仿真,硬件仿真图如图2.3所示,软件编程是通过keil软件进行的,通过不断仿真与调试,可以验证电路系统对声音灵敏度的研究,验证设计的可靠性和可行性,直观的对设计进行了解。
三软件设计
由于本设计采用单片机实现控制,所以软件设计部份的程序编写用C语言来完成。
其中主程序部分主要完成系统的初始化,如中断方式的设置,开中断,存储单元的清零等。
在中断子程序中完成,按键查询等,其它的如数字信号的响应,时钟电路的控制,延时等均由相应的子程序来完成。
软件编程是实现多功能、智能化、操作方便的关键。
在本设计中,可以把程序的各部分相互结合起来,达到完成各项设计的功能。
软件设计思想:
采用模块化的分层次设计方法,将软件系统功能由多个实现单一功能的子程序实现。
通过调用不同的子程序,实现了复杂功能控制。
这样便于调试、修改。
主流程图如图3所示.
图3系统主流程图
3.1主程序:
程序清单如下:
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uintd,PASS;
ucharGE,SHI,BAI;
sbitST=P2^5;
sbitOE=P2^7;
sbitEOC=P2^6;
sbitCLK=P2^4;
sbitBEEP=P3^7;
voidDelayMS(intx)
{
uchari;
for(;
x>
0;
x--)
{i=250;
while(--i);
i=249;
}
}
voidShow_Temperature()
P0=DSY_CODE[d/100];
P2&
=0XFd;
DelayMS(5);
P2|=0x0F;
P0=DSY_CODE[d%100/10];
=0XFB;
P0=DSY_CODE[d%10];
=0XF7;
voidmain()
{
EA=1;
TMOD=10;
TH0=245;
TL0=245;
TR0=1;
ET0=1;
PASS=0;
d=0;
BEEP=0;
while
(1)
ST=1;
ST=0;
Show_Temperature();
{Show_Temperature();
if(EOC==1)
OE=1;
d=P1;
OE=0;
if(d>
60)
{
BEEP=1;
PASS=1;
if(d<
60&
PASS==1)
DelayMS(3000);
BEEP=0;
PASS=0;
break;
}
voidT0_INT()interrupt1
CLK=~CLK;
软件设计程序语言的选择:
单片机语言的编程一般使用两种语言:
C语言和汇编语言。
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器语言的一种语言。
其主要的优点是占用资源少,程序执行效率高。
但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。
其优点是可读性好,移植容易,是普遍使用的一种计算机语言。
缺点是占资源较多,执行效率没有汇编高。
C语言是一种编译型程序设计语言,它兼顾了许多种高级语言的特点,其具备汇编语言的功能。
C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。
C语言是一种结构化程序设计语言,它支持当前程序设计中广泛用的有顶向下结构化程序设计技术。
此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。
因此使用C语言进行程序的设计已经为软件开发的一个主流。
综上所述,用C语言进行单片机程序设计是单片机开发和应用的必然趋势。
本设计就采用C语言进行编程,明显的增加了软件的可读性。
国内外关于该论题的研究现状和发展趋势:
由于近年我国的照明器材行业的迅速崛起,中国已经成为电光源产品的主要输出国之一。
努力增加节能光源和不同档次、花样、不
同用途的照明器具的开发,加快绿色、节能光源产品的开发推广和应用是我国目前照明器材行业结构调整的重点。
我国目前已经成为世界照明电器生产大国,我们的目标是要成为照明电器产品生产强国,我们与发达国家在照明电器产品的质量、档次、生产工艺、材料及新产品开发能力等方面存在明显的差距。
看到我们取得成绩的同时,也能清醒的认识我们存在的差距,才能不断的进步。
美国、法国、荷兰、英国、意大利等国家从上世纪90年代起,纷纷制定出相关扶持政策,用于推广节能灯等节能产品。
仅美国环保局从1991年开始实施绿色照明以来,就投资10多亿美元用于推广高效照明产品。
研究指出,节能灯能减少雇员眼部疲劳和头疼的发生率。
这也是构成商业机构乐于更换新一代照明系统的另一原因。
可见节能灯在国内外都有着重大的发展和重要作用。
随着城市路灯规模的增加,控制、维护及工作状态的监测,在控制、检测的实时性等方面的矛盾日益突出。
对路灯实现智能化和节能控制,对于解决人工控制存在的问题是非常有利的,
同时对于节约电能和美化城市夜景也是非常重要的。
路灯是我国经济发展和国家建设中必需的用电设备,它在我国的整体用电量中所占比例巨大,如果通过节能装置对其进行有效控制,就能够降低电力损耗,
达到节约能源,降低生产安装成本,有助于我国经济的快速发展。
基于单片机的声光双控路灯将在我国的未来城市发展中发挥更加广泛的作用。
四总结
本设计是基于AT89C51单片机的声控开关控制系统,介绍了声控开关的现状及发展,声控开关的结构功能级AT89C51单片机的结构和特点等,对整个硬件电路和软件设计做了分析,并利用设计的软件对声控开关控制系统进行了仿真,测试结果表明,通过驻极体话筒对声音的接收和系统函数对声音强度的检测,当人走过楼梯通道,发出脚步声或者其他声音是,楼道灯会自动点亮,提供照明,当人们进入家门或者走出公寓时楼道灯延时30秒后会自动熄灭,可以打到节能的目的,本设计能够应用在很多地方,例如一些不需要长时间照明的场所,利用单片机控制的声控开关,可以设置并控制检测是否有人并决定照明灯照明的时间,这样就可以方便的控制照明灯,达到节约能源实现智能控制的目的,本设计具有性能稳定,操作方便等优点,具有很高的使用价值。
五参考文献
[1]冯育长.《单片机系统设计与实例分析》。
西安电子科技大学出版社
[2]阎石.《数字电子技术基础》.高等教育出版社
[3]孙涵芳,《单片机原理及应用》.北京:
北京航空航天大学出版社
[4]肖洪兵.《跟我学用单片机》.北京:
六设计心得
通过电子设计课程的学习,要求自己熟悉和掌握智能电子系统的软件、硬件设计的方法、设计步骤,使自己
能得到仪器开发应用方面的初步训练。
让自己独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练掌握单片机系统与接口扩展电路的设计方法,熟练应用C51编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉智能电子系统的硬软件开发工具的使用方法。
通过综合训练实践,不仅要培养学生事实求是和严肃认真的工作态度,培养自己实际
动手能力,检验自己对于这门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 声控 开关