×
模拟电路设计 > 详情

AD7543与89C2051实现串行接口的设计

发布时间:2020-07-02 发布时间:
|

AD754389C2051实现串行接口的设计

介绍12位串行输入的数-模转换器AD7543通过89C2051的P1口实现串行接口的方法。
关键词:D/A转换器,单片机,串行接口

1引言
AD7543是美国AD公司生产的12位CMOS单片串行输入的数模转换器(DAC)。它是一种专为串行接口而设计的精密乘法型DAC。其数字数据由高位到低位逐次一位一位地输入。AD7543的主要特性与技术指标:

分辨率12位

非线性误差 ±1/2LSB

输入方式 串行

串行加载 正或负选通进行

初始化 非同步清除输入

工作电压 +5V

最大功耗 400mW

AD7543的片内逻辑电路由12位串行输入并行输出移位寄存器(寄存器A)和12位DAC输入寄存器(寄存器B)组成。出现在AD7543的SRI脚上的数据,在选通输入信号STB1、STB2或STB4的上升沿或STB3的下降沿(由用户选择)情况下,定时地把SRI脚上的串行数据装入寄存器A,一旦寄存器A装满,在加载脉冲的控制下,寄存器A的数据便装入寄存器B。

2接口方式
89C2051是一种高性能单片机,与MCS51系列指令高度兼容,由于无专用的串行数据接口,只能通过可编程的I/O脚和相应的软件,实现与AD7543的接口。从图1可知,P1.0为串行数据输出口,它与AD5743的SRI相连;AD7543内部寄存器A四个控制输入端之一的STB1与P1.1相连作为接收数据的脉冲,STB2、STB4接地,STB3接+5V;AD7543的寄存器B清零输入CLR与P1.3相连;寄存器B的两个控制加载输入端LD1、LD2分别接地和接P1.2。硬件电路连接完成以后,剩下的就是软件工作。


51系列丰富的指令系统,给串行输入的D/A转换带来了极大的方便。假设12位的数据分别放在单片机R2、R3寄存器中,通过对单片机的累积器A、进位标志和P1口的操作,就可实现串行数据的传输。下面为D/A转换子程序清单:

STATR:CLRP1.3

CLR P1.3

SETB P1.2

CLR C

CLR A

MOVA, R2

MOV R7, #4

LOOP1: PLC A

DJNE R7,LOOP1

MOV R7,#4

LOOP2: LCALLPRD

DJNE R7,LOOP2

CLR C

CLR A

MOV A, R3

MOVR7, #8

LOOP3:LCALLPRD

DJNER7,LOOP3

CPLP1.2装入数据,启动转换

RET

读数据子程序:

PRD: RLCA

MOVP1.0,C

SETBP1.1

CPLP1.1

RET
以上给出的程序,可单独作为调用AD7543转换器与51系列单片机串行接口的子程序。
3结束语
这种接口方法充分利用了单片机自身的软、硬件资源,简化了电路设计。但因数据是被逐个读入的,而且还与转换器的数据位数有关,故这种接口方式仅适用于对时间要求不高场合。

1涂时亮等.单片机软件设计技术.科学技术方献出版社重庆分社

2AT89C系列单片机技术手册.北京威立姆电子技术有限责任公司



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
使用一次侧回授的4.2 W GU10 LED照明驱动器