📄 ads8320.c
字号:
#include "iom32v.h"
/*缩写定义*/
#define uchar unsigned char
#define uint unsigned int
static unsigned char channel[10]={0x05,0x45,0x25,0x65,0x00,
0x04,0x02,0x06,0x01,0x03};
//读PortDIO口的一位
#define Read_PortDIO_Bit(x) ((PIND & (1<<(x))) ? 1 : 0)
//将某一PortDIO口设着为1
#define Write_PortDIO_Bit_Set(x) (PORTD |= 1<<(x))
//将某一PortDIO口清0
#define Write_PortDIO_Bit_Clear(x) (PORTD &= ~(1<<(x)))
//将某一PortDIO口输入模式
//#define Ctrl_PortDIO_Bit_In(x) (DDRD &= ~(1<<(x));PORTD |= 1<<(x) )
#define Ctrl_PortDIO_Bit_In(x) (DDRD &= ~(1<<(x)))
//将某一PortDIO口输出模式
#define Ctrl_PortDIO_Bit_Out(x) (DDRD |= 1<<(x))
/*定义AD8320ADC的接口管脚*/
#define Dclock PD5
#define Dout PD6
#define Cs_8320 PD7
#define MAKE_HIGH(_x) Write_PortDIO_Bit_Set(_x)
#define MAKE_LOW(_x) Write_PortDIO_Bit_Clear(_x)
#define BIT_READ(_x) Read_PortDIO_Bit(_x)
#define CFG_READ(_x) Ctrl_PortDIO_Bit_In(_x)
#define CFG_WRITE(_x) Ctrl_PortDIO_Bit_Out(_x)
void Delay_T(void)
{
uchar i;
for(i=0;i<10;i++);
}
//初始化ADS8320的端口
void Initial_ADC(void)
{
CFG_WRITE(Dclock);
CFG_READ(Dout);
CFG_WRITE(Cs_8320);
MAKE_HIGH(Cs_8320);
MAKE_LOW(Dclock);
}
/*************ADS8320 AD_Converter********************/
uint ADS8320ADC(void)
{
uchar i;
uint x=0;
MAKE_LOW(Dclock);
MAKE_HIGH(Dout);
MAKE_LOW(Cs_8320);
while(1){
MAKE_HIGH(Dclock); Delay_T();
if(BIT_READ(Dout)==0)
{
MAKE_LOW(Dclock); Delay_T();
break;
}
MAKE_LOW(Dclock); Delay_T();
}
for(i=0;i<16;i++)
{
MAKE_HIGH(Dclock); Delay_T();
x<<=1;
if(BIT_READ(Dout)) x++;
MAKE_LOW(Dclock); Delay_T();
}
MAKE_HIGH(Cs_8320);
x &= 0xffff;
return (x);
}
/*CD4051 通道选择程序*/
//的电子开关端口初始化,默认选择v_test
void Channel_map_init(void)
{
DDRB |= 0x07;
PORTB &= 0xF8;
DDRC |= 0x70;
PORTC &= 0x8F;
PORTB |= 0x07;
}
void Channel_map(uchar channel_num)
{
uchar channel_LB=0,channel_HB=0;
channel_LB=channel[channel_num]&0x07; //取通道号的后三位即U4 cd4051的ABC
channel_HB=channel[channel_num]&0x70; //取通道号的高三位即U6 cd4051的ABC
PORTB &= (channel_LB|0xF8);
PORTB |= channel_LB;
PORTC &= (channel_HB|0x8F);
PORTC |= channel_HB;
Delay_T();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -