AT89C52单片机
4*4键盘
波形选择
占空比调节节
MAX038
频率调整
放大电路
波形输出
图2-1 系统原理框图工作过程为:打开电源开始工作,按复位键复位,在键盘上输入所需波形,调用单片机的程序存储器中其相应的子程序 ,再通过与MAX038相连的可变电阻来调节波形的频率和占空比,经MAX038输出到放大电路,最后接到示波器,由示波器显示产生的波形。第三章 硬件电路设计本章将介绍信号发生器的电路设计原理,对各个功能模块分别进行讨论,主要包括键盘电路、单片机外围电路、MAX038外围电路(占空比调节、频率调整电路)、放大电路。3.1 键盘电路行列式键盘也即矩阵式键盘,它由行和列组成,在每个行列的交叉点上放置一个按键。4*4键盘是一种常见的键盘,用在本设计中完全能够满足要求。4*4行列式键盘共由16个键盘组成。图3-1是键盘电路图。矩阵键盘原理:矩阵键盘中,一个按键按下后会触发两个电平信号:X、Y,单片机通过扫描X、Y的值判断按键状态。
把单片机AT89C52中的P1.0-P1.7端口用8芯排线连接到“4*4行列式键盘”区域中的L1-L4、C1-C4端口上。图3-1 键盘电路3.2 单片机外围电路设计MAX038是单片集成芯片,需要通过单片机的控制实现函数信号的波形选择。单片机是核心器件之一,通过它对MAX038的设置,实现不同波形的选择和输出。由于系统控制方案不太复杂 ,数据量也不太大,我们选用 AT89C52 作为控制系统的核心。它极为常用,价格便宜,易于获取。3.2.1 单片机外围电路硬件部分AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可
图 3-2 AT89C52管脚图反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。图 3-2 是AT89C52的管脚图。其主要工作特性是:片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;片内数据存储器内含256字节的RAM;具有32根可编程I/O口线;具有3个可编程定时器;中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;串行口是具有一个全双工的可编程串行通信口;具有一个数据指针DPTR;低功耗工作模式有空闲模式和掉电模式具有可编程的3级程序锁定位;AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;AT89C52最高工作频率为24MHz。单片机正常工作时,都需要有一个时钟电路和一个复位电路,来构成单片机的最小电路。如图3-3所示。
(1) 时钟电路
XTAL0(18脚)和XTAL1(19脚):计算机工作时,是在统一的时钟脉冲控制下一拍一拍的进行的,这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作。单片机内部电路就在唯一的时钟信号控制下严格地按时序进行工作。要给单片机提供时序要有相关的硬件电路,即振荡器和时钟电路。因此选择了内部时钟方式。利用芯片内部的振荡器,然后在引脚XTAL0和XTAL1两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,AT89C52最高工作频率为24MHz,在本设计中采用11.0592 MHz晶振。外接晶振时,C1和C2值通常选择为22PF左右。C1,C2对频率有微调作用。晶体的频率范围可在1.2~12MHZ之间选择。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。
(2) 复位电路
RESET( 9脚)是复位, 由图3-3可以看出,按键电平复位电路相当于按复位键S1后复位端通过电阻与Vcc电源接通。复位是单片机的初始化 *** 作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的 *** 作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路来实现。(3) 单片机电源(40脚)是电源:AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;在线路中,电源去藕是一个关键问题。整个线路往往会由于电源引线而产生电路谐振,当有大的瞬时变化时,也会产生尖峰干扰信号。消除这两种现象的有效办法就是在片子的电源管脚与地之间加上适当的去藕电容,如图3-3中的C4。(4) P1、P2口P1口:是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在图3-3中,KEY为单片机的外围4*4键盘接口,它和单片机的P1.0~P1.7连接,P1.0~P1.3对应于键盘的行1~4,P1.4~P1.7对应键盘的列1~4。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲极可驱(吸收或输出电流)4个TTL逻辑门电路。Flash编程或校验时,P2也接收高位地址和一些控制信号。在本设计中,单片机的P2.0和P2.1脚和MAX038的A0和A1相连,用于选择输出波形种类。
图3-3 单片机部分硬件电路
3.2.2 单片机外围仿真电路部分仿真软件:Proteus7.1A0=0或者1、A1=1,即键盘第一行第一列的情况。表示选择的是正弦波。A0=0、A1=0,即键盘第一行第二列的情况,表示选择的是矩形波;A0=1、A1=0,即键盘第一行第三列,表示选择三角波输出。D1(A0)D2(A1)选择的波形暗(0)或者亮(1)亮(1)正弦波暗(0)暗(0)矩形波亮(1)暗(0)三角波表3-1单片机部分仿真结果图3-4仿真的是A0=0、A1=1,即键盘第一行第一列。表示选择的是正弦波的情况。图3-4 单片机部分软件仿真电路3.3 MAX038外围电路设计3.3.1 MAX038的基本工作原理MAX038是美国Maxim公司的一款高频率、高精度、低输出电阻、驱动能力强的函数信号发生器芯片,它是新一代的单片函数信号发生芯片。MAX038内部含有精密带隙电压基准、鉴相器和TTL同步输出,能以最少的外部元件构成波形高频函数信号发生器,也可以应用于压控振荡器(PPL)、脉宽调制器、锁相环、频率调制器、频率合成器及FSK信号(正弦波和方波)发生器,是目前较为理想的信号发生集成芯片 。如图3-5所示MAX038内部主要由振荡器、参考电压源2.5V、 恒流源250UA发生电路、多路选择开关 、比较器、相位监测器、输出缓冲器等电路组成。MAX038是单片精密函数信号产生器 ,它用±5V电源工作 ,基本的振荡器是一个交变地以恒定电流向电容器充电和放电的驰张振荡器 ,同时产生一个三角波和矩形波。通过改变COSC引
脚的外接电容 和流入 引脚的充放电电流的大小来控制输出信号频率, 工作频率范围为0.1Hz~20MHz。 流入 引脚的电流由加到FADJ 和DADJ 引脚上的电压来调制, 通过这两个引脚可用外接电压信号分别调整频率和占空比。MAX038内部有一个正弦波形成电路把振荡器的三角波转变成一个具有等幅的低失真度正弦波。三角波、正弦波和矩形波输入一个多路器,两根地址线A0和A1从这三个波形中选出一个。图3-5 MAX038的内部结构(虚线框内)
MAX038内部有一个2.5V的基准电压源,由REF引脚输出。基准电压源电路由两个运放LF353及电阻、电容组成,分别组成放大倍数为+1和-1的缓冲器,因而得到 的基准电源。这个电压源对整机的性能很重要,因为各控制电路均需要参考输入。图3-6 MAX038管脚图鉴相器是作为锁相环的备用单元,为异或门电路结构,输入信号一路来自内部差动矩形波OSCA和OSCB,另一路来自外部引脚PD1。鉴相器输出信号为电流,由PD0引脚输出,平均值变化范围为0~550 。当两路输入信号的相位差为 时,输出电流的占空比为50%,平均值为250 。如果构成锁相环电路,则PDO和FADJ相连,并且对地连接一个电阻 ,同时并联一个电容 。 决定鉴相器的灵敏度, 则滤除电流中的高频成分。MAX038的各引脚功能见于表3-2。
表3-2 MAX038引脚功能注:5个GND脚在MAX038内部是不连接的,在电路设计时,需要一个地平面,然后所有5个GND脚连到靠近MAX038器件的地平面上。表3-3是MAX038 地址线A0和A1对波形选择的取值。
表3-3 MAX038 地址线A0和A1对波形选择的取值波形选择由A0和A1两个输入引脚的逻辑电平设定:当A0=0或1、A1=1时为正弦波;当A0=0、A1=0时输出矩形波;当A0=1、A1=0时输出三角波。MAX038的关键特性如下:(1)工作频率范围从 0.1HZ~ 20MHZ,各种波形的输出幅度均为2 V(P-P);(2)能精密地产生三角波、方波、正弦波信号;(3)占空比调节范围宽, 占空比和频率均可单独调节, 互不影响, 占空比最大调节范围10%~90%;(4)波形失真小, 正弦波失真度低于1%;(5) 采用±5V双电源供电, 允许有5%变化范围,电源电流为 80mA , 典型功耗 400 mW, 工作温度范围为0~70℃;(6) 内设2.5V电压基准,利用控制端FADJ、DADJ实现频率微调和占空比调节;(7)频率扫描范围:350倍;(8)输出电阻:0.1 ;(9)温度系数: 。MAX038核心部分是一个电流控制的振荡器,通过恒定的电流对外部电容 充电和放电,获得三角波和方波信号输出。充、放电电流由流进MAX038的 脚的电流控制,由加在引脚FADJ、DADJ上的电压调整。电路的振荡频率为:f= (1-0.2915 )= (1-0.2915 )/ (1)波形的占空比为: (2)当 =0时, 可设为2~750 ,对应中心频率为350:1的变化范围;当= 时,调制频偏为 。控制外部电容 充、放电电流的比值,当 =0时,波形的占空比为50%;当 = 时,占空比为10%~90%。在FADJ和DADJ端口的内部,设置了250 的下拉电流源,可简化外部电路设计,仅用电阻 (连接引脚FADJ和2.5V基准电压的可变电阻)和 (连接引脚DADJ和2.5V基准电压的可变电阻)就可以对频偏和占空比进行调整。 端口由内部的运放强制为虚地,故仅用电阻 就能调整输入电流 ,实现中心频率的调节。3.3.2 占空比调节原理MAX038的DADJ引脚上的电压可控制波形的占空比 (定义为输出波形为正时所占时间的百分数),并且能够改善正弦波的波形,可进行脉冲宽度调制和产生锯齿波。当 接地(即 =0)时,由 可得其占空比为50%。当 =±2.3V时,占空比可在 10%~90%范围内调整;当电压超过±2.3V 时,将使频率偏移或引起不稳定。加在DADJ上的电压: (3)其中: 为 DADJ 引脚上的电压, 为定义为输出波形的占空比。由公式(3)可完成的占空比设置。在本设计中要求占空比 在10%~90%的变化范围,这样 的范围为-2.3V~+2.3V之间变化。因为:为内部恒流源; :连接引脚DADJ和2.5V基准电压的可变电阻。基准电压 :+2.5V由以上分析,可以计算出要使 的范围为-2.3V~+2.3V之间变化时 的范围在0.8K~19.2K 之间变化。所以 可以选择20K 的可变电阻。综上,MAX038工作时引脚DADJ电压的变化可引起电容 充电和放电的相对速率的变化,由此引起矩形波占空比发生变化 ,当 时矩形波占空比为50%,即输出为方波。 的变化范围为±2.3V则占空比的变化范围为10%~90%。所以 ,可使 变化 ,从而改变占空比,这即是设置占空比调节的原理。3.3.3 频率调整原理(1) 频率粗调原理由MAX038内部结构及参考文献[4]可得,当引脚FADJ的电压 =0时,MAX038输出信号频率的计算由式(1)给出:(4)(4)式中, 的计算为 (5) (5)式中 为内部输出的2.5V恒定参考电压,可见 时, 输出信号的频率完全由内部结构及充电电容 决定。 电流大小在2~750μA内变化,电容大小若为pF量级,则输出频率的大小为MHz量级电容大小若为 μF量级 则输出频率的大小为kHz量级电容大小若为μF量级,则输出频率的大小为Hz量级所以其输出频率范围为0.1Hz~20MHz。由此可通过改变电容 的大小达到大幅度地改变输出信号频率,这即是设置频率粗调的原理。在本设计中要求频率在0.1HZ~20MHZ的变化范围,所以选择电容大小若为pF量级。(2) 频率细调原理MAX038工作时引脚FADJ的电压 由参考电压 及可调电阻 决定 = -250μA× (6)由(6)式得 (7)= 时,代入(7)式得到 的变化范围为0.4K~19.6K,所以 可以选择20K 的可变电阻。由(6)式调节 ,可变化FADJ引脚的电压,其变化范围为±2.4V。而 的变化可引起电容充电电流的变化 输出频率则以(4)式的频率 为中心频率,产生±70%左右的变化。由此可通过调节可变电阻 的大小,达到小幅度改变输出信号的频率,这即是设置细调输出信号频率的原理。综上所述,MAX038的输出频率 由 、 、 三者共同决定,当 =0时 = = / = / * ,实现粗调;当 0时, = (1-0.2915 ),实现细调。3.3.4 MAX038外围电路
图 3-7 MAX038外围电路原理图由以上的分析,设计出的MAX038部分的电路如图3-7。SYNC电路具有单独的电源引线因而可被禁止。 数字电压 (+5V)电源端,如果没有用到SYNC的时候 应该悬空。PDI、PDO引脚分别是相位检波器的输入和输出端,在本设计中不用应该接地。3.3.5 MAX038外围电路注意事项由MAX038实现的信号发生电路是模数混合电路,因此在电路设计和线路板布局上都必须注意。具体有:(1)如果PCB板中,MAX038的模拟电源和数字电源需要分开,在供电时要分别供电,即分别取不同的电源,以防数字信号通过电源线干扰模拟部分;同样,模拟地和数字地的处理要慎重,万用板上要用低阻地平面分别将模拟地和数字地连接,再在某点上将两地相连。(2)信号线要尽量部在焊接面,元件面为地平面,这样就可减少信号间的干扰,这一点对系统性能的稳定尤为重要,因为系统性能受 、FADJ、COSC、DADJ等引脚周围的分布电容及信号环境变化的影响特别敏感。此外,这些引脚引线的长度和面积还应尽量短小。(3)由于不同结构的电阻具有不同的寄生电容和寄生电感,因此选择电阻时,应选用寄生电容和寄生电感小的电阻。推荐使用1%以上精度的金属膜电阻。(4)在高频线路中,电源去藕是一个关键问题。整个线路往往会由于电源引线而产生电路谐振,当有大的瞬时变化时,也会产生尖峰干扰信号。消除这两种现象的有效办法就是在片子的电源管脚与地之间加上适当的去藕电容,一般使用1 以上的优质电容。在许多场合,采用2个电容并联的方法(并联一个0.1 电容),则去藕效果更佳。3.4 幅度放大电路
由于MAX038的输出信号为恒定的2V(P-P),且输出电流不高,所以必须在输出级至少有一级的放大电路来提供足够的输出电压和电流,以满足一般的使用要求。以下是放大电路设计的几点考虑:图3-8 放大电路(1) 首先,要求放大电路具有很高的频宽。因为输出信号最大基频为20MHZ,其三角波和矩形波的高次谐波成分很高,只有高频宽才能得到不失真的输出波形。(2) 其次,高频大信号放大要求电路有足够的输出电压转换速率。(3) 另外,要带动低阻负载,放大电路的电流输出能力也是个重要参数。要在10 负载上输出6V信号,则放大器至少要有60mA的连续电流输出能力。居于以上要求本设计的放大电路部分如图3-8。采用低功耗,宽带,高速运算放大器AD8055提高了放大电路的带宽和转换速率,把电压由原来MAX038输出的2V放大到6V。而9013和9012构成了“推挽式电路”也叫做互补对称电路,实现了在静态时管子不取电流,而在有信号时,T1、T2轮流导电。T1、T2是工作在乙类的放大电路,管耗小,提高了电流,从而提高了效率,而且减少了失真。最后接的电阻是为了防止输出端的外接负载短路,所以加一个电阻限制电流。3.5 软件设计软件需要实现的主要功能是检测键盘的输入,根据输入结果选择输出相应的波信号。键盘 *** 作和对应的输出如下:输入按键“0”(第一行第一列),得到正弦波;输入按键“1”(第一行第二列),得到矩形波;输入按键“2”(第一行第三列),得到三角波;软件编程用C51语言,主要包括键盘去抖动延时程序、键盘扫描程序、波形选择程序。单片机控制MAX038实现波形输出的程序流程图3-9。
开始
初始化
键盘扫描
键码为11?
键码为21?
键码为41?
NO
NO
NO
输出正弦波
输出矩形波
输出三角波图3-9 单片机控制MAX038实现波形输出的程序流程图键码为11对应的是第一行第一列的按键;键码为21对应的是第一行第二列的按键;键码为41对应的是第一行第三列的按键。
希望对你能有所帮助。
给你看下程序吧,C语音: if(state==1)//正弦波{for(k=0k<100)
{
if(P1!=0xf0)
{ sweep()}
if(FLAG==1)
{out=sin[k]
FLAG=0
//P2_4=0
//delay(255)
P0=out
k++}
} }
else if(state==2) //三角波
{for(k=0k<100)
{
if(P1!=0xf0)
{ sweep()}
if(FLAG==1)
{out=shn[k]
FLAG=0
//P2_4=0
//delay(255)
P0=out
k++}
} }
else if(state==3) //方波
{for(k=0k<100)
{
if(P1!=0xf0)
{ sweep()}
if(FLAG==1)
{out=fan[k]
FLAG=0
//P2_4=0
//delay(255)
P0=out
k++}
} }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)