声音能控制LED灯亮的形式变化的灯光系统.doc

上传人:豆**** 文档编号:17535936 上传时间:2022-05-24 格式:DOC 页数:14 大小:177KB
返回 下载 相关 举报
声音能控制LED灯亮的形式变化的灯光系统.doc_第1页
第1页 / 共14页
声音能控制LED灯亮的形式变化的灯光系统.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《声音能控制LED灯亮的形式变化的灯光系统.doc》由会员分享,可在线阅读,更多相关《声音能控制LED灯亮的形式变化的灯光系统.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流声音能控制LED灯亮的形式变化的灯光系统.精品文档.摘 要段落格式不对本设计是一款声音能控制LED灯亮的形式变化的灯光系统,声音信号采用麦克风输入,经过9014 NPN三极管放大语音信号,整体的信号放大倍数300倍左右。灯的控制方式采用将放大后的声音信号转换成数字信号输送到控制电路,从而控制LED灯。以AT89S52单片机作为系统的核心部分控制电路,通过制作硬件电路和软件的综合设计构成。用AT89S52单片机控制LED灯特点是设计思路简单、清晰、成本低。关键词:LED灯;单片机;声控;三极管AbstractThis design is a n

2、ew voice can control LED light form changing lighting system,voice signal using the microphone input,after 9014 NPN transistor amplifier speech signal,the whole signal amplification 300 times the left and right sides. Light control mode with amplification of voice signal into digital signal transfer

3、 to control circuit, so as to control LED lamp. AT89S52 SCM to as the core of the system part of the control circuit,through the production of hardware circuit and software of integrated design composition. Using AT89S52 SCM control LED lamp characteristic is design simple clear low cost.Key words:

4、LED lamp ;AT8952 single-chip microcomputer;voice control;9014 NPN transistor目 录引言11 方案设计11.1课程设计项目名称11.2设计方案选择及论证11.3方案选择22 相关芯片介绍22.1 AT89S52芯片22.2 LM393芯片43 硬件电路53.1 最小系统时序电路53.2 复位时序电路53.3 LED灯的设计63.4 信号放大和比较器设计64 软件设计74.1 程序流设计74.1.1主程序设计74.1.2其它子函数设计84.2 系统调试94.2.1 硬件电路制作94.2.2软件调试105结论10谢 辞11参

5、考文献12附 录13附录1 完整的原理图13附录2 电路PCB图13附录3 完整的程序代码14引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。在现代社会随着中断概念的引入,使得CPU的利用率变高了,利用单片机可以去控制一些复杂的问题。中断单片机具有强大的控制功能和灵活的编程实现特性,它已经融入到现代人们的生活中,成为不可替代的一部分。1 方案设计 1.1课程设计项目名称 声控流水灯设计1.2设计方案选

6、择及论证方案一:使用MIC采集声音之后用LM386放大,之后通过比较器,最后交给AT89S52分析处理来驱动LED发光,其框图如图1-1所示。发光LED声音输入LM393比较器9014三极管放大单片机控制电路图1-1 方案一框图方案二:基于NE5532运放放大音频信号,交给AD进行模数转换,输出结果送至控制电路,从而驱动LED发光。本方案主要是通过NE5532来放大音频信号,稳压电路使输入AD的电压保持在0到5V范围。其硬件构成框图如图1-2所示。MIC采集声音滤波稳压电路解调电路NE5电路 AT89S52单片机AD模数转换复位电路时钟电路直流5V电源电路供电信号LED彩灯图1-2方案二框图1

7、.3方案选择方案一中,电路相对简单,制作相对较容易点,易于控制,成本也相对较低,9014放大倍数有400倍。而方案二原理复杂,处理步骤多而且繁琐,编程思想也复杂,控制也难。综上,虽然方案二各方面优越于方案一,但是为了体现专业优势,本次设计采用第一种方案。2 相关芯片介绍2.1 AT89S52芯片图2-1 AT89S52引脚图VCC:电源电压输入端GND:电源地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIA

8、SH进行校验时,P0输出原码,此时P0外部必须被拉P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2

9、口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(T0

10、定时器的外部计数输入)P3.5 T1(T1定时器的外部计数输入)P3.6 /WR(外部数据存储器的写选通)P3.7 /RD(外部数据存储器的读选通)I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:地址锁存允许/

11、编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有

12、效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源。XTAL1、XTAL2:片内振荡器反相放大器和时钟发生器的输入、输出端。2.2 LM393芯片图2-2 LM393芯片引脚图LM393 是双电压比较器集成电路,工作电源电压范围宽,单电源、双电源均可工作,单电源:236V,双电源:118V;消耗电流小

