首页 理论教育 DAC0832与MCS-51单片机接口实战

DAC0832与MCS-51单片机接口实战

时间:2023-11-16 理论教育 版权反馈
【摘要】:1 DAC0832与MCS-51系列单片机的接口方法DAC0832内部有输入寄存器和DAC寄存器,其5个控制端为ILE、、、、,能实现三种工作方式:直通方式、单缓冲方式和双缓冲方式。如图6-35所示,两级寄存器的写信号都由单片机的端控制。当地址线选择好DAC0832后,只要输出控制信号,DAC0832就能一步完成数字量的输入锁存和D-A输出。2 接口电路设计下面以单片机和D-A转换器DAC0832的接口电路为例介绍单片机与D-A的接口技术。如图6-37所示为单片机与DAC0832的接口电路原理图,晶振频率为6MHz。

DAC0832与MCS-51单片机接口实战

1 DAC0832与MCS-51系列单片机接口方法

DAC0832内部有输入寄存器和DAC寄存器,其5个控制端为ILE、978-7-111-54295-7-Chapter06-54.jpg978-7-111-54295-7-Chapter06-55.jpg978-7-111-54295-7-Chapter06-56.jpg978-7-111-54295-7-Chapter06-57.jpg,能实现三种工作方式:直通方式、单缓冲方式和双缓冲方式。

1)直通方式:两个寄存器的有关控制信号都预先置为有效,两个寄存器都开通。只要数字量送到数据输入端,就立即进入D-A转换器进行转换输出。

2)单缓冲方式:指只有一个寄存器受到控制。这时将另一个寄存器的有关控制信号预置为有效,使之开通;或者将两个寄存器的控制信号连在一起,两个寄存器合为一个使用。若应用系统中只有一路D-A转换或虽然是多路转换,但并不要求同步输出,则采用单缓冲方式接口。如图6-35所示,两级寄存器的写信号都由单片机的978-7-111-54295-7-Chapter06-58.jpg端控制。当地址线选择好DAC0832后,只要输出978-7-111-54295-7-Chapter06-59.jpg控制信号,DAC0832就能一步完成数字量的输入锁存和D-A输出。

3)双缓冲方式:指两个寄存器分别受到控制,如图6-36所示。当ILE、978-7-111-54295-7-Chapter06-60.jpg978-7-111-54295-7-Chapter06-61.jpg信号均有效时,8位数字量被写入输入寄存器,此时并不进行D-A转换。当WR2和XFER信号均有效时,原存在输入寄存器中的数据被写入DAC寄存器,并进行D/A转换。在一次转换完成后到下次转换开始之前,由于寄存器的锁存作用,数据保持不变,因此D/A转换的输出也保持不变。对于多路D-A转换接口,要求同步进行D-A转换输出时,必须采用双缓冲同步方式。

978-7-111-54295-7-Chapter06-62.jpg

图6-35 单缓冲方式

978-7-111-54295-7-Chapter06-63.jpg

图6-36 双缓冲方式

DAC0832采用双缓冲时,数字量的输入锁存和D-A转换输出是分两步完成的,即CPU的数据总线分时地向各路D-A转换器输入要转换的数字量并锁存在各自的输入寄存器中,然后CPU对所有的D-A转换器发出控制信号,使各个D-A转换器输入寄存器的数据打入DAC寄存器,实现同步转换输出。与单缓冲线路不同的是,仅将978-7-111-54295-7-Chapter06-64.jpg978-7-111-54295-7-Chapter06-65.jpg分别独立由单片机控制即可。

2 接口电路设计

下面以单片机和D-A转换器DAC0832的接口电路为例介绍单片机与D-A的接口技术。如图6-37所示为单片机与DAC0832的接口电路原理图,晶振频率为6MHz。

978-7-111-54295-7-Chapter06-66.jpg

图6-37 MCS-51和DAC0832的接口电路原理图

从图6-37可知,DAC0832的地址是7FFFH。(图中μA741的第6脚接示波器

MCS-51和DAC 0832的接口程序设计如下:

(1)程序1(产生锯齿波)

ORG 0000H

JUCHI:MOV A,#00;第一个数据

MOV DPTR,#7FFFH;DA作为一个外RAM单元,地址为7FFFH

JUCHI1:MOVX @DPTR,A;输出数据到DA

INC A;数据更新,+1(www.xing528.com)

SJMP JUCHI1;循环

END;结束

(2)程序2(产生半圆波)

ORG 0000H

BANYUAN:MOV R2,#00;数据序号起始为0

MOV R1,#40;数据长度40个

BANY1:MOV DPTR,#TAB2;数据表首地址给DPTR

MOV A,R2

MOVC A,@A+DPTR;查表取数

MOV DPTR,#7FFFH;DA作为一个外RAM单元,地址为7FFFH

MOVX @DPTR,A;输出数据到DA

INC R2;数据序号更新,+1

DJNZ R1,BANY1;40个数未取完,循环取数

SJMP BANYUAN;复位,重新开始

TAB2:DB 0,40,56,67,77,85,91,97,102,107,111;要送出到DA的数据表

DB 114,117,120,122,124,125,127,127,128

DB 128,127,127,125,124,122,120,117,114

DB 111,107,102,97,91,85,77,67,56,40,0

END

程序1、程序2通过单片机和D-A接口电路分别产生锯齿波、半圆波。半圆波是根据事先计算好的半圆十六进制数据,用查表法依次查出再通过单片机和D-A接口电路产生。可见,用这种方法可产生其他波形。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