本文主要讲述基于MSP430F149操作数字电位器ISL23425WFVZ,包含引脚功能、数据结构分析、编写代码、测试验证结果。

一、硬件连接

1.数字电位器ISL23425WFVZ的引脚功能如表1所示;
Table 1 ISL23425WFVZ的引脚功能表

2.根据数据手册中的引脚功能描述表,连接该电位器与MCU,连接示意图如图1所示;

Figure 1 电位器ISL23425WFVZ与MCU连接示意图

二、数据结构分析

1.根据该数字电位器的数据手册可知,该电位器与MCU的通信方式为:SPI。

2.根据该数字电位器的数据手册可知,该电位器内部寄存器的结构如表2所示。
Table 2 ISL234525WFVZ内部寄存器的结构
3.ISL23425WFVZ内部寄存器功能解析

①指令Instruction部分

Table 3 Instruction中I2~I0组合值的功能说明

Table 4 Instruction中R4~R0组合值的功能说明

②地址Address部分
Table 5 Address中A4~A0组合值的功能说明

③数据Data Byte部分
Data Byte:控制输出电阻值,Data Byte的值为0-255,对应十六进制为00H-FFH;输出电阻值范围是0~10KΩ。输出的正向、反向阻值与滑片位置的对应关系如图2所示。

Figure 2 正向、反向电阻值与滑片位置的对应关系

4.ISL23425WFVZ的SPI数据处理

ISL23425WFVZ的2Bytes写操作时序如图3所示。

Figure 3 ISL23425WFVZ的2Bytes写操作时序图

①根据ISL23425WFVZ的2Bytes写操作时序图,将其数据从低位到高位进行分组:每16位一组,分为2个大组,共32位。不足32位时,往高位补0。

②发送数据时,从高位到低位、按8位一组进行发送。

三、基于MSP430F149,根据第二部分的数据结构分析,用C语言编写代码,令WR0输出10KΩ

#include "msp430f149.h"
unsigned int pointer;                       // 16-bit value to write
static unsigned int DAT[2] ={0X001B,0XE0F4};//实际上,① DAT[1]为0XE0FF,即DATA BYTE为0XFF=255时,阻值为10.9K;//② DAT[1]为0XE0F4,即DATA BYTE为0XF4=244时,阻值为10K;//③ DAT[1]为0XE000,即DATA BYTE为0X00=0时,阻值为125Ω.
void main( void )
{// Stop watchdog timer to prevent time out resetWDTCTL = WDTPW + WDTHOLD;P3SEL |= 0x0A;                            // P3.1,3 SPI option select: P3.1-MOSI,P3.3-CLKP3DIR |= 0x0E;                            // P3.1,2,3 output direction: P3.2-CSP3OUT &= ~0x04;                           // CS ResetME1 |= USPIE0;                            // Enable USART0 SPIUCTL0 |= CHAR + SYNC + MM;                // 8-bit SPI Master **SWRST**UTCTL0 = CKPH + CKPL + SSEL1 + STC;       // Inv. delayed, SMCLK, 3-pinUBR00 = 0x02;                             // ACLK/2 for baud rateUBR10 = 0x0;                              // ACLK/2 for baud rateUMCTL0 = 0x0;                             // Clear modulationUCTL0 &= ~SWRST;                          // Initialize USART state machinepointer = 0;                              // Clear pointerCCTL0 = CCIE;                             // CCR0 interrupt enabledCCR0 = 64-1;                              // ~ 390Hz Clock periodTACTL = TASSEL_2 + MC_1;                  // SMCLK, Up-mode_BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{P3OUT |= 0x04;                             // CS setP3OUT &= ~0x04;                            // CS resetTXBUF0 = DAT[pointer] >> 8;TXBUF0 = DAT[pointer];pointer++;pointer &= 0x01;
}

四、测试验证输出的阻值

1.将万用表的旋钮旋转至电阻档,如图4所示;

Figure 4 万用表挡位旋钮位置

2.万用表的两支表笔分别连接至ISL23425WFVZ的RL0(13引脚)与RW0(12引脚);

3.读取万用表显示的数值。

Figure 5 万用表测试ISL23425WFVZ输出的设定阻值

数字电位器ISL23425的数据手册链接:https://pdf1.alldatasheet.com/datasheet-pdf/view/421238/INTERSIL/ISL23425WFRUZ-TK.html

本文到此结束,若有不当之处,欢迎各位看官指正。

联系方式:
QQ:1925973299

