This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Memory mapped ADC

Hi, I want to access the ADC0804 which is connected as the memory mapped device at 0x0001. Initially, I want check whether, address and data bus is working fine. For the same, I wrote the code as
:::::Program 1:::::
#include <p89v51rx2.h>

volatile unsigned char xdata *p = (char xdata *)0x0000;
sbit LED = P3^0;

void main()
{ int j = 0;

while(1) { p[0] = 0x55; for(j=0; j<=2500; j++); LED = 0; p[1] = 0xAA; for(j = 0; j<=2500; j++); LED = 1; }
}

:::::: Program 2::::::::::::::::
#include <p89v51rx2.h>
#include <absacc.h>

volatile xdata at 0x1000 unsigned char config;
volatile xdata at 0x1001 unsigned char config1;
sbit LED = P3^0;

void main()
{ int j = 0; while(1) { config = 0xAA; for(j=0; j<=2500; j++); LED = 0; config1 = 0x55; for(j = 0; j<=2500; j++); LED = 1; }
}

Program 1: LED Blinks but, there is no ALE or BUS transisitions.
Program 2: Compiler through error that missing ; before 0x1000. This code I have refered from one of 8051 SBC webpage.

Kindly let me know what is the wrong? Is it, I need to set something in compiler? Iam using Keil uV4.

With thanks...

Parents
  • Hi James,

    You need either disable that internal XRAM or -better- use a different XRAM address

    I have tried address of 0x8000 and 0x0301 as well.. the bus is not toggling even there is no transistion in ALE pin. I don't know where I am missing...... Is there any thing I need to configure in compiler (Keil)?

Reply
  • Hi James,

    You need either disable that internal XRAM or -better- use a different XRAM address

    I have tried address of 0x8000 and 0x0301 as well.. the bus is not toggling even there is no transistion in ALE pin. I don't know where I am missing...... Is there any thing I need to configure in compiler (Keil)?

Children
No data