Protocol SPI with ADC 7841

#include <SPI.h>

void setup() {
Serial.begin(9600);//9600

// start the SPI library:
SPI.begin();
SPI.setClockDivider(SPI_CLOCK_DIV16);
}

void loop() {

unsigned int BL,BH,dato;
// dato=0;
SPI.transfer(0x87);
delayMicroseconds(1);
BH = SPI.transfer(0);
BL = SPI.transfer(0);

dato = (BH<<8 | BL)>>4;

Serial.println(dato);

delayMicroseconds(10);
}

How can i read the bits of the ADC?
This always send me in the monitor serial the number 2047 with any value of voltage.

You need to provide a circuit diagram which shows exactly how you've connected the ADC7841 to the Arduino.

For SPI devices such as the ADC7841, you need to have a digital pin connected to the CS pin on the ADC and then control that pin from your program. If it is the only SPI device on the Arduino, you can sometimes get away with just wiring the CS pin LOW but I'm not sure it'll work with this ADC.

Pete