蓝桥杯单片机PCF8591
一、
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相关推荐
- 蓝桥杯单片机——PCF8591 ADC/DAC模块
本篇讲的单片机是第十一届蓝桥杯单片机实训的硬件设备. 蓝桥杯单片机硬件基础 PCF8591电路图: PCF8591是具有IIC总线接口的8位A/D及D/A转换器,有4路A/D转换输入,1路D/A模拟输 ...
- 蓝桥杯单片机之PCF8591模块的使用
蓝桥杯单片机之PCF8591模块的使用 简述 原理图: 引脚定义: 相关地址 IIC寻址设备地址 控制地址 IIC时序分析 数模转换D/A 模数转换 代码: 一:光敏电阻和可变电阻的AD转换,S4控制 ...
- 蓝桥杯单片机-DAC-用板载板载PCF8591芯片在D/A引脚上输出指定的电压
文章目录 题目 main.c iic.c iic.h 题目 1.控制板载PCF8591芯片在D/A引脚上输出指定的电压 2.数码管前三位显示输入数据0-255,后两位显示输出的电压值 3.按下按键S4 ...
- 蓝桥杯单片机比赛学习:9、PCF8591的基本原理和使用方法
前面一节我们说了PWM呼吸灯的基本原理和使用方法,下面我们来看第二个模块,也是蓝桥杯单片机比赛中常考的一个模块--PCF8591.我主页有其他模块的使用方法和基本原理(2条消息) Do My Best ...
- 【蓝桥杯单片机进阶强化-04】PCF8591与24C02综合应用-智能照明自动控制器
[1]题目要求 在蓝桥杯大赛"单片机设计与开发"的在CT107D综合训练平台上,利用竞赛提供的IIC底层驱动代码,设计程序,实现以下的功能: 1- 系统上电后,通过采样PCF859 ...
- 蓝桥杯单片机 | 特训案例【进阶06】基于PCF8591的DAC模拟电压输出
[1]题目要求 新建工程,以I/O模式编写代码,在CT107D单片机综合训练平台上,实现以下功能: 1.将IIC总线的底层驱动代码文件正确移植到工程中. 2.将J5配置BTN模式,把S4设置为独立按键 ...
- 蓝桥杯单片机-ADC-A/D转换-测量PCF8591中AIN3通道(滑动变阻器Rb2)的电压
文章目录 前言 实例程序: 题目 main.c iic.c iic.h 前言 蓝桥杯单片机开发板CT107D中的板载A/D转换芯片PCF8591可进行ADC和DAC的转换,该芯片有4个输入通道; 在该 ...
- 蓝桥杯省赛考点_【蓝桥杯单片机01】从历年决赛真题中寻找单片机常见的考点...
[蓝桥杯单片机01]从历年决赛真题中寻找单片机常见的考点 广东职业技术学院 欧浩源 [第三届:门禁系统] 1.功能简述 "门禁系统"主要有两种工作模式: 模式1:7:00-22: ...
- 蓝桥杯单片机第十届省赛题程序实现
文章目录 main.c iic.c main.c #include<reg52.h> #include<intrins.h> #include<iic.h>sbit ...
最新文章
- 最新!TUI世界大学排名(2021)发布:清华位居全球前20名!
- 一个计算crc校验的小工具的编写。
- nginx rewrite重写与防盗链配置
- 有用的SAP System Administration T-CODE
- 卓老师 ,k车模能自制吗?
- js面向对象开发互联网机顶盒应用头端之四
- Java-利用Spring提供的Resource/ResourceLoader接口操作资源文件
- Coursera课程Python for everyone:chapter 2
- apache 部署python3_flask+apache2+wsgi+python3 部署(挖坑记)
- Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning
- asset文件夹路径 unity_Unity Assets目录下的特殊文件夹名称
- 【历史上的今天】11 月 22 日:PHP 创始人诞生;2020 年图灵奖得主出生;IE 2.0 发布
- 抖音账号都是如何出售的
- 什么是嵌入式操作系统 常见的嵌入式系统有哪些
- 云计算概念简述(讲解)
- 手机影音第十六天,集成eventbus代替广播 ;在音乐播放页面中间部分显示歌词
- Yy And WJM
- 人机智能交互技术(ROS)实践作业模版与说明
- apmserv 5.2.6 升级php,Windows + APMServ5.2.6/PHP5以上
- linux禁止root用户su,Linux 禁止普通用户su到root