⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 max531.c

📁 前段时间做的一个东西,用的24位高精度AD转换芯片CS5532和12DA转换器max531的AVR驱动.芯片用的是ATMEGA8515,开发环境ICCAVR.CS5532的内部寄存器太多,设置有些复杂
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -