[AVR单片机] 请教数字电位器X9C503的驱动程序的相关问题

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部