单片机AD和DA转换具体过程是怎么样的

单片机AD和DA转换具体过程是怎么样的,第1张

比如8位的AD转换吧,转换0~5V为枣雀数局岩橡字量信号,就是把5V分成256份,每份是5/桐旁256,这个也就是精度,最小一份就是5/256 V,0.02V左右,比如输入信号为5V,就占了256份,AD输出结果换成16进制就是0xff,比如说输入是3.1V,就占了3.1/(5/256)=158.72份,所以输出结果只能是158份,0x9e,就偏差了0.72份,就是0.72*5/256=0.014V,就偏差了0.014V左右,如果10位的AD转换,每份就是5/1024,精度也就高了很多,反过来DA转换也是一样的,不明白可以继续问

AD转换部分:磨简袜使咐宴用ADC0834

==========AD转换==============

入口:A(瞎激存放通道选择值:1***0000)

出口:A(存放AD转换值)

ADC:MOV R7,#4

CLR AD_CS

ADC1: CLR CLK

RLC A

MOV SDI,C

SETB CLK

DJNZ R7,ADC1

SETB SDO

CLR CLK

SETB CLK

MOV R7,#08H

ADC2: CLR CLK

SETB CLK

MOV C,SDO

RLC A

DJNZ R7,ADC2

MOV R7,#08H

ADC3: CLR CLK

SETB CLK

DJNZ R7,ADC3

CLR CLK

SETB AD_CS

RET

END

==============================

DA转换部分:使用MCP41010

入口参数:(A)=Dn

DAC: MOV R6,A

MOV R7,#08H

CLR DA_CS

DAC1: MOV A,#11H

DAC2: CLR CLK

RLC A

MOV SDI,C

SETB CLK

DJNZ R7,DAC2

MOV R7,#08H

MOV A,R6

DAC3: CLR CLK

RLC A

MOV SDI,C

SETB CLK

DJNZ R7,DAC3

CLR CLK

SETB DA_CS

RET

END

MIAN: MOV R1,#10

MOV R2,#40H

MOV R0,#7CH

MOVX @R0,A

LOOP: NOP

LOOP1:御返 NOP

JB P3.2,LOOP1

MOVX A,@R0

MOV @ R2,镇或饥A

INC R2

MOV R0,#7DH

MOVX A,@R0

MOV @R2,A

INC R2

DJNZ R1,团源LOOP


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8239211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存