1、具体接法见上图。利用TDA2030进行功率放大。TDA2030具有体积小,输出功率大,失真小等特点。功率放大器内含多种保护电路,工作安全可靠性高,主要保护电路有:短路保护,热保护,地线偶然开路,电源极性反接,以及负载泄放电压反冲等。其中,热保护电路能够容易承受输出的过载,甚至是长时间的,或者环境温度超过时均起到保护作用。与普通电路相比较,散热片可以有更小的安全系数。结温超过时,也不会对器件有所损害。(3)单片机STC89S52 STC89S52是比较常用的52系列单片机。它的工作电压是+5v。外围电路加上12M的晶振,使其正常工作。P2口控制DAC0832。通过对P2口赋值来改变输出增益的大小
2、。(4)1602液晶 1602显示容量为16乘2个字符。工作电压为+5v。编号符号引脚说明1VSS电源地9D2Date I/O2VDD电源正极10D33VL液晶显示偏压信号11D44RS数据/命令选择端12D55R/W读写选择端13D66E使能端14D77D015BLA背光源正极8D116BLK背光源负极(5)DAC0832DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当
3、输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻. Vcc:电源输入线 (+5v+15v) Vref:基准电压输线(-10v+10v ) AGND:模拟地,摸拟信号和基准电源的参考地 DGND:数字地,两种地线在基准电源处共地比较好.六软件编程按照电路图的设计焊接好硬件电路。就开始软件编程。程序主要分为两个部分,即液晶显示部分和控制DAC0832的部分。由于本设计采用的是用按键分别控制。可以在主函数中调用一个键盘扫描的函数,当相应的不同按键按下后控制液晶显示和单片机P2的输出,从而控制DAC0832的输出增益。源
4、程序见附录。七调试部分本次实验的调试部分花了大量的时间。当程序写好编译通过后,下载到单片机中,调试硬件看有无显示和输出。调试主要分为3个部分。分别是液晶显示部分,前级放大部分,功放输出部分。首先是液晶部分,经过几次程序的修改,和对液晶部分电路的检测终于将液晶部分调出有显示。然后检查前级放大部分。在输入端输入峰峰值为50mv的正弦波。用示波器检查运放的输出。最后一遍联合按键控制用示波器观察DAC0832输出部分的波形。结果显示良好。八实验心得体会与总结经过这次试验,我还是有一些收获的。首先感觉到我们所学知识的肤浅,既没学活也没学深。以后要想做好电信专业的工作,我们还有很长的路要走。我也认识到模拟
5、电路是一门很值得研究而且可以大有作为的学科,要想成功做出一个模拟电路出来需要付出许多汗水,并不是能够将电路设计出来就算成功,由于模拟电路本身的特点,理论值和实际情况往往有着很大的区别,当我们设计出一个合理的电路并把它焊接出来后,心中小有成就感,然而在调试的过程中却遭受了失败的一次次打击,我们甚至出现了上午把电路板调试好,下午输出信号完全混乱的情况,幸运的是我们任然坚持到最后并且品尝到了成功的喜悦。可以说完成理论设计只是完成了整个课题的很小一部分,调试过程占了很大的比重,在这个过程中通过与同学交流我们学到了很多,比如说电源要接去耦电容、液晶背光灯调节电阻的几种解法,单片机程序中几个函数的用法,电
6、路虚焊的检验方法等等。通过这次实验,进一步验证了我的编程能力,使我看到了自己有许多需要提高和改进的地方,也增强了我学习本专业的兴趣和信心,可以说以后不管是读研还是找工作,我要想成为一名合格的电子工程师还有很长的路要走。附录一 实验电路图附录二 实验源程序#include#include #define uchar unsigned char#define uint unsigned intsbit E=P12;sbit RS=P10;sbit RW=P11;sbit key1=P13;sbit key2=P14;sbit key3=P15;sbit key4=P16;sbit key5=P17
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=3) return; elsewrite_comm(0x80);write_comm(0x80+0x40); /重新调整数据地址指针 void lcd_delay() uchar i; for(i=0;i25
8、5;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); while(!key1); P2=0x02; write_string(2,0,0dB if(key2=0)key2); P2=0x08;10dB if(key3=0)key3); P2=0x1A;20dB if(key4=0)key4); P2=0x51;30dB if(key5=0)key5); P2=0xff;40dB
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1