模数转换芯片AD7810的原理及应用
C,P1.1 ;读一位数据
CLR P1.0
MOV A,R2 ;数据移位
RLC A
MOV R2,A
MOV A,R3
RLC A
MOV R3,A
DJNZ R1,CON1
RET
PIC16C6X/7X与AD7810的通讯程序如下:
REG1 EQU 0X20 ;寄存器定义
REG2 EQU 0X21
CLRF PORTC ;端口初始化
BSF STATUS,RP0
MOVLW 0X30
MOVWF TRISC
BCF STATUS,PR0
BCF SSPCON,SSPEN
MOVLW 0X00 ;SPI初始化
MOVWF SSPCON
BSF SSPCON,SSPEN SPI开放
LOOP CALL ADCON
... ;主程序省略
;
;A/D转换子程序,返回时数据低8位在REFG1中,高2位在REG2中
ADCON BSF PORTC,0 ;唤醒启动AD7810
BCF PORTC,0
MOVWF SSPBUF ;启动接收高8位
BSF STATUS,RP0
CON1 BTFSS SSPSTAT,BF ;数据已接收?
GOTO CON1 ;没有收到
BCF STATUS,RP0
MOVF SSPBUF,W
MOVWF REG1 ;高8位送REG1
MOVWF SSPBUF ;启动接收低2位
BSF STATUS,PR0
CON1 BTFSS SSPSTAT,BF ;数据已接收?
GOTO CON1 ;没有收到
BCF STATUS,RP0
MOVF SSPBUF,W
ANDLW B11000000 ;保留有效位
MOVWF REG2 ;低2位送REG2
BCF STATUS,C ;进位位清零
RLCF REG2,1 ;数据调整
RLCF REG1,1
RLCF REG2,1
RLCF REG1,1 ;低8位
RLCF REG2,1 ;高2位
RETURN
更多资讯请关注:21ic模拟频道
- 12位串行A/D转换器MAX187的应用(10-06)
- 低功耗、3V工作电压、精度0.05% 的A/D变换器(10-09)
- 利用GM6801实现智能快速充电器设计(11-20)
- 稳定低噪声放大器中晶体管工作点的设计方法(下)(11-20)
- 如何使低功耗放大器在便携式产品中提高性能(10-03)
- 12位串行A/D转换器的原理及应用开发(10-09)