通过PCF8591控制电压值(DA转换)

本文介绍了如何通过PCF8591实现电压值的控制,涉及ADC理论基础,重点讲解了PCF8591的特性,并提供了相关的代码实现。
摘要由CSDN通过智能技术生成

通过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 
  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值