Discussion in "8051 Discussion Forum" started by    jaideep1992    Mar 12, 2013.
Tue Mar 12 2013, 07:01 pm
#1
Hello everyone
I am Jaideep pursuing Btech final year. Currently i am doing my project titled "Vehicle Tracking and Accident Alert System"
It works with an acceleration sensor MMA7660 and depending on values obtained from it, the tilt is measured and accident is detected
Currently am facing projects in interfacing MMA7660 to 8051 since some Garbage values are coming on LCD
I have attached my circuit diagram
Please help

Tue Mar 12 2013, 07:03 pm
#2
here is my code
sda equ P3.6
scl equ P3.7
org 00h
acall init

sa:
mov a,#98h
acall startc
acall send
acall mack
jc sa

amr:
mov a,#07h
acall send
acall mack
jc amr


am:
mov a,#09h
acall send
acall mack
jc am

start:
mov a,#98h
acall startc
acall send
acall mack
jc start

rax:
mov a,#00h
acall send
acall mack
jc rax

rby:
mov a,#01h
acall send
acall mack
jc rby

rcz:
mov a,#02h
acall send
acall mack
jc rcz

sar:
mov a,#99h
acall rstart
acall send
acall mack
jc sar
acall recv
acall ack
mov r0,a
acall recv
acall ack
mov r1,a
acall recv
acall nak
mov r2,a
acall stop

mov a,#38h
acall cmdwrt
acall delay

mov a,#0eh
acall cmdwrt
acall delay

mov a,#01h
acall cmdwrt
acall delay

mov a,#06h
acall cmdwrt
acall delay

mov a,#80h
acall cmdwrt
acall delay
mov a,#'X'
acall datawrt
acall delay

mov a,#81h
acall cmdwrt
acall delay
mov a,#'='
acall datawrt
acall delay

mov a,#82h
acall cmdwrt
acall delay
mov a,r0
acall datawrt
acall delay

mov a,#86h
acall cmdwrt
acall delay
mov a,#'Y'
acall datawrt
acall delay

mov a,#87h
acall cmdwrt
acall delay
mov a,#'='
acall datawrt
acall delay

mov a,#88h
acall cmdwrt
acall delay
mov a,r1
acall datawrt
acall delay

mov a,#8bh
acall cmdwrt
acall delay
mov a,#'Z'
acall datawrt
acall delay

mov a,#8ch
acall cmdwrt
acall delay
mov a,#'='
acall datawrt
acall delay

mov a,#8dh
acall cmdwrt
acall delay
mov a,r2
acall datawrt
acall delay

jmp start

cmdwrt:
mov p1,a
clr p2.0
clr p2.1
setb p2.2
acall delay
clr p2.2
ret

datawrt:
mov p1,a
setb p2.0
clr p2.1
setb p2.2
acall delay
clr p2.2
ret

delay:
mov r3,#0c8h
bck1:mov r4,#64h
bck:djnz r4,bck
djnz r3,bck1
ret

init:
setb sda
setb scl
ret

startc:
setb scl
clr sda
clr scl
ret

rstart:
clr scl
setb sda
setb scl
clr sda
ret

send:
mov r7,#08
back:
clr scl
rlc a
mov sda,c
setb scl
djnz r7,back
clr scl
setb sda
ret

ack:
clr sda
setb scl
clr scl
setb sda
ret

mack:
setb scl
mov c, sda
clr scl
ret

nak:
setb sda
setb scl
clr scl
setb scl
ret

recv:
mov r7,#08
back2:
clr scl
setb scl
mov c,sda
rlc a
djnz r7,back2
clr scl
setb sda
ret

stop:
clr scl
clr sda
setb scl
setb sda
ret


end


[ Edited Tue Mar 12 2013, 07:07 pm ]
Tue Mar 12 2013, 07:21 pm
#3
Please help
Sat Mar 16 2013, 05:04 pm
#4
mov a,#82h
acall cmdwrt
acall delay
mov a,r0
acall datawrt
acall delay

You're moving hex value directly to display so you will get nothing but junk. If you want to see actual values then convert it to ascii first and then display.
 jaideep1992 like this.
Sat Mar 16 2013, 05:05 pm
#5
[Topic moved to 8051 Discussion Forum]
Sun Mar 17 2013, 10:30 am
#6
thnx a lot ajay.....
i will work out with ur suggestion

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Clydehet
Wed May 01 2024, 06:44 pm
Davidoried
Wed May 01 2024, 06:11 pm
KevinTab
Sun Apr 28 2024, 05:35 am
Tumergix
Sun Apr 28 2024, 12:59 am
StevenDrulk
Sat Apr 27 2024, 08:47 pm
StephenHauct
Sat Apr 27 2024, 09:38 am
Adamsaf
Sat Apr 27 2024, 07:12 am
Robertphype
Sat Apr 27 2024, 12:23 am