一、
1.设备地址

2.控制寄存器



二、
1.ADC

unsigned char PCF8591_Adc(void)
{unsigned char temp;IIC_Start();IIC_SendByte(0x90);//写IIC_WaitAck();IIC_SendByte(0x03);//ADC,电位器IIC_WaitAck();IIC_Start();IIC_SendByte(0x91);//读IIC_WaitAck();temp = IIC_RecByte();IIC_SendAck(1);//停止读IIC_Stop();return temp;
}

2.DAC

void PCF8591_Dac(unsigned char dat)
{IIC_Start();IIC_SendByte(0x90);//写IIC_WaitAck();IIC_SendByte(0x43);//DAC,电位器IIC_WaitAck();IIC_SendByte(dat);IIC_WaitAck();IIC_Stop();
}

3.资源数据包中的代码:

#include "reg52.h"
#include "intrins.h"#define DELAY_TIME 5#define SlaveAddrW 0xA0
#define SlaveAddrR 0xA1//总线引脚定义
sbit SDA = P2^1;  /* 数据线 */
sbit SCL = P2^0;  /* 时钟线 */void IIC_Delay(unsigned char i)
{do{_nop_();}while(i--);
}
//总线启动条件
void IIC_Start(void)
{SDA = 1;SCL = 1;IIC_Delay(DELAY_TIME);SDA = 0;IIC_Delay(DELAY_TIME);SCL = 0;
}//总线停止条件
void IIC_Stop(void)
{SDA = 0;SCL = 1;IIC_Delay(DELAY_TIME);SDA = 1;IIC_Delay(DELAY_TIME);
}//发送应答
void IIC_SendAck(bit ackbit)
{SCL = 0;SDA = ackbit;                    // 0:应答,1:非应答IIC_Delay(DELAY_TIME);SCL = 1;IIC_Delay(DELAY_TIME);SCL = 0; SDA = 1;IIC_Delay(DELAY_TIME);
}//等待应答
bit IIC_WaitAck(void)
{bit ackbit;SCL  = 1;IIC_Delay(DELAY_TIME);ackbit = SDA;SCL = 0;IIC_Delay(DELAY_TIME);return ackbit;
}//通过I2C总线发送数据
void IIC_SendByte(unsigned char byt)
{unsigned char i;for(i=0; i<8; i++){SCL  = 0;IIC_Delay(DELAY_TIME);if(byt & 0x80) SDA  = 1;else SDA  = 0;IIC_Delay(DELAY_TIME);SCL = 1;byt <<= 1;IIC_Delay(DELAY_TIME);}SCL  = 0;
}//从I2C总线上接收数据
unsigned char IIC_RecByte(void)
{unsigned char i, da;for(i=0; i<8; i++){   SCL = 1;IIC_Delay(DELAY_TIME);da <<= 1;if(SDA) da |= 1;SCL = 0;IIC_Delay(DELAY_TIME);}return da;
}

