标题:
TLV5616(12位D/A转换芯片)单片机驱动
[打印本页]
作者:
yuyang911220
时间:
2015-4-28 09:22
标题:
TLV5616(12位D/A转换芯片)单片机驱动
芯片封装和引脚如图:
代码如下:
[cpp]
view plain
copy
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void tlv5616_da(uint da);
sbit tlv5616_clk=P1^1;
sbit tlv5616_data=P1^0;
sbit tlv5616_cs=P1^3;
sbit tlv5616_fs=P1^2;
void tlv5616_da(uint da){
uchar i;
tlv5616_cs=0;
tlv5616_clk=1;
tlv5616_fs=0;
for(i=0;i<16;i++){
_nop_(); _nop_();
tlv5616_data=(bit)(da&0x8000);
tlv5616_clk=0;
_nop_();_nop_();
da<<=1;
tlv5616_clk=1;
_nop_(); _nop_();
}
tlv5616_cs=1;
tlv5616_fs=1;
tlv5616_clk=0;
for(i=0;i<16;i++);
}
void main(void){
while(1){
tlv5616_da(1000);
_nop_();_nop_();_nop_();_nop_();
tlv5616_da(2000);
_nop_();_nop_();_nop_();_nop_();
tlv5616_da(3000);
_nop_();_nop_();_nop_();_nop_();
tlv5616_da(4000);
_nop_();_nop_();_nop_();_nop_();
tlv5616_da(3000);
_nop_();_nop_();_nop_();_nop_();
tlv5616_da(2000);
_nop_();_nop_();_nop_();_nop_();
tlv5616_da(1000);
_nop_();_nop_();_nop_();_nop_();
tlv5616_da(0);
}
}
经D/A芯片转换后产生的波形如下所示:
(------------完-------------)
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0