tlc1542.c

来自「tlc1542的操作代码」· C语言 代码 · 共 65 行

C
65
字号
#include "REG51.H"
#include <intrins.h> 

sbit eoc=P1^0;
sbit ioclk=P1^1;
sbit adr=P1^2;
sbit dout=P1^3;
sbit adc_cs=P1^4;

unsigned int TLCRead(unsigned char addr) 		/*读一个字节的数据,并返回该字节值*/
{
	unsigned int temp=0;
	unsigned char j=10;
	
	addr=addr*16;

	while(!eoc);
	ioclk=0;
	adc_cs=0;
	_nop_();

	while(j--)                            /*接收数据,存入receivebyte中*/
	{
		addr<<=1;        //无论C51怎样实现这个操作,始终会使CY=data^7;
		adr=CY;
		
		temp=(temp<<1)|dout;
		ioclk=1;
		_nop_();_nop_();_nop_();
		ioclk=0;
		_nop_();_nop_();_nop_();
	}
	
	adc_cs=1;
	_nop_();_nop_();_nop_();
	
	while(!eoc);					//等待本次转换完成

	
	return(temp);
}

unsigned int ADCRead(unsigned char addr)
{
	unsigned char i;
	unsigned int xdata adccount;
	unsigned int xdata adcdata;

	TLCRead(addr);
	adccount=0;

	for(i=0;i<8;i++)
		adccount+=TLCRead(addr);

	adccount=adccount/8;
	
	adcdata=(unsigned int)adccount;
	
	return(adcdata);

}



⌨️ 快捷键说明

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