原创 单片机在多种波形发生器中的应用

2007-7-12 01:15 4471 9 10 分类: MCU/ 嵌入式
摘  要:介绍了基于80C51单片机产生几种基本波形的方法。采用微处理器兼容的14位数模转换器MAX7534,高速,稳定,具有良好的线性。用户通过按键选择输出需要的波形,波形精度能够满足一般的使用条件。

    关键词:波形发生器;单片机;MAX7534;方波;锯齿波;正弦波


    本文利用80C51单片机外接数模转换器和I/V转换电路,由用户通过按键选择输出实验中经常使用到的几种基本波形:方波、锯齿波、正弦波。方波由 80C51单片机内部自带的计数器/定时器产生,并由用户通过小键盘选择波形周期。与微处理器兼容的14位数模转换器MAX7534将数字量转换为模拟量电流信号,通过I/V转换电路得到双极性的锯齿波和正弦波信号,波形保证了他的精度和平滑、稳定。


    1 硬件电路设计


  80C51单片机时钟电路采用内部方式,外接陶瓷谐振器(频率为12 MHz),微调电容值为30 pF。系统复位采用按键式外部复位方式,复位信号至少保持8 μs以上。通过按键由用户选择要输出的波形,按键选择占用P1.1~P1.7口,采用独立式键盘结构。利用80C51单片机内部自带的计数器/定时器在 P1.0口上产生连续方波,由用户通过按键选择输出方波周期。系统结构框图如图1所示。


1


1.1 D/A转换电路


  本文采用美国MAXIM公司的微处理器兼容高性能单片14位数模转换器MAX7534。MAX7534内部功能框如图2所示。MAX7534的高质量、激光校准、薄膜电阻和带温度补偿的NMOS开关等确保了器件在整个工作温度范围内具有良好的线性和增益稳定性。MAX7534接收8位总线的2个字节,内部包括1个LS输入寄存器和1个MS输入寄存器,分时接收低8位和高6位的14位待转换数字量、1个14位DAC寄存器、1个14位DAC数模转换器和逻辑控制电路。数模转换器(DAC)电路包括由激光校准的11个薄膜R2R电阻阵、1个3位分段电阻阵和NMOS电流开关。该D/A转换器具有保护CMOS寄存器的功能,无需使用外加肖特基二极管保护。


 MAX7534与80C51的具体连接见图3。工作时,通过A1、A0引脚确定MAX的工作过程,其对应关系见下表,当出现表中的第3种情况时,14位待转换的数字量通过MAX7534内部总线输入到14位DAC进行转换。转换结束,模拟量以电流形式输出。
2


3


1.2 I/V转换电路


  由MAX7534转换得到的模拟量电流信号要转换成电压信号,需外加I/V转换电路。I/V转换电路与MAX7534的具体连接见图3。


4


  图3是MAX7534的双极性或四象限乘法工作电路图电路提供的是偏移二进制码,为解决高温时的低泄漏,对VSS进行负偏置;C1为补偿电容,用来消除由 DAC的输出电容和内部反馈电阻构成的极点,其值根据采用运放的不同而不同;在接近DAC的VDD和GND管脚处放置1个1 μF的旁路电容,再与1个0.01 μF的陶瓷电容相并联,抑制高频噪声。按图中给定的器件参数,输出电压的表达式为:


VOUT=[(D-8192)/8192]×VIN


  VIN=+5V,当D=0时,VOUT=-5V;当D=8192时,VOUT=0V;当D=16384时,VOUT=4.96V。转换关系见表2。


5


2 软件设计


  在硬件设计的基础上进行软件编程。由用户通过按键选择需要输出何种波形。


    2.1 方波输出


  本文通过80C51单片机内部自带的定时器/计数器实现方波输出。采用定时器/计数器T1,工作方式1,计数器位数是16位;门控位GATE置0,定时器的运行只受控制寄存器TCON中运行控制位(TR)的控制;计数器初值的设定由以下公式计算得到:


