📄 tlc549.c
字号:
//**********************************************************
//** 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -