工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->基础电路图->数字电路图->MCS-51与串行D/A转换器的接口设计

MCS-51与串行D/A转换器的接口设计

作者:Lamborghini时间:2009-09-23

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

  关键词:D/A转换; 串行; MCS-51; AD7543

  分类号:TN79+.2 TP368 文献标识:B 文章编号:1006-6977(1999)12-0033-03

  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系列单片机实用接口技术.北京航空航天大学出版社



评论

技术专区