Discussion in "Project Help" started by    Mirza123    Jun 25, 2020.
Thu Jun 25 2020, 09:37 pm
i am trying to use AT89LP2052 ( AT89LP2052 http://ww1.microchip.com/downloads/en/devicedoc/doc3547.pdf) for LED to turn on and OFF. but i am confused with the connections.
I have used i have loaded the program by using 8051Flash program. For writing the program i have used 8051-Ready board(https://download.mikroe.com/documents/starter-boards/ready/8051/8051ready-manual-v100.pdf) and mikroprog-8051 (https://www.mikroe.com/mikroprog-8051).

here is the code which i have learnt from your course.

// for 11.0592MHz Crystal

void delay(unsigned int count)


unsigned int i;









void main()




P1 = 0x00;


P1 = 0xff;




Can you please help me with the connection?

[ Edited Thu Jun 25 2020, 09:43 pm ]
Tue Jun 30 2020, 02:04 pm
It seems ports on the AT89LP2052 are not like on the 8051,
so your program may not work.

If you have not got it working, let me know and I'll look into
what is needed to set up the ports.

[ Edited Wed Jul 01 2020, 03:43 pm ]
Tue Jun 30 2020, 02:09 pm

It seems ports on the AT89LP2052 is not like on the 8051,
so your program may not work.


How did you know that it is not 8051.
I have put full week dealing with this chip but i did not work.
I have attached the circuit schematic also which i am using.

Tue Jun 30 2020, 03:35 pm

How did you know that it is not 8051.


It is really important when dealing with a new chip to have a good read of the datasheet. In this case you need to read the sections dealing with I/O Ports.

Have a look at page 8, section 7.7 and section 15 starting on page 20 and see if that helps.

Wed Jul 01 2020, 03:42 pm
See section 15 (Ports) of the data sheet.
Wed Jul 01 2020, 07:35 pm
Thanks for the assistance. I have read the data sheet. if PxM0.y=0 and PxM1.y=0 then it will work as standard 8051MCU. but i want to know how can i make PxM0.y=0 and PxM1.y=0 ? which special function register should be changed? Should i use the same header file( #include<reg51.h>)?
PS: I am a new learner thats why my question may sound silly.
Thu Jul 02 2020, 04:37 am

PS: I am a new learner thats why my question may sound silly.

Not silly at all.
There are a lot of details experts don't tell you that are really hard to figure out
on your own.

You will need a special header for the AT89LP2052 as it uses registers the 8051 does not have.
The header will also have to written for use in Microc as every compiler has it's own
way of doing things.

For a quick test I think this will work.
Add these 2 lines to the top of the file

#define P1M0 0xc2
#define P1M1 0xc3

and these 2 at the start of main.
P1MO= 0x00;
P1M1= 0x00;

Some P1 pins are used for programming, so I suggest you only
connect a LED to pin 14 ( P1.2)
Also it is safer to add resistors between the LEDs and the chip.
Anything between 47 and 200 ohms should be okay.

To start with, try this program to turn the LEDs on.
That will prove something is working, you can do flashing later.

#define     P1M0 0xc2
#define     P1M1 0xc3

void main()
P1MO= 0x00;
P1M1= 0x00;

P1= 0xff


[ Edited Thu Jul 02 2020, 08:12 am ]

Get Social


Powered by e107 Forum System



Sun Jun 16 2024, 04:23 am
Sat Jun 15 2024, 09:17 pm
Sat Jun 15 2024, 02:18 pm
Fri Jun 14 2024, 03:16 pm
Fri Jun 14 2024, 11:56 am
Thu Jun 13 2024, 06:00 pm
Thu Jun 13 2024, 03:10 pm
Thu Jun 13 2024, 02:23 pm