I am using uVision3 with AT89S52 and 89S52 is connected with 12-bit Serial ADC MAX187 according to Datasheet. I have interfacing problem with this ADC using C51 compiler. I searched uVision help and net also, but didn't find any solution. So please Reply in Detail. and don't tell me to goto http://www.atmel.com or http://www.maxim-ic.com because i already searched there for any example.
Problems are: 1. How can i store A/D Converted value (12bit) to one 16bit register for 89S52 ,or using two registers? 2. I can use "ACC" for 8 bit rotation but how i will store 8-bit ACC data to any register or Variable so i can print to LCD. 3. Can i use DATA,BDATA,IDATA and PBYTE,CWORD,DWORD,PWORD from absacc.h ? 4. How can i convert 12bit binary to ASCII? so i can print to LCD.
"In your program if i assigns sbit DOUT=P1^1; then how will i link to data of DOUT to shift_reg because DOUT is a single bit and shift_reg is an integer."
In C51, a bit is a data type that can have the value 0 and 1. 0 and 1 are also evaluated in conditional expressions as false and true, respectively. The left shift operator (<<) has shifted in a 0 into the shift register and only if DOUT is true (1) to we changed that shifted-in 0 to a 1, hence the shift and conditional OR represent DOUT's value.