5620.c

来自「12位高速数模转换芯片TCL5620驱动程序」· C语言 代码 · 共 50 行

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

sbit DATA=P1^4;
sbit CLOK=P1^5;
sbit LOAD=P1^6;
sbit LDAC=P1^7;

/*----------------------------------------------
调用方式:void da5620(uchar da) 
函数说明:往固定端口送da值完成DA输出,该函数没
          有输出端口选择功能,尽管5620有4个输出口。
          改变程序中的ACC可以改变默认端口。
------------------------------------------------*/
void da5620(unsigned char da)
{
	unsigned char i;
	
	ACC=0x20;
	LDAC=1;                //读入输入缓冲器
	for (i=3;i>0;i--)
	{
		ACC+=ACC;          //CY=ACC.7
		DATA=CY;    
		CLOK=1;            //串行寄存器接收数据时钟要求
		_nop_();_nop_();   //根据晶体加_nop()_
		CLOK=0;
	}
	
	ACC=da;                //要传送数据

	for (i=8;i>0;i--)
	{
		ACC+=ACC;          //CY=ACC.7
		DATA=CY;
		CLOK=1;
		_nop_();_nop_();   //根据晶体加_nop()_
		CLOK=0;
	}
		LDAC=0;
		_nop_();_nop_();
		LOAD=1;
        _nop_();_nop_();
        LOAD=0;
}  

 
 
 
 

⌨️ 快捷键说明

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