RSS

AT89C4051单片机的信号发生器应用02

来源:网络 作者:佚名 时间:2008-06-26 Tag:   AT89C4051   单片机   信号发生器   应用   点击:

  ……..      
    MOV  P1, A         ;P1口置数              
    MOV  P3, #0FCH    ;选择通道A      
    CLR   P3.5         ;置P3.5 低电平 
    SETB  P3.5         ;置P3.5 高电平,上升沿锁存数据
    LCALL  DELAY     ;调用延时子程序

 

 

 

 

 

 

 

 

 


     ……..
 
                 

   图5   单片机与D/A接口电路
 3.3 偏移电路设计
    AD7226的每一个通道都可以单独用来提供单极性或双极性的输出,要获得双极性的输出必须外加运算放大器和偏移电阻,输出电压的范围取决于参考电压的大小,如图6是在单极性电源供电情况下的双极性输出电路图,要注意偏移电阻的阻值匹配。


 
图6  AD7226双极性输出电路
3.4 放大电路设计
    放大电路主要是对AD7226输出的双极性电压信号幅值进行处理,以达到使用的要求。放大电路的输入极增加一个一阶低通滤波器,以防止D/A输出的高频成分干扰;采用低频运放作为射随器以提高输入阻抗。放大电路部分如图7所示。       

                     
                        图 7  放大电路(部分)

四 信号发生器的软件设计

4.1 信号编码
    以产生 为例,来说明如何对信号进行编码。
    AD7226的每一个通道都能单独的配置成双极性输出,参考图6,以7226的通道A为例, 可以得到输出表达式: 
 
    如果取R1=R2,则有:
 
    其中DA=DBIN /256,其分子部DBIN就是锁存器A中锁存的数字量,也就是偏移二进制码。
    由于D/A输出双极性电压的范围是-VREF ~VREF(127/128),所以要把Uj1放大VREF倍,即对VREFUj1进行编码,然后通过放大电路处理,得到最终需要的Uj1。这样就有:
         
     则:
              
    在这里要注意 的取值范围是-1~ ,而不是-1~+1。取整时要按照四舍五入的原则以减少误差,表1是双极性输出时二进制编码表以及对应模拟输出电压。


表 1  双极性输出偏移二进制码表

4.2 软件设计
    软件的任务是根据上位机的指令完成信号的控制和输出,编程语言采用8051汇编语言,整个程序由初始化模块、基准信号输出模块、测角及基准信号输出模块、中断模块、延时模块和喂狗模块组成。软件流程如图8所示。
4.3 与上位机接口时序
    信号发生器采用中断的模式响应上位机的控制指令,其指令的时序如图9所示。
    系统上电后,上位机须发送清零指令,复位INT0、INT1为低电平,Uj1、Uj2、Uc输出为0。在INT0、INT1为低电平期间,可以发送基准信号输出指令INT0,输出基准信号Uj1、Uj2;在基准信号输出期间,即INT0为高电平期间,可以发送测角信号输出指令INT1,此时输出测角信号 Uc,Uj1、Uj2同步输出。当INT0变为低电平时,无论INT1为何种状态,三路信号输出都为0。发送基准信号和测角信号输出前必须保证INT0、 INT1有效复位低电平。在INT0为低电平期间,陀螺仪模拟器不响应任何INT1指令。如果发生不可预料的逻辑紊乱,可以通过复位INT0、INT1,再按照图9所示时序关系发送指令。

                        
   
      图 8   软件流程图

        图 9  INT0、INT1工作时序

五 结 论

     通过软件硬件的调试和检测,表明该模拟装置的硬件和软件系统能很好的工作,在系统的联调中能正确的模拟角位移传感器的基准信号和测角信号,满足设计的要求,已经在某产品的检测系统中获得了应用。


1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
教程下载