1、江苏技术师范学院毕业设计(正文)信号波形合成设计目录摘要关键字-2序言-3一系统要求-4二理论基础-6三软硬件设计-7(一) 硬件设计-71方波震荡电路-72分频器-83减法电路-94滤波电路-105移相电路-116加法电路-127有效值检波电路-138 ADC0809数模转换-149 AT89C52单片机选择-23(二) 软件设计-26四理论与测试-27结束语-30参考文献-31致谢-32附录附录一:信号采集显示程序-33附录二:英文原文-36 附录三:英文翻译-42摘要:本系统设计了一个信号波形合成电路,系统包括:晶振和辅助整形电路构成的方波振荡电路,产生方波信号;采用74HC161N等组
2、成分频电路,使高频方波转换成10 kHz、30 kHz等各个正弦信号;滤波电路使各个频率的方波到正弦波的转换;放大电路控制各个信号幅值的大小;移相网络控制输入与输出信号之间的相位差;加法电路完成多个信号的合成;由此,本系统能实现把10 kHz、30 kHz和50 kHz的正弦信号合成为近似方波;能实现把10 kHz、30 kHz和50 kHz等正弦信号合成位近似三角波;实现对10 kHz、30 kHz等各个正弦信号幅值的测量和显示。关键字:正弦波、方波、三角波Abstract: the system design a signal waveform synthesis circuits, sy
3、stems include: crystal resonance and auxiliary plastic circuit consists of square wave oscillator circuit, produce square wave signal; Using 74HC161N etc points, high-frequency pulse frequency circuit convert kHz, 30 October kHz etc. Each sine signals; Filter circuit make each frequency conversion o
4、f square wave to the sine wave; Amplifying circuit control the size of each signal amplitude; Phase shifting network control input and output signal of the phase difference between; Addition of complete multiple signal circuit synthesis; Thus, this system can realize the 10 kHz, 30 kHz and 50 kHz si
5、nusoidal signal synthesis for approximate square-wave; Can realize kHz, the 10 kHz and 50 kHz 30 such sine signal a approximate triangular wave synthesized; To achieve kHz kHz, 30 October all sinusoidal signal amplitude measurements and display.Key word: sine wave and square-wave, triangle wave前言信号波
6、形合成作为一种基本电子设备必要的系统,无论是在教学、科研还是在部队技术保障中,都有着广泛的使用。信号波形合成作为一种通用电子测试仪器的组成是军队进行科技战争不可缺少的一种测试仪器。因此,从理论到工程对信号的发生进行深入研究,不论是从教学科研角度,还是从部队技术保障服务角度出发都有着积极的意义。随着科学技术的发展和测量技术的进步,对信号发生器的要求越来越高,普通的信号波形合成已无法满足目标高、频率切换速度快、切换相位连续、输出信号噪声低、可编程、全数字化易于集成、体积小、重量轻等优点。随着数字技术的飞速发展,在现代电子学的各个领域,常常需要高精度且频率可方便调节的信号源。尤其是随着通信事业的发展
7、,频道的分布日趋密集,要求有高精度、高稳定度的通信频率。用常规的信号发生器无法满足要求。为解决这个难题,人们提出频率合成器的方案高精度大动态范围数字模拟(D,A)转换器的出现和广泛应用,用数字控制方法从一个标准参考频率源产生多个频率信号的技术,即直接数字合成(DDS)异军突起。其主要优点有:(1)频率转换快:DDS频率转换时间短,一般在纳秒级;(2)分辨率高:大多数DDS可提供的频率分辨率在1 Hz数量级,许多可达0001 Hz;(3)频率合成范围宽;(4)相位噪声低,信号纯度高;(5)可控制相位:DDS可方便地控制输出信号的相位,在频率变换时也能保持相位联系;(6)生成的正弦余弦信号正交特性
8、好等。因此,利用DDS技术特别容易产生频率快速转换、分辨率高、相位可控的信号,这在电子测量、雷达系统、调频通信、电子对抗等领域具有十分广泛的应用前景。1971年,美国学者J.Tierney等人撰写的“A Digital Frequency Synthesizer”一文首次提出了以全数字技术,从相位概念出发直接合成所需波形的一种新合成原理。限于当时的技术和器件产能,它的性能指标尚不能与已有的技术盯比,故未受到重视。近几年间,随着微电子技术的迅速发展,直接数字频率合成器(Direct Digital Frequency Synthesis简称DDS或DDFS)得到了飞速的发展,它以有别于其它频率合
9、成方法的优越性能和特点成为现代频率合成技术中的佼佼者。具体体现在相对带宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全数字化、控制灵活方便等方面,并具有极高的性价比。一系统要求设计制作一个电路,能够产生多个不同频率的正弦信号,利用傅里叶原理产生以10KHz为基波,以奇次谐波为辅助谐波的信号,并将这些信号再合成为近似方波和其他信号。电路示意图如图1所示:图1 信号波形合成电路示意图1.2要求及指标1.2.1基本要求(1)方波振荡器的信号经分频与滤波处理,同时产生频率为10kHz和30kHz的正弦波信号,这两种信号应具有确定的相位关系;(2)产生的信
10、号波形无明显失真,幅度峰峰值分别为6V和2V;(3)制作一个由移相器和加法器构成的信号合成电路,将产生的10kHz和30kHz正弦波信号,作为基波和3次谐波,合成一个近似方波,波形幅度为5V,合成波形的形状如图2所示。图2 利用基波和3次谐波合成的近似方波1.2.2发挥部分(1)再产生50kHz的正弦信号作为5次谐波,参与信号合成,使合成的波形更接近于方波;(2)根据三角波谐波的组成关系,设计一个新的信号合成电路,将产生的10kHz、30kHz等各个正弦信号,合成一个近似的三角波形;(3)设计制作一个能对各个正弦信号的幅度进行测量和数字显示的电路,测量误差不大于5; (4)其他。二系统设计方案
11、方案一:采用555多谐振荡电路来产生方波信号,这样电路简单频率可调,但是从555谐振电路出来的方波,占空比难以调节,信号不稳定,可靠性低,不利于后级电路的调节,故不采用此方案。方案二:通过反相器、外加电阻和电容来产生频率可调、占空比可调的方波信号。其优点电路简单,但工作频率不够稳定。方案三:利用单片机时钟信号,通过软件编程实现输出10kHz方波信号。实现起来相对较容易,但若没有时间做本参赛题的发挥部分,大材小用了。方案四:直接采用6MHz晶振和辅助整形电路,产生方波信号;利用74HC161计数器后接74LS74 D触发器组成分频电路对6MHz晶振进行分频,得到不同频率的方波;滤波电路把前级分频
12、得到的方波信号转换成频率相同的正弦信号;但是这些正弦波信号中存在直流成分需要通过减法电路调整正弦波信号为双极性(正负相间的正弦波);然后通过放大电路实现信号幅值的放大以达到指标中所需要的信号合成的幅值;再通过移相网络实现3次谐波、5次谐波与10 kHz基波之间相位关系的调节,必须调节到同向;加法电路,实现几个信号合成为一个近似方波信号;模拟开关选择不同通道的信号,送到有效值检波电路检波;采集信号有效值然后ADC0809对模拟信号进行数字处理,再送入单片机进行计算并在数码管上显示。综上所述,选择方案四,使用晶振产生的方波信号稳定,有利于电路波形的调节及系统的稳定性。其系统框图如下所示:图3 系统
13、整体框图二、理论基础方波信号由基波成分和若干个谐波成分构成任何具有周期为T的波函数f(t)都可以表示为三角函数所构成的级数之和,即:,;本作品根据这一理论原理制作而成。 图4 方波(左)三角波(右)所谓周期性函数的傅里叶分解就是将周期性函数展开成直流分量、基波和所有阶谐波的迭加。如图4所示的方法可以写成:;此方波为奇函数,它没有常数项。数学上可以证明此方波可表示为:;同样,对于如图4所示的三角波也可以表示为:; 。三、软硬件设计(一)硬件设计3.1.1 方波振荡电路方案1:直接采用6 MHz晶振。由于晶振可靠稳定,产生的方波波形质量好,对于后级电路波形的调节有帮助。直接给晶振加上电源,简单方便
14、就可以得到一个方波输出,由于输出的方波波形不是很好有所失真所以在后级加上一个整形电路,可使波形变得更加完善。其仿真与测试结果见图10。电路如下图所示:图5 方波振荡电路3.1.2 分频器方案一:利用VHDL语言对FPGA编程直接对6MHz晶振产生的方波进行分频,这样做简单方便硬件电路少,就是有点浪费了FPGA的资源。方案二:采用74HC161进行计数再通过74HC204输入与非门给74HC161清零最后连到D触发器再2分频一次。采用集成芯片,纯数字电路,输出稳定,精度高,可靠性高,价格便宜实惠且能实现系统所需要的要求。首先对6MHZ晶振进行20分频产生300KHz的方波信号,然后分别进行15次
15、,5次,3次分频,最后用D触发器做2分频,也就是对300KHz信号进行了30次、10次和6次分频,即可得到10 kHz,30 kHz,50 kHz。其基本框图如下:图6 分频电路 综上所述:方案一FPGA集成度高,偏数字方面,虽然能满足本课题要求但是价格昂贵,且把一个FPGA小系统就让它完成一个分频的功能也非常的浪费资源,结合到各方面的因素我们就采用方案二,用纯数字电路来完成分频,这样价格便宜而且能很好的完成指标,唯一就是硬件的连线比较复杂,要事先设计安排布线。 3.1.3 减法电路方案一:采用由OP07CP组成的电路,很简单其实就是在含有正电压的波形中,在反相输入端引入一个可以通过调节R1、
16、R2来控制的直流电平信号来减去原本的波形中的直流成分,实现单极性向双极性转换,使滤波出来的正弦波能够滤去直流成分,转换成正负相间的正弦波。我们就采用此方案,集成运放组成的减法电路如图所示,输入信号Ui1和Ui2分别通过R1、R2加到了运放的反向比例输入端和同向比例输入端,输出电压经过Rf反馈到反向比例输入端。如图可知:图7:减法电路理论计算如图可以看出输出电压Uo与两个输入端的差值(Ui2-Ui1)成比例故称为差值放大器或减法器,减法器对原件对称性要求很高,元件失配将带来较大的误差,而且产生共模输出电压。在本次设计中我们采用图8在反向比例输入端我们给入可调电阻来方便最后的调试,在反相输入端引入
17、一个可以通过调节R1、R2来控制的直流电平信号来减去原本的波形中的直流成分,实现单极性向双极性转换,使滤波出来的正弦波能够滤去直流成分,转换成正负相间的正弦波。图8减法电路3.1.4 滤波电路方案一:无源滤波。由无源元器(电阻、电容、电感)设计而成,电路简单,调节方便。方案二:有源滤波。由运算放大器、电阻和电容构成,无需电感器。还可提供电压增益。方案三:带通滤波电路。采用OP07CP和R、C组成带通滤波电路,低通滤波与带通滤波串联使用。虽然能满足要求但是在调试过程中,输出的波形不稳定,失真大,难以调试。方案四:低通滤波电路。采用由OP07CP和R、C组成的三阶低通滤波器,实现方波信号到正弦信号
18、得转换。电路结构类似半桥。电路中的R、C参数主要是根据公式进行计算,在调试过程中,由于这是模拟电路每个原件之间的分布参数都不同都会对最后滤出的正弦波有所影响,因此在测试时要不时的换电阻电容直到最后输出为无失真的正弦波,对图中12中的R1、R2、R3进行微调,可使输出波形更加光滑。其电路仿真与测试结果见后图12。综上所述,在方案确认过程中,带通电路所存在的不定因素比低通滤波更多,调试显得不易,为了能因此选择方案四。图7 滤波硬件实现电路3.1.5 移相电路方案:采用由三个OP07CP芯片构成的电路。通过滑变电阻R8,可调节输出与输入波形之间的相位;后级运放U3构成一个同相放大器,改变电阻比例来调
19、节输出波形的幅值。图13 移相硬件实现电路移相网络的传递函数: (7-1) (7-2)设图13中滑动变阻器、的比例系数为(01),根据叠加定理, 得出网络的传递函数为 (7-3)本电路按()的移动范围设计的,即由式(7-1)(7-2), 得出:, (7-4)此时的传递函数为: (7-5)相移随的变化关系为: (7-6)从上述公式中看出,可以通过调节电路中电阻、电容值,来控制输入与输出波形间的相位差,使它们之间的相位差越小越好。3.1.6加法电路方案一:采用TI 公司的THS3091D芯片和模拟开关MPC508A组成可控多通道输入加法电路。模拟开关MPC508A控制8个输入的通断,可得到不同输入
20、谐波组成的方波信号或是三角波信号。方案二:加法电路作用是对10kHz、30kHz、50kHz三个正弦波信号进行合成方波信号,通过信号进入反向比例输入端采用高速集成运放TI公司生产的30914。其中AV=,RP4取50 k。为了使输出合成波形不反向我们采用方案一,使信号从同向比例输入端输入加法电路公式:,当输入谐波分量越多,输出波形就越接近方波或三角波。电路仿真与测试结果见后图13-1,13-2,13-3。图14 加法硬件实现电路3.1.7 有效值检波电路方案:采用AD637芯片,经过芯片内部电路,可以在输出端得到输入信号的有效值,输入输出之间的关系为:。但是由于芯片比较贵,为了解决本系统的要求
21、换其他芯片调怕效果没那么好,最后还是在朱雷老师的帮助下在创新实验室借了一块AD637,在最后调试时输出还是会有衰减,我们还是通过软件引入了补偿误差,使得系统在最后显示时能满足5的误差。有效值检波电路如图15所示电路很简单,只有几个原件,也很好理解。图15 有效值检波电路3.1.8 ADC0809实现模数转换ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式的AD转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。 1主要特性1)8路输入通道,8位A/D转换器,即分辨
22、率为8位。 2)具有转换起停控制端。 3)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时) 4)单个+5V电源供电 5)模拟输入电压范围0+5V,不需零点和满刻度校准。 6)工作温度范围为-40+85摄氏度 7)低功耗,约15mW。 2内部结构ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图1322所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。图15 ADC0809内部结构图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据
23、采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,图16为通道选择表。 图16通道选择表3外部特性(引脚功能)ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图17。对ADC0809主要信号引脚的功能说明如下:IN7IN0模拟量输入通道ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持 低电平。本
24、信号有时简写为ST.A、B、C地址线。 通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表9-1。CLK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。D7D0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高 OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数
25、据线呈高阻;OE=1,输出转换得到的数据。Vcc +5V电源。 Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V).GND:地。 图17 ADC0809管脚图ADC0809工作过程下面我们主要介绍实现前两个步骤的方法。步骤一:控制ADC进行正确采样,读取正确的采样值。前面我们已经提到了芯片的datasheet对于硬件设计以及软件编程的重要性。同样,要使得ADC0809正常工作,我们依然首先需要仔细的阅读其使用手册。仔细阅读手册后,我们发现了在手册的第7页给出了一个时序图(Timing Diagrams)
26、,如图18所示 图18:ADC0809手册给出的ADC转换时序图图18给出的其实就是使ADC0809正确工作的软件编程模型。由图可见,实现一次ADC转换主要包含下面三个步骤: 1.启动转换:由图18中的上部“FIGURE 10A”可知,在/CS信号为低电平的情况下,将/WR引脚先由高电平变成低电平,经过至少tW(WR)I 延时后,再将/WR引脚拉成高电平,即启动了一次AD转换。 注:手册中给出了要正常启动AD转换/WR的低电平保持时间tW(WR)I的最小值为100ns,(见手册第4页的Electrical Specification,如图19红圈所示)即/WR拉低后延时大于100ns即可以,具
27、体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于100ns即可。2延时等待转换结束:依然由图17中的上部“FIGURE 10A”可知,由拉低/WR信号启动AD采样后,经过1到8个Tclk+INTERNAL Tc延时后,AD转换结束,因此,启动转换后必须加入一个延时以等待AD采样结束。注:手册中给出了内部转换时间“INTERNAL Tc”的时间范围为6273个始终周期(见手册第4页的Electrical Specification,如图19兰圈所示),因此延时等待时间应该至少为8+73=81个时钟周期。本试验时钟频率约为Fclk=1/1.1R36C
28、15=606KHz,其中R36约为150K, C15约为150pF,因此时钟周期约为Tclk=1/Fclk=1.65us。所以该步骤至少应延时81*Tclk=133.65us. 具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于133.65us即可。3.读取转换结果:由图18的下部“FIGURE 10B”可知,采样转换完毕后,再/CS信号为低的前提下,将/RD脚由高电平拉成低电平后,经过tACC的延时即可从DB脚读出有效的采样结果。注:手册中给出了tACC的典型值和最大值分别为135ns和200ns(见手册第4页的Electrical Speci
29、fication,如图19绿圈所示),因此将/RD引脚拉低后,等待大于200ns后即可从DB读出有效的转换结果。具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于200ns即可。图19:ADC0809手册给出的电器特性表步骤二:对采样值进行运算变换,换算出实际的输入电压值。对于任何一个A/D采样器而言,其转换公式如下: 其中:输入ADC的模拟电压值。:ADC转换后的二进制值。本试验的ADC0804为八位。:ADC能够表示的刻度总数。ADC0809为八位ADC,因此 :ADC参考电压值,本试验ADC0809的被设置为5V因此,对于本试验,转换公式为
30、: ADC0809是属于连续渐进式(Successive Approximation Method)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。以输出8位的ADC0809动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。第一次寻找结果:10000000 (若假设值输入值,则寻找位假设位1)第二次寻找结果:11000000 (若假设值输入值,则寻找位假设位1)第三次寻找结果:11000000 (若假设值输入值,则寻找位该假设位0)第四次寻找结果:11010000
31、 (若假设值输入值,则寻找位假设位1)第五次寻找结果:11010000 (若假设值输入值,则寻找位该假设位0)第六次寻找结果:11010100 (若假设值输入值,则寻找位假设位1)第七次寻找结果:11010110 (若假设值输入值,则寻找位假设位1)第八次寻找结果:11010110 (若假设值输入值,则寻找位该假设位0) 这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图1的模拟输入电压Vin。4:A/D转换器的主要技术指标(1)、分辨率ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用
32、二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度FS的1/ 。一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V1/ =2.4mV。(2) 量化误差ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。(3)偏移误差偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换
33、特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。(4)满刻度误差满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。(5)线性度线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。(6) 绝对精度在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。(7) 转换速率ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是
34、转换速率的倒数。5:在本系统中的应用 以上对ADC0809的介绍大家肯定已经有所了解,现在介绍一下它在本系统中的应用。由于采样到的是电压信号,而单片机通信不能识别这些模拟信号必须是数字信号才能识别,所以才要用ADC0809转换成数字信号传送给单片机进行处理。我们在使用时只对有效值检波器的输出信号进行模数转换因此我们只用到1路模拟采集在本系统硬件电路中我们采用的是IN3通道选通,在选择通道时ABC直接赋值110而没有让单片机对它进行控制。采样到的信号送至单片机的P1。单片机内部接受到数字信号后是直接转换成十进制代码的也就是:0255(0000000011111111),最后只要把采样到的数字信号
35、通过编程由单片机自己处理在数码管上显示。3.1.9单片机的选择 图20:AT89C52管脚图AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内
36、含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能1-8引脚,
37、属于P1口,与c51不同的是,其p1.0与p1.1可以作为定时/计数器的外部输入,作为定时计数器用,p1口是内置上拉电阻的io口,可以输入输出电流,单引脚20ma,如果是给外部芯片赋值,可直接接入,如果要驱动外部电路,比如,发光二极管,需要再接上限流电阻电阻。因为单片机的输出电流毕竟都非常小,如果要有更大的电流,如驱动蜂鸣器,继电器,则接三极管作为反相且放大大电流的作用。与之相对应的,p0口并不具有内置上拉电阻,所以必须加上10k的排阻,否则置一的时候输出为高阻态,加上10k或者4.7k都可以,置一的时候便可以为一了,这就是io口的普通应用。A89C52P为40 脚双列直插封装的8 位通用微处
38、理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239
39、脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0 口P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访
40、问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表1。Flash 编程和程序校验期间,P1 接
41、收低8 位地址。表.P1.0和P1.1的第二功能P2 口P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址
42、和一些控制信号。P3 口P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。(二)软件设计图21 系统软件流程本系统的软件部分的主要功能是:配合有效值检波器、ADC0809模数转换电路和AT89C51来完成对前面滤波器出来的模拟信号的大小的显示,由于有效值检波器出来的信号只是有效值,最后到单片机的数字信号也是采集到的有效值,所以还要显示被测波形的峰峰值还需要通过单片机内部进行换算后再传递到数码管进行显示。本系统的软件不是特别复杂,详细程序见附录,整个软件要完成的只是一个显示滤波出来波形大小的功能,四、理论与测试4.1 测试方法先进行各个模块测试,在每个模块都能完成各自的指标时然后再把整个系统连接起来,接通电源,调节电路,直到达到指标要求,这样提高了测试效率。4.2 测试结果(1)方波振荡电路,采用6MHz晶振等组成,为后级电路提供方波信号。其仿真与测试结果如下: 图22 方波仿真(左)测试(右) 从图22可知,振荡电路的测试结果与仿真结果比较符合。(2)10