蓝桥杯嵌入式MCP4017
创始人
2024-04-24 02:01:54
0

文章目录

  • 前言
  • 一、查看MCP4017芯片手册
  • 二、MCP4017在开发板上的电路图
  • 三、工程配置
  • 四、MCP4017读写函数编写
  • 总结


前言

MCP4017是一个可编程电阻,通过写入数值可以调节电阻值的大小。

一、查看MCP4017芯片手册

在这里我们只需要关注MCP4017即可。下面的几个重要点我为大家解读一下。

在这里插入图片描述
1.MCP4017是一个7bit的网络,7bit就代表10进制的0-127,这里的意思就是,MCP4017有128个档位可以调节。
下面这个图说明了我们能写入0-127这128个数值控制这些开关,达到控制分压的效果,注意我们写入的只能是整数不能是其他的数值。
在这里插入图片描述

2.MCP4017最小的电阻值是100Ω,很多人可能会误认为最小电阻是0,但是把他调节到最小时他还是存在一个最小电阻的,这里大家特别注意。
3.MCP4017使用的是IIC通信协议。

二、MCP4017在开发板上的电路图

前面AT24C02的文章中已经给大家讲过了,IIC的两根线分别是接到了PB6和PB7上面的。
MCP4017和一个10K的电阻并联分压,调节MCP4017的电阻值即可改变分压的大小。R17后面有一个PB14,这个我们后面再给大家介绍,通过这个引脚我们可以测出分压的大小。
在这里插入图片描述

三、工程配置

这里直接复制AT24C02中所写的代码即可。

四、MCP4017读写函数编写

在这里插入图片描述
这个图我这里就不带大家细看了,大家有什么不懂的就直接看我前面的AT24C02的文章,这个MCP4017其实是比AT24C02要简单的,下去自己分析一下。

函数我直接给大家了。

//写MCP4017
void MCP4017_Write(uint8_t val)
{   I2CStart();I2CSendByte(0x5E);  I2CWaitAck();I2CSendByte(val);  I2CWaitAck();I2CStop();
}//读MCP4017
uint8_t MCP4017_Read(void)
{   uint8_t val; I2CStart();I2CSendByte(0x5F);  I2CWaitAck();val = I2CReceiveByte();I2CSendNotAck();I2CStop();return val;
}

总结

MCP4017和AT24C02一样都是使用到了IIC协议的,重要的是能看懂读写时序图。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...