课程设计(论文)-程控音频OCL功率放大器.docx_第1页
课程设计(论文)-程控音频OCL功率放大器.docx_第2页
课程设计(论文)-程控音频OCL功率放大器.docx_第3页
课程设计(论文)-程控音频OCL功率放大器.docx_第4页
课程设计(论文)-程控音频OCL功率放大器.docx_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 号:课 程 设 计题 目程控音频ocl功率放大器学 院信息工程学院专 业通信工程班 级通信0904姓 名指导教师2012年01月 10日课程设计任务书学生姓名: 专业班级: 通信工程0904 指导教师: 工作单位: 信息工程学院 题 目: 程控音频ocl功率放大器 初始条件:lm324通用四运算放大器 功率放大器tda2030 扬声器 音频输入 若干电容电阻及二极管要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计一个功率可程控、有输出功率显示的ocl音频功率放大器电路。后级ocl功率放大部分用分立元件制作,供电电源为15v,输入信号电压幅度为(101000)mvrms,负载为为8欧电阻.技术指标如下: a失真度3%时,输出功率p07.5w;b频率响应为(2022000)hz; c在信号源的幅度和频率固定为某一值时,可以设置输出功率,并实时测量、显示输出功率,显示的输出功率(ps)与设定功率(pg)的相对误差时间安排:(1)第18周理论讲解。(2)第19周理论设计、实验设计及安装调试。地点:鉴主13楼通信工程综合实验室、鉴主15楼通信工程实验室(1) 指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目 录摘 要3abstract31. 设计任务及要求32. 设计方案32.1. 电路基本功能概述33 硬件设计33.1 按键控制电路33.2 led显示电路34 软件设计34.1模块设计34.2 软件流程图如下:35.总结:36.参考文献:37.附录:3附1:元器件明细表3附2:仪器设备清单3附3:电路图图纸3附4程序清单3 摘 要采用x9241 系列数字电位器,辅以at89s52 单片机进行控制,增益的调整和控制是通过选择数字电位器中不同阻值的电位器以及软件的进一步修正来达到的,较好地实现了数控音频功率放大器,可应用于数据采集系统的信号调理或要求放大器增益可程控等场合。关键词:单片机;放大器;数字电位器;可控增益放大器 abstractin the experiment, using x9241 digital potentiometer and at89s52 single chip. in order to modulate and control amplifiers gain , selecting potentiometer which has different resistance values and using software to modify. this method can carry out numerical control audio power amplifier ,which can be applied in signal regulation of data2collecting system and some situation which amplifiers gain is cont rolled. keywords: amplifier digital potentiometer; gain2cont rollable amplifier ; single chip computer1. 设计任务及要求设计一个功率可程控、有输出功率显示的ocl音频功率放大器电路。后级ocl功率放大部分用分立元件制作,供电电源为15v,输入信号电压幅度为(101000)mvrms,负载为为8欧电阻.技术指标如下: a失真度3%时,输出功率p07.5w;b频率响应为(2022000)hz; c在信号源的幅度和频率固定为某一值时,可以设置输出功率,并实时测量、显示输出功率,显示的输出功率(ps)与设定功率(pg)的相对误差2. 设计方案2.1. 电路基本功能概述基于数字电位器的数控音频功率放大器 ,采用 x9241数字电位器 ,用at89s52单片机进行控制 ,音量和音调的调节是通过选择数字电位器中不同阻值的电位器以及软件的进一步修正来达到的 ,较好地实现了可控增益放大器 。其最大特色就在于,实现了用数字的方法控制模拟电路,即音量和音调的控制。电路基本结构如下: 图1 电路框图利用数字电位器能较容易实现对放大器增益的控制, 且具有电路简单、控制方便、成本低廉等优点。通过采取措施也可实现对放大器增益较高精度的控制,增益的调整是通过选择数字电位器中不同阻值的电位器以及软件的进一步修正来达到的,可控增益放大器可应用于采集系统中的信号调理或要求放大器增益能程控的场合。基于数字电位器的数控音频功率放大器的硬件设计,首先采用分块设计的方法。将整个系统分为:显示电路模块、按键控制模块、单片机与数字电位器的接口电路、音量和音调调节模块及音频功率放大器模块。其中单片机为主控制器,用来对按键进行定时扫描、利用数码管进行音量和音调的动态显示、通过与数字电位器的接口电路,对x9241数字电位器进行实时控制,实现音量音调的控制。与此同时,单片机读取数字电位器当前的抽头值,将值送入显示电路进行显示。主控制电路如下图所示:图2 主控制电路 图3 ocl功率放大模块图4.电压输出图5.示波器输出由p=u2r可知输出功率p=10.5w满足输出功率p07.5w,符合要求3 硬件设计3.1 按键控制电路按键控制电路有单片机(at89s52)和3个分别控制音增益大小的按钮构成,按键控制接单片机p1.0p1.2。再按键被按下之前,单片机各个引脚处于高电平,当有按键按下时,相对应的引脚变为低电平,当检测到有引脚变为低电平时,执行相应的操作。电路原理图如图6所示图6.按键控制电路按键检测中,采用定时中断的方法。即当计数值到一定大时,开始读取p3口,并将计数器清零,根据读到的键盘值,执行相应的操作。另外有一种情况,按键抖动问题:当操作者手动按键时,由于按键会产生数次抖动,而在较短的时间内,检测程序会检测到多次按下操作,而执行多次相应程序。这与实际情况并不相符,因为对于操作者来说,只是按了一次按键,而检测程序执行了多次。因此在软件设计中加入消除按键抖动程序。具体实现方法如下:按键被按下时,设置一个时间片(如20ms),在这段时间内进行按键状态判断,如果在时间片结束时,按键状态没有发生变化,仍然为低电平,则表明按键确实被按下,之后再执行相应的操作,这样就可以消除按键抖动对按键检测的造成的影响。3.2 lcd显示电路lcd显示电路由单片机(at89s52)、液晶lcd,阻及三级放大管构成。其中液晶的数据端接至单片机p0.0p0.7口,液晶选择线接单片机p2.52.7,显示数据由p0口输出至数码管,显示相应的内容。液晶显示内容由单片机从数字电位器获得。其显示电路原理图如下:图 7显示电路显示时,单片机通过按键程序读取按键值,并判断是那个控制键被按下,再相应操作。同时单片机将发送数据到数字电位器,数字电位器再根据传送的数据执行抽头的上调或下调动作,达到音量调节的目的。单片机可读取数字电位器当前的抽头值,将其编码后送至p0口,数码管获得数据后,显示出相应的值,完成一次显示任务。数码管设计为动态显示,平均每隔20ms更新一次,从而实现了音量、音调的实时显示功能。相应的软件实现方法见附录中的按键检测程序。 4 软件设计4.1模块设计数控音频功率放大器的软件设计,分三个模块,即按键控制程序、数码显示程序和数字电位器控制程序。其中按键控制程序中由定时程序产生中断,定时读取键盘。另外,为消除按键抖动对整个模块的影响,辅以消除按键抖动的子程序。而显示程则根据按键值和获得的数字电位器抽头数据,承担音量、音调的动态显示。数字电位器控制程序中,单片机可通过数字电位器地址线,发送地址编码,选取其中的某个电位器,再通过sda串口传送控制指令,使选中的电位器抽头上调或下调,达到音量或音调控制的目的。4.2 软件流程图如下:5.总结: 利用数字电位器容易实现的数控音频功率放大器,且具有电路简单、控制方便、成本低廉等优点。本设计的主要部分是单片机对x9241数字电位器的实时控制,控制方式是单片机通过i2c串行总线,根据按键值发送相应的控制命令,值此基础上辅以显示电路,通过数码管显示当前调节内容和相对值。此电路的最大优点是:通过数字电路(主控电路),完成了对模拟电路(音量、音调调节电路)的控制,按键抖动、数码动态显示通过软件方式实现,控制灵活,具有较高的控制效率。而且在实际运用中,它广泛运用于日常生活中的mp3、dvd等数码产品。通过此次设计,使我对电子设计有全新的认识,在不断的学习和运用当中,我学会了从“整体到局部,再从局部到整体”的设计思想,逐步细化的程序设计方法。与此同时,极大地提高了我的动手能力,为以后的进一步学习和工作奠定了坚实的基础。6.参考文献:信号与系统,沈元隆.周井全编,北京:人民邮电出版社,2007年;c程序设计,谭浩强著,北京:清华大学,2005年;电子技术基础-模拟部分,康华光编,北京:高等教育出版社,2006年;电子技术基础-数字部分,康华光编,北京:高等教育出版社,2006年;单片机原理及应用,李建忠著,西安:西安电子科技大学,2002 年;晶体管电路设计,铃木雅臣著,北京:科学出版社,2006年;atmega16.pdf,pdf文档;7.附录:附1:元器件明细表1、 lcd128642、 89s51/523、 atmega164、 ad6035、 ad6376、 opa21327、 opa6278、 mc14039、 max53110、ad985111、max187附2:仪器设备清单1、 信号发生器 2、 五位半数字万用表 3、 失真度测量仪4、 数字示波器5、 稳压电源附3:电路图图纸ocl功率放大部分单片机与lcd模块 附4程序清单avr单片机部分:#include#include#include#includemax531.h#includemax187.h#includelcd12864.h#define uchar unsigned char#define uint unsigned int#define s6k portd|=(1pd6) / 常闭为1, 1为6k; #define s100k portd&=(1pd6) / 0是100k#define nd portd&=(1pd7)#define div portd|=(10;i-) for(;j0;j-) ;uchar getkey()if(!(pinc&0x01)return(1);if(!(pinc&0x02)return(2);if(!(pinc&0x04)return(3);if(!(pinc&0x08)return(4);if(!(pinc&0x10)return(5);void main() uint r187data=0,i,j; double sed_gonglv=0; double out_gonglv=0; unsigned long input;s6k; /为6kdiv; portinit(); lcd_init(); send_531_data(nowv531); writestr(0x80, 程控功放 ); writestr(0x90,设定值为: w); writestr(0x98,输出功率 w); while(1) for(i=50000;i0;i-) r187data=read_187_data();nowpower=(double)r187data*div637)/10; /为u有效值out_gonglv=(nowpower*nowpower)/1000; /v的平方 if(keypress() /如有键按下 keycode=getkey(); /取键值delay(4000); /消抖 while(keypress() ; /等待松开 switch(keycode) /键处理 case 1:fleg_enter=1; r_fleg=0; break; case 2:addnum*=10; break; case 3: if(r_fleg) r-=addnum; else setpower-=addnum; break; case 4: if(r_fleg) r+=addnum; else setpower+=addnum; break;case 5:r_fleg=1;break; if(addnum=10000|addnum=0) addnum=1;if(setpower9999) setpower=0; keycode=0;if(r_fleg) writestr(0x90,设定电阻: );senduint(0x95, r); senduint(0x8d, addnum); if(r_fleg=0) writestr(0x90,设定值为: w); senduint(0x95, setpower); senduint(0x8d, addnum); count=0; /agcflag=1; senduint(0x9d, (out_gonglv*1000)/r);if(agcflag) break;if(agcflag=1) s6k; send_531_data(2000);r187data=read_187_data();nowpower=(double)r187data*div637)/10;if(nowpower0;j-); s100k;s100k;s100k;fleg_jidianqi=1; if(fleg_enter=1) while(agcflag) r187data=read_187_data();nowpower=(double)r187data*div637)/10; /为u有效值 sed_gonglv=(setpower*r)/1000; /p*r out_gonglv=(nowpower*nowpower)/1000; /v的平方if(fabs(sed_gonglv-out_gonglv)=2) if(sed_gonglvout_gonglv) nextv531+; for(j=10;j0;j-); send_531_data(nextv531); if(sed_gonglv0;j-); send_531_data(nextv531); fleg_enter=0; fleg_jidianqi=0; senduint(0x9d, (out_gonglv*1000)/r); 51单片机部分#include #include #include #include # include key.h#include s51ad9851.h#include #define uchar unsigned char /类型重定义#define uint unsigned int /类型重定义sbit key1=p20;sbit key2=p21;sbit key3=p22;sbit key4=p23;unsigned long int num=2000;/uint phase=0x01; /在s51ad9851.h定义了/unsigned char number10=0123456789 ;/=/函数名称:/函数功能:/说明:/=void main()uint temp; lcd_send_order(0x30); /基本指令集 lcd_send_order(0x0e); /整体显示 光标开 光标不反白 lcd_send_order(0x1c); /显示向右移动,光标跟着移动 lcd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论