基于MSP430F149操作数字电位器ISL23425WFVZ相关推荐

  1. 单片机编码电位器c语言,基于单片机的数字电位器的设计

    分辨率扩展 Ra和Rb同时并联在输入信号Vin的两端,其抽头数均为32.Ra和Rb的输出作Rc端口电压VH和VL设置,Ra始终比Rb高一个位置间隔,这样就可以将1/32Vi-31/32Vi共31种输入 ...

  2. 外设驱动库开发笔记3:AD527x系列数字电位器驱动

    在一些时候我们需要使用精度更高的数字电位器来实现我们的应用.我们经常使用AD527x系列数字电位器来实现这类应用.在通常情况下,AD527x系列数字电位器完全能够满足要求.为了减少重复工作,在这里我们 ...

  3. 外设驱动库开发笔记2:AD8400系列数字电位器驱动

    一些时候我们需要在系统使用过程中改变某些电路电阻值以达到改变设定的目的,这时候我们就会使用电位器.在我们使用数字控制电路时多选择数字电位器.在这一篇我们就来设计AD8400系列数字电位器的驱动. 1. ...

  4. 基于STM8的数字温度计设计

    基于STM8的数字温度计设计 这是在2021年12月初完成的一次课程设计,全程自己设计组装完成,现作为记录存档发布,大家也可以借鉴本文来完成自己的课程设计.(建议使用电脑阅读) 课程设计目录 基于ST ...

  5. 单片机课程设计数字心率计_课程设计-基于单片机的数字人体心率计设计.doc

    课程设计-基于单片机的数字人体心率计设计 中北大学 基于单片机的心率计设计 课 程 设 计 说 明 书 2017年 6月30日 课 程 设 计 任 务 书 1.设计目的:通过本课程设计的学习,学生将复 ...

  6. 数字孪生体技术白皮书_基于Flownex的数字孪生体解决方案 系列介绍之二:数据中心应用实例...

    致力于数字孪生体技术的研究与发展 通过解决方案和工程化应用造福人类 来源:数字孪生体实验室原创 作者:王永康 转载请注明来源和出处 导  读 <基于Flownex的数字孪生体解决方案>是我 ...

  7. [FPGA]基于FPGA的数字跑表

    基于FPGA的数字跑表的设计与实现 一.设计要求 用FPGA设计并实现一个数字跑表,范围为0~59分59.99秒.可以实现数字跑表进行启动.停止计时和显示读数三个操作,可以在数码管上显示读数. 二.设 ...

  8. 一种基于说话人识别和数字语音识别的身份认证方法与流程

    本发明属于语音处理技术领域,具体涉及到对数字语音序列进行说话人识别和语音识别,确定说话人身份的身份认证方法. 背景技术: 说话人识别也称为声纹识别,可以从说话人发出的声音中提取其个性特征,从而识别出当 ...

  9. 基于MATLAB的数字图像处理系统设计

    一.课题背景 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具. 笔者阐述了一种基于MATLAB的数字图像处理系统设计 ...

最新文章

  1. SecureCRT上传下载文件
  2. 数字图像处理(Digital image processing)笔记
  3. js大屏导出图片_整理了30个实用可视化大屏模板,附源文件+工具
  4. 每日一例飞鸽传书2012偷偷来袭
  5. ZOJ - 2402 DP方案数
  6. 唐宇迪数据分析学习笔记
  7. 设计模式:UML类图、策略模式、单例模式、工厂模式、观察者模式
  8. mysql实验感想_数据库原理实验心得
  9. 是选择决定了你的一生,而不是努力
  10. C++ 实现太阳系行星系统(OpenGL)
  11. VIM 插件管理--Vim-plug
  12. 用计算机弹天空之城谱子,最简单的钢琴曲_天空之城超简单版本钢琴谱
  13. 虚拟机CentOS7磁盘分区表故障 无法启动
  14. Informatica 初学日记全
  15. day01 -云计算简介与华为云计算解决方案
  16. “让专业的人做专业的事”,畅捷通的云原生故事
  17. 工具进化史:到底是谁发明了工具?
  18. 通过MES如何提高生产效率
  19. 创建Vue项目 以及引入Iview
  20. 基于kmp字符串模式配算法的病毒感染检测问题

热门文章

  1. python 微信公众号网页接口调用_Python调用微信公众平台接口操作示例
  2. 清华大学推荐人工智能A类B类期刊与会议汇总!!!发论文必备
  3. WINDOWS10使用LPR方式连接网络打印机
  4. DVWA的安装与配置教程+文件
  5. UPC10544: 凉宫春日的叹息
  6. 云服务器php文件怎么运行,云服务器php文件怎么运行环境
  7. python locust提取参数_python+locust性能测试学习笔记
  8. python查询mysql数据库_python针对mysql数据库的连接、查询、更新、删除操作示例...
  9. cmd命令窗口如何创建和删除文件、文件夹,写入内容到文件
  10. Android所有View通用下拉刷新上拉加载控件