基于单片机的数控音频功率放大器.docx

上传人:小飞机 文档编号:2079070 上传时间:2023-01-07 格式:DOCX 页数:23 大小:687.81KB
返回 下载 相关 举报
基于单片机的数控音频功率放大器.docx_第1页
第1页 / 共23页
基于单片机的数控音频功率放大器.docx_第2页
第2页 / 共23页
基于单片机的数控音频功率放大器.docx_第3页
第3页 / 共23页
基于单片机的数控音频功率放大器.docx_第4页
第4页 / 共23页
基于单片机的数控音频功率放大器.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于单片机的数控音频功率放大器.docx》由会员分享,可在线阅读,更多相关《基于单片机的数控音频功率放大器.docx(23页珍藏版)》请在三一办公上搜索。

1、 实训综合设计报告设计课题:基于单片机的数控音频功率放大器专业:电子信息工程 年级:2009组长:组员:硬件技术顾问:指导老师:摘要音频功率放大器是一种常用的模拟电路,在各种音响设备中有着广泛应用。传统模拟控制音频功率放大器增益采用电位器控制,具有故障率高,不易与计算机、遥控器等数字电路接口等缺点,相比较起来数字控制音频功率放大器具有明显的优势,在电视机、组合音响、mp3播放器等家电设备中应用非常广泛。关键词:单片机、可控增益放大器、液晶 Abstart Audio power amplifier is a commonly used analog circuit, in all kinds

2、of audio equipment has been widely used. Traditional simulation control audio amplifier gain the potentiometer control, has the high failure, not easy with the computer, digital interface circuit and remote control shortcomings, such as, by comparison digital control audio power amplifier has obviou

3、s advantages in television, combined sound, mp3 players home appliance equipment is widely used.Keywords: Single-chip microcomputer、Controllable gain amplifier、LCD目录摘要-1Abstart-2前言-31、 总体设计-41.1、电路功能基本概述-52、 硬件设计-62.1、LCD显示电路-62.2、单片机接口电路-72.3、功率放大电路-73、 软件设计3.1、模块设计-83.2、主程序流程图-83.3、显示子程序流程图-94、 总结

4、-105、 任务分工-116、 附录-117、 实物图-23前言音频功率放大器在我们的生活中无处不在,传统的音频功率放大器是用电位器调节音量的大小以及音调的控制。随着电子技术的不断发展,而如今的音频功率放大器已经向数字方向发展,从使用方面更能满足人们的需求。无限控制音频的产品也越来越多,本次设计是基于DAC0832来控制放大器的增益,辅以 STC89S52单片机进行控制 ,增益的调整和控制是通过给DAC0832数据口不同的值实现增益的控制 ,较好地实现了可控增益放大器 。利用DAC0832容易实现对放大器增益的控制, 且具有电路简单、控制方便、成本低廉等优点。可控增益放大器可应用于采集系统中的

5、信号调理或要求放大器增益能程控的场合。1、 总体设计 1.1、电路基本功能概述基于单片机的数控音频功率放大器 ,采用数模DAC0832进行增益的控制 ,用STC89C52单片机进行控制 ,通过数模转换器能较好地实现了增益放大 。其最大特色就在于实现了用数字的方法控制模拟电路,即音量和音调的控制。电路基本结构如下:功率放大器KeyLCD 前级程控放大 MCUVi利用数模转换器能较容易实现对放大器增益的控制, 且具有电路简单、控制方便、成本低廉等优点。通过采取措施也可实现对放大器增益较高精度的控制,增益的调整是通过给DAC0832不通的数据,然后DAC0832的Iout1和Iout2输出不同的电流

6、,再经过一级运放把电流输出转化为电压输出,这样就达到了增益的控制。基于STC89C52单片机的数控音频功率放大器的硬件设计,首先采用分块设计的方法。将整个系统分为:MCU主控电路、LCD显示电路模块、按键控制模块,其中单片机为主控制器,用来对按键进行定时扫描、利用LCD1602进行音量的动态显示,通过按键进行实时控制,实现音量的控制。1)主控制电路如下图所示:2) DAC0832与功放电路如下图所示:2、 硬件设计2.1、LCD显示电路LCD电路采用1602液晶显示,通过主控制器STC89C52实时检测按键,不断更新1602的屏幕,达到人机交互的友好界面。如下是电路连接图:2.2、单片机接口电

7、路DAC0832是数模转换器,与主控制器MCU的接口电路非常简单,只要DAC0832的数据口与主控器的I/O口相连即可。通过改变数据口的数据,即输出不通的增益,从而达到控制音量的大小。电路图如下所示:2.3、功率放大电路功率放大器我们采用TDA2030作为信号放大,它的输出功率大,采用双电源供电,且噪声低、保真度高。开环增益均在80dB以上,闭环增益可在2640dB范围内调整;同时输入阻抗高、以及工作频带宽、可靠性好;再加上体积小,外围元件少,设计灵活。因此成为我们设计的最佳首选。电路原理图如下:3、 软件设计3.1、模块设计数控音频功率放大器的软件设计,分三个模块,即按键控制程序、LCD显示

