![]() |
發(fā)布時間: 2021-4-3 08:38
正文摘要:和我搜集到的這種程序(圖一)不太一樣下面這種程序是什么意思?TLC5615的輸出電壓是怎么控制的?(比如0~5v),TLC5615是怎么工作的(圖一是控制0~1023,下面這個完全找不到頭緒)求大佬幫忙解釋 void shuma( ... |
void tlc_5615(uint buf) { uint a,c; c=buf; CS_5615=0; for(a=16;a>0;a--) //把DAC 16位數(shù)據(jù)送入轉(zhuǎn)換寄存器 { DAT_5615=c>>15; //取最高位 c=c<<1; //把次高位送到最高位 CLK_5615=1; CLK_5615=0; } CLK_5615=1; CLK_5615=0; CLK_5615=1; CLK_5615=0; //補(bǔ)2個時鐘,把數(shù)據(jù)再向前送2位 CS_5615=1; } |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
TLC5615是10位DAC,你是沒看懂TLC5615內(nèi)部16位轉(zhuǎn)換寄存器結(jié)構(gòu)。如果看懂了,2個程序是怎樣傳送數(shù)據(jù)的意圖就明白了。 TLC5615內(nèi)部16位轉(zhuǎn)換寄存器高4位和低2位是無效的,只有3~12位為有效數(shù)據(jù),要做的就是讓傳送的16位數(shù)據(jù)中低10位落在這個區(qū)域。 第一個程序是將10位有效數(shù)據(jù)的最低位和TLC5615內(nèi)部轉(zhuǎn)換寄存器第3位對齊;第二個程序是將10位有效數(shù)據(jù)的最高位和TLC5615內(nèi)部轉(zhuǎn)換寄存器第12位對齊。實(shí)際效果都達(dá)到了。 輸出電壓Vo=2*Vref*Value/1023。Value為傳送的10位數(shù)據(jù)。而Vo是有限制的,最大為VDD-0.4 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
Powered by 單片機(jī)教程網(wǎng)