51单片机PCF8951芯片的A/D和D/A
pcf8951
原理图
在一个完整的单片机系统中, A/D 转换芯片往往是必不可少的。在与 CPU 的信息传输过程中仅靠时钟线 SCL 和数据线 SDA 就可以实现。 PCF8591 是具有 I2C 总线接口的 8 位 A/D 及 D/A 转
换器,有 4 路 A/D 转换输入, 1 路 D/A 模拟输出。
PCF8591 采用典型的 I2C 总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向
位组成。飞利浦公司规定 A/D 器件地址为 1001。引脚地址为 A2、 A1、 A0,其值由用户选择,因
此 I2C 系统中最多可接 8 个具有 I2C 总线接口的 A/D 器件。地址的最后一位为方向位 R/W,当主
控器对 A/D 器件进行读操作时为 1,进行写操作时为 0。总线操作时,由器件地址、引脚地址和
方向位组成的从地址为主控器发送的第一字节。
控制字节用于实现器件的各种功能,如模拟信号由哪几个通道输入等。控制字节存放在控制
寄存器中,总线操作时为主控器发送的第二字节。
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
---|---|---|---|---|---|---|---|
0 | x | x | x | 0 | x | x | x |
D1和D0为AD通道编号
D1 | D0 | 对应通道 |
---|---|---|
0 | 0 | 通道0 |
0 | 1 | 通道1 |
1 | 0 | 通道2 |
1 | 1 | 通道3 |
D2 是自动增益选择(1 有效);
D5 和 D4 是模拟量输入选择: 00—四路单端输入、 01—三路差分输入、 10—两两单端与一路差分、 11—两路差分;
D6 是模拟输出允许(1 有效)。
代码
/*************************************************
函数功能:AD输入
*************************************************/
uchar Pca_Adin(uchar pca)
{uchar vlot;IIC_Start();IIC_SendByte(0x90);IIC_WaitAck();IIC_SendByte(0x40|pca);IIC_WaitAck();IIC_Stop();IIC_Start();IIC_SendByte(0x91);IIC_WaitAck();vlot = IIC_RecByte();IIC_SendAck(1);IIC_Stop();return vlot;
}
/*************************************************
函数功能:DA输出
*************************************************/
void Out_DAC(unsigned char Digital)
{IIC_Start(); //打开iicIIC_SendByte(0x90);器件寻址,方向上是写(写命令)IIC_WaitAck(); //等待应答IIC_SendByte(0x40); //打开输出通道IIC_WaitAck(); //等待应答IIC_SendByte(Digital);//输出值255 = 5v;IIC_WaitAck();IIC_Stop();
}
51单片机PCF8951芯片的A/D和D/A相关推荐
- 利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第一篇“显示贪吃蛇”
利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第一篇"显示贪吃蛇" 完整的项目链接: https://github.com/linxinloningg/51_chip_ ...
- 利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第二篇“自动运行函数”
利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第二篇"自动运行函数" 完整的项目链接: https://github.com/linxinloningg/51_chip ...
- 51单片机(四)—— 51单片机仿真芯片的使用
在前面的文章中,我们都是直接用串口将程序烧写到单片机中运行,在这种开发方式下,如果程序有问题,很难找到问题所在,用过一些高端单片机的人可能知道,一般单片机是可以用调试器调试的,可以单步调试.设置断点等 ...
- 写一下在写代码时遇到的小问题及解决方法(51单片机-89c51芯片)
1.keil5没有51系列单片机的cpu选项 解决方法:从KEIL官网上下载一个C51的支持包并安装到keil5根目录即可 2.***WARNINGL16:UNCALLEDSEGMENT,IGNORE ...
- 基于51单片机TLC2543芯片实现AD转换
#include<reg52.h> //头文件 sbit TCL2543_EOC = P1^0; //转换结束标志IO口 sbit TCL2543_CLK = P1^1; //I/O时钟输 ...
- 51单片机智能温控风扇
大三上学期写的一个课程设计,完成的功能就是读取当前环境温度,在数码管上显示,并根据其驱动风扇转动的快慢,另用键盘扫描实现了总开关,超过一定阈值蜂鸣器响起.用51单片机由于芯片问题,使用两个定时器,很容 ...
- 《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》
http://www.amobbs.com/forum.php?mod=viewthread&tid=3396563 <uCOS51移植心得>---七年前之<快快乐乐跟我学5 ...
- 基于51单片机电子密码锁门禁开关设计全套资料
基于51单片机电子密码锁门禁(实物图+原理图+源程序+仿真+毕设论文)全套资料 资料编号:011 本系统采用 51单片机 +24C02芯片+矩阵键盘 +继电器 +开锁指示灯 + LCD1602液晶 + ...
- 51单片机空气质量检测系统 甲醛DHT11温湿度烟雾光照报警器WIFI系统
采用51单片机+ADC0832芯片+DHT11+按键+LCD12864液晶+蜂鸣器+wifi模块+稳压模块+光敏电阻+烟雾传感器+甲醛传感器设计而成. 1.LCD12864液晶实时显示烟雾浓度.当前空 ...
最新文章
- Qt 工程 pro文件
- 比学习新技术更重要的是思维的改变
- spark sql基本使用方法介绍(转载)
- c++远征之继承篇——继承方式
- mysql 回退查询_MySQL数据库:第十章:分页查询
- python编辑器编程猫_编程猫Python编辑器 Mac版0.4.0 下载 - 51下载网
- 2、两数相加(python)
- CI框架初识-视图渲染
- Unity3d和连接MySQL数据库实现登陆注册等功能
- 诺贝尔奖离中国还有多远
- 【博闻强记】java来发送邮件
- 了解伽马(GAMMA、伽马值、光度、灰度系数)
- 小啊呜产品读书笔记001:《邱岳的产品手记-05》第9讲 产品案例分析:Hopper的“人工智能” 第10讲 产品被抄袭了怎么办?
- 熟悉mysql数据库设计和性能优化_MySQL性能优化学习笔记-(1)数据库设计
- Unexpected exception parsing XML document from class path resource
- 软件定义网络 Software Defined Network (一)概述
- 最长子序列(LCS, LIS, LCIS)
- Ignite Beijing 2019你参加了吗?多图,慎点!
- 1. 神经网络面试题总结
- 2022年全国计算机等级考试(四级)测试题含答案