首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏逍遥剑客的游戏开发

    基于屏幕像素抖动的PCF

    PCF无非就是把周围的像素加吧加吧, 然后取个平均值. 结果的平滑程度, 跟Kernel的大小有直接关系. 下面来对这个描过边的锯齿茶壶PCF一把: ? 2x2: ? 3x3: ? 4x4: ? 这里用4次采样来模拟4x4PCF的效果, 采样模板如下: ?

    1.2K20发布于 2019-02-20
  • 来自专栏m0w3n

    PCF8591 ADDA模块使用详解

    I2C PCF8591 8位AD/DA转换 BCM2835 Library 1、PCF8591T简述   PCF8591器件图如下: ?    PCF8591是一个8位的CMOS数据采集器件,具有4个模拟输入(其中一个为电压模拟输入),一个输出和一个串行I2C总线接口。 3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个PCF8591器件连接至I2C总线而不需要额外硬件。器件的地址、控制和数据通过两线双向I2C总线传输。 3、地址   I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活。该地址包括固定部分和可编程部分。可编程部分必须根据地址引脚A0、A1、A2来设置。

    3.4K20发布于 2020-02-28
  • 来自专栏嵌入式项目开发

    Linux驱动开发-编写PCF8591(ADC)芯片驱动

    PCF8591介绍 PCF8591是一个IIC总线接口的ADC/DAC转换芯片,功能比较强大,这篇文章就介绍在Linux系统里如何编写一个PCF8591的驱动,完成ADC数据采集,DAC数据输出。 下面是PCF8591的介绍: PCF8591 是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。 PCF8591 的 3 个地址引脚 A0, A1 和 A2 可用于硬件地址编程,允许在同个 I2C 总线上接入 8 个 PCF8591 器件,而无需额外的硬件。 PCF8591 主要性能指标: ★单电源供电 ★PCF8591 的操作电压范围 2.5V-6V ★低待机电流 ★通过 I2C 总线串行输入/输出 ★PCF8591 通过 3 个硬件地址引脚寻址 ★PCF8591 的采样率由 I2C 总线速率决定 ★4 个模拟输入可编程为单端型或差分输入 ★自动增量频道选择 ★PCF8591 的模拟电压范围从 VSS 到 VDD ★PCF8591 内置跟踪保持电路

    3.8K30编辑于 2022-04-08
  • 来自专栏前端ACE

    树莓派 pcf8591 AD转换模块使用

                                             树莓派 pcf8591 AD转换模块使用 因为 项目需要因此要使用 PCF8591  1.准备工具 树莓派pi一个 pcf8591一个。模拟量传感器一个(我这用 热敏电阻当温度计使用)。 2.原理。 PCF8591 是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个行I2C总线接口。 【想知道 如何同时使用两片pcf8591 请点击】 引脚定义: 本模块左边和右边分别外扩2路排针接口,分别说明如下:   左边 AOUT 芯片DA输出接口        AINO 芯片模拟输入接口 AD转换的原理简单来理解就是通过电路将非电信号转为电信号,然后通过一个基准电压(PCF8591的基准电压是5V),然后判断这个这个电信号的电压高低,然后得到一个0-255(8位精度)的比值。 然后i2cdetect -y 1,发现一个48,而0x48就是我的pcf8591的I2C地址。这个后面需要使用。

    1.5K30编辑于 2022-11-21
  • 来自专栏嵌入式项目开发

    4.8 51单片机-PCF8591(ADCDAC)转换芯片

    4.8 PCF8591(ADC/DAC)转换芯片 4.8.1 原理图 当前实验板上没有PCF8591芯片,这里采用外接模块的形式使用。 图4-8-1 PCF8591模块实物图 图4-8-2 原理图 通过原理图得到的重要信息: PCF8591芯片地址线全部接GND。 也就是当前模块的地址固定为: 1001000 4.8.2 PCF8591模块功能介绍 在一个完整的单片机系统中,A/D转换芯片往往是必不可少的;PCF8591是一款具有I2C总线接口的A/D转换芯片。 4.8.3 PCF8591寄存器介绍 PCF8591遵循标准IIC协议,编程肯定符合这个协议的。 PCF8591的控制字节 发送到 PCF8591 的第二个字节将被存储在控制寄存器,用于控制 PCF8591 的功能。 其中第 3 位和第 7 位是固定的 0,另外 6 位各自有各自的作用。

    5.3K22编辑于 2022-01-10
  • 来自专栏全栈程序员必看

    蓝桥杯单片机必备知识—–(4)pcf8591–DAC

    蓝桥杯单片机必备知识—–(4)pcf8591–DAC IIC.H文件中添加 dac_pcf8591(unsigned char dat) IIC.C文件中添加 void dac_pcf8591(unsigned 总线发送数据 IIC_WaitAck(); //等待应答 IIC_SendByte(dat); IIC_WaitAck(); IIC_Stop(); } 主函数 main.c中添加 dac_pcf8591 (void); unsigned char adc_pcf8591(void); void dac_pcf8591(unsigned char dat); #endif IIC.C #include (); while(1) { if(adc_flag){ adc_value = adc_pcf8591();adc_flag = 0;} read_key(); } } (dac_value); } if(s6) { s6= 0; dac_value = 210.31; //4v dac_pcf8591(dac_value); } dspbuf

    78730发布于 2021-04-15
  • 来自专栏全栈程序员必看

    蓝桥杯单片机PCF8591数据读取——湿度检测

    蓝桥杯单片机PCF8591数据读取进行转换为湿度检测,因为在蓝桥杯提供的单片机上面并没有湿度检测的芯片,所以考察的时候使用的就是PCF8591芯片读取到的数据进行替换,具体的数据格式一般的考察形式有两种 因为使用PCF8591读取出来的数据是整数形式的0-255,所以需要显示0-5的浮点数形式数据时候,需要进行必要的转换。 还有一个就是PCF8591芯片读取的地址位置不同,对应读取的外设有一点区别。

    85710发布于 2021-11-15
  • 来自专栏嵌入式项目开发

    PCF8591_AD转换芯片完成光敏、温度模拟量采集

    1.2 PCF8591介绍 PCF8591是一款单片集成、单独供电、低功耗的8位CMOS数据获取器件。 此外,PCF8591还内置了一个8位的D/A转换器(DAC),能够将数字信号转换为模拟输出信号,以控制外部设备。 PCF8591的特性还包括低功耗、高精度、多通道和可编程增益等。 此外,PCF8591还支持通过I²C总线进行串行输入/输出,允许在同个I²C总线上接入多达八个PCF8591器件,而无需额外的硬件。 } } 2.2 PCF8591.c #include "pcf8591.h" /* 函数功能: 设置ADC转换通道,并返回采集的数据值 ch的范围:0x00 0x01 0x02 0x03 分别代表通道 #define PCF8591_WRITE_ADDR 0x90 //1001 0000 #define PCF8591_READ_ADDR 0x91 //1001 0001 void PCF8591

    46410编辑于 2025-05-27
  • 来自专栏全栈程序员必看

    蓝桥杯单片机必备知识—–(3)pcf8591–ADC

    蓝桥杯单片机必备知识—–(3)pcf8591–ADC IIC.H中需要添加的代码 unsigned char init_pcf8591(void); unsigned char read_pcf8591 (void); IIC.C中需要添加的代码 void init_pcf8591(void) { IIC_Start(); IIC_SendByte(0x90); IIC_WaitAck() ; IIC_SendByte(0x03); //ADC通道3 IIC_WaitAck(); IIC_Stop(); } unsigned char adc_pcf8591(void) { (); //添加pcf8591初始化函数 while(1) { if(adc_flag)//读取ADC数值的标志位 { adc_flag = 0; adc_value = read_pcf8591(); //读取ADC } } } 中断函数 void time0(void) interrupt 1 { if(++intr == 50) //50ms读取一次

    76331发布于 2021-04-15
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验12:PCF8591模数转换器实验

    PCF8591模数转换器   PCF8591模块的工作原理比较复杂,断断续续一个多月时间才基本理清,本文也经过多次修改,以后也会不断回头补充。 PCF8591结构图 3、第一字节:器件地址 ? PCF8591地址字节   PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。 3--发送读设备地址,选择IIC总线上的PCF8591器件。 4--读取PCF8591中目标通道的数据。 PCF8591实验电路图 ? 这里先编写一个PCF8591.py库文件,后面再编写一个python程序引入这个库文件。   PCF8591.py库文件就是PCF8591模块的程序,单独编写是为了便于重用。

    3.7K41发布于 2020-09-27
  • 来自专栏机器人课程与技术

    单片机补充案例--I2C和AD使用PCF8591

    =0) //寻址PCF8591,若未应答,则停止操作并返回0 { I2cStop(); return 0; } I2cWriteByte(0x40 | chn); //写控制字节,选择转换通道 I2cStart(); I2cWriteByte(0x48<<1 | 0x01); //寻址PCF8591,指定后续为读操作 I2cReadByte(0); //先空读一个字节,提供采样转换时间 main.c #include <reg52.h> #include "PCF8591.h" bit flag1s = 1; //1s定时标志 unsigned char T0RH = .h #ifndef __PCF8591_H_ #define __PCF8591_H_ unsigned char GetADCValue(unsigned char chn); #endif PCF8591.c #include "PCF8591.h" #include "i2c.h" /*A/D转换程序*/ unsigned char GetADCValue(unsigned char

    55420发布于 2021-03-03
  • 来自专栏嵌入式项目开发

    基于单片机设计的太阳能跟踪器

    通过与PCF8591模块连接,可以将光敏电阻的电阻值变化转换为相应的模拟电压信号。 【3】ADC模块:PCF8591 PCF8591是一款常用的4通道12位ADC模块,适用于将模拟信号转换为数字信号。 【3】光敏电阻采集:通过PCF8591模块采集4个光敏电阻的数据。使用I2C通信协议,向PCF8591模块发送控制字节,选择光敏电阻通道,并通过ADC转换获取光敏电阻的数值。 三、项目代码 3.1 PCF8591采集代码 以下是利用PCF8591的光敏电阻采集并通过串口打印的实现代码。 #include <reg52.h> #include <intrins.h> // 定义PCF8591模块地址 #define PCF8591_ADDR 0x90 // 定义光敏电阻通道 #define 模块的引脚连接 #define PCF8591_ADDRESS 0x90 // PCF8591模块的I2C地址 #define PCF8591_CONTROL 0x00 // PCF8591模块的控制寄存器地址

    61520编辑于 2023-11-02
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验18:声音传感器实验

    声音传感器模块原理图   传感器模块上的麦克风可将音频信号转换为电信号(模拟量),然后通过PCF8591将模拟量转换为数字量,并将其传输到MCU。    然后使用PCF8591读取模拟值。 四、实验步骤 第1步:连接电路。 树莓派 T型转接板 PCF8591模块 SDA SDA SDA SCL SCL SCL 5V 5V VCC GND GND GND 声音传感器模块 T型转接板 PCF8591模块 AO * AIN0 这里先编写一个PCF8591.py库文件,后面再编写一个python程序引入这个库文件。   PCF8591.py库文件就是PCF8591模块的程序,单独编写是为了便于重用。 PCF8591的详细内容请查看树莓派基础实验12:PCF8591模数转换器实验。 #!

    3.2K30发布于 2020-09-27
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验15:电位器传感器实验

    将电位器的引脚SIG(OUT)连接到PCF8591的引脚AIN0。将双色LED的引脚R或引脚G连接到PCF8591的引脚AOUT。旋转电位器旋钮,观察LED的亮度变化。 树莓派 T型转接板 PCF8591模块 SDA SDA SDA SCL SCL SCL 5V 5V VCC GND GND GND 电位器模块 T型转接板 PCF8591模块 SIG(OUT) * AIN0 VCC 5V VCC GND GND GND 双色LED模块 T型转接板 PCF8591模块 R * AOUT G * * GND GND GND ? 这里先编写一个PCF8591.py库文件,后面再编写一个python程序引入这个库文件。   PCF8591.py库文件就是PCF8591模块的程序,单独编写是为了便于重用。 PCF8591的详细内容请查看树莓派基础实验12:PCF8591模数转换器实验。 #!

    1.7K10发布于 2020-09-27
  • 来自专栏Java学习123

    IBM WebSphere MQ 系列(四) 使用MQ命令

        PCF,全称为Programmable Command Formats,可编程的命令格式。     WebSphere MQ PCF用于MQ的系统管理编程,应用程序使用PCF实现MQSC的功能,使得MQ管理任务可编写到应用程序中,PCF 命令和MQSC 命令具有相同的命令集;例如,PCF使得可以在程序中创建队列和进程定义和更改队列管理器 下面的Java代码描述MQ客户机端程序通过PCF更改远程服务器上所以的队列的名称,并打印到控制台的过程。 命令消息和回复消息的接口,MQAI通过使用数据包(Data Bags)来处理对象的属性,这样比直接使用PCF更简单。     MQAI的底层工作机制同PCF一样,也是通过发送PCF命令消息到MQ命令服务器队列,从而被命令服务器解释执行,并等待回复消息来管理WebSphere MQ,如图所示: MQAI是PCF的易用版本。 

    5.9K60发布于 2018-05-16
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验19:光敏传感器实验

    ---- 二、组件 ★Raspberry Pi主板*1 ★树莓派电源*1 ★40P软排线*1 ★PCF8591模数转换器模块*1 ★光敏传感器模块*1 ★面包板*1 ★跳线若干 三、实验原理 ? 由光敏电阻收集的模拟信号通过PCF8591转换为数字信号。然后将这些数字信号传输到树莓派并打印在屏幕上。   光敏电阻传感器有两个LED指示灯。PWR-LED是电源指示灯。 树莓派 T型转接板 PCF8591模块 SDA SDA SDA SCL SCL SCL 5V 5V VCC GND GND GND 声音传感器模块 T型转接板 PCF8591模块 AO * AIN0 这里先编写一个PCF8591.py库文件,后面再编写一个python程序引入这个库文件。   PCF8591.py库文件就是PCF8591模块的程序,单独编写是为了便于重用。 PCF8591的详细内容请查看树莓派基础实验12:PCF8591模数转换器实验。 #!

    3.5K20发布于 2020-09-27
  • 来自专栏嵌入式项目开发

    MCS-51单片机温度控制系统的设计

    PCF_SDA = P2^1; // I2C数据线 sbit PCF_SCL = P2^2; // I2C时钟线 sbit PCF_EOC = P2^3; // 转换结束标志 // = 1; PCF_SCL = 1; PCF_SDA = 0; PCF_SCL = 0; } // I2C总线停止信号函数 void i2cStop() { PCF_SDA = 0; PCF_SCL = 1; PCF_SDA = 1; } // I2C写数据函数 void i2cWriteByte(unsigned char dat) { unsigned 1 : 0; PCF_SCL = 1; PCF_SCL = 0; dat <<= 1; } PCF_SCL = 1; PCF_SCL = 0; PCF_SDA = 1; } // 从PCF8591读取温度值 unsigned char readTemperatureValue() { unsigned char tempValue

    68430编辑于 2023-09-07
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验13:雨滴探测传感器实验

    ---- 二、组件 ★Raspberry Pi 3主板*1 ★树莓派电源*1 ★40P软排线*1 ★PCF8591模数转换器模块*1 ★雨滴传感器模块*1 ★面包板*1 ★跳线若干 三、实验原理 ? AO模拟输出,连接到PCF8591的模拟输入AIN0口,通过比对模拟值转化为的数字值大小,可以检测滴在上面的雨量大小,雨水越大,电阻值越小,模拟值转化为的数字值越小。 树莓派 T型转接板 PCF8591模块 SDA SDA SDA SCL SCL SCL 5V 5V VCC GND GND GND 雨滴传感器调理板 T型转接板 PCF8591模块 DO G17 * 这里先编写一个PCF8591.py库文件,后面再编写一个python程序引入这个库文件。   PCF8591.py库文件就是PCF8591模块的程序,单独编写是为了便于重用。 PCF8591的详细内容请查看树莓派基础实验12:PCF8591模数转换器实验。 #!

    2.6K20发布于 2020-09-27
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验14:PS2操纵杆实验

    ---- 二、组件 ★Raspberry Pi 3主板*1 ★树莓派电源*1 ★40P软排线*1 ★PCF8591模数转换器模块*1 ★PS2操纵杆模块*1 ★双色LED模块*1 ★面包板*1 ★跳线若干 树莓派 T型转接板 PCF8591模块 SDA SDA SDA SCL SCL SCL 5V 5V VCC GND GND GND PS2操纵杆模块 T型转接板 PCF8591模块 VRx * AIN1 PS2操纵杆实验实物连接图 第2步:PCF8591模块采用的是I2C(IIC)总线进行通信的,但是在树莓派的镜像中默认是关闭的,在使用该传感器的时候,我们必须首先允许IIC总线通信。 ? 这里先编写一个PCF8591.py库文件,后面再编写一个python程序引入这个库文件。   PCF8591.py库文件就是PCF8591模块的程序,单独编写是为了便于重用。 PCF8591的详细内容请查看树莓派基础实验12:PCF8591模数转换器实验。 #!

    2.6K10发布于 2020-09-27
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验21:烟雾报警传感器实验

    ---- 二、组件 ★Raspberry Pi主板*1 ★树莓派电源*1 ★40P软排线*1 ★PCF8591模数转换器模块*1 ★烟雾传感器模块*1 ★有源蜂鸣器模块*1 ★面包板*1 ★跳线若干 三 树莓派 T型转接板 PCF8591模块 SDA SDA SDA SCL SCL SCL 5V 5V VCC GND GND GND 烟雾传感器模块 T型转接板 PCF8591模块 AO * AIN0 烟雾报警传感器实验实物接线图 第2步:PCF8591模块采用的是I2C(IIC)总线进行通信的,但是在树莓派的镜像中默认是关闭的,在使用该传感器的时候,我们必须首先允许IIC总线通信。 ? 这里先编写一个PCF8591.py库文件,后面再编写一个python程序引入这个库文件。   PCF8591.py库文件就是PCF8591模块的程序,单独编写是为了便于重用。 PCF8591的详细内容请查看树莓派基础实验12:PCF8591模数转换器实验。 #!

    3.8K30发布于 2020-09-27
领券