We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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...
Hi, I will try to check with x51 toolchain. But, I have to learn to do so... If you can refer some weblink will be helpful. However I am going to google for the same... Thanks....