Discussion in "Project Help" started by    navintiwari08    Apr 12, 2012.
Thu Apr 12 2012, 07:10 PM
#1
hello everyone..
am having problem in writing and reading data from serial eeprom 24c02 interfaced with 8051(P89V51RD2).. please have a look at my program and help me out..
thanks a bunch:)

;-------------------------------------------
; using atmel 24c02 serial eeprom with 8051
;-------------------------------------------
sda equ p2.0
scl equ p2.1

org 00h
sjmp main

org 30h
main:

lcall eeprom_write
lcall eeprom_read
here:
sjmp here


eeprom_start:
setb sda
setb scl
lcall delay
clr sda
lcall delay
clr scl
ret

eeprom_stop:
clr sda
setb scl
lcall delay
setb sda
lcall delay
clr scl
ret

eeprom_write:
lcall eeprom_start
mov a,#0a0h ;device address with write bit
lcall send_data
mov a,#00h ;memory address on device to write to
lcall send_data
mov a,#25h ;data to write on the eeprom
lcall send_data
lcall eeprom_stop
ret

eeprom_read:
lcall eeprom_start
mov a,#0a0h ;device address with write bit(to perform dummy write)
lcall send_data
mov a,#00h ;memory address on device to set the address pointer
lcall send_data
lcall eeprom_start ;repeated start
mov a,#0a1h ;device address with read bit
lcall send_data
lcall get_data ;start reading
lcall eeprom_stop
ret

send_data:
mov r0,#08
loop: clr scl
lcall delay
rlc a
mov sda,c
lcall delay
setb scl
lcall delay
clr scl
djnz r0,loop
setb sda
ack: jb sda,ack ;polling the acknowledge by the device
setb scl
lcall delay
clr scl
ret

get_data:
mov r0,#08
setb sda
nop
loop1:
mov c,sda
setb scl
nop
nop
clr scl
rlc a
djnz r0,loop1
mov p0,a
ret

delay: mov r1,#10
rep: djnz r1,rep
ret

end


[ Edited Thu Apr 12 2012, 07:18 PM ]
Sat Apr 14 2012, 03:01 AM
#2
you have to put delay of atleast 5 to 10 ms after eeprom write to complete the write cycle. I am assuming your I2C is working fine.
Sat Apr 14 2012, 08:28 AM
#3
hello Ajay.. thanx for the reply.. i tried giving it the delay u proposed but it is still not working.. is my program correct? i checked many times but cant spot the error.. pls help. thanks..
Sun Apr 15 2012, 04:43 AM
#4
I dont see any problem the way you are reading from EEPROM but as I said, I am assuming your I2C driver is correct and working fine. You can take i2c reference from tutorial section. and see if everything is alright.
Sun Apr 15 2012, 08:23 AM
#5
thanks a lot Ajay, for the help.. i just solved it.. the 24c02a IC was damaged. i think i burnt it up.. i got a new 24c02 and its working perfectly.. thanks for caring to reply.. have a great day:)
Mon Apr 16 2012, 06:21 PM
#6
thats a good news. keep up the good work. Good Luck!

Get Social

Information

Powered by e107 Forum System

Conversation

ExperimenterUK
Wed Apr 15 2015, 05:07 PM
@Bibek.. and everyone. Create threads if you need help. The chat box is just for chat
ExperimenterUK
Wed Apr 15 2015, 05:06 PM
@mohd atif ..login..create a post/thread,then I can post a copy of the missing file
Mon Apr 13 2015, 07:03 PM
mohd atif
@experimenteruk I didn't get you
Sun Apr 12 2015, 04:18 AM
Bibek
hello, i have made a digital clock using rtc DS12887 and AT89S52 with date n callender. Now i want to add alarm features to it.....can any body help me with the code in assembly language
Sun Apr 12 2015, 03:22 AM
SANJU123
Hello, I am planning to do simulaton of the ' 4-way traffic controller'. As a first stage of the project, I tried to compile the code given in this website in keil microvision which controls 4-way traffic . I am using AT89C51. But when I am trying to compile the code it shows an error " Device is not supported by Toolchain". Can u please help me...
Sat Apr 11 2015, 02:06 AM
Suryamoy Mondal
There is a little bit confusion to connect the rs232 connector to max232 ..By continuty test i cant able to find , which wire from the other side of the RS232 connector , i connect to max232..is there any colour coding?
ajay_bhargav
Fri Apr 10 2015, 06:19 PM
@Suryamoy, The PC control software is provided within the package. Follow the steps to install and test it.
Fri Apr 10 2015, 05:24 PM
Suryamoy Mondal
my final year btech project is pc remote control..i have made the hardware and microcontroller prograaming from yours project..bt i cant able to implement in PC..so wht kind of software need for pc to access this..please sir reply me ..i need your help
ExperimenterUK
Wed Apr 08 2015, 04:46 PM
@mohd atif If you create a thread, I may be able help
Tue Apr 07 2015, 03:59 PM
mohd atif
i am working on a project evm. i download the evm project from this site named Electronic Voting machine with Managed Control Unit . i face problem in this when i am trying to simulate this on proteus . there is an error " could not open MODDATA initializer file mem.bin" please help me to get out this problem

Downloads

Comments

[email protected]
Sat Apr 18 2015, 05:02 PM
arvindarunoday
Sat Apr 18 2015, 04:26 PM
samarhbk
Sat Apr 18 2015, 12:57 PM
chitty789
Tue Apr 14 2015, 06:14 PM
yaseenshaikh
Tue Apr 14 2015, 03:41 PM
sanju123
Mon Apr 13 2015, 03:51 PM
mohanadelnokaly
Wed Apr 08 2015, 07:02 PM
auchil
Mon Apr 06 2015, 07:07 AM
Forum Activity
gaurav7577 Avatar
Posted By gaurav7577
Fri Apr 17 2015, 03:26 PM
thanks ajay for ur concern .....passed out B.E.......
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri Apr 17 2015, 12:49 PM
can you post screenshot or a picture of CRO output...
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri Apr 17 2015, 12:45 PM
are you in a college or working?
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri Apr 17 2015, 12:44 PM
GSM modem needs a power supply with minimum 2A pea...
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri Apr 17 2015, 12:41 PM
check it on CRO with 10x probes, you will see a si...
mayank058 Avatar
Posted By mayank058
Fri Apr 17 2015, 11:03 AM
The output was low in the scope and I am using MCB...
gaurav7577 Avatar
Posted By gaurav7577
Fri Apr 17 2015, 10:13 AM
Hello friends, i wanna do embedded course ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Apr 17 2015, 05:30 AM
In simulation everything went good but I am not a...
mayank058 Avatar
Posted By mayank058
Fri Apr 17 2015, 04:49 AM
dear sir, Actually DAC output pin is 0.26..so I think bit 21 must be set to get output on PIN 0.26. In simulation everything went good but I am not able to get output on CRO by using the board.