13、,Icc=0.8mA;输入失调电压小,VIO=2mV;共模输入电压范围宽,Vic=0Vcc-1.5V;输出与TTL,DTL,MOS,CMOS 等兼容;输出可以用开路集电极连接“或”门。LM393应用电路有以下几种:基本比较器电路、LM393驱动CMOS的电路、LM393驱动TTL的电路、低频运算放大器、换能放大器电路、带失调调整的低频运算放大器、过零检波器、 两阶高频压控振荡器、极限比较器电路、晶振控制振荡器、双电源过零检测电路芯片引脚说明:VCC:电源电压输入端GND:电源地1OUT:比较器1的输出1IN-:比较器1的反相输入端1IN+:比较器1的同相输入端2OUT:比较器2的输出2IN-:

14、比较器2的反相输入端2IN+:比较器2的同相输入端3 硬件电路3.1 最小系统时序电路1:AT89S52单片机的最小系统即单片机正常工作所需的外围器件:20脚接地,31和40脚街5V电源,18和19脚接一个30pf的电容到地,18和19脚之间接一个12M的晶振,9脚上还加一个复位电路,防止单片机死机,AT89S52单片机的最小系统电路图如3.1所示。图表 3.1 最小系统时序电路3.2 复位时序电路如图3.2所示,本系统采用的是按键手动复位电路,当上电时,电容充电,电流流过构成回路,在R1上产生压降,RST引脚为高电平;当电容充满电后,电路相当于开路,RST的电位与地相同。复位时9脚上的高电平

15、要大于10ms,当按键按下后,电流通过电阻构成回路,使得RST端产生高电平,按键时间决定了复位时间。图表 3.2 复位电路3.3 LED灯的设计直径为3mm红色的LED灯的电流为2mA10mA,电压为1.7V。再加上P1口有上拉电阻,所以用P1口作为输出口时,无需加上上拉电阻。要保证LED能正常工作,要加上一个限流电阻,因为供电是5V,所以限流电阻上的电压为5V1.7V3.3V,用3.3V再除以LED灯的电流范围就得到限流电阻的范围,经过计算限流电阻的范围为:330欧姆到1.65千欧姆,在这里取1千欧姆。图3-3 LED灯电路3.4 信号放大和比较器设计语音信号输入经过9014 NPN三极管的

16、共射机放大,放大到一定幅度,再经过二极管嵌位,此时还是模拟信号,再经过一个比较器,就可以把模拟信号变成脉冲信号,在脉冲信号输出加上一个上拉电阻,就可从单片机的引脚输入,其图形如下所示。图3-4 信号放大和比较器设计电路4 软件设计4.1 程序流设计4.1.1主程序设计开始设计程序起始地址第三声LED两边移结束第一声LED灯右移第二声LED灯右移 图号? 图太大主程序:ORG0000HJMPMAINORG0100HMAIN:SETB P2.0 JB P2.0,$;响第一声时,P1口的8个灯左移CALL LEFT_MOVESETB P2.0 JB P2.0,$ ;响第二声时,P1口的8个灯右移CA

17、LLRIGHT_MOVESETB P2.0 JB P2.0,$ ;响第三声时,P1口的8个灯从中间两个依次往外亮CALLMIDDLE_MOVEJMPMAIN4.1.2其它子函数设计灯的左移子函数程序:LEFT_MOVE: MOVA,#0FEHMOVR1,#8;LED的左移一次所要的次数LOOP1: MOVP1,ANOP;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSRLADJNZR1,LOOP1MOV P1,#0FFHRET灯的右移子函数程序:RIGHT_MOVE:MOVA,#7FHMOVR1,#8 ;LED的右移一次所要的次数LOOP2: MOVP1,ANOP ;加两个空

18、操作防止,程序运行跑飞NOPCALLDELAY_500MSRRADJNZR1,LOOP2MOV P1,#0FFHRET灯往两边移子函数程序:MIDDLE_MOVE:MOVA,#0E7H MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSMOVA,#0DBH MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSMOVA,#0BDH MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSMOVA,#07EH MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY

19、_500MSMOV P1,#0FFHRET0.5s的延时函数程序:DELAY_500MS: MOV R4,#24DLY_1: MOV R5,#104DLY_2: MOV R6,#99 DJNZR6,$ DJNZR5,DLY_2 DJNZR4,DLY_1 RET4.2 系统调试4.2.1 硬件电路制作测试与结果分析,与制作不能混,设计制作在前面在查阅资料确认设计方案后,使用Altium Designer Winter09绘图软件画出原理图,检查无错之后,把原理图导进PCB,接下来就是做电路板,板子完成后,用万用表检查电路板上的各引脚有无虚焊,短路,断路。对问题出现的地方进行重新焊接或者更换元件。

