AD7705/06及其应用

技术分类: 模拟设计  | 2006-09-26
来源:电子产品世界 | 作者:胡志高 高启安 丁明芳

R1置位,一次串行接收结束,单片机自动停止发送移位脉冲,该8位数据从串行口缓冲器读入内存,并使用软件清除RI 标志,单片机又开始发送移位脉冲,直到又收到8位数据,则另一次串行接收结束。这样,这次的8位数据与刚才接收的高8位数据组合成为16位数据,即一次 A/D转换的结果。这种接口方法直接利用了单片机本身的硬件资源,从而简化了电路的设计。

    程序1 AD7706的初始化程序

    BEGIN:

    CLR A

    MOV A ,#010H;设置串行工作方式0

    MOV SCON ,A

    CLR P1.0;选中芯片AD7706

    MOV A ,#20H;对CMR进行写操作,下一操作选定CKR

    MOV SBUF ,A

    JNB TI

,﹩;接收完毕,TI复位

    CLR TI

    MOV A ,#0CH;设置CLK

    MOV SBUF ,A 

    JNB TI ,

    CLR TI

    MOV A ,#010H;对CMR进行写操作,下一操作选定STR

    MOV SBUF ,A

    JNB TI ,﹩

    CLR TI

    MOV A ,#40H;设置STR

    MOV SBUF ,A

    JNB TI ,﹩ 

    CLR TI

    RET

    程序2 输入字节程序(判断DRDY引脚):

    INB1: CLR C

    JB P1.1 ,INB1;判断DRDY引脚电平

    CLR P1.0;DRDY为0,有效数据,进行读数据操作

    MOV A ,#38H;对CMR进行写操作,下一操作选定DOR

    MOV SBUF ,A 

    MOV A ,SBUF;从AD7706中读入转换数据

    MOV R3 ,A;高8位存入R3中 

    JNB TI ,﹩ 

    CLR TI

    MOV A ,SBUF;从AD7706中读入转换数据

    MOV R4 ,A;低8位存入R4中

    JNB TI ,﹩ 

    CLR TI

    RET

    程序3 输入字节程序(判断CMR的最高位):

    INB2: CLR P1.0;对AD7706进行操作

    MOV A ,#08H;对CMR进行写操作,下一操作选定CMR

    MOV SBUF,A

    MOV SBUF ,A;读AD7706的CMR

    ANL A ,#10000000B ;判断DRDY位,若为0,则有有效数据

    JNZ INB2;等待

    MOV A ,#38H;对CMR进行写操作,下一操作选定DOR

    MOV SBUF ,A

 

1】【2】【3
加载中

对文章的评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销