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

时间:2012-04-18来源:网络

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

介绍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:      CLR   P1.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:      LCALL  PRD

DJNE R7, LOOP2

CLR      C

CLR  A

MOV  A, R3

  MOV R7, #8

LOOP3:LCALL PRD

DJNE R7,LOOP3

CPL P1.2装入数据,启动转换

 RET

读数据子程序:

PRD: RLC A

MOV P1.0,C

SETB P1.1

CPL P1.1

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

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

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

关键词: AD7543 89C2051 串行接口

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版