跟大家分享数字电位器,可编程可调电阻芯片x9c103s的C语言驱动程序源代码。
坚鸿-深圳:今天在一项目上用到可编程可调电阻芯片x9c103s,可以程序把10K的电阻分成100档细分,挺好用的芯片,现在把驱动程序代码分享给大家,我用的是PIC16系列的芯片。
x9c103s的头文件:
#ifndef _X9C103S_
#define _X9C103S_
#define x9c103s_cs_dr RB5
#define x9c103s_inc_dr RB4
#define x9c103s_ud_dr RB3
void x9c103s_set(unsigned char u8Step,unsigned char u8Direction,unsigned char u8IsSave);
#endif
x9c103s的源文件:
#include<pic.h>
#include "delay.h"
#include "x9c103s.h"
//u8Step一次设定的步数。整个全程最大是100步。
//u8Direction增减的方向。1代表增,0代表减.
//u8IsSave是否保存。1代表保存,0代表不保存当前值。
void x9c103s_set(unsigned char u8Step,unsigned char u8Direction,unsigned char u8IsSave)
{
unsigned char k;
x9c103s_cs_dr=0;
if(1==u8Direction)
{
x9c103s_ud_dr=1;
}
else
{
x9c103s_ud_dr=0;
}
delay_short(10);
for(k=0;k<u8Step;k++)
{
x9c103s_inc_dr=1;
delay_short(5);
x9c103s_inc_dr=0;
Delay_1ms(10);
}
delay_short(10);
if(1==u8IsSave)
{
x9c103s_inc_dr=1;
}
delay_short(10);
x9c103s_cs_dr=1;
}
delay函数的源文件:
#include<pic.h>
#include "delay.h"
void Delay_1ms(unsigned int Del_1ms) //
{
unsigned char j;
while(Del_1ms--)
{
for(j=0;j<123;j++);
}
}
void delay_short(unsigned int uiDelayShort)
{
unsigned int i;
for(i=0;i<uiDelayShort;i++)
{
; //一个分号相当于执行一条空语句
}
}
赞.........................
页:
[1]