Discussion in "Project Help" started by    Mirza123    Jun 25, 2020.
Thu Jun 25 2020, 09:37 pm
#1
Hello!
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.
#include<reg51.h>




// for 11.0592MHz Crystal



void delay(unsigned int count)



{



unsigned int i;



while(count)



{



i=115;



while(i>
0)



i--;



count--;



}



}



void main()



{



while(1)



{



P1 = 0x00;



delay(1000);



P1 = 0xff;



delay(1000);



}



}


Can you please help me with the connection?


[ Edited Thu Jun 25 2020, 09:43 pm ]
Tue Jun 30 2020, 02:04 pm
#2
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
#3


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

ExperimenterUK


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
#4


How did you know that it is not 8051.

Mirza123


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
#5
See section 15 (Ports) of the data sheet.
Attachment
Wed Jul 01 2020, 07:35 pm
#6
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
#7

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.


#include<reg51.h>
#define     P1M0 0xc2
#define     P1M1 0xc3

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

P1= 0xff
while(1)
{}

}






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

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

EdwardFew
Mon Mar 18 2024, 01:14 pm
EmeryPah
Mon Mar 18 2024, 11:51 am
RobertMax
Sun Mar 17 2024, 10:22 pm
DanielJar
Fri Mar 15 2024, 06:52 pm
Tuzaimecor
Fri Mar 15 2024, 02:32 am
PromotionFoode
Thu Mar 14 2024, 08:11 pm
EdwardGeawn
Sun Mar 10 2024, 12:24 pm
ZacharyShado
Sat Mar 09 2024, 10:04 am