搜索
bottom↓
回复: 10

MCP41010数字电位器SPI控制成功

[复制链接]
(275508339)

出0入0汤圆

发表于 2012-7-24 09:25:50 | 显示全部楼层 |阅读模式
最近一直在弄SPI,于是买了一个MCP41010数字电位器控制
其电阻值大小。直接测量抽头两端的电阻值尽然只有8.4K,MCP41010明明是
10K但是测试的时候竟然只有8.4K,误差真的是大得惊人呀!
看着坛子里面没哟相关的程序,就把小弟贴出来供大家参考和讨论。
#include "msp430x16x.h"
#define  uchar unsigned char
#define   uint unsigned  int

void Init_CLK(void)
{
   unsigned int iq0;
   BCSCTL1&=~0X00;      //打开XT2振荡器
   do
   {
      IFG1 &= ~OFIFG;   // 清除振荡器失效标志
      for (iq0 = 0xFF; iq0 > 0; iq0--); // 延时,等待XT2起振
    }
    while ((IFG1 & OFIFG) != 0);    // 判断XT2是否起振
    BCSCTL2 =SELM_2+SELS;   //选择MCLK、SMCLK为XT2
}

void Delay_Ms(uint count)
{
    uint i,j;
    for(i = 0;i<count;i++)
    {
        for(j=0;j<120;j++)
        {
            ;
        }

    }
}
void SpiWrite(uint data)
{
  data=data|0x1100;
  CLR_SPI_CS;
  for(uchar i=0;i<16;i++)
  {
    CLR_SPI_SCK;
    Delay_Ms(1);
      if(data&0x8000)
        SET_SPI_SI;
      else
        CLR_SPI_SI;
    data<<=1;
    SET_SPI_SCK;
    Delay_Ms(1);
  }
  SET_SPI_SCK;
  SET_SPI_CS;
}

void Init_point()
{
  P6DIR=0xff;
  P6SEL=0;
}
void main( void )
{
  uchar m=0;
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR=0;
  P1SEL=0;
  
  Init_CLK();
  Init_point();
  
  while(1)
  {
      SpiWrite(m);
      if(!(P1IN&BIT0))
      {
        Delay_Ms(10);
        if(!(P1IN&BIT0))
        m++;
        while(!(P1IN&BIT0));
      }
  }
}
(275315449)

出0入0汤圆

 楼主| 发表于 2012-7-26 15:00:40 | 显示全部楼层
顶顶呀!
(249305445)

出0入0汤圆

发表于 2013-5-23 16:00:44 | 显示全部楼层
多谢,正好用上
(249297144)

出0入0汤圆

发表于 2013-5-23 18:19:05 | 显示全部楼层
发来贺电。
(205173767)

出0入0汤圆

发表于 2014-10-16 10:48:42 | 显示全部楼层
有人验证过没?
(204570760)

出0入0汤圆

发表于 2014-10-23 10:18:49 | 显示全部楼层
mark学习下
(174636172)

出0入0汤圆

发表于 2015-10-4 21:28:37 | 显示全部楼层
你用万用表直接测量,可以测到电阻吗?
(174635877)

出0入0汤圆

发表于 2015-10-4 21:33:32 | 显示全部楼层
有51单片机的吗?
(122405034)

出0入0汤圆

发表于 2017-5-31 10:07:35 | 显示全部楼层
顶。刚好在用。
(51360329)

出0入36汤圆

发表于 2019-8-31 16:46:00 | 显示全部楼层
谢谢分享
(37101488)

出0入0汤圆

发表于 2020-2-12 17:33:21 | 显示全部楼层

谢谢分享
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2021-4-17 03:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表