TLC5615输出电压值,内含放大器,会输出为基准的2倍电压,程序很简单,稍微查一下资料便会,输入8位数字量,输出响应的电压值,我这有汇编的程序,
;调速子程
TIAOS BIT P34
KAISTS: MOV R7,41H
MOV R6,42H
MOV A,31H
RLC A
CLR SCLK
CLR CS
FASG8: MOV TIAOS,C
SETB SCLK
CLR SCLK
RLC A
CJNE R7,#00H,FASG8
FASD4: CLR TIAOS
SETB SCLK
CLR SCLK
CJNE R6,#00H,FASD4
RET
仔细看一下 就知道了,
比如8位的AD转换吧,转换0~5V为数字量信号,就是把5V分成256份,每份是5/256,这个也就是精度,最小一份就是5/256 V,002V左右,比如输入信号为5V,就占了256份,AD输出结果换成16进制就是0xff,比如说输入是31V,就占了31/(5/256)=15872份,所以输出结果只能是158份,0x9e,就偏差了072份,就是0725/256=0014V,就偏差了0014V左右,如果10位的AD转换,每份就是5/1024,精度也就高了很多,反过来DA转换也是一样的,不明白可以继续问
#include<reg51h>
void main()
{
while(1) {
P1++;
}
}
即可。
我没有看到给R3自动加1的程序
在MOV A, R3后加入
ADD A, #01H
DA A
MOV R3, A
两个功能
1 自动加1
2 将十六位转换为10进制,比如,09H转换一下,还是09
0AH转换一下,就成了10了,这主要就是为了显示,
但你的是发光二极管显示,并不是数码管显示的,它显示出来的肯定是乱码,
如果你不转换,也就是不加DA的话,那么二极管显示的就是2进制数据,这样还可以看出来到底按了多少次,但搞成这个样子,就得重新算了,
显示的数据是两个8进制,高四位显示十位,低四位显示个位,是十进制数,得仔细看了
以上就是关于求TLC5615的简单的51单片机DA转换程序,输入一个数据量,在输出端测电流值全部的内容,包括:求TLC5615的简单的51单片机DA转换程序,输入一个数据量,在输出端测电流值、单片机AD和DA转换具体过程是怎么样的、单片机DA转换产生三角波的c语言程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)