mcp6s21.c

来自「可编程放大器MCP6S21AVR驱动程序」· C语言 代码 · 共 65 行

C
65
字号
#include <AbSacc.H>
#include <REG51.H>
#include <math.h>
#include <intrins.h>
#include <stdio.h>
#define  uint unsigned int 
#define  uchar unsigned char 
#define GETBIT(A,B) ((A&(1<<B))?1:0)
void configch(uint CON1,bit Fg);
void configga(uint CON2,bit Fg);
void dlms(unsigned int x);      //1毫秒延时程序//
sbit DI=P3^0;		/* RXD */
sbit CLK1=P3^1;		/* TXD */
sbit CS=P2^0;
sbit CLK=P2^1;
sbit SI=P2^2;
sbit SO=P2^3;
sbit P2_4= P2^4;             //增益按键
uint channel=0x4100;              //MCP6S2X通道寄存器配置字
uint gain;                 //MCP6S2X增益寄存器配置字
uchar ID=0;
uint oldID=10; 

//MCP6S21通道寄存器配置字写入
void configch(uint CON1,bit Fg)
{
 uchar i;
 if(Fg)CS=0;
  else CS=0;
 for(i = 16;i>=1;i--)
 { SI =CON1&0x8000;
 CON1=CON1<<1;
 CLK= 0;
 CLK= 1;
 }
if(Fg) CS=1;
else   CS=1;

}
//MCP6S21增益寄存器配置字写入
void configga(uint CON2,bit Fg)
{
 uchar i;
 if(Fg)CS=0;
  else CS=0;
 for(i = 16;i>=1;i--)
 { SI = CON2&0x8000;
 CON2=CON2<<1;
 CLK= 0;
 CLK= 1;
 }
if(Fg) CS=1;
else   CS=1;

}


//配置0通道的增益为32;
void main(void)
{
 gain=0x4007;
 configch(channel,1);
 configga(gain, 1 );
 while(1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?