PCF8591—8位AD与DA转换器
单片机DA和AD转换实验
数字旋转编码开关
具有左转,右转,按下三个功能。 4、5脚是中间按下去的开关接线 1 2 3脚 一般是中间2脚接地,1、3脚上拉电阻后, 当左转、右转旋纽时,在1、3脚就有脉冲信号输出了。
在电子产品设计中,经常会用到旋转编码开关. 在电子产品设计中,经常会用到旋转编码开关. 它具有左转,右转,按下三个功能.为了使刚接触这种开关的朋友了解旋转开关的编程. 它具有左转,右转,按下三个功能.为了使刚接触这种开关的朋友了解旋转开关的编程.我介绍 下它的原理和使用方法: 下它的原理和使用方法: 1.原理, 1.原理, 左转和右转的判别是难点,留意这种开关左转和右转时两个输出脚有个相位差.如下图: 左转和右转的判别是难点,留意这种开关左转和右转时两个输出脚有个相位差.如下图:
PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地 PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地 址、引脚地址和方向位组成。飞利蒲公司规定A/D器件地址为1001。 址、引脚地址和方向位组成。飞利蒲公司规定A/D器件地址为1001。 引脚地址为A2A1A0,其值由用户选择,因此I2C系统中最多可接23=8 引脚地址为A2A1A0,其值由用户选择,因此I2C系统中最多可接23=8 个具有I2C总线接口的A/D器件。地址的最后一位为方向位R/ 个具有I2C总线接口的A/D器件。地址的最后一位为方向位R/ ,当主 控器对A/D器件进行读操作时为1,进行写操作时为0 控器对A/D器件进行读操作时为1,进行写操作时为0。总线操作时, 由器件地址、引脚地址和方向位组成的从地址为主控器发送的第一字 节。 3.2 控制字节 控制字节用于实现器件的各种功能,如模拟信号由哪几个通道输入等。 控制字节存放在控制寄存器中。总线操作时为主控器发送的第二字节。 其格式如下所示:
PCF8591 8部分翻译
PCF8591 8-bit A/D and D/A converter1特征•单电源供电•操作电源电压2.5 V 6 V•低待机电流••串行输入/输出经I2C-bus•通过3硬件地址•采样率给I2C-bus速度•可四模拟输入作为结束单人赛或差分输入,•Auto-incremented频道选择•从模拟电压范围VSS到VDD•跟踪并以电路•8逐次逼近A / D转换•与模拟输出乘以DAC相连。
2应用闭环控制系统。
•低功率变换器•用于远程数据采集•电池操作设备。
•采集的汽车、音响和电视中的模拟值应用。
3一般的描述这个PCF8591是single-supply单片机、低功耗8位数据采集装置以四芯片的模拟输入,一个模拟输出和串行I2C-bus接口。
三个地址销A0、A1、A2用于编程硬件地址,允许使用8装置连接到I2C-bus没有额外的硬件。
地址、控制和数据该设备的连续转让两系双向I2C-bus。
这个装置的功能包括模拟输入多路复用,以追踪和功能,8位一个8位数模转换和数模转换7功能描述7.1寻址每个PCF8591装置在I2C-bus中心被激活一个有效的地址发送的装置。
这个地址由一个固定的和可编程序的一部分。
这个可编程的部分必须按照地址针A0、A1、A2。
这个地址总是要传送开始后的第一个字节的条件2C-bus协议。
最后一点的地址字节的读/ write-bit方向,下列资料720控制字节第二个字节送到PCF8591装置将储存在它的控制寄存器和要求来控制装置功能。
上部的控制寄存器用于使模拟输出,并为规划模拟输入作为不同的输入。
这个选用低侵入的模拟输入通道定义(见图上)。
如果递增”标志设置、频道号码增加后自动每个A / D转换。
如果递增”模式,是理想的应用在内部振荡器,模拟输出的吗使国旗在控制字节(第6位)应设置。
这个允许内部震荡,从而连续运行防止转换错误造成的启动延迟。
旗帜的模拟输出可能重新启用在其他时候减少静态功耗。
PCF8591AD与DA转换器
广州周立功单片机发展有限公司
PCF8951
8 位 A/D 与 D/A 转换器
1. 概述
PCF8591 是一款单电源、低功耗 8 位 COMS 型 A/D、D/A 转换芯片,它具有 4 路模拟 量输入通道、一路模拟量输出通道和 1 个 I2C 总线接口。该器件 I2C 从地址的低三位由芯片 的 A0、A1 和 A2 三个地址引脚决定,所以在不增加任何硬件的情况下同一条 I2C 总线最多 可以连接 8 个同类型的器件。
杭州周立功
地址:杭州市天目山路 217 号江南电子大厦 502 室 电话:(0571) 28139611 28139612 28139613
28139615 28139616 28139618 传真:(0571) 28139621
成都周立功
地址:成都市一环路南二段 1 号数码同人港 401 室(磨 子桥立交西北角) 电话:(028)85439836 85437446 传真:(028)85437896
引脚号 6 7 8 9 10 11 12 13 14 15 16
PCF8951
8 位 A/D 与 D/A 转换器
描述
地址引脚
地 I2C 总线数据输入输出
I2C 总线时钟输入 时钟输入/输出
外部/内部时钟切换 模拟地
参考电压输入 D/A 转化模拟量输出
电源
续上表
产品简介手册
©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 3
PCF8951
8 位 A/D 与 D/A 转换器
销售与服务网络(一)
广州周立功单片机发展有限公司
地址:广州市天河北路 689 号光大银行大厦 12 楼 F4 邮编:510630 电话:(020)38730916 38730917 38730972 38730976 38730977 传真:(020)38730925 网址:
PCF8591A-D D-A之间转换
PCF8591A/D D/A 之间转换/******************** A/D D/A 之间转换********************/#include#define uint unsigned int#define uchar unsignedchar#define PCF8591 0x90//PCF8591 的地址sbit sda=P2;sbit scl=P2;sb it LS138A=P2 ;//138 译码器的3 位控制数码管的sbit LS138B=P2;sb it LS138C=P2;u in t Ledout[8];//8 位数码管uchar AD_change;uint num0,num1,num2,num3;uint count;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段选void delay() //执行空语句,微秒级延时函数{;;}void delay1ms(uint z)//延时1ms{uintx,y;for(x=z;x>0;x--){for(y=0;y<=110;y++){}}}void init()//初始化状态下SCL 和SDA 都为高电平{scl=1;delay();sda=1;delay();}void start()//在SCL 为高电平时SDA 由高电平到低电平{sda=1;delay();scl=1;delay();sda=0;}void respons()/*应答信号,SCL 在高电平期间,SDA 被从设备拉为低电平表示应答。
(sda==1)和i<255 相与,表示若在一段时间内没有从器件的应答则主器件默认从器件已经收到数据而不再等待应答信号*/{uchar i;scl=1;delay();while((sda==1)&&(i<250)){i++;}scl=0;delay();}void stop()//SCL 在高电平期间,SDA 一个上升沿停止信号{sda=0;delay();scl=1;delay();sda=1;}void write_byte(uchar date)//写一个字节{uchar i,temp;temp=date;for(i=0;i<8;i++){temp=temp<<1;scl=0;//只有在SCL 为0 期间才允许SDA 数据线上的状态才允许变化delay();sda=CY;//PSW 的寄存器的CY 进位标志位delay();scl=1; //SCL 时钟信号为高电平期间数据线上的数据必须保持稳定delay();delay();}scl=0;delay();sda=1;//释放总线delay();}uchar read_byte() {uchar i,k;scl=0;delay();sda=1;//释放总线delay();for(i=0;i<8;i++){scl=1;delay();k=(k<<1)|sda;scl=0;delay();}//delay();here is a bugreturn k;}tips:感谢大家的阅读,。
PCF8591模块AD
PCF8591模块AD
PCF8591模块AD/DA转换模数/数模转换模块
功能描述
1.模块的主处理芯⽚为PCF8951
2.模块PCB尺⼨:
3.6cm*2.3cm
3.模块采⽤标准双⾯板,板厚1.6mm,布局美观⼤⽅,四周设有通孔,孔径为:3mm,⽅便固定
4.模块带具备电源指⽰灯(对模块供电后指⽰灯会亮)
5.模块具备DA输出指⽰灯,当模块DA输出接⼝电压达到⼀定值,会点亮板上DA输出指⽰灯,电压越⼤,指⽰灯亮度越明显;
6.模块⽀持外部4路电压输⼊采集(电压输⼊范围0-5v)
7.模块集成光敏电阻,可通过AD采集环境光强精确数值
8.模块集成热敏电阻,可通过AD采集环境温度精确数值
9.模块集成1路0-5V电压输⼊采集(通过蓝⽩电位器调节输⼊电压)
性能指标:
1.PCF8951采⽤单电源供电,⼯作电压范围
2.5V-6V
2.PCF8591的模拟电压范围从VSS到VDD
3.PCF8591内置跟踪保持电路;
4.PCF8591具备较低待机电流
5.PCF8591通过I2C总线串⾏输⼊/输出数据
6.PCF8591的采样率由I2C总线速率决定
7.PCF8591通过3个硬件地址引脚寻址
8.PCF8591的4个模拟⼝输⼊可编程为单端或差分
9.PCF8591具备⾃动增量频道选择
10.PCF8591的AD采样部分采取8-bit逐次逼近A/D转换
11.PCF8591具备1路DA数模转换实现模拟量的输出
接⼝说明
右边J5。
PCF8591芯片介绍
I2C总线是Philips公司推出的串行总线,整个系统仅靠数据线(SDA)和时钟线(SCL)实现完善的全双工数据传输,即CPU与各个外围器件仅靠这两条线实现信息交换。
I2C总线系统与传统的并行总线系统相比具有结构简单、可维护性好、易实现系统扩展、易实现模块化标准化设计、可靠性高等优点。
在一个完整的单片机系统中,A/D转换芯片往往是必不可少的。
PCF8591是一种具有I2C总线接口的A/D 转换芯片。
在与CPU的信息传输过程中仅靠时钟线SCL和数据线SDA就可以实现。
2 芯片介绍PCF8591是具有I2C总线接口的8位A/D及D/A转换器。
有4路A/D 转换输入,1路D/A模拟输出。
这就是说,它既可以作A/D转换也可以作D/A转换。
A/D转换为逐次比较型。
引脚图如图1所示。
结构图如图2所示。
电源电压典型值为5V。
AIN0~AIN3:模拟信号输入端。
A0~A3:引脚地址端。
VDD、VSS:电源端。
(2.5~6V)SDA、SCL:I2C总线的数据线、时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时EXT接地。
AGND:模拟信号地。
AOUT:D/A转换输出端。
VREF:基准电源端。
图2PCF85913.1 器件总地址PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。
飞利蒲公司规定A/D器件地址为1001。
引脚地址为A2A1A0,其值由用户选择,因此I2C系统中最多可接23=8个具有I2C总线接口的A/D器件。
地址的最后一位为方向位R/ ,当主控器对A/D器件进行读操作时为1,进行写操作时为0。
总线操作时,由器件地址、引脚地址和方向位组成的从地址为主控器发送的第一字节。
3.2 控制字节控制字节用于实现器件的各种功能,如模拟信号由哪几个通道输入等。
控制字节存放在控制寄存器中。
总线操作时为主控器发送的第二字节。
其格式如下所示:其中:D1、D0两位是A/D通道编号:00通道0,01通道1,10通道2,11通道3D2 自动增益选择(有效位为1)D5、D4模拟量输入选择:00为四路单数入、01为三路差分输入、10为单端与差分配合输入、11为模拟输出允许有效当系统为A/D转换时,模拟输出允许为0。
具有I2C总线接口的AD芯片PCF8591及其应用
标题:具有I2C总线接口的A/D芯片PCF8591及其应用2009-05-28 04:03:27摘要:I2C总线是Philips公司推出的新型单片机系统。
它采用串行总线,主控器与外围器件仅靠两条线进行信息传输,一条称为时钟线(SCL),另一条位数据线(SDA)。
I2C总线单片机系统较通用单片机系统电路简单。
由普通CPU芯片同I2C专用器件组成的系统为模拟I2C系统,它性能稳定,价格较低,目前已得到广泛应用.本文介绍了具有I2C接口的A/D芯片PCF8591的引脚图及应用电路,并在暖水锅炉温度记录仪中得到应用。
关键词:I2C总线A/D转换器件地址控制字节1 引言I2C总线是Philips公司推出的串行总线,整个系统仅靠数据线(SDA)和时钟线(SCL)实现完善的全双工数据传输,即CPU与各个外围器件仅靠这两条线实现信息交换。
I2C总线系统与传统的并行总线系统相比具有结构简单、可维护性好、易实现系统扩展、易实现模块化标准化设计、可靠性高等优点。
在一个完整的单片机系统中,A/D转换芯片往往是必不可少的。
PCF8591是一种具有I2C 总线接口的A/D转换芯片。
在与CPU的信息传输过程中仅靠时钟线SCL和数据线SDA就可以实现。
2 芯片介绍PCF8591是具有I2C总线接口的8位A/D及D/A转换器。
有4路A/D转换输入,1路D/A模拟输出。
这就是说,它既可以作A/D转换也可以作D/A转换。
A/D转换为逐次比较型。
引脚图如图1所示。
结构图如图2所示。
电源电压典型值为5V。
AIN0~AIN3:模拟信号输入端。
A0~A3:引脚地址端。
VDD、VSS:电源端。
(2.5~6V)SDA、SCL:I2C总线的数据线、时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时EXT接地。
AGND:模拟信号地。
AOUT:D/A转换输出端。
VREF:基准电源端。
图2PCF85913 应用3.1 器件总地址PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。
PCF8591单片机AD和DA实验
* 函数名 : Pcf8591DaConversion
* 函数功能 : PCF8591的输出端输出模拟量
* 输入
: value(转换的数值)
* 输出
:无Leabharlann ******************* *****************************************/
void Pcf8591DaConversion(unsigned char value)
* 输入
:
* 输出
: dat
************************************************************/
unsigned char Pcf8591ReadByte()
{
unsigned char dat;
I2cStart();
I2cSendByte(READADDR);//发送读器件地址
普中科技
单片机开发仪视频教程
13、AD和DA实验
AD和DA的概念
AD转换的功能是把模拟量电压转换为数字量电压。 DA转换的功能正好相反,就是讲数字量转换位模
拟量。
分辨率的概念
一位数字量所表示的电压值。对于5V的满量程,采 用8位的DAC时,分辨率为5V/256=19.5mV。
模拟输出使能位。(时能为1)
普中科技
单片机开发仪视频教程
PCF8591的写入
第一个字节是器件地址和读写控制
第二个字节被存到控制寄存器,用于控制器件 功能。
第三个字节被存储到DAC数据寄存器,并使用 片上D/A转换器转换成对应的模拟电压。(所 以不输入D/A时,可以不用输入。)
pcf859芯片的使用
PCF8591芯片的使用基于PCF8591的AD—DA的程序设计。
本设计是通过PCF8591芯片选择通道1将滑动变阻器的电压记过A/D转换,有单片机读回,并在数码管显示,比且有这个数据再经过D/A转换成模拟电压驱动发光二极管。
发光二极管的亮度与数码管显示的电压值相对。
1. PCF8591芯片PCF8591是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串行I2C总线接口。
3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C总线而不需要额外硬件。
器件地址、控制和数据通道通过两线双向I2C总线传输。
器件功能包括多路复用模拟量输入、片上跟踪和保持功能、8位模数转换和8位数模转换。
最大转换速率取决于I2C总线的最高速率。
我实现的AD转换是使用通道0将滑动变阻器两端的电压AIN0~AIN3:模拟信号输入端。
A0~A2:引脚地址端。
VDD、VSS:电源端。
(2.5~6V)SDA、SCL:I2C 总线的数据线、时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时 EXT 接地。
AGND:模拟信号地。
AOUT:D/A 转换输出端。
VREF:基准电源端。
地址:I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活。
该地址包括固定部分和可编程部分。
可编程部分必须根据地址引脚A0、A1和A2来设置。
在I2C 总线协议中地址必须是起始条件后作为第一个字节发送。
地址字节的最后一位是用于设置以后数据传输方向的读/写位。
(见下图)控制字:发送到PCF8591的第二个字节将被存储在控制寄存器,用于控制器件功能。
控制寄存器的高板字节用于允许模拟输出,和将模拟输入编程为单端过查分输入。
低半字节选择一个有高板字节定义的模拟输入通道。
如果自动增量标志置1,每次A/D转换后通道号将自动增加。
如果自动增量模式是使用内部振荡器的应用中所需要的,那么控制字中模拟输出允许标志应置1。
PCF8591(AD)实验指导书
PCF8591(AD)实验指导书实验十二PCF8591(AD)实验一、知识准备模拟信号是一类电平随着时间进行连续变化的信号,平时常见的正弦信号、三角波等都是模拟信号,AD转换就是模数转换。
顾名思义,就是把模拟信号转换成数字信号。
1.A/D转换器1.1A/D转换器的作用A/D转换器是用来通过一定的电路将模拟量转变为数字量。
模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。
但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。
1.2A/D转换器的主要性能指标(1)分辨率ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。
常用二进制的位数表示。
例如12位ADC的分辨率就是12位,或者说分辨率为满刻度FS的1/212。
一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/212=2.4mV。
(2)量化误差ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。
量化误差是ADC的有限位数对模拟量进行量化而引起的误差。
实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。
一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC 转换特性曲线(直线)之间的最大偏差即是量化误差。
(3)偏移误差偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。
假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。
(4)满刻度误差满刻度误差又称为增益误差。
ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。
(5)线性度线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。
(6)绝对精度在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。
基于PCF8591ADDA转换 基于nios的PCF8591 控制器设计与实现
成绩指导教师日期张歆奕2013-11-28 五邑大学实验报告实验课程名称:SOPC技术院系名称:信息工程学院专业名称:电子信息工程实验名称:基于nios的PCF8591控制器设计与实现班级学号:报告人:实验三基于nios的PCF8591控制器设计与实现一、实验绪论1、基于nios的设计特点利用SOPC Builder构建微处理器系统,包括NiosII以及各种外设的添加和配置。
利用IDE针对构建的硬件系建项目,编写应用程序。
利用HAL库等,程序设计与底层硬件无关。
Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在Altera FPGA中实现仅需35美分。
Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II 处理器,以后推出的FPGA器件也将支持Nios II。
用户指令开发人员可以在Nios Ⅱ CPU 核内增加硬件,用以执行复杂运算任务,为时序要求紧张的软件提供加速算法。
Altera的第二代32位软核RISC微处理器,Nios II以及所有外设以HDL源代码的方式提供,可用于所有的Altera FPGA使用Quartus II集成综合工具进行综合。
2、基于nios的PCF8591控制器的设计内容和设计任务(1)、设计任务用VerilogHDL设计PCF8591控制器,带AVALON_MM接口和I2C接口,可用C控制DA和AD工作,并可控制其速率;用SOPC Builder的组件编辑器把控制器加入为自定义组件;创建硬件工程和软件工程,编写C程序,采样模拟输入电压(0-5V),AD后送到LCD屏显示,并送到DA输出;创建硬件工程和软件工程,编写C程序,把0-255的数据发送到DA输出,观测Aout。
(2)、设计内容PCF8591的复位状态,Address byte及其作用,Control byte及其作用,DAC的启动及其时序,ADC的启动及其时序,内部振荡器的设置与作用,ADC采样频率的控制,DAC速率的控制。
pcf8591中文资料
PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。
PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I²C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I²C总线以串行的方式进行传输。
PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。
PCF8591的最大转化速率由I²C总线的最大速率决定。
PCF8591 特性
∙单独供电
∙PCF8591的操作电压范围2.5V-6V
∙低待机电流
∙通过I²C总线串行输入/输出
∙PCF8591通过3个硬件地址引脚寻址
∙PCF8591的采样率由I²C总线速率决定
∙4个模拟输入可编程为单端型或差分输入
∙自动增量频道选择
∙PCF8591的模拟电压范围从V SS到V DD
∙PCF8591内置跟踪保持电路
∙8-bit逐次逼近A/D转换器
∙通过1路模拟输出实现DAC增益
AIN0~AIN3:模拟信号输入端。
A0~A3:引脚地址端。
VDD、VSS:电源端。
(2.5~6V)
SDA、SCL:I2C 总线的数据线、
时钟线。
OSC:外部时钟输入端,内部时钟
输出端。
EXT:内部、外部时钟选择线,使
用内部时钟时EXT 接地。
AGND:模拟信号地。
AOUT:D/A 转换输出端。
VREF:基准电源端。
蓝桥杯单片机PCF8591原理
应答响应
主机在接收到一个字节后, 向从机作出应答
主机等待从机应答
void iic_ack(bit ackbit) { if(ackbit) SDA = 0; //应答 else SDA = 1; //非应答 somenop; SCL = 1; somenop; SCL = 0; SDA = 1; //SDA拉高,释放SDA线 somenop; }
I2C总线特征?
1、只要求两条总线线路:一条串行数据线SDA,一条串行时 钟线SCL; 2、每个连接到总线的器件都可以通过唯一的地址和一直存在 的简单的主机/从机关系软件设定地址,主机可以作为主机发送 器或主机接收器; 3、它是一个真正的多主机总线,如果两个或更多主机同时初 始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;
1、概述
• • • • • • • • • • • •
PCF8591
单电源供电 工作电压:2.5 V ~ 6 V 待机电流低 I2C总线串行输入/输出 通过3个硬件地址引脚编址 采样速率取决于I2C总线速度 4个模拟输入可编程为单端或差分输入 自动增量通道选择 模拟电压范围:VSS~VDD 片上跟踪与保持电路 8位逐次逼近式A/D转换 带一个模拟输出的乘法DAC
接收字节
unsigned char iic_recbyte(void) { unsigned char da; unsigned char i; for(i=0;i<8;i++) { SCL = 1; somenop; da <<= 1; if(SDA) da |= 0x01; SCL = 0; somenop; } return da; }
发送字节
void iic_sendbyte(unsigned char byt) { unsigned char i; for(i=0;i<8;i++) { if(byt&0x80) //先发高位 SDA = 1; else SDA = 0; somenop; SCL = 1; byt <<= 1; somenop; SCL = 0; } }
PCF8591中文手册
PCF8591 8位A/D和D/A转换器1、特性z单电源供电z工作电压:2.5 V ~ 6 Vz待机电流低z I2C总线串行输入/输出z通过3个硬件地址引脚编址z采样速率取决于I2C总线速度z4个模拟输入可编程为单端或差分输入z自动增量通道选择z模拟电压范围:VSS~VDDz片上跟踪与保持电路z8位逐次逼近式A/D转换z带一个模拟输出的乘法DAC2、应用z闭环控制系统z用于远程数据采集的低功耗转换器z电池供电设备z在汽车、音响和TV应用方面的模拟数据采集3、概述PCF8591是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串行I2C总线接口。
3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C 总线而不需要额外硬件。
器件的地址、控制和数据通过两线双向I2C总线传输。
器件功能包括多路复用模拟输入、片上跟踪和保持功能、8位模数转换和8位数模拟转换。
最大转换速率取决于I2C总线的最高速率。
4、订货信息5、内部框图图1 内部框图6、引脚图2 引脚图 (DIP16).7、功能描述7.1 地址I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活。
该地址包括固定部分和可编程部分。
可编程部分必须根据地址引脚A0、A1和A2来设置。
在I2C总线协议中地址必须是起始条件后作为第一个字节发送。
地址字节的最后一位是用于设置以后数据传输方向的读/写位。
(见图4、16、17)图4 地址7.2 控制字发送到PCF8591的第二个字节将被存储在控制寄存器,用于控制器件功能。
控制寄存器的高半字节用于允许模拟输出,和将模拟输入编程为单端或差分输入。
低半字节选择一个由高半字节定义的模拟输入通道(见图5)。
如果自动增量(auto-increment)标志置1,每次A/D转换后通道号将自动增加。
如果自动增量(auto-increment)模式是使用内部振荡器的应用中所需要的,那么控制字中模拟输出允许标志应置1。
PCF8591AD及DA转换
PCF8591_writebyte(0x40); //D6=1:模拟输出使能,即DA使能
ack(); //等待从机应答响应 这里不用停止IIC,下面仍然是写模式; 数字量变为模拟量,及DA功能
PCF8591作为AD时的初始化流程
void init_pcf8591AD(void)
{
start(); //启动IIC
PCF8591_writebyte(0x90); //总线寻址,进入写模式
return temp; //返回一个0~255之间的AD结果
}
PCF8591作为DA时的初始化流程及DA转换
void init_pcf8591DA(void)
{
start(); //启动IIC
PCF8591_writebyte(0x90); //总线寻址,进入写模式
stop(); //停止IIC
delay(10);
}
读转换结果
unsigned char adc_pcf8591(void)
{
unsigned char temp;
start(); //启动IIC PCF8591_writebyte(0x91); //总线寻址,进入读模式 ack(); pcf8591_writebyte(0x91);
ack(); //等待从机应答响应
temp = PCF8591_readbyte(); //读一个字节
noack(); //主机向从机作出非应答响应,释放SDA
stop(); //停止IIC
}
PCF8591_writebyte(table[i]); //模拟电压从AOUT引脚(15号)输出
pcf8591与pcf8574t
pcf8591与pcf8574tPCF8591与PCF8574T:数字模拟转换芯片的对比分析PCF8591和PCF8574T是两种常见的数字模拟转换(DAC)芯片,它们在电子设备中广泛应用。
本文将对它们的特点、优劣以及适用场景进行比较分析,旨在帮助读者更好地理解和选择适合自己项目需求的芯片。
一、PCF8591概述PCF8591是一种具有四个模拟输入通道和一个模拟输出通道的8位AD/DA转换芯片。
它的特点是集成度高、引脚少、性能稳定可靠,广泛应用于模拟信号的采集、处理和输出等领域。
1. PCF8591主要特点(1) 高集成度:PCF8591内部集成了一个8位的模数转换器和一个8位的串行D/A转换器,以及一组数字接口。
这使得它在电路布局中占用的空间较小,适用于需要紧凑设计的场景。
(2) 多通道输入:PCF8591具备四个模拟输入通道,可以同时采集多个模拟信号,并通过I2C总线进行传输。
这方便了对多信号的采集和处理需求。
(3) 低功耗:PCF8591的工作电压范围为2.5V至6V,工作电流也很低,非常适合于功耗要求较低的电子设备。
(4) 稳定可靠:PCF8591的工作温度范围广,可达-40℃至+85℃,能够适应各种环境要求。
2. PCF8591应用场景(1) 传感器信号采集:PCF8591可以通过其多输入通道,同时采集多个传感器信号,如温度、光强等,并通过I2C总线输出给控制器进行处理。
(2) 电压数据转换:通过PCF8591的D/A转换功能,可以将数字信号转换为模拟信号,为控制器输出特定电压值,从而实现对电压的调节。
(3) 模拟信号处理与输出:PCF8591可以对采集到的模拟信号进行处理,如滤波、放大等,同时还可以输出模拟信号给外部设备。
二、PCF8574T概述PCF8574T是一种I2C总线控制的8位输入/输出(I/O)扩展器。
它的特点是引脚少、扩展能力强,适用于需要连接大量I/O设备的场景。
1. PCF8574T主要特点(1) 引脚少:PCF8574T只需要3个引脚便可与主控器连接,其中2个引脚用于I2C总线传输,1个引脚用于中断输出。
PCF8591—8位AD与DA转换器
PCF8591—8位A/D与D/A转换器
概述
PCF8591是一款单电源、低功耗8位COMS型A/D、D/A转换芯片,它具有4路模拟量输入通道、一路模拟量输出通道和1个I2C总线接口。
该器件I2C从地址的低三位由芯片的A0、A1和A2三个地址引脚决定,所以在不增加任何硬件的情况下同一条I2C总线最多可以连接8个同类型的器件。
该器件具有多路模拟量输入、片上跟踪保持、8位A/D转换和8位D/A转换等功能。
A/D与D/A
的最大转换速率由I2C总线的最大传输速率决定。
特点
单电源供电
正常工作电源电压范围为2.5V~6V
通过I2C总线完成数据的输入/输出
器件地址由3个地址引脚决定
采样频率由I2C总线传输速率决定
4路模拟量输入可编程为单端输入或差分输入
可配置转换通道号自动增加功能
模拟电压范围为V SS ~ V DD
片上跟踪保持功能
8位逐次逼近A/D转换
带有一路模拟量输出的乘法D/A转换
订购信息
功能框图
引脚分布引脚描述。
AD(DA)芯片PCF8591使用介绍
AD (DA )芯片PCF8591使用介绍AD (DA )芯片PCF8591简介PCF8591是具有I2C 总线接口的8 位A/D 及D/A 转换器。
PCF8591有4个模拟输入、1个模拟输出和1个I²C 总线接口。
PCF8591有3个地址引脚A0, A1和A2,用于硬件地址设定,这允许在一条I 2C 总线上接入8个PCF8591器件。
PCF8591实物如下图所示:AD (DA )芯片PCF8591引脚1、AIN0、AIN1、AIN2、AIN3:模拟信号输入管脚。
2、A0、A1、A2:硬件地址设定管脚。
3、VDD:接电源(2.5V~6V)正极。
4、VSS:接电源(2.5V~6V)负极,即GND。
5、SDA:I2C 总线的数据线。
6、SCL:I2C 总线的时钟线。
7、OSC:外部时钟输入端,内部时钟输出端。
8、EXT:内部、外部时钟选择线,使用内部时钟时EXT 接地。
9、AGND:模拟信号地。
10、AOUT:D/A 转换输出端。
11、VREF:基准电源端。
AD(DA)芯片PCF8591内部结构框图AD(DA)芯片PCF8591特性1、PCF8591为单独供电,电压范围2.5V~6V。
2、PCF8591待机电流低。
3、PCF8591通过I2C总线串行输入/输出,其采样率由I2C总线速率决定。
4、PCF8591通过3个地址引脚设定硬件地址。
5、4个模拟输入可编程为单端型或差分输入。
6、自动增量频道选择。
7、PCF8591的模拟电压范围:VSS~VDD。
9、PCF8591内置跟踪保持电路。
10、8位逐次逼近A/D转换器。
11、带1路模拟输出DAC。
AD(DA)芯片PCF8591应用PCF8591器件总地址PCF8591采用I2C总线接口器件寻址。
地址由固定部分、可编程部分和方向位组成。
固定部分为1001。
可编程部分必须根据地址引脚AO、A1和A2进行设置,其值由用户选择,因此I2C系统中最多可接23=8个具有I2C 总线接口的PCF8591。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PCF8591—8位A/D与D/A转换器
概述
PCF8591是一款单电源、低功耗8位COMS型A/D、D/A转换芯片,它具有4路模拟量输入通道、一路模拟量输出通道和1个I2C总线接口。
该器件I2C从地址的低三位由芯片的A0、A1和A2三个地址引脚决定,所以在不增加任何硬件的情况下同一条I2C总线最多可以连接8个同类型的器件。
该器件具有多路模拟量输入、片上跟踪保持、8位A/D转换和8位D/A转换等功能。
A/D与D/A
的最大转换速率由I2C总线的最大传输速率决定。
特点
单电源供电
正常工作电源电压范围为2.5V~6V
通过I2C总线完成数据的输入/输出
器件地址由3个地址引脚决定
采样频率由I2C总线传输速率决定
4路模拟量输入可编程为单端输入或差分输入
可配置转换通道号自动增加功能
模拟电压范围为V SS ~ V DD
片上跟踪保持功能
8位逐次逼近A/D转换
带有一路模拟量输出的乘法D/A转换
订购信息
功能框图
引脚分布引脚描述。