?? max188.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++) //"發(fā)數(shù)據(jù)
{
SCLK = 0;
if( value & 0x80 )
{
DIN = 1;
}
else
{
DIN = 0;
}
value = (value << 1);
SOME_NOP; //"適當增加或減少NOP指令
SCLK = 1;
}
//DelayMs(1);
while(SSTRB) //等待數(shù)據(jù)完成
{
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 + -