数控音频功率放大器实训报告.doc_第1页
数控音频功率放大器实训报告.doc_第2页
数控音频功率放大器实训报告.doc_第3页
数控音频功率放大器实训报告.doc_第4页
数控音频功率放大器实训报告.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

电子产品设计与制作综合实训数控音频功率放大器的设计与制作姓 名:安腾 孙健 组 号: 1 学 号:1004023301/03班 级:电子 1031指导教师: 张琪 徐丽萍提交日期:2012年 5月24日 目 录前言(综合实训目的)第一章、方案论证 1.1 项目介绍与设计要求 1.2 项目模块 1.3芯片比较与介绍 1. 话筒及前置放大电路芯片的选择(芯片LM358与LM324) 2. 输入信号电路芯片的选择(CD4053与CD4051) 3 .数字音控电路芯片的选择(芯片X9313与X9511) 4 .功率放大电路芯片的选择(芯片TDA2003与TDA2030) 5 . MCU控制电路芯片的选择(STC89C51与AT89C51)1.4 最终方案第二章、Protel99se软件的介绍 2.1 Protel99se的发展史 2.2 Protel99se的系统组成第三章、项目的制作与调试3.1 原理图、PCB的设计3.2 画图时的注意事项3.3焊接的要求3.4焊接过程中因注意事项3.5 软、硬件调试.总结致谢参考文献附录 前言(综合实训目的)此次项目实训时间为五周,通过此次实训,我们要能看懂电路图,并能认真阅读资料并加以应用;能应用PROTEL 99SE软件设计电路图和PCB板,设计完成电路板符合电子产品工艺要求和电磁兼容要求;要求我们掌握电路的设计方法,能够独立的分析解决一般性质的问题,在设计与制作过程中能够从经济性和环保性等方面去考虑,在设计与制作中能大胆的实践,开拓创新,能够将自己的想法体现到实际电路当中去。 更重要的是基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。熟悉电子产品的安装工艺的生产流程,能够完成电子产品设计调试、故障排除到整机装配整个过程,能按照IPC工艺安装调试印制电路板,并且让我们知道如何去编一段复杂的程序。培养了我们与同组同学的团队合作、共同探讨、共同前进的精神,为以后工作奠定了一定的基础。一、方案论证1.1项目介绍与设计要求1、项目介绍 数控音频功率放大器的介绍: 数控音频功率放大器是一种常用的模拟电路。数控音频功率放大器电路是一种可以采用数控方式产生计数脉冲实现音量调节的装置, 从原理上讲是一种典型的数字电路和模拟集成电路的组合和综合运用,在各种音响设备中有着广泛应用。 2、设计要求 数控音频功率放大器的结构框图: 音频线路输入话音输入模拟开关静音键盘遥控发射遥控接收数字音量电位器音频功率放大器MCU显示电路 2、数控音频功率放大器的技术指标和功能要求: 输入电源:18V/2A 输出功率:5W(不失真功率、R=4欧) 功放效率:35% 线路放大频率响应:100HZ15KHZ(3dB带宽)失真度:1% 信噪比:80dB 音量控制分32级,并具有静音和音量参数的掉电保护功能 红外遥控距离:7M输入分为音频线路输入1Vpp、输入阻抗10k和MIC话音输入20mVpp设计需考虑电路结构的简捷、材料成本低廉、调试测量方便等因素 1.2项目模块 此项目包括话筒及前置放大电路模块,输入信号和数字音控电路模块,功率放大电路模块和MCU控制电路模块。其中最主要的是功率放大电路模块和MCU控制电路模块,因为这个项目主要应用单片机(STC89C51)进行编程的,由它来控制模拟开关(CD4053)、数字电位器(X9313)的。利用这几个模块使这个项目可以实现对声音的提高与降低,选择麦克风信号还是音频线路信号,可以实现静音功能。1.3芯片比较与介绍 1、话筒及前置放大电路芯片的选择(芯片LM358与LM324) LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工 作条件下,电源电流与 电源电压无关。它的使用范围包括传感放大器、直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。 LM358特性(Features): 内部频率补偿。 直流电压增益高(约100dB) 。 单位增益频带宽(约1MHz) 。 电源电压范围宽:单电源(330V);双电源(1.5一15V) 。 低功耗电流,适合于电池供电。 低输入偏流。 低输入失调电压和失调电流。 共模输入电压范围宽,包括接地。 差模输入电压范围宽,等于电源电压范围。 输出电压摆幅大(0至Vcc-1.5V) 。 LM358主要参数输入偏置电流45 nA输入失调电流50 nA输入失调电压2.9mV输入共模电压最大值VCC1.5 V共模抑制比80dB电源抑制比100dB LM358的封装形式有塑封8引线双列直插式和贴片式。 DIP塑封引脚图引脚功能 圆形金属壳封装管脚图LM358内部结构图图3 内部电路原理图LM358应用电路图:图1 直流耦合低通RC有源滤波器图2 LED驱动器图3 TTL驱动电路LM324为四运放集成电路,采用14脚双列直插塑料封装。,内部有四个运算放大器,有相位补偿电路。电路功耗很小,LM324工作电压范围宽,可用正电源330V,或正负双电源15V15V工作。它的输入电压可低到地电位,而输出电压范围为OVcc。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。 因为LM324是四运放集成电路,而我们这里所要的是双运放集成电路,所以我们选择LM358。 2、输入信号电路芯片的选择(CD4053与CD4051) 芯片CD4053/CC4053 CD4053/CC4053是三2通道数字控制模拟开关,有三个独立的数字控制输入端A、B、C和INH输入,具有低导通阻抗和低的截止漏电流。幅值为4.520V的数字信号可控制峰-峰值至20V的数字信号。例如若VDD+5,VSS0,VEE-13.5V,则05V的数字信号可控制-13.54.5V的模拟信号。这些开关电路在整个VDD-VSS和VDDVEE电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。当INH输入端“1”时,所有通道截止。控制输入为高电平时,“0”通道被选,反之,“1”通道被选。1)、引脚排列2)、真值表3)、封装尺寸: 芯片CD4051CD4051是单8通道数字控制模拟电子开关,有A、B和C三个二进制控制输入端以及INH共4个输入,具有低导通阻抗和很低的截止漏电流。幅值为4.520V的数字信号可控制峰值至20V的模拟信号。例如,若VDD=+5V,VSS=0,VEE=-13.5V,则05V的数字信号可控制-13.54.5V的模拟信号。这些开关电路在整个VDD-VSS和VDD-VEE电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。 因为CD4053的工作电压为5V,所以我们选择此芯片。3、数字音控电路芯片(芯片X9313与X9511) 芯片X93131)、引脚排列 2)、X9313应用注意事项(1) 当X9313 作为输入电阻与运放构成单端输入的放大器时,输入端易受低频信号的干扰。可通过VL 端对地接6 800p F 的电容进行有效的抑制。(2) U/ D 端悬空时,阻值不可控。(3) 避免长时间使器件对于极限参数条件下工作,否则会造成器件永久性损坏。(4) 因电子器件的分散性,为了进行精确的阻电阻的增量值) 进行实测。最好采用数字万用表以减少读数误差。例如X9313W 在实测的各抽头间电阻值中最小值为240 ,而最大值为400(额定抽头间电阻为323) 。3)、时序图:4)、封装尺寸 芯片X9511X9511就是XICOR公司生产的理想按键式数字电位器,它内含31个串联电阻阵列和32个轴头。轴头位置由两个按键控制,并且可以被存储在一个E2PROM存储器中,以供下一次通电时重新调用,并自动恢复轴头位置,X9511有1k和10k的X9511Z和X9511W两种规格。 因为X9313应用范围广且经常被使用,所以选X93134、 功率放大电路芯片的选择(芯片TDA2003与TDA2030) 芯片TDA2003TDA2003电流输出能力强,谐波失真和交越失真小,各引脚都有交,直流短路保护,使用安全,负载上电压可冲至40V.,最大额定值 Tamb=25,电源峰值电压(50mS) Vccp 40 V,直流电源电压 Vcc 28 V,工作电源电压 Vcc 18 V,输出重复峰值电压 Io 3.5 A,输出不重复峰值电压 Io 4.5 A,功耗 T=90 PD 20 W,储存温度 Tstg -40 +150度,焊接温度 Tj -40 +150 度 1)、管脚排列及功能: 2)、典型应用电路:3)、封装尺寸: 芯片TDA2030TDA2030是一款18W 高保真音频功率放大和35W 音频功率驱动电路,其良好的静态特性使它特别适用于无稳压电源的音频功率放大器,也可作为功率驱动器。当Vcc=44V 时,用少量的外围元器件加一对互补输出晶体管就可构成一个35W 以上的功率放大器。 因为要输出功率为5W,不选TDA2030,而选择TDA2003.5 、 MCU控制电路芯片的选择(STC89C51与AT89C51) 芯片STC89C511) 、89C51的引脚封装;总线型 非总线型2)、内部结构:3)、功能特性描述STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0 口:P0口是一个8位漏极开路的双向I/O口、必须外接上拉电阻才会有高电平输出;。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。,P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在线系统编程用)P1.6 MISO(在线系统编程用)P1.7 SCK(在线系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。 芯片AT89C51AT89C51是一种4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位俗称单片机(MCU)。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。 因为STC89C51可在线编程(ISP),所以选这个芯片。1.4 最终方案. 以芯片7805为稳压器,LM358为放大器,CD4053为模拟开关,X9313为数字电位器,TDA2003为音频功率放大器,通过STC89C51单片机的控制来达到所需项目要求。LM358STC89C51音频线路输入话音输入模拟开关CD4053静音键盘遥控发射遥控接收数字音量电位器X9313音频功率放大器TDA2003MCU显示电路二、Protel99se软件的介绍2.1 Protel99se的发展史1985 年 诞生 dos 版 Protel 1991 年 Protel for Widows 1997 年 Protel98 这个 32 位产品是第一个包含 5 个核心模块的 EDA 工具 1999 年 Protel99 构成从电路设计到真实板分析的完整体系。 2000 年 Protel99se 性能进一步提高,可以对设计过程有更大控制力。 2002 年 Protel DXP 集成了更多工具,使用方便,功能更强大。 2003 年 Protel 2004 对Protel DXP进一步完善。 2006 年 Altium Designer 6.0成功推出,集成了更多工具,使用方便,功能更强大,特别在PCB设计这一块性能大大提高。 2008 年 Altium Designer Summer 08(简称:AD7)将ECAD和MCAD两种文件格式结合在一起,Altium在其最新版的一体化设计解决方案中为电子工程师带来了全面验证机械设计(如外壳与电子组件)与电气特性关系的能力。还加入了对OrCAD和PowerPCB的支持能力。 2008 年 Altium Designer Winter 09推出,此冬季9月发布的Altium Designer引入新的设计技术和理念,以帮助电子产品设计创新,利用技术进步,并提出一个产品的任务设计更快地获得走向市场的方便。增强功能的电路板设计空间,让您可以更快地设计,全三维PCB设计环境,避免出现错误和不准确的模型设计。2.2Protel99se的系统组成 (1)电路原理设计部分(Advanced Schematic 99):电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。本系统的主要功能是:绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。 (2)印刷电路板设计系统(Advanced PCB 99):印刷电路板设计系统包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。本系统的主要功能是:绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。 (3)自动布线系统(Advanced Route 99):本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。 2、电路仿真与PLD部分 (1)电路模拟仿真系统(Advanced SIM 99):电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。 (2)可编程逻辑设计系统(Advanced PLD 99):可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。本系统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。利用PLD系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。 (3)高级信号完整性分析系统(Advanced Integrity 99):信号完整性分析系统提供了一个精确的信号完整性模拟器,可用来分析PCB设计、检查电路设计参数、实验超调量、阻抗和信号谐波要求等。三、项目的制作与调试3.1 原理图、PCB的设计1)、根据数控音频功率放大器的结构框图,技术指标和功能要求选择合理的芯片,元器件的参数。2)用Protel99se设计电路新建一个工程的方法,双击桌面,执行FileNew,然后选择保存路径和名称,再双击右击分别新建原理图库和原理图根据下面的原理图画库和原理图并加封装。右击分别新建PCB和PCB库 ,然后进行布局、布线铺铜等操作。加载库的方法:点击,然后选择要加载的库双击就可以加载好了。在用PROTEL 99 SE软件时,其中要注意的是有些元件库和封装库是自带库中没有的,这需要我们学生自己画。如X9313要自己画元件库,TDA2003要自己画封装。最后所化原理图和PCB板如下:数控音频功率放大器原理图:数控音频功率放大器PCB的布局:3.2 Protel绘制原理图的注意事项 用电脑绘制电路原理图确实给人们带来了很多方便,而且在Protel 99SE中,可以根据原理图所生成的网络表来进行印刷电路板的自动布局和自动布线,因此网络表正确与否是非常关键的,而为了得到正确的网络表,在绘制电路原理图时必须根据软件所设定的规则来画图,在学习过程中应养成良好的习惯,不要只为画原理图而画原理图,而应该在为得到一个正确的网络表的前提下去设计一张精美的、布局合理的原理图。应注意以下几个问题: 1.元器件之间连线用Wire()命令而不是用Line( )命令,虽然从表面上看,两者都是直线,只是颜色稍有些不同,但用Wire()命令放置的导线是具有电气特性的,而用Line()命令放置的直线是不具有电气意义的,两者具有根本区别的。 2.注意理解说明文字(Annotation)和网络标号(Net Label)的区别:说明文字是没有电气特性的,只是纯粹的文字解释,而网络标号是有电气特性的,它可以把电路图具有相同网络标号的电气连线是连在一起的,即在两个以上没有相互连接的网络中,把应该连接在一起的电气连接点定义成相同的网络标号,可以使它们在电气含义上属于真正的同一网络。 3.导线的端点与元件引脚的端点相连,而不是把导线和元件的引脚重叠,最常见的错误是当导线与元件引脚重叠时,这时软件会自动在元件引脚的端点加一节点,这时再把节点删除掉,认为就这样就正确了,实际上如果只是为了得到一张原理图,这样做并没有什么不妥,但却不能得到正确的网络表。 4.导线与导线之间不要有重叠。 5.不要在同一地方放两个以上相同的元件(如两个电源地符号重叠在一起); 6.在放置电源地符号()时,电源地符号的显示类型(Style)为Power Ground(),这时Power Port的属性对话框中网络标号(Net)的内容默认是不显示的,因此有些初学者在放置电源地符号()时,没有留意网络标号的内容,致使有网络标号(Net)的内容些网络标号的内容为“GND”,有些网络标号的内容却为“VCC”,如果纯粹只为得到一张原理图,这样做是没有问题的,但是若利用自动布线来设计PCB板时,却会造成电源和地短路,从而使整块PCB板报废。正确的做法是在放置电源地符号()符号,把Power Port的属性对话框中网络标号(Net)的内容全部设置为GND。 7. 在绘制电路原理图时,通常总线、总线分支线和网络标号是一起存在的,要注意总线和总线分支线不具有电气特性的,而网络标号是具有电气特性的,因此在放置总线时不能用加粗了的导线来替代,也不能用导线来替代总线分支线,总线分支线和元件引脚之间不能直接连在一起,而应通过导线接在一起,网络标号应放在导线上,不能放在元件引脚上,不能用说明文字(Annotation)来替代网络标号(Net Label)。 3.3焊接的要求焊点的质量要求:1 可靠的电气连接焊接是电子线路从物理上实现电气连接的主要手段。焊锡连接不是靠压力。而是靠焊接过程形成的牢固连接的合金达到电气连接的目的。如果焊锡仅仅堆在焊件的表面积或只有少数部分形成的合金层,也许在最初的测试和工作中不会发现焊点存在的问题,但随着条件的改变和时间的推移,接触层氧化,脱离出现了,电路产生时断时通或者就不工作了。而对这是观察焊点表面外表却依然连接如初。 2 足够的机械强度 焊接不仅起到电器连接的作用,同时也是固定元器件,保证机械连接的手段。这就有机械强度的问题。 3 光洁整齐的外观良好的焊点要求焊料用两恰到好处表面圆滑,有金属光泽。外表是焊接质量的反映,注意:焊接表面有金属光泽不仅是美观的要求,它是焊接温度合适、生成合金层的重要标志。 4没有漏焊 ,没有焊料,没有焊料引起导线间短路,不损坏导线及元器件的绝缘层 ,没有焊料飞溅,从外形看焊点,要求如下:形状为近似圆锥而表面稍微凹陷,呈漫坡状,以焊接导线为中心,对称成裙行展开。 3 .4:焊接过程中因注意哪些事项 一个牢固的焊接点要求使用一个上锡良好的、保持良好的烙铁头,温度在焊锡的液化温度之上大约 100F。烙铁头上的焊锡改善来从烙铁的快速热传导,预热工件。建立良好的流动和熔湿(wetting)都要求 预热。具有良好可焊性特征的焊盘、孔和元件引脚将有助于在最短的时间内形成良好的焊接点。在升高的温度下,时间短是避免对基板的损伤、对焊盘与基板接合的损伤和过多的金属间增长的关键。暴露在焊锡和/或基板的Tg的液化温度之上的重复温度循环中的焊锡点,可能遭受可靠性累积的降级。最好的方法是在少于5秒的时间内完成焊接点,最好是大约3秒钟。这个时间包括要求产生连接的所有必要操作。3.5软、硬件调试1)硬件检测首先用万用表检测电源和GND是否短路,有极性的元器件的正负极是否接反,特别是电解电容;然后根据数控音频功率放大的原理图分别检测各个模块的是否有连接错误,确保无误,主要检查两个电阻排是否短路。2)软件调试 硬件调试好了,下面开始软件调试,在此之前我们小组成员把一些简单的单片机知识梳理了一遍,进一步了解单片机怎样工作的?经过我们小组讨论与查阅资料,最后我们小组所编程序如下:#include#include#define uchar unsigned char#define uint unsigned int#define RdCommand 0x01/定义ISP的操作命令/#define ProCommand0x02#define EraseCommand 0x03#define WaitTime 0x01 /定义CPU的等待时间/sfr ISP_DATA=0xe2; sfr ISP_ADDRH=0xe3;sfr ISP_ADDRL=0xe4; sfr ISP_CMD=0xe5;sfr ISP_TRIG=0xe6; sfr ISP_CONTR=0xe7;sbit key1=P27;sbit key2=P26;sbit key3=P25;sbit key4=P24; sbit CS=P10;sbit INC=P11;sbit UD=P12;sbit a=P13;sbit b=P14;sbit PL1=P16; sbit PL2=P17;sbit MIC=P34; sbit LINE=P35;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf;uchar num,num1=0,num2,flag;void delay(uint z) uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void init()/初始化/ TMOD=0X02;TH0=0X00;TL0=0X00;ET0=1;/开启定时器0中断;/IT1=1;/外部中断1工作在下降沿/EX1=1;/开外部中断;/EA=1;/开总中断; /TR0=1;/ 启动定时器 /void display(uchar a,uchar b)/显示函数 PL2=1;P0=tablea;delay(5);P0=0xff;PL2=0; PL1=1;P0=tableb;delay(5);P0=0xff;PL1=0;void ISP_IAP_enable() /打开ISP,IAP功能/ EA=0;/关中断 / ISP_CONTR&=0x18;/0001 1000/ ISP_CONTR|=WaitTime;/写硬件延时 / ISP_CONTR|=0x80; /ISPEN=1;/void ISP_IAP_disable() /关闭ISP,IAP功能 / ISP_CONTR&=0x7f;/*ISPEN=0*/ISP_TRIG=0x00;EA=1;void ISPgoon()/公用的触发代码/ ISP_IAP_enable();/打开ISP,IAP功能;/ISP_TRIG=0X46;/触发ISP_IAP命令字节1 /ISP_TRIG=0Xb9;/触发ISP_IAP命令字节2;/_nop_();uchar byte_read(uint byte_addr)/读字节 /ISP_ADDRH=(uchar)(byte_addr8);/地址赋值/ISP_ADDRL=(uchar)(byte_addr&0x00ff);ISP_CMD&=0xf8; /清除低3位/ISP_CMD|=RdCommand;/ 写入读命令 /ISPgoon();/ 执行触发码 /ISP_IAP_disable();/ 关闭ISP,IAP功能/return(ISP_DATA); /返回读到的数据 /void SectorErase(uint sector_addr) /扇区擦除/uint iSectorAddr;iSectorAddr=sector_addr&0xfe00;/取扇区地址/ISP_ADDRH=(uchar)(iSectorAddr8);ISP_ADDRL=0x00;ISP_CMD&=0xf8;/清空低三位 /ISP_CMD|=EraseCommand;/擦除命令3 /ISPgoon();/ 执行触发码 /ISP_IAP_disable();/ 关闭ISP,IAP功能/void byte_write(uint byte_addr,uchar PrgCommand,original_data)/写字节/ISP_ADDRH=(uchar)(byte_addr8);/取地址 /ISP_ADDRL=(uchar)(byte_addr&0x00ff);ISP_CMD&=0xf8;/清空低三位/ISP_CMD|=PrgCommand;/写命令2 /ISP_DATA=original_data;/写入数据准备;ISPgoon();/ 执行触发码/ISP_IAP_disable();/ 关闭ISP,IAP功能 /void keyscan() if(key1=0) /音量- /delay(5);if(key1=0)CS=0;INC=1;_nop_();INC=0;_nop_();_nop_();UD=0;num-;if(num=-1)num=0;flag=0;SectorErase(0x2000);/擦除扇区 /byte_write(0x2000,num);/重新写入数据/while(!key1);if(key2=0)/音量+ /delay(5);if(key2=0)CS=0;INC=1;_nop_();INC=0;_nop_();_nop_();UD=1;num+;if(num=33)num=32;flag=0;SectorErase(0x2000);/擦除扇区 /byte_write(0x2000,num);/重新写入数据/while(!key2);if(key3=0)/ LINE和MIC的选择 /delay(5);if(key3=0)+num1;flag=0;if(num1=1&num2%2=0)MIC=0;/MIC显示灯亮; / LINE=1;b=0;a=1; if(num1=2&num2%2=0) MIC=1;LINE=0; /LINE显示灯亮;/b=0;a=0;if(num1=2)num1=0;if(num2%2!=0)flag=1;while(!key3);if(key4=0)/静音/delay(5);if(key4=0)b=b;num2+;flag=0;while(!key4);if(num2=1)MIC=1;LINE=1;flag=1;if(num2=2)num2=0;if(a=0)LINE=0;MIC=1;if(a=1)LINE=1;MIC=0;void main()uchar shi,ge;init();LINE=0;MIC=1; a=0;b=0;num=byte_read(0x2000);/程序开始读取EEPROM中数据 /if(num=33)num=32;if(num=-1)num=0;while(1)shi=num/10;ge=num%10 ;if(flag=1)display(16,16);else display(shi,ge);keyscan();3)硬件调试1、将调试好的程序下载到数控音频功率放大器电路板的单片机里,然后接上稳压电源,音响等;根据数控音频功率放大器的技术指标和功能要求,按相应的按键,看是否能实现相应的功能。如音量的升高与降低,能否实现静音功能,是否可以再话音与音频之间转换,最终调试能实现其功能2,在输出端接上4的电阻,用电压表,函数信号发生器,失真仪,示波器等,进行测试,测出输出功率,频率响应输入,信噪比,音量调节等等,最后完成作业文件的30页。 总结经过五周的实训,我们小组完成了这次实训任务。 在这次实训中,我们主要制作数控音频功率放大器,首先我们小组在老师的吩咐下,上网查了一些芯片资料,知道了这些芯片的典型电路,后来我们小组用PROTEL 99 SE软件设计电路图和PCB板,最终我们根据原理图组装PCB板,并对其焊接与调试。 实训刚刚开始时,我们小组对这个项目并不是很了解,渐渐地,我们在老师的讲解下和上网查资料,开始对此项目了解了,知道数控音频功率放大器是一种常用的模拟电路,它是由单片机STC89C51主要控制的,控制芯片CD4053和芯片X9313,CD4053用作模拟开关,X9313用作数字电位器,数字音频功率放大器还用到了7805,LM358,TDA2003. 知道这些芯片的功能后,我们开始用PROTEL 99 SE软件画原理图,画完后制作PCB板,画这两个图时,我们小组注意到了这项使我们小组的薄弱项,希望今后我们小组更能用这个绘图软件。 最后开始焊接元器件和调试。焊接时,一些贴片电阻焊得不太好,如电阻排,以后有机会的话,我们应该多焊这些元器件。其中,孙健主要负责如软件方面的编程,在编程过程中孙健遇到了很多的麻烦,虽然最后他还是没有把程序编好,但是这使我们知道编程不是难么容易的,希望我们今后不要太自以为是。后来用老师给我们的单片机(里面有下载好的程序)来调试,最终还是成功了。 经过

温馨提示

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

评论

0/150

提交评论