tlc549.c

来自「TSL256源程序驱动!通过其IIC口采集环境光光强」· C语言 代码 · 共 64 行

C
64
字号
//**********************************************************
//**                     IIC驱动程序                   **
//**          单片机: AT89C4051 主频: 11.0592MHz          **
//**              jumping<2008.04.28>              **
//**********************************************************

#include <REGx051.H>								// AT89C4051头文件
#include <INTRINS.H>								// 系统调令头文件
#include "def.h"									// 类型定义文件
#include "config.h"									// 配置头文件


// *** 函数声明 ***

void adc_init (void);
uchar adc_conversion (void);



/*******************************************************************************
* 名    称: adc_init
* 功    能: A/D初始化
* 入口参数: 无
* 出口参数: 无
*******************************************************************************/
void adc_init (void)
{
	nCS = 1;										// nCS置1, 禁能
	CLK = 0;										// CLK置0
	DAT = 1;										// DAT置1
}


/*******************************************************************************
* 名    称: adc_conversion
* 功    能: A/D转换
* 入口参数: 无
* 出口参数: A/D转换结果
*******************************************************************************/
uchar adc_conversion (void)
{
	uchar i, bright;

	CLK = 0;										// CLK置0
	nCS = 0;										// 使能
	_nop_(); _nop_();
	_nop_(); _nop_();

	for (i=0; i!=8; i++)							// 读转换数据
	{
		_nop_(); _nop_();
		bright = (bright << 1) | DAT;				// 数据移入
		CLK = 1;									// CLK置1
		_nop_(); _nop_();
		_nop_(); _nop_();
		CLK = 0;									// CLK置0
	}

	_nop_(); _nop_();
	_nop_(); _nop_();
	nCS = 1;										// 禁能

	return (bright);								// 返回A/D转换结果
}

⌨️ 快捷键说明

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