基于单片机的声控彩灯设计毕业论文.doc
《基于单片机的声控彩灯设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的声控彩灯设计毕业论文.doc(59页珍藏版)》请在冰豆网上搜索。
基于单片机的声控彩灯设计
中文摘要
本设计是一款能够随着音乐或其它各种声音的音量的变化而使发光灯的数目发生相应变化的灯光系统,为了防止非音乐等信号的干扰(如市电),系统内需要设计通过相应的滤波器,以滤除50Hz的市电干扰。
声音信号采用驻极体话筒,双电源供电的运放NE5532放大器,整体的信号放大倍数500倍左右。
灯的控制方式采用将放大后的声音信号转换成数字信号输送到控制电路,从而控制彩灯的亮灭。
关键词:
声控彩灯NE5532AT89S52
ABSTRACT
Thisisadesignthatcanledtothenumberofthelightingsystemproducescorrespondingchangeasmusicorothersoundsofloudnesschange,inordertopreventthemusicandthesignalinterference(suchastheutility),thesystemneedstobedesignedthroughthecorrespondingfilterswhichcanfilteroutthefrequency50Hzutilityinterference.Thevoicesignalinabodymicrophones,doublepowersupplyop-ampNE5532amplifier,theoverallsignalmagnification500orso.Thelightofthecontrolmodewillbemagnifiedbythevoicesignalconvertedintodigitalsignalissenttothecontrolcircuit,soastocontrolthelanternlightout.
Keywords:
TransceiverModules,ATC89S52microcontroller,dynamicdisplay,buttoncontrol
基于单片机的声控彩灯设计
目录
第一章方案设计 1
1.1课程设计项目名称 1
1.3 设计方案选择及论证 1
1.4 方案选择 2
第二章相关芯片介绍 2
2.1NE5532放大器 2
2.2AT89S52 3
2.3ADC0809 5
第三章硬件设计 8
3.2 NE5532放大电路 8
3.3限幅电路 8
3.4上电复位电路 9
3.5时钟电路:
10
3.6 LED彩灯显示电路 10
3.7 串口电路 11
第四章软件设计 11
4.1设计程序流程图 11
4.2主程序代码及注释 12
第五章实物制作与调试说明 14
5.1实物制作 14
5.1.1电路图的绘制 14
5.1.2电路板的制作 14
5.2调试过程 14
5.2.1软件调试 14
5.2.2硬件调试 15
5.3性能分析 15
结 论 16
谢辞 17
参考文献 18
附录一元件清单 19
附录二原理图 20
附录三PCB图 22
基于单片机的声控彩灯设计
第一章方案设计
1.1课程设计项目名称
基于单片机的声控彩灯设计
1.2项目设计目的及技术要求
1.选择合适传感器;
2.选择合适放大器及A/D转换器件;
3.单片机根据音频信号大小驱动LED亮灭;
4.可调拾音灵敏度;
5.LED的个数、造型自定;
1.3 设计方案选择及论证
方案一:
使用MIC采集声音之后用LM386放大,之后通过比较器,最后交给AT89S52分析处理来驱动LED发光。
其框图如图1-1所示。
单片机控制电路
发光LED
MIC采集
比较器
LM386放大
图1-1
方案二:
基于NE5532运放放大音频信号,交给AD进行模数转换,输出结果送至控制电路,从而驱动LED发光。
本方案主要是通过NE5532来放大音频信号,稳压电路使输入AD的电压保持在0到5V范围。
其硬件构成框图如图1-2所示。
MIC采集声音
滤波
稳压电路
解调电路
NE5532放大电路
AT89S52单片机
AD模数转换
复位
电路
时钟
电路
直流5V电源电路
供电
信号
LED
彩灯
图1-2 单片机彩灯循环控制系统硬件框图
1.4 方案选择
方案一中,电路相对简单,制作相对较容易点,成本也相对较低。
但LM386放大倍数最多只有200倍,达不到要求或实现困难。
采用方案二其优点是电路集成度高,工作原理简单,清晰明了,自定义编程,移植性好等。
综上,显然方案二各方面优越于方案一,以及为了体现专业优势,本次设计采用第二种方案。
第二章相关芯片介绍
2.1NE5532放大器
1、芯片介绍
NE5532/SE5532/SA5532/NE5532A/SE5532A/SA5532A是一种双运放高性能低噪声运算放大器。
相比较大多数标准运算放大器,如1458,它显示出更好的噪声性能,提高输出驱动能力和相当高的小信号和电源带宽。
这使该器件特别适合应用在高品质和专业音响设备,仪器和控制电路和电话通道放大器。
如果噪音非常最重要的,因此建议使用5532A版,因为它能保证噪声电压指标。
2、主要特性
•小信号带宽:
10MHZ
•输出驱动能力:
600Ω,10V有效值
•输入噪声电压:
5nV/√Hz(典型值)
•直流电压增益:
50000
•交流电压增益:
2200-10KHZ
•功率带宽:
140KHZ
•转换速率:
9V/μs
•大的电源电压范围:
±3V-±20V
•单位增益补偿
3、引脚说明
2
6
5
8
1
7
3
4
NE5532
图2-1NE55328脚引脚图
1脚:
第一个放大器的输出端
2脚:
第一个放大器的反相输入端
3脚:
第一个放大器的同相输入端
4脚:
接负电源或接地
5脚:
第二个放大器的同相输入端
6脚:
第二个放大器的反相输入端
7脚:
第二个放大器的输出端
8脚:
接正电源端
2.2AT89S52
1、芯片介绍
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2、主要特性
l与MCS-51单片机产品兼容
l8K字节在系统可编程Flash存储器
l1000次擦写周期
l全静态操作:
0Hz~33Hz
l三级加密程序存储器
l32个可编程I/O口线
l三个16位定时器/计数器
l八个中断源
l全双工UART串行通道
l低功耗空闲和掉电模式
l掉电后中断可唤醒
l看门狗定时器
l双数据指针
l掉电标识符
3、引脚说明
图2-2AT89S52引脚图
VCC:
电源电压输入端
GND:
电源地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,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口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口除了作为普通I/O口,还有第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(T0定时器的外部计数输入)
P3.5T1(T1定时器的外部计数输入)
P3.6/WR(外部数据存储器的写选通)
P3.7/RD(外部数据存储器的读选通)
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
89C51的P0、P1、P2、P3口作为输入时都是准双向口。
除了P1口外P0、P2、P3口都还有其他的功能。
RST:
复位输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
地址锁存允许/编程脉冲信号端。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号,低电平有效。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的