| 网站首页 | 技术文章 | 专业论文 | PLC可编程 | 单片机 | 变频器 | 传感器 | 嵌入式系统 | 电源技术 | 运动与伺服 | 
 | 校园招聘 | 留言板 | 
您现在的位置: 自动化学习网 >> 技术文章 >> 单片机 >> 文章正文 用户登录 新用户注册
[组图]MCS-51与串行D/A转换器的接口设计            【字体:
MCS-51与串行D/A转换器的接口设计
作者:佚名    文章来源:不详    点击数:    更新时间:2007-5-11    

   摘  要:AD7543是串行D/A转换芯片,本文介绍了该芯片的电路原理、应用特性以及和MCS-51单片机连接的两种方法,并给出了接口电路和驱动程序。
    关键词:D/A转换; 串行; MCS-51; AD7543

1. 概述
  在微机控制的电气设备中,常常需要把数字信号变成模拟信号,以驱动电气设备的运行,在这个过程中,D/A转换是一个十分重要的环节,亦是微机控制系统重要的组成部分。一般的D/A转化芯片都是并行接口,如8位系列0830/0831/0832、10位系列7520/7530/7533和 12位系列1208/1209/1210等均为并行接口,14位、16位系列也全部为并行接口。只有AD7543是12位串行D/A转换芯片,它是美国模拟器件公司(Analog Devices)的产品,属于特殊用途D/A转换器,和并行接口芯片有很大不同,使用该芯片构成的系统具有接线简单、使用方便、控制灵活的特点,具有较好的应用前景和开发价值。

2. AD7543内部框图和特性
  AD7543为16引脚双列直插式封装,内部框图和引脚符号如图1所示。
  AD7543的逻辑电路由12位串行输入并行输出移位寄存器(A)和12位DAC输入寄存器(B)以及12位DAC单元组成。在选通输入信号的前沿或后沿(由用户选择)定时地把RSI引脚上的串行数据装入寄存器A,一旦寄存器A装满,在加载脉冲的控制下,寄存器A的数据便装入寄存器B。并进行D/A转换。
  AD7543的引脚功能见表1。出现在AD7543的SRI引脚上的串行数据在STB1、STB2和STB4的上升沿或STB3的下降沿作用下,定时的移到移位寄存器A中,寄存器A和B控制输入端所要求的各种信号的逻辑关系如表2所列。

  AD7543的主要特性如下:
  ● 分辨率为12位。
  ● 非线性为±1/2LSB。
  ● 接正或负选通进行串行加载。
  ●用非同步清除输入使其初始化。
  ●低功耗、最大为40mW。

3. AD7543和8031单片机的接口设计

  实现AD7543与单片机的连接有两种方法,其一是基于字节操作,利用串行通讯接口实现,其二是基于位操作,利用普通输入输出口线实现,两种实现方法对A/D转化芯片的转换速度、工作以及数据传输的波特率等技术指示的要求各不相同。以下具体说明这两种实现的方法。
3.1 AD7543与单片机串行通讯接口的连接
  图2是8031的串行口和AD7543相连的接口电路,8031的串行口选用方式0(移位寄存器方式),其TXD端移位脉冲的负跳变将RXD输出的位数据移入AD7543,利用P1.0产生加载脉冲,由于是低电平有效,从而将AD7543移位寄存器A中的内容输入到寄存器B中,并启动D/A,单片机复位端接AD7543的消除CLR端,以实现系统的同步。

  由于AD7543的12位数据是由高字节至低字节串行输入的,而8031单片机串行口工作于方式0时,其数据是由低字节至高字节串行输出的。因此,在数据输出之前必须重新装配,并改变发送顺序,以适应AD7543的时序要求。如表3所列,其中数据缓冲区DBH为高字节存储单元,DBL为数据低8位存储单元。
  改变数据发送顺序的程序如下:
