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

来源:本站
导读:目前正在解读《MCS-51与串行D/A转换器的接口设计》的相关信息,《MCS-51与串行D/A转换器的接口设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《MCS-51与串行D/A转换器的接口设计》的详细说明。
简介:AD7543是串行D/A转换芯片,本文介绍了该芯片的电路原理、应用特性以及和MCS-51单片机连接的两种方法,并给出了接口电路和驱动秩序。

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转换器,和并行接口芯片有很大不同,使用该芯片构成的系统具有接线简单、使用方便、控制灵活的特点,具有较好的应用前景和开发价值。

MCS-51与串行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所列。

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

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

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端,以实现系统的同步。

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

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

由于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的数值可以改变移位脉冲的频率。从而改变串行通讯波特率。

提醒:《MCS-51与串行D/A转换器的接口设计》最后刷新时间 2024-03-14 00:51:40,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《MCS-51与串行D/A转换器的接口设计》该内容的真实性请自行鉴别。