1 硬件电路设计
80C51单片机时钟电路采用内部方式,外接陶瓷谐振器(频率为12 MHz),微调电容值为30 pF。系统复位采用按键式外部复位方式,复位信号至少保持8 μs以上。通过按键由用户选择要输出的波形,按键选择占用P1.1~P1.7口,采用独立式键盘结构。利用80C51单片机内部自带的计数器/定时器在P1.0口上产生连续方波,由用户通过按键选择输出方波周期。系统结构框图如图1所示。
1.1 D/A转换电路
本文采用美国MAXIM公司的微处理器兼容高性能单片14位数模转换器MAX7534。MAX7534内部功能框如图2所示。MAX7534的高质量、激光校准、薄膜电阻和带温度补偿的NMOS开关等确保了器件在整个工作温度范围内具有良好的线性和增益稳定性。MAX7534接收8位总线的2个字节,内部包括1个LS输入寄存器和1个MS输入寄存器CONTROL ENGINEERING China版权所有,分时接收低8位和高6位的14位待转换数字量、1个14位DAC寄存器、1个14位DAC数模转换器和
MAX7534与80C51的具体连接见图3。工作时,通过A1、A0引脚确定MAX的工作过程,其对应关系见下表,当出现表中的第3种情况时,14位待转换的数字量通过MAX7534内部总线输入到14位DAC进行转换。转换结束,模拟量以电流形式输出。
1.2 I/V转换电路
由MAX7534转换得到的模拟量电流信号要转换成电压信号,需外加I/V转换电路。I/V转换电路与MAX7534的具体连接见图3。
图3是MAX7534的双极性或四象限乘法工作电路图电路提供的是偏移二进制码,为解决高温时的低泄漏,对VSS进行负偏置;C1为补偿电容,用来消除由DAC的输出电容和内部反馈电阻构成的极点,其值根据采用运放的不同而不同;在接近DAC的VDD和GND管脚处放置1个1 μF的旁路电容,再与1个0.01 μF的陶瓷电容相并联www.cechina.cn,抑制高频噪声。按图中给定的器件参数CONTROL ENGINEERING China版权所有,输出电压的表达式为:
VOUT=[(D-8192)/8192]×VIN
VIN=+5V,当D=0时,VOUT=-5V;当D=8192时,VOUT=0V;当D=16384时,VOUT=4.96V。转换关系见表2。
2 软件设计
在硬件设计的基础上进行软件编程。由用户通过按键选择需要输出何种波形。
2.1 方波输出
本文通过80C51单片机内部自带的定时器/计数器实现方波输出。采用定时器/计数器T1,工作方式1,计数器位数是16位;门控位GATE置0,定时器的运行只受控制寄存器TCON中运行控制位(TR)的控制;计数器初值的设定由以下公式计算得到:
N=2n-TCfosc/12
n为计数器位数;TC为定时时间;fosc为振荡频率。通过小键盘,由用户键入需要输出方波的周期(周期只能为正数www.cechina.cn,如1 ms,2 ms,10 ms等,最大为65 ms),在P0口将得到所需的方波波形。
2.2 锯齿波、正弦波输出
锯齿波中的斜线用一个个小台阶来逼近,在一个周期内从最小值开始逐步递增,当达到最大值后又回到最小值,如此循环,当台阶间隔很小时,波形基本上近似于直线。适当选择循环的时间,可以得到不同周期的锯齿波。由图3所示连接可知:选通MAX7534的LS寄存器地址为5FFFH;选通MS寄存器地址为:3FFFH;选通DAC寄存器地址为:7FFFH;选通DAC转换地址为:1FFFH。锯齿波产生程序流程图如图4所示。
正弦波的产生采用查表法,单片机的I/O输出均为+5 V的TTL电平,因此产生的正弦波幅值为+5 V。将一个周期内的正弦波形等分为N份,那么第1点的角度为0°,对应的正弦值为5sin0°;第2点的角度为360°/N,对应的正弦值为5sin