8、程序和DAC0832控制程序。其中按键控制程序中通过实时检测,来读取键盘。而显示程序则根据按键进行音量动态显示。3.2、主程序流程图主控制流程中,进行相关变量的定义及其初始化,并进行相关内容的显示 开始 初始化LCD1602 为数模口赋初值 LCD1602显示增益大小 结束3.3、显示子程序流程图判断ke1和ke2是否按下 开始检测按键1)按键:通过实时检测按键,不断更新页面显示,其中有两个按键,一个是增键,另外一个是减键,并进行按键消抖。流程图如下:Key2=0? Key1=0? 结束 执行加1操作Key1=0? 延时i结束 延时Key2=0? NO NO 结束 执行减1操作YESYES2)

9、3)4) 2 )LCD液晶显示:LCD1602的功能是显示数字和字符,在使用之前必须初始化后才能使用,通过编写1602的读写程序即可使用。以下是LCD初始化的流程图: 写入指令38H 延迟15ms 开始 写入指令01H 写入指令0CH 初始化结束4、 总结通过此次设计,使我们对电子设计有全新的认识,在不断的学习和运用当中,我学会了从“整体到局部,再从局部到整体”的设计思想,逐步细化的程序设计方法。与此同时,我们也感受到了我们所学知识的肤浅,让我们感触最深的是模拟电路是一门值得研究的学科,要想做出一个模拟电路来需要付出许多的汗水,由于模拟电路本身的特点,理论值与实际情况往往有很大的区别。虽然还有

10、许多不足的地方,但这次的实训极大地提高了我们各方面的能力,为以后的进一步学习和工作奠定了坚实的基础。在此也要感谢这次实训所有帮助过我们的老师和同学!是他们让我们的作品得以成功的实现。5、 任务分工:系统方案设计、PCB原理图绘制及硬件调试,并协助软件调试 ;作品报告的整理及元件采购 ;软件仿真调试 ;6、 附录一、Main.C/*作品功能:在LCD1602显示音量 *程序作者:*编写时间:2011/12/19* 修改时间:*软件版本:1.0.0*/#include ./src/config.h#include /*字符数组及变量的定义 */uchar8 code begin = To shar

11、e Music! ;/*函数功能:主控程序入口参数:无出口参数: 无 */void main( )uchar8 idata buf20 ;uchar8 temp ;lcd_init( ) ;lcd_clr( ) ;Voice = 0x00 ;P2 = 0x00 ;display( 0x80,begin ) ;while( 1 ) temp = key( ) ;sprintf( buf,The voice: %02d dB,( uint16 )temp ) ;display( 0xc0,buf ) ;二、1602. C/*名称:液晶1602内容:显示声音分贝程序*/#include ./src/

12、config.h/*定义控制端口 */sbit RS = P30 ; /* 寄存器选择:为1时选择数据寄存器,为0时选择指令寄存器 */ sbit RW = P31 ; /* 为读信号线 */sbit EN = P32 ; /* 为使能端 */*函数功能:1602写命令程序入口参数:cmd出口参数: 无 */void write_cmd( uchar8 cmd )RS = 0 ;RW = 0 ; P0 = cmd ;EN = 1;delay( 10 ) ;EN = 0 ;/*函数功能:1602写数据程序入口参数:dat出口参数: 无 */void write_data( uchar8 dat

13、)RS = 1 ;RW = 0 ;P0 = dat ;EN = 1 ;delay( 20 ) ;EN = 0 ;/*函数功能:1602初始化程序入口参数:无出口参数: 无 */void lcd_init( void )write_cmd( 0x38 ) ;write_cmd( 0x06 ) ;write_cmd( 0x0c ) ;delay( 100 ) ;/*函数功能:1602清屏程序入口参数:无出口参数: 无 */void lcd_clr( void )write_cmd( 0x01 ) ;delay( 100 ) ;/*函数功能:1602显示程序入口参数:addr,*p出口参数: 无 *

14、/void display( uchar8 addr,uchar8 *p )write_cmd( addr ) ;while( *p !=0 )write_data( *( p+ ) ) ;三、Key.C/*名称:按键程序内容:控制显示界面*/#include ./src/config.h/*定义按键端口 */sbit key1 = P16 ;sbit key2 = P17 ;uchar8 Voice ;/*函数功能:按键程序入口参数:无出口参数: 无 */uchar8 key( )if( key1=0 )delay( 20000 ) ;if( key1=0 )Voice += 10 ;P2

15、+= 1 ;if( Voice=80 )Voice = 80 ; P2 = 0x0f ;if( key2=0 )delay( 20000 ) ;if( key2=0 )Voice -= 10 ;P2 -= 1 ;if( Voice=246 )Voice = 0 ;P2 = 0X01 ;return Voice ;四、Config.h/*名称:声明函数内容:对函数进行声明,为全局服务*/#include #include /*类型宏定义的声明*/#define uchar8 unsigned char #define uint16 unsigned int/*延时函数的声明*/void dela

16、y( uint16 t ) ;/*1602函数的声明*/void lcd_clr( void ) ;void lcd_init( void ) ;void write_cmd( uchar8 cmd ) ;void write_data( uchar8 dat ) ;void display( uchar8 addr,uchar8 *p ) ;/*按键函数的声明*/uchar8 key( ) ;/*全局变量的声明*/extern uchar8 Voice ;五、delay.C/*名称:延时内容:不同延时长短的程序*/#include ./src/config.h/*函数功能:延时子程序入口参数:ms出口参数: 无 */void delay( uint16 t ) while( t- ) ;7、实物图23

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号