20、4.2.2软件调试本次设计的软件设计是在Keil3平台上进行编程和调试,采用汇编,汇编执行的速度快,而且执行效率比C语言高。每次调试都是直接把程序下载到单片机直接进行调试,以完成作品。5结论本次课程设计是以52单片机为主控器件,用到它的两个外中断来控制LED灯。通过此次课程设计,熟悉了DXP和Keil3软件的使用,使我更加扎实的掌握了有关高制作电路板和单片机方面的知识,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩

21、固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。比如在调试的时候,程序老是不稳定中断服务程序有时执行一次,有时又执行两次,开始我以为是板子受环境影响。后来在网上百度才知道是软件问题,是我忘了在执行中断服务程序时候把相应的中断关了,导致在执行中断服务程序时易受影响执行两次或两次以上。在这个发现问题之后,

22、我在中断服务程序中关了相应的外中断之后。问题就解决了,下载程序到板子之后,运行就正常了。此次课程设计让我明白了,理论和实践是有很大的差别的。有时候我们认为理论很简单,可是一到问题就各种各样,实践有时候并没有我们想的那样简单。谢 辞本课题在选题及进行过程中得到何宁老师的悉心指导。从课程题目选择到具体的写作过程,论文的初稿定稿无不凝聚着姜老师的心血和汗水,论文行文过程中,感谢何老师多次帮助我分析思路,开拓视角,在我遇到困难想放弃的时候给予我最大的支持和鼓励。何老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。再多华丽的言语也显苍白。在此,谨向何老师致以诚挚的谢意和崇高的敬意。感谢大学四年

23、来,信息与通信学院所有老师对我学习上的帮助和生活上的关怀,正是你们的辛勤工作,才使我得以顺利地走到了这一步。 感谢我的同学和我的室友们,我们一起经历过的聚散喜悲,一起走过的每一段路,我一生都不会忘记。友情的无私为我们的大学时光重重地写下了无悔,在课设期间你们给了我很多启发,提出了很多的宝贵意见对于你们的支持和帮助在此表示感谢。 最后,我感谢大学四年以来给过我帮助和关注的所有人,更加感谢给过我挫折的所有人。你们用不同的方式给了我成长,也是你们促使我在走过的大学时光里一直努力,感谢你们!参考文献1 李群芳.单片微型计算机与接口技术(第3版).北京:电子工业出版社,2008:105115.2 王守中

24、.一读就通51单片机开发.北京:电子工业出版社,2011:97110.3 黄冰.微机原理及应用(第二版).重庆:重庆大学出版社.2003.1:235238.4 惠仇.手把手教你学51单片机.北京:电子工业出版社,2009:6895.5 徐惠民.单片微型计算机原理、接口及运用.北京:北京邮电大学出版社,2007:47108,6 江力.单片机原理与运用技术.北京:清华大学出版社,2009:21131.7 王爽.汇编语言.北京:清华大学出版社,2008::272274.附 录附录1 完整的原理图图表 1 完整的原理图附录2 电路PCB图图表 2 电路的PCB图附录3 完整的程序代码ORG0000HJ

25、MPMAINORG0100HMAIN:SETB P2.0 JB P2.0,$;响第一声时,P1口的8个灯左移CALLLEFT_MOVESETB P2.0 JB P2.0,$;响第二声时,P1口的8个灯右移CALLRIGHT_MOVESETB P2.0 JB P2.0,$ ;响第三声时,P1口的8个灯从中间两个依次往外亮CALLMIDDLE_MOVEJMPMAIN;灯的左移子函数LEFT_MOVE: MOVA,#0FEHMOVR1,#8;LED的左移一次所要的次数LOOP1: MOVP1,ANOP;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSRLADJNZR1,LOOP1M

26、OV P1,#0FFHRET;灯的右移子函数RIGHT_MOVE:MOVA,#7FHMOVR1,#8 ;LED的右移一次所要的次数LOOP2: MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSRRADJNZR1,LOOP2MOV P1,#0FFHRET;灯的中间往两边移子函数MIDDLE_MOVE:MOVA,#0E7H MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSMOVA,#0DBH MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSMOVA,#0BDH MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSMOVA,#07EH MOVP1,ANOP ;加两个空操作防止,程序运行跑飞NOPCALLDELAY_500MSMOV P1,#0FFHRET;下面是一个0.5s的延时函数DELAY_500MS: MOVR4,#24DLY_1: MOVR5,#104DLY_2: MOVR6,#99 DJNZR6,$ DJNZR5,DLY_2 DJNZR4,DLY_1 RET END

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