main.c

来自「串行DA TLC5615,10bit 3线控制。简便、易用。」· C语言 代码 · 共 57 行

C
57
字号
#include <intrins.h>
#include <reg51.h>


sbit CS   = P1^5;        /* DA片选信号   */
sbit SCLK = P1^2;        /* DA时钟信号   */
sbit DIN  = P1^3;        /* 数字数据输入 */

char dispbuf[16]={0,1,2,3,4,5};
void delay(unsigned int us)
{
    while(us--);
}
/********************************************************************
函 数 名:dac_5615()
功    能:写入DAC的10bit输入数据 
说    明:
调    用:
入口参数:
出口参数:
***********************************************************************/
void dac_5615(unsigned int data_in)
{
  unsigned char i;

  data_in <<= 6;       /* 精度10位,所以左移6位 */
  CS   = 0;
  SCLK = 0;

  for (i=0;i<12;i++)   /* 逐位传递12次,由于10位传完需要传送2位0 */
  {
    DIN  = (bit)(data_in&0x8000);
    SCLK = 1;
    data_in <<= 1;
    SCLK = 0;
  }
  CS   = 1;
  SCLK = 0;
  _nop_();
}

void main(void)
{
	unsigned int i;
	delay(10000);
while(1)
{
    for (i=0; i<0x3ff; i+=2)
    {
//		i=0x123;
      dac_5615(i);
      delay(2000);
    }
    delay(2000);
}	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?