OUTDA:MOV A,DBH ;取高位
   SWAP ;高4位和低4位交换
    MOV DBH,A
    MOV A,DBL ;取低位
    ANL A,#OFOH ;截取高4位
    SWAP ;高4位和低4位交换
    ORL A,DBH ;合成,(DBH)=D11 D10 D9 D8 D7 D6 D5 D4
    LCALL ASMBB ;顺序转换
    MOV DBH,A  ;存结果(DBH)=D4 D5 D6 D7 D8 D9 D10 D11
    MOV A,DBL   ;取低位
    ANL A,#OFH  ;截取低4位
    SWAP ;交换,(A)=D3 D2 D1 D0 0 0 0 0
    LCALL ASMBB  ;顺序转换
     MOV DBL,A  ;存结果(A)=0 0 0 0 D0 D1 D2 D3
     MOV A, DBH
     MOV SBUF,A ;发送高8位
     JNB TI $   ;等待发送完成
     CLR TI    ;发送完毕,清标志
     MOV A,DBL
       MOV SBUF,A  ;发送低4位
     JNB TI $    ;等待
     CLR TI     ;发送完毕
     CLR P1.0    ;A寄存器加载到B寄存器
     NOP
     SETB P1.0    ;恢复
     REF
     ……
ASMBB: MOV R6,#00H
     MOV R7,#08H
     CLR C
ALO:   RLC A
     XCH A,R6
     RRC A
     XCH A,R6
     DJNZ R7,AL0
     XCH A,R6
     RET
  以上这种方式的单片机串行通讯口与AD7543的接口电路,其波特率固定为CPU时钟频率的1/12,如果CPU的频率为6MHz,那么波特率为50kbps,位周期为20μs,显然,这种连接方法只能用于高速系统。
3.2 AD7543与单片机普通输入输出口线的连接
  AD7543可以用8031的P1口实现数据传送。这种方法的波特率可调,传输速度由程序控制。电路与图2相同,仅把8031的数据输出端由RXD引脚改为P1.1,将移位脉冲输出端由TXD改为P1.2口线,P1.0仍为加载脉冲输出。其程序如下:
FS:   MOV R7,#04H
    MOV A,DBH;数据高4位
    SWAP
LOOP1: RLC A
    MOV P1.0 ;输出
    LCALL PULSE ;移位脉冲输出
    DJNZ R7,LOOP1 ;4位未完继续
    MOV R7,#08H
    MOV A,DBLH ;数据低8位
LOOP2: RLC A
    MOV P1.0 C ;输出
    LCALL PULSE ;移位脉冲输出
    DJNZ R7,LOOP2 ;8位未完继续
    CLR P1.1 ;输出加载脉冲
    NOP
    SETB P1.1
    RET ;传送完毕
PULSE: SETB P1.1 ;输出高电平
    MOV R3,#4
PULS1: DJNZ R3,PULS1
    CLR P1.1;输出低电平
    MOV R3,#4
PULS2:DJNZ R3,PULS2
    RET
  其中FS为AD7543驱动程序,子程序PULSE为移位脉冲形成程序,改变R3的数值可以改变移位脉冲的频率。从而改变串行通讯波特率。

参考文献

1.潘新民. 单片微型计算机实用系统设计. 人民邮电出版社
2. 戴梅萼.微型计算机技术及应用.清华大学出版社
3. 李华.MCS-51系列单片机实用接口技术.北京航空航天大学出版社

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      最新热点   最新推荐   相关文章
    基于PIC的无线数据传输发射机…
    基于PSD3XX与ADMC401接口设计…
    基于ST72单片机的快速充电系…
    基于单片机的MicroDrive接口…
    基于单片机的喷墨打印机控制…
    利用ASSP实现成本节约,加速…
    如何仿真单片机的外围设备
    非接触式e5551读写器的开发
    基于80C166单片机PEC服务的P…
    基于8位微控制器控制硬盘进行…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)