蓝桥开发板(CT107D)学习记录————15.电压信号测量(IIC协议)

本文介绍了一个使用STM32微控制器通过I2C通信协议与pcf8591芯片交互的项目。代码实现从pcf8591获取电压数据,经过转换后在数码管上显示。主要涉及I2C总线操作、A/D转换以及数码管显示技术。

题意:使用竞赛板上RB2电位器输出测试电压信号,信号输出范围为0V-5V,使用数码管显示电压值。
在这里插入图片描述
用开发板上的rb2,控制输出电压,用pcf8591,进行A/D转换并且显示在数码管上
IIC.h

#ifndef __IIC_h
#define __IIC_h

void IIC_Delay(unsigned char i);//延时
void IIC_Start(void);//开始
void IIC_Stop(void);//启动
void IIC_SendAck(bit ackbit);//发送应答
bit IIC_WaitAck(void);//等待等待应答
void IIC_SendByte(unsigned char byt);//发送数据
unsigned char IIC_RecByte(void);//从I2C总线上接收数据
#endif
#include <STC15F2K60S2.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 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值