通过PCF8591控制电压值(DA转换)
ADC理论
ADC的理论上一篇已说过
常用D/A器件 PCF8591
1、PCF8591 是一个单片集成、单独供电、8-bit CMOS数据获取器件。
2、AIN0、AIN1、AIN2、AIN3为模拟输入端
3、AOUT为模拟输出端
4、EXT为低电平时使用内部时钟,为高电平时使用外部时钟
5、A0、A1、A2为地址引脚
6、OCS、VREF、AGND照着接相应电平就行
代码
IIC.h
#include "intrins.h"
//总线引脚定义
sbit SDA = P3^6; /* 数据线 */
sbit SCL = P3^7; /* 时钟线 */
void iic_Delay() {_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();}
void iic_Start()
{
SCL = 1;
SDA = 1;
iic_Delay();
SDA = 0;
iic_Delay();
SCL = 0;
}
void iic_Stop()
{
SCL = 0;
SDA = 0;
iic_Delay();
SCL = 1;
iic_Delay();
SDA = 1;
iic_Delay();
}
bit iic_SendByte(unsigned char byt)
{
bit ack = 0;
unsigned char mask;
for(mask=0x80;mask!=0;mask>>=1)
{
if((byt&mask) == 0)
SDA