📄 ads1242.c
字号:
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include <reg52.h>
#include <ads1242.h>
void delay(void)
{ uchar i = 10;
while(i--);
}
void ADS1242_Write_Byte(uchar d)
{ uchar i=8;
ADS1242_CS=0;
while(i--)
{ ADS1242_DIN = d & 0X80;
delay();
ADS1242_SCLK = 0;
delay();
ADS1242_SCLK = 1;
delay();
d <<= 1;
}
// ADS1242_CS=1;
}
uchar ADS1242_Read_Byte(void)
{ uchar i=8,d;
ADS1242_CS=0;
while(i--)
{ d <<=1;
if(ADS1242_DOUT==1)
d |= 0x01;
else
d &= 0xfe; delay();
ADS1242_SCLK = 0;
delay();
ADS1242_SCLK = 1;
}
// ADS1242_CS=1;
return d;
}
void ADS1242_Write_Reg(uchar reg_name, uchar reg_data)
{ ADS1242_Write_Byte(CMD_WREG + reg_name);
ADS1242_Write_Byte(0x00);
ADS1242_Write_Byte(reg_data);
}
void ADSelf_Calibrate()
{
ADS1242_PDWN=1;
ADS1242_CS=0;
ADS1242_Write_Byte(CMD_RESET);
ADS1242_Write_Reg(REG_SETUP, BURNOUT_CURRENT_OFF + PGA_1);
ADS1242_Write_Reg(REG_MUX, POSITIVE_AIN0 + NEGTIVE_AIN1);
ADS1242_Write_Reg(REG_ACR, UNIPOLAR + SPEED_HIGH + BUFFER_ON + MSB_FIRST + VREF_2_5V + DATA_RATE_3_75);
ADS1242_Write_Reg(REG_ODAC, 0x00);
ADS1242_Write_Reg(REG_IOCON,0x00);
ADS1242_Write_Byte(CMD_SELFCAL);// \nSelf Calibrating...
// while(ADS1242_DRDY == 1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -