DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 256|回复: 0
打印 上一主题 下一主题

单片机在多种波形发生器中的应用(图)

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:46:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    摘  要:介绍了基于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 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进行转换。转换结束,模拟量以电流形式输出。
  


  


    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的陶瓷电容相并联,抑制高频噪声。按图中给定的器件参数,输出电压的表达式为:
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为振荡频率。通过小键盘,由用户键入需要输出方波的周期(周期只能为正数,如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 (360°/N ) ……,如此计算下去,将这些模拟量正弦值都转换为双极性方式下的数字量,得到一张按照点号顺序排列的数字量正弦值表格。程序流程图与锯齿波产生子程序流程大致一致,只是每次送到MAX7534转换的14位数字量是根据得到的表格所查得的。
    3 结语
  本文基于80C51单片机的多种波形发生器产生的3种波形完全能够满足实验中的使用要求。采用的高性能数模转换芯片保证了输出波形的精度和稳定性。通过软件实现可以输出更多的基本波形如:梯形波、三角波、反向锯齿波等,具有实际的使用价值。
    参考文献
  1]周航慈,等.单片机程序设计基础[M].北京:航空航天大学出版社,1999
  2]李朝青.单片机原理及接口技术[M].北京:航空航天大学出版社, 1994
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-22 09:11 , 耗时 0.086340 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表