一、任务
设计并制作低频功率放大器。其原理示意图如下:
、
二、要求
1.基本要求
(1)在放大通道的正弦信号输入电压幅度为(5~700)mVpp,采用双电源供电,不大于±20V;等效负载电阻RL为8Ω下,放大器应满足:(功率放大部分单独供电) ① 最大不失真输出功率POR≥15W;(失真度小于5%) ② 带宽BW≥(40~20000)Hz;(功放部分) ③ 在POR下的效率≥50%;
④在前置放大级输入端交流短接到地时,RL=8Ω上的交流声VPP≤400mV。
⑤前置放大器具有低音、中音、高音调节功能。 ⑥具有音量调节功能。
(前置放大器只能用常规运放或三极管不得采用专用前置集成电路、功放部分只采用分立元件不得采用专用集成功放)
单片机控制电路
前置放大和DA转换
功率放大电路
控制程序
#include #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); write_comm(0x02); //数据指针清零 } void write_comm(uchar i) { RS=0; RW=0; P0=i; lcd_delay(); E=0; lcd_delay(); E=1; } void write_data(uchar i) { RS=1; RW=0; P0=i; lcd_delay(); E=0; lcd_delay(); E=1; } void write_string(uchar row,uchar column,uchar *dis_buffer) { switch(row) //这种结构保持以后升级到多行显示液晶 { case 1:write_comm(0x80+column);break; case 2:write_comm(0x80+0x40+column);break;//重新调整数据地址指针 default:break; } while(*dis_buffer!='\\0') // '\\0'结束符 { write_data(*dis_buffer); dis_buffer++; column++; if(column==16) { column=0; row++; if(row>=3) return; else switch(row) //这种结构保持以后升级到多行显示液晶 { case 1:write_comm(0x80+column);break; case 2:write_comm(0x80+0x40+column);break; //重新调整数据地址指针 default:break; } } } } void lcd_delay() { uchar i; for(i=0;i<255;i++); } void main() { lcd_init(); //cntl1=1;cntl3=1; cntl2=0;cntl4=0;cntl5=1;cntl6=0; write_string(1,0,\"Gain:\"); while(1) { if(key1==0) { delay_ms(15); if(key1==0) { while(!key1); P2=0x02; write_string(2,5,\"0dB\"); write_string(2,5,\"10dB\"); } } if(key2==0) { delay_ms(15); if(key2==0) { while(!key2); P2=0x08; write_string(2,5,\"10dB\"); write_string(2,5,\"10dB\"); } } if(key3==0) { delay_ms(15); if(key3==0) { while(!key3); P2=0x1A; write_string(2,5,\"20dB\"); write_string(1,5,\"10dB\"); } } if(key4==0) { delay_ms(15); if(key4==0) { while(!key4); P2=0x51; write_string(2,5,\"30dB\"); write_string(1,5,\"10dB\"); } } if(key5==0) { delay_ms(15); if(key5==0) { while(!key5); P2=0xff; write_string(2,5,\"40dB\"); write_string(1,5,\"10dB\"); } } } } 功率放大部分电阻需大功率 因篇幅问题不能全部显示,请点此查看更多更全内容