新闻中心

EEPW首页>模拟技术>设计应用> MCS-51与串行D/A转换器的接口设计

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

作者: 时间:2009-09-07 来源:网络 收藏

  改变数据发送顺序的程序如下:
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的数值可以改变移位脉冲的频率。从而改变通讯波特率。

本文引用地址://m.amcfsurvey.com/article/188674.htm

电度表相关文章:电度表原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