#include<reg52.h>
#include<intrins.h>
#include "i2c.h"
#dene led_s P0 //数码管段接口
uchar Recv_Buer[4];//数据接收缓冲
sbit led_du=P2^6; //数码管段选
sbit led_wei=P2^7;//数码管位选
uchar table3[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};// 共 阴 数 码 管 0-9
和消隐编码
uchar Voltage[6]={0,0,0,0,0,0};//数据分解为电压 x.xx
/**********************************************************************
*延时毫秒
*参数 i:表示几毫秒
**********************************************************************/
void delay_ms(uint i)
{
uint j;
while(i--)
for (j=0;j<120;j++);
}
/**********************************************************************
*AD 转换
*连续读入 4 路通道的 A/D 转换结果并保存到 Recv_Buer
**********************************************************************/
void ADC_PCF8591(uchar CtrlByte,uchar i)
{
start();
//PCF8591 地址定义 1001****,高四位固定 1001
//第 3,2,1 位对应 A2,A1,A0 第 0 位为读写标志位,1 为读 0 为写
//下面代码中 0x90,0x91 分别为 10010000,10010001
write_byte(0x90);// 发送写地址
respon();
write_byte(CtrlByte);//发送控制字节
respon();
start();//重新发送开始命令
write_byte(0x91);// 发送读地址
respon();
Recv_Buer[i]=read_byte();
end();
}
/**************************************************************************