蓝桥杯单片机PCF8591相关推荐

  1. 蓝桥杯单片机——PCF8591 ADC/DAC模块

    本篇讲的单片机是第十一届蓝桥杯单片机实训的硬件设备. 蓝桥杯单片机硬件基础 PCF8591电路图: PCF8591是具有IIC总线接口的8位A/D及D/A转换器,有4路A/D转换输入,1路D/A模拟输 ...

  2. 蓝桥杯单片机之PCF8591模块的使用

    蓝桥杯单片机之PCF8591模块的使用 简述 原理图: 引脚定义: 相关地址 IIC寻址设备地址 控制地址 IIC时序分析 数模转换D/A 模数转换 代码: 一:光敏电阻和可变电阻的AD转换,S4控制 ...

  3. 蓝桥杯单片机-DAC-用板载板载PCF8591芯片在D/A引脚上输出指定的电压

    文章目录 题目 main.c iic.c iic.h 题目 1.控制板载PCF8591芯片在D/A引脚上输出指定的电压 2.数码管前三位显示输入数据0-255,后两位显示输出的电压值 3.按下按键S4 ...

  4. 蓝桥杯单片机比赛学习:9、PCF8591的基本原理和使用方法

    前面一节我们说了PWM呼吸灯的基本原理和使用方法,下面我们来看第二个模块,也是蓝桥杯单片机比赛中常考的一个模块--PCF8591.我主页有其他模块的使用方法和基本原理(2条消息) Do My Best ...

  5. 【蓝桥杯单片机进阶强化-04】PCF8591与24C02综合应用-智能照明自动控制器

    [1]题目要求 在蓝桥杯大赛"单片机设计与开发"的在CT107D综合训练平台上,利用竞赛提供的IIC底层驱动代码,设计程序,实现以下的功能: 1- 系统上电后,通过采样PCF859 ...

  6. 蓝桥杯单片机 | 特训案例【进阶06】基于PCF8591的DAC模拟电压输出

    [1]题目要求 新建工程,以I/O模式编写代码,在CT107D单片机综合训练平台上,实现以下功能: 1.将IIC总线的底层驱动代码文件正确移植到工程中. 2.将J5配置BTN模式,把S4设置为独立按键 ...

  7. 蓝桥杯单片机-ADC-A/D转换-测量PCF8591中AIN3通道(滑动变阻器Rb2)的电压

    文章目录 前言 实例程序: 题目 main.c iic.c iic.h 前言 蓝桥杯单片机开发板CT107D中的板载A/D转换芯片PCF8591可进行ADC和DAC的转换,该芯片有4个输入通道; 在该 ...

  8. 蓝桥杯省赛考点_【蓝桥杯单片机01】从历年决赛真题中寻找单片机常见的考点...

    [蓝桥杯单片机01]从历年决赛真题中寻找单片机常见的考点 广东职业技术学院  欧浩源 [第三届:门禁系统] 1.功能简述 "门禁系统"主要有两种工作模式: 模式1:7:00-22: ...

  9. 蓝桥杯单片机第十届省赛题程序实现

    文章目录 main.c iic.c main.c #include<reg52.h> #include<intrins.h> #include<iic.h>sbit ...

最新文章

  1. 最新!TUI世界大学排名(2021)发布:清华位居全球前20名!
  2. 一个计算crc校验的小工具的编写。
  3. nginx rewrite重写与防盗链配置
  4. 有用的SAP System Administration T-CODE
  5. 卓老师 ,k车模能自制吗?
  6. js面向对象开发互联网机顶盒应用头端之四
  7. Java-利用Spring提供的Resource/ResourceLoader接口操作资源文件
  8. Coursera课程Python for everyone:chapter 2
  9. apache 部署python3_flask+apache2+wsgi+python3 部署(挖坑记)
  10. Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning
  11. asset文件夹路径 unity_Unity Assets目录下的特殊文件夹名称
  12. 【历史上的今天】11 月 22 日:PHP 创始人诞生;2020 年图灵奖得主出生;IE 2.0 发布
  13. 抖音账号都是如何出售的
  14. 什么是嵌入式操作系统 常见的嵌入式系统有哪些
  15. 云计算概念简述(讲解)
  16. 手机影音第十六天,集成eventbus代替广播 ;在音乐播放页面中间部分显示歌词
  17. Yy And WJM
  18. 人机智能交互技术(ROS)实践作业模版与说明
  19. apmserv 5.2.6 升级php,Windows + APMServ5.2.6/PHP5以上
  20. linux禁止root用户su,Linux 禁止普通用户su到root

热门文章

  1. gulp插件--js打包
  2. 使用OpenCV识别二维码
  3. 2022年测试行业金句大盘点
  4. 下载双人成行It Takes Two Friend‘s Pass没反应的解决方法
  5. C++的左值(lvalue)和右值(rvalue)
  6. ADSP21489核心板各类硬件问题总结
  7. 以太坊2.0中的Custody Game及MPC实现
  8. 借钱消费/投资一时爽,会算借钱成本吗?
  9. java后端:nacos 实现动态配置
  10. 如何在低代码平台上构建ERP软件