N=2n-TCfosc/12


n为计数器位数;TC为定时时间;fosc为振荡频率。通过小键盘,由用户键入需要输出方波的周期(周期只能为正数,如1 ms,2 ms,10 ms等,最大为65 ms),在P0口将得到所需的方波波形。


    2.2 锯齿波、正弦波输出


  锯齿波中的斜线用一个个小台阶来逼近,在一个周期内从最小值开始逐步递增,当达到最大值后又回到最小值,如此循环,当台阶间隔很小时,波形基本上近似于直线。适当选择循环的时间,可以得到不同周期的锯齿波。由图3所示连接可知:选通MAX7534的LS寄存器地址为5FFFH;选通MS寄存器地址为: 3FFFH;选通DAC寄存器地址为:7FFFH;选通DAC转换地址为:1FFFH。锯齿波产生程序流程图如图4所示。
6


  正弦波的产生采用查表法,单片机的I/O输出均为+5 V的TTL电平,因此产生的正弦波幅值为+5 V。将一个周期内的正弦波形等分为N份,那么第1点的角度为0°,对应的正弦值为5sin0°;第2点的角度为360°/N,对应的正弦值为5sin (360°/N ) ……,如此计算下去,将这些模拟量正弦值都转换为双极性方式下的数字量,得到一张按照点号顺序排列的数字量正弦值表格。程序流程图与锯齿波产生子程序流程大致一致,只是每次送到MAX7534转换的14位数字量是根据得到的表格所查得的。


    3 结语


  本文基于80C51单片机的多种波形发生器产生的3种波形完全能够满足实验中的使用要求。采用的高性能数模转换芯片保证了输出波形的精度和稳定性。通过软件实现可以输出更多的基本波形如:梯形波、三角波、反向锯齿波等,具有实际的使用价值。


    参考文献


[1]周航慈,等.单片机程序设计基础[M].北京:航空航天大学出版社,1999
[2]李朝青.单片机原理及接口技术[M].北京:航空航天大学出版社, 1994

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户303379 2011-3-23 11:58

大家好,我的毕业设计需要一个多种波形发生器,大家能帮我做一个吗,有愿意的可以联系我,谢谢,QQ410494055,电话:13919960197

相关推荐阅读
用户74185 2007-12-26 09:39
几种常见运放电路图
这几种电路都可以在负载电阻RL上获得恒流输出第一种由于RL浮地,一般很少用第二种RL是虚地,也不大使用第三种虽然RL浮地,但是RL一端接正电源端,比较常用第四种是正反馈平衡式,是由于负载RL接地而受到...
用户74185 2007-12-15 08:51
C语言指针
  指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的...
用户74185 2007-07-19 10:56
基于51的温度测试系统
摘 要: 单片机在检测和控制系统中得到广泛的应用, 温度则是系统常需要测量、控制和保持的一个量。 本文从硬件和软件两方面介绍了AT89C2051单片机温度控制系统的设计,对硬件原理图和程序框图作了简洁...
用户74185 2007-07-19 10:53
C语言宏定义
C语言宏定义技巧(常用宏定义) C语言宏定义技巧(常用宏定义)  写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。...
用户74185 2007-07-18 17:30
AD0832
二.             串行AD转换器ADC0832的使用单片机控制系统中通常要用到AD转换,根据输出格式,常用的AD转换方式可分为并行AD和串行AD。并行方式一般在转换后可直接接收,但芯片的引...
用户74185 2007-07-17 15:30
7219
串行LED显示驱动器MAX7219及其应用  2006-5-10摘 要 阐述了新型显示驱动芯片MAX7219的基本工作原理和软件设计方法。该芯片功能强大、编程简单、控显可靠,可广泛用于工业控制器等方面...
我要评论
1
9
关闭 站长推荐上一条 /3 下一条