您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > TLC5620 DA转换C程序 -
本文所属标签:
为本文创立个标签吧:

TLC5620 DA转换C程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
TLC5620 DA转换C程序/*------------------------------------------------------------------------------调用方式:void da5620(uchar da) ﹫2001/03/23函数说明:往固定端口送da值完成DA输出,该函数

TLC5620 DA转换C程序

本文引用地址: http://www.21ic.com/app/mcu/201806/764833.htm


/*------------------------------------------------------------------------------
调用方式:void da5620(uchar da) ﹫2001/03/23
函数说明:往固定端口送da值完成DA输出,该函数没有输出端口选择功能,尽管5620有4个


输出口。
改变程序中的command可以改变默认端口。
------------------------------------------------------------------------------*/
#include"reg51.h"
#include
#define uchar unsigned char
#define uint unsigned int
#define nop _nop_()
sbit SPI_CLK=P1^2;
sbit SPI_DATA=P1^1;
sbit CS_DA=P1^3;


void del(uint v)
{
while(v!=0)v--;
}

void da5620(uchar da)
{
uchar i;
ACC=01100000; //d7=a1;d6=a0;d6=rng;(while rng=1 2倍out);(a0,a1是ch选择)
CS_DA=1;
for (i=3;i>0;i--) //写D/A命令字(通道数的选择)
{
ACC+=ACC; //CY=ACC。7
SPI_DATA=CY;
SPI_CLK=1;
nop;
nop;
nop;
nop;
SPI_CLK=0;
}

ACC=da; //写D/A数据
for (i=8;i>0;i--)
{
ACC+=ACC; //CY=ACC。7
SPI_DATA=CY;
SPI_CLK=1;
nop;
nop;
nop;
nop;
SPI_CLK=0;
}

CS_DA=0;
nop;
nop;
CS_DA=1;
}

void main(void) //主程序处理
{
uchar j;
while(1)
{
for(j=0xff;j>=0x01;j--)
{da5620(j);del(2000);}
for(j=0x00;j<=0xfe;j++)
{da5620(j);del(2000);}
}
}




              查看评论 回复



 

"TLC5620 DA转换C程序 -"的相关文章

网站地图

围观()