电子设计竞赛 电子产品设计与制作 技术说明书.docx
- 文档编号:24651720
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:35
- 大小:2.20MB
电子设计竞赛 电子产品设计与制作 技术说明书.docx
《电子设计竞赛 电子产品设计与制作 技术说明书.docx》由会员分享,可在线阅读,更多相关《电子设计竞赛 电子产品设计与制作 技术说明书.docx(35页珍藏版)》请在冰豆网上搜索。
电子设计竞赛电子产品设计与制作技术说明书
2012年海南省职业院校技能大赛
高职组“电子产品设计及制作”
(低功耗高效率的小功率音频放大器)
2012年4月25日
摘要
本设计为低功耗高效率小功率音频放大器,主要由LF353集成运算,STC89C52单片机,TDA2030集成音频放大器构成。
具有保护电路,红外遥控,多路切换功能,液晶显示功能,频率检测功能。
关键字:
LF353集成运算、STC89C52单片机,TDA2030集成音频放大器。
Abstract
Thedesignforlowpowerhighefficiencyaudiopoweramplifier,ismainlycomposedofaLF353integratedoperational,STC89C52chip,TDA2030integratedaudioamplifier.Aprotectioncircuit,infraredremotecontrol,switchingfunction,theliquidcrystaldisplayfunction,frequencydetectionfunction.
Keyword:
LF353integratedoperation,STC89C52MCU,TDA2030integratedaudioamplifier.
一、任务分析
1.1技术指标要求
1. 当输入正弦信号电压有效值为500mV时,在8Ω负载下输出功率≥3W,输出波形无明显失真;
2.效率>70%;
3.频率响应:
100Hz~15KHz;
4.失真≤1%;
5. 较高的性价比;
6 其他发挥功能,如:
保护电路、高低音调整、音量控制、程控及显示、遥控、无线输入、多路输入切换等。
1.2设计要求
1、设计前置放大器、音调音量控制级、功率放大级和供电电源;
2、选定参数与设计电路原理图;
3、电路的安装于调试;
4、测试输入阻抗、输出阻抗;
二、电路原理图
音频功率放大器主要由前置放大电路,音调级电路,功率放大电路三部分组成。
前置放大电路要求输入阻抗高,输出阻抗低,频带宽,噪声小,主要承担控制任务,对各种生源信号进行选择和处理;音调控制级对输入信号主要起提升、衰减作用,它将微弱信号进行放大,进行各种音质控制,美化音色;功率放大级是音频功放电路中最重要的部分,它决定输出功率的大小,效率的大小,它所承担的放大任务是将前面的音频信号进行功率放大,以推动扬声器发声。
对整机的要求是失真小,噪声低,有较好的扩音效果,根据技术指标要求与设计指标要求,设计各级方案,增益分配。
图2-1总功能电路框图
三、方案设计
3.1前置放大
前置放大在音频放大电路中起着承前启后的作用,又由电路对频率响应及零输入(即输入短入)时的噪声、电流、电压的要求,前置放大选LF353集成双运放,LF353是一种双路运算放大器,属于高输入阻抗低噪声的集成运放,前置放大由两级放大组成。
图3-1前置放大电路
图3-2
元器件参数:
第一级放大A1=0~10,((1+R4)/RV1)=0~10,A2=((1+R12/RV2)=0~10,R2==R4=R5=R12=100K,R13=22K,RV1=RV2=100K,C11=C13=C15=10uF,C14=C15=100uF以保证扩声电路的低频响应,C12=100Pf。
由元器件参数的前置放大最大放大倍数为100倍,最小时起衰减信号作用。
3.2反相电路
由音调调节输出的波形与原来信号频率相同但相位相差180度,所以用一个反相器把信号的相位反相回来。
R17=R18=10K,R19=R17//R18.
图3-3反相器
3.3音量音调调节
此电路是高低音分别控制衰减式音调控制电路。
R8=10K,RV6=1M,R24=1.5K,C1=C2=33nF组成低音控制电路,C3=2.2nF,C4=33nF,RV7=1M组成高音控制电路,R5为隔离电阻,RV5=1M为音量调节。
C28为隔直电容为防止后级放大器直流信号对前级控制器的影响。
音频放大器的性能主要是由音调控制器与功率放大器决定的。
音调控制器的作用是控制、调节音响放大器输出频率的高低。
音量调节只对低音与高音的增益进行提升与衰减,中音频增益保持不变。
所以音调调节控制器的电路由低通和高通滤波器共同组成。
图3-4
图3-5音调音量调节电路
3.4音频功率放大器
由功放设计有5类:
A类功放效率低最高效率只有50%;B类功放效率可达78.5%但输出信号会有交越失真;AB类功放相当于A类B类功放相结合,高效率低失真,C类功放效率达78.5%以上当C类功放只用于特殊领域不适合用于音频功放;D类功放理想效率可达100%但成本高。
所以综合考虑采用AB类功放.
由技术指标与设计指标,音频功率放大电路采用音频集成芯片CM20381A,此芯片优点是外接元件非常少,输出功率Po>=3W(RL=8Ω),开机冲击极小。
内含各种保护电路,因此工作安全可靠。
主要保护电路有:
短路保护、热保护、地线偶然开路、电源极性反接(Vsmax=5V)以及负载泄放电压反冲等,CM20381A能在8Ω阻抗时能够输出>=3W的有效功率,THD≤1%。
图3-6
图3-7音频功率放大电路
3.5电源模块
电源模块主要由电源变压器、桥式整流电路、滤波电路、稳压电路,稳压电路主要由LM7805,LML7812,M7912三个三端稳压芯片组成。
确保电路的正常稳定工作。
这部分电路比较简单,都采用三端稳压管实现,故不作详述。
图3-8
图3-9电源模块
四、拓展部分
4.1音乐盒
音乐盒由51单片机产生16首不同的歌曲用矩阵键盘控制。
图4-1
图4-2音乐盒
4.2单片机控制输入信号
由单片机输入音频信号,在由单片机控制输入信号幅度
图4-3单片机控制输入信号
4.3频率检测与液晶显示
频率检测由NE555组成的施密特触发器组成,将正弦波变换成矩形波通过1602液晶显示当前频率。
图4-4频率检测电路
4.4保护电路
此电路在扬声器引脚上取检测信号,通过桥式整流电路变成直流信号,当扬声器上电流超过额定值时使Q1导通-Q2饱和-Q3深度饱和,使继电器导通,断开继电器常闭,短开扬声器与功率放大器的接线。
图4-5
图4-6保护电路
五、程序部分
5.1功能框图
图5-1总功能电路框图
5.2主程序框图
图5-2主程序框图
5.3液晶1602
图5-3液晶1602
5.4频率检测
图5-4频率检测
5.5红外遥控
--
图5-5红外遥控
5.6键盘检测
图5-6键盘检测
六、总程序
#include
sbitIR=P3^2;//红外接口标志
sbitkey1=P1^6;
sbitkey2=P1^7;
sbitsw=P3^6;
sbitswp1=P1^3;
sbitswp2=P1^4;
sbitswp3=P1^5;
/***********************************
名称:
声明函数
内容:
对函数进行声明,为全局服务
************************************/
#include
/***********************************
类型宏定义的声明
**********************************/
#defineuchar8unsignedchar
#defineuint16unsignedint
sbitRS=P1^0;/*寄存器选择:
为1时选择数据寄存器,为0时选择指令寄存器*/
sbitRW=P1^1;/*为读信号线*/
sbitEN=P1^2;/*为使能端*/
uchar8codebegin[]="Link:
0Hz";
uchar8codetable[]="Thevoice:
00";
/*********************************
延时函数的声明
*********************************/
voiddelay(uint16t);
/*********************************
1602函数的声明
*********************************/
voidlcd_clr(void);
voidlcd_init(void);
voidwrite_cmd(uchar8cmd);
voidwrite_data(uchar8dat);
voidkey();
//voiddisplay(uchar8addr,uchar8*p);
/*********************************
按键函数的声明
*********************************/
/*********************************
全局变量的声明
*********************************/
intVoice,num1;
/*------------------------------------------------
全局变量声明
------------------------------------------------*/
unsignedcharirtime,Hztime,Hzgeshu,Hzflag=0,swflag;//红外用全局变量
unsignedintHznum=0;
bitirpro_ok,irok;
unsignedcharIRcord[4];
unsignedcharirdata[33];
/*------------------------------------------------
函数声明
------------------------------------------------*/
voidIr_work(void);
voidIrcordpro(void);
/*------------------------------------------------
定时器0中断处理
------------------------------------------------*/
voidtim0_isr(void)interrupt1using1
{
irtime++;//用于计数2个下降沿之间的时间
}
/*------------------------------------------------
定时器1中断处理
------------------------------------------------*/
voidtim1_Hz(void)interrupt3
{
uchar8Hzbai,Hzshi,Hzge,Hzqian,Hzkqian,Hzkflag=1;
//floatHzkshi,Hzkge,Hzkfen,Hzknum;
TR1=0;
TH1=(65535-50000)/256;//定时器重新赋值
TL1=(65535-50000)%256;
Hzgeshu++;//计数1S时间
if(Hzgeshu==20)//时间到
{
Hzgeshu=0;
//Hznum=Hznum-5;
Hzkqian=Hznum/10000;//赋值用于LCD显示
Hzqian=Hznum%10000/1000;
Hzbai=Hznum%1000/100;
Hzshi=Hznum%100/10;
Hzge=Hznum%10;
Hzflag=1;
}
if(Hzflag)
{//在1S的时候处理
Hzflag=0;
if(Hznum<1000)//如果小于1000的频率
{
Hznum=0;
if(Hzbai)//不显示K
{
write_cmd(0x80+11);
write_data(0x30+Hzbai);
}
else
{
write_cmd(0x80+11);
write_data('');
}
if(Hzbai||Hzshi)
{
write_cmd(0x80+12);
write_data(0x30+Hzshi);
}
else
{
write_cmd(0x80+12);
write_data('');
}
write_cmd(0x80+13);
write_data(0x30+Hzge);
}
if(Hznum>=1000)//大于1000显示小数点
{
if(Hznum%1000!
=0)//不为整数时显示小数点
{
if(Hzkqian)
{
write_cmd(0x80+9);
write_data(0x30+Hzkqian);
}
else
{
write_cmd(0x80+9);
write_data('');
}
if(Hzkqian||Hzqian)
{
write_cmd(0x80+10);
write_data(0x30+Hzqian);
}
else
{
write_cmd(0x80+10);
write_data('');
}
if(Hzqian||Hzkqian)
{
write_cmd(0x80+11);
write_data('.');
}
else
{
write_cmd(0x80+11);
write_data('');
}
write_cmd(0x80+12);
write_data(0x30+Hzbai);
if(Hzqian)
{
write_cmd(0x80+13);
write_data('k');
}
}
else//否则显示整数
{
write_cmd(0x80+11);
write_data(0x30+Hzkqian);
write_cmd(0x80+12);
write_data(0x30+Hzqian);
if(Hzkqian||Hzqian)
{
write_cmd(0x80+13);
write_data('k');
}
}
Hznum=0;
//}
}
}
write_cmd(0x80+14);
write_data('H');
write_cmd(0x80+15);
write_data('z');
TR1=1;
}
/*------------------------------------------------
延时子程序
------------------------------------------------*/
voiddelay(uint16t)
{
while(t--);
}
/*------------------------------------------------
键盘扫描
------------------------------------------------*/
voidkey()
{
if(key1==0)//按下键盘1放大增大
{
delay(100);
if(key1==0)
{
while(!
key1);
Voice+=200;
num1+=51;
if(num1>=255)
num1=255;
P2=num1;
if(Voice>900)
{
Voice=1000;
P2=0xff;
}
}
}//按下键盘2放大减小
if(key2==0)
{
delay(100);
if(key2==0)
{
while(!
key2);
Voice-=200;
num1-=51;
if(num1<=0)
num1=0;
P2=num1;
if(Voice<0)
{
Voice=0;
P2=0x00;
}
}
}
//P2=0xff;
//returnVoice;
}
/*------------------------------------------------
按键选择音乐
------------------------------------------------*/
voidsw_music(void)
{
if(sw==0)
{
delay(100);
if(sw==0)
{
while(!
sw);
swflag++;
if(swflag==4)//按键选择音乐播放线路
swflag=0;
}
}
if(swflag==1)
swp1=1;
else
swp1=0;
if(swflag==2)
swp2=1;
else
swp2=0;
if(swflag==3)
swp3=1;
else
swp3=0;
write_cmd(0x86);
write_data(0x30+swflag);
}
/*------------------------------------------------
外部中断0中断处理
------------------------------------------------*/
voidEX0_ISR(void)interrupt0//外部中断0服务函数
{
staticunsignedchari;//接收红外信号处理
staticbitstartflag;//是否开始处理标志位
if(startflag)
{
if(irtime<63&&irtime>=33)//引导码TC9012的头码,9ms+4.5ms
i=0;
irdata[i]=irtime;//存储每个电平的持续时间,用于以后判断是0还是1
irtime=0;
i++;
if(i==33)
{
irok=1;
i=0;
}
}
else
{
irtime=0;
startflag=1;
}
}
/*------------------------------------------------
外部中断1中断处理
------------------------------------------------*/
voidEX1_ISR(void)interrupt2
{
Hznum++;
}
/*------------------------------------------------
定时器0初始化
------------------------------------------------*/
voidTIM0init(void)//定时器0初始化
{
TMOD=0x12;//定时器0工作方式2,TH0是重装值,TL0是初值
TH0=0x00;//重载值
TL0=0x00;//初始化值
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
ET1=1;//开中断
TR1=1;
ET0=1;//开中断
TR0=1;
}
/*------------------------------------------------
外部中断0初始化
------------------------------------------------*/
voidEX0init(void)
{
IT0=1;//指定外部中断0下降沿触发,INT0(P3.2)
EX0=1;//使能外部中断
IT1=1;
EX1=1;
EA=1;//开总中断
}
/*------------------------------------------------
键值处理
------------------------------------------------*/
voidIr_work(void)//红外键值散转程序
{
switch(IRcord[2])//判断第三个数码值
{
case0x15:
Voice+=200;//按下‘+’放大增大
num1+=51;
if(num1>=255)
num1=255;//按下‘-’放大减小
P2=num1;
if(Voice>900)
{
Voice=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子设计竞赛 电子产品设计与制作 技术说明书 电子设计 竞赛 电子 产品设计 制作 技术 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)