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

📄 max188.c

📁 MAX188 低功耗、8通道、串行12位ADC
💻 C
字号:
//MAX188 低功耗、8通道、串行12位ADC
#include "reg51.H"
#include "cabe.h"


#define    DIN 		T0
#define    DOUT		T1
#define    SCLK  	INT1
#define    CS	  	P14
#define    SSTRB  	INT0
/*

#define    DIN 		P17
#define    DOUT		P15
#define    SCLK  	P16
#define    CS	  	INT0
#define    SSTRB  	P14
*/

#define    SOME_NOP		_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
#define    READ_CMD		0X87
//#define    READ_CMD		0X86

Byte idata SelTab[] = {0,4,1,5,2,6,3,7};


Word ReadMAX188(Byte value)
{ 
	Byte i;

	Word  wData = 0;
	
	value = READ_CMD | (SelTab[value] << 4);		//选择AD通道		

	CS = 0;
	DelayMs(1);
	DOUT = 1;
  	for(i = 0; i < 8; i++)  			 //"发数据
  	{ 
		SCLK = 0;
		if( value & 0x80 )
		{
			DIN = 1;
		}
    	else
		{
			DIN = 0;
		}
    	value = (value << 1);
    	SOME_NOP;        				//"适当增加或减少NOP指令
    	SCLK = 1;
		
  	}

	//DelayMs(1);
	while(SSTRB)						//等待数据完成
	{
		SOME_NOP; 
	}		

	SCLK = 0;
	for(i = 0; i < 16; i++)
	{
		
    	SCLK = 1;
		if(DOUT)		
		{
			wData += 1;
		}
		wData <<= 1;
		SOME_NOP;
		SCLK = 0;
	}

	CS = 1;
  	return (wData >> 4);
}


⌨️ 快捷键说明

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