max531.c

来自「前段时间做的一个东西,用的24位高精度AD转换芯片CS5532和12DA转换器m」· C语言 代码 · 共 48 行

C
48
字号
#include<io8515.h> 
//*************************************
//PD3-MAX_CS   PD4-MAX_SCLK   PD5-MAX_DIN
//*************************************
#define  MAX_CS     0b00001000
#define  MAX_SCLK   0b00010000
#define  MAX_DIN    0b00100000
#define  MAX_DDR    DDRD
#define  MAX_ALL    0b00111000
#define  MAX_POART  PORTD
//*************************************
void DAtrans(unsigned char DA_data)
	 	{ 
		
		   unsigned char max_temp,max_i;		   
		   max_i=8;
		   while(max_i)
		       { 
			      max_temp=DA_data;
			   	  max_temp=max_temp>>(max_i-1);
				  max_temp=max_temp&0b00000001;
				  MAX_POART=MAX_POART&~MAX_SCLK;
				  if(max_temp)
				      {
					    MAX_POART=MAX_POART|MAX_DIN;
						MAX_POART=MAX_POART|MAX_SCLK;
					  }
				  else
				      {
					    MAX_POART=MAX_POART&~MAX_DIN;
						MAX_POART=MAX_POART|MAX_SCLK;
					  
					  }  	  
				  
			     max_i--;
			     }
			
		    }
//******************************************************
void DAconvter(unsigned char DA_hight,unsigned char DA_low)
            {
			  DDRD=DDRD|MAX_ALL;
	          MAX_POART=MAX_POART&~MAX_CS;//cs=0
			  DAtrans(DA_hight);
			  DAtrans(DA_low);
			  MAX_POART=MAX_POART|MAX_CS;//cs=1
			}			

⌨️ 快捷键说明

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