基于51单片机和DA转换的数控音频功率放大器设计1.doc

基于51单片机和DA转换的数控音频功率放大器设计1.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51单片机和DA转换的数控音频功率放大器设计1.doc

程控音频功率放大器 一.设计要求 (1) 三.方案对比选择 (1)选用继电器控制前级放大 用继电器控制电阻的选择进而控制放大倍数。 (2)模拟开关控制前级放大 用模拟开光的断和同来控制放大倍数。 (3)用DAC0832控制前级放大 前级放大100倍后用单片机控制DAC0832进行衰减。 经对比选择用DAC0832控制前级放大比较简单,而且较精确。 四.电路图设计 五.主要元件选择及参数设计 运放LF353 前级放大分别放大10倍,总共放大100倍。LF353的工作电压是+15v,各引脚的接法见上图。将7号输出脚的信号作为DAC0832的输入。 (2)功率放大器TDA2030 TDA2030的工作电压是+15v。它将输入的电流进行放大,然后驱动喇叭响。具体接法见上图。利用TDA2030进行功率放大。TDA2030具有体积小,输出功率大,失真小等特点。功率放大器内含多种保护电路,工作安全可靠性高,主要保护电路有:短路保护,热保护,地线偶然开路,电源极性反接,以及负载泄放电压反冲等。其中,热保护电路能够容易承受输出的过载,甚至是长时间的,或者环境温度超过时均起到保护作用。与普通电路相比较,散热片可以有更小的安全系数。结温超过时,也不会对器件有所损害。 (3)单片机STC89S52 STC89S52是比较常用的52系列单片机。它的工作电压是+5v。外围电路加上12M的晶振,使其正常工作。P2口控制DAC0832。通过对P2口赋值来改变输出增益的大小。 (4)1602液晶 1602显示容量为16乘2个字符。工作电压为+5v。 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 Date I/O 2 VDD 电源正极 10 D3 Date I/O 3 VL 液晶显示偏压信号 11 D4 Date I/O 4 RS 数据/命令选择端 12 D5 Date I/O 5 R/W 读写选择端 13 D6 Date I/O 6 E 使能端 14 D7 Date I/O 7 D0 Date I/O 15 BLA 背光源正极 8 D1 Date I/O 16 BLK 背光源负极 (5)DAC0832 DI0~DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2: 电流输出线。其值与Iout1之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻.Vcc:电源输入线 (+5v~+15v)Vref:基准电压输线?(-10v~+10v )AGND:模拟地,摸拟信号和基准电源的参考地DGND:数字地,两种地线在基准电源处共地比较好. 附录二 实验源程序 #include<reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int sbit E=P1^2; sbit RS=P1^0; sbit RW=P1^1; sbit key1=P1^3; sbit key2=P1^4; sbit key3=P1^5; sbit key4=P1^6; sbit key5=P1^7; void lcd_init(); void write_comm(uchar); void write_data(uchar); void write_string(uchar,uchar,uchar *); void lcd_delay(); void delay_ms(uint); void delay_ms(uint i) //延时i毫秒 { uint j; while(i--) { for(j=0;j<=74;j++) { _nop_(); } } } void lcd_init() { lcd_delay(); write_comm(0x38); //显示模式控制:设置16*2显示,5*7点阵,8位数据口 write_comm(0x08); //关显示 write_comm(0x01); //清屏 write_comm(0x06); //输入模式控制:光标右移,整屏不移动 write_comm(0x0c); //开显示,显示光标,光标闪烁 //0x0e,开显示,显示下光标,光标不闪烁 write_comm(0x80); wr

文档评论(0)

书屋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档