打印
[AVR单片机]

请教数字电位器X9C503的驱动程序的相关问题

[复制链接]
980|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
631801386|  楼主 | 2014-2-22 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用到数字电位器x9c503,所以就把芯片插到面包板里测试一下,试着写了个驱动程序,但是用万用表测输出电压的时候,数字电位器的电压输出一直不变,所以想请教下大家关于数字电位器的驱动问题,希望能给我点小帮助。PS: CS接PB0,INC接PB1,U/D接PB2,VH/RH接5v电压,VL/RL接地,VCC接5v电压,VSS接地。
驱动程序如下:

#define BAUD  9600
#include<avr/io.h>
#include<util/delay.h>
#include<util/setbaud.h>
#include<avr/pgmspace.h>
#include<avr/interrupt.h>
unsigned char X9C503_Val;
#define SETB_(x) PORTB|=(1<<(x))
#define CLR_(x)  PORTB&=~(1<<(x))
#define X9C503_CS PB0
#define X9C503_INC PB1
#define X9C503_UD PB2
void X9C503_Inc(unsigned char N)
{
   unsigned char i=0;
   SETB_(X9C503_UD);
   CLR_(X9C503_CS);
   for(i=N;i>=0;i--)
   {
     SETB_(X9C503_INC);
     CLR_(X9C503_INC);
     X9C503_Val++;   
   }
   SETB_(X9C503_CS);
   SETB_(X9C503_UD);
}
void X9C503_Dec(unsigned char N)
{
  unsigned char i=0;
  CLR_(X9C503_UD);
  CLR_(X9C503_CS);
  for(i=N;i>=0;i--)
  {
     SETB_(X9C503_INC);
     CLR_(X9C503_INC);
     X9C503_Val--;
  }
  SETB_(X9C503_CS);
  SETB_(X9C503_UD);
}
void X9C503_Rst()
{
  X9C503_Dec(100);
  X9C503_Val=0;

}
int main ()
{
  X9C503_Rst();
  X9C503_Inc(20);
  }

相关帖子

沙发
qin552011373| | 2014-2-23 18:59 | 只看该作者
这么高级的东东暂时还没用到过

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

39

帖子

0

粉丝