Discussion in "Project Doubts" started by    sankalp_s    Nov 29, 2014.
Sat Dec 27 2014, 03:59 PM
#21
Dear Phil sir
my second query is, there are three program in side the code:
for example in program 1st has three design, program 2nd has two design program 3rd has six design,
now i'm using any two pin for call these design. (ie.pin p3.2 & p3.3)
if no any pin is low then only program 1 will be run
if 3.2 then only program 2
& when 3.3 then only program 3
is this possible with JB & JNB instruction?
i've tried but only 1 program works,
could you please help me for the code?
thank u for your cooperation..
Sun Dec 28 2014, 05:34 AM
#22
you need to remove jump statements from main program codes. only the design loop should remain. rest you can do something like this...
;You main loop will be like this..
main:
JB P3.3, program2
;Put program 3 code here
program2:
JB P3.2, program1
;Put program 2 code here
sjmp main
program1:
;Put program 1 code here
sjmp main
 sankalp_s like this.
Fri Jan 30 2015, 05:40 PM
#23


you need to remove jump statements from main program codes. only the design loop should remain. rest you can do something like this...

;You main loop will be like this..
main:
JB P3.3, program2
;Put program 3 code here
program2:
JB P3.2, program1
;Put program 2 code here
sjmp main
program1:
;Put program 1 code here
sjmp main

ajay_bhargav



THANK U SIR FOR UR REPLY,

Dear sir i want to put five design in program 1, five design in program 2 & five design in program 3,
then how will be program structure & loop structure
Each program would be selected by switch.

"you need to remove jump statements from main program codes. only the design loop should remain" Sir could u please explain this line with my code.

thank u..
Wed Feb 04 2015, 05:45 AM
#24
refer to updated code @http://www.8051projects.net/forum-t64188-10.html#post_64249
Its hard to explain everything line by line. You need to understand the logic first.
Mon Feb 16 2015, 08:33 PM
#25
Dear sir facing error.... for jb and sjmp..
"Label is too far for 8-bit relative addressing."
Mon Feb 16 2015, 10:27 PM
#26


Dear sir facing error.... for jb and sjmp..
"Label is too far for 8-bit relative addressing."

sankalp_s


jb and sjmp can only jump to within 127 bytes of code,
so you will get problems if your design is poor.
For sjmp you can just use jmp instead.
For jb, jnb etc, you will need to change the program layout.
Post your latest code so we can see where you are up to.
 sankalp_s like this.
Tue Feb 17 2015, 11:48 PM
#27


Sir i'm doing this, code is given below..
now there i no any error but JB instructions are not working.
only progrm one starts.

sankalp_s


Hi sankalp_s, because of your program text
your last post was hard to handle.
I have removed it, and re-posted the contents here.
For larger program it is better to Zip and attach them.





Wed Feb 18 2015, 12:57 AM
#28
I have changed your code to make it's operation clearer
and to remove all long branches.
I have not compiled it, so there could be minor errors.
MAIN:

testButton1:
                jb P3.3,testButton2
                call program0  ;Run this segment if button pressed
                sjmp testButton1  ;done

testButton2:
                jb P3.4,default
                call program2  ;Run this segment if button pressed
                sjmp testButton1

default:  
                call program1  ;Run this segment if no buttons pressed
                sjmp testButton1


Your "DELAY: " code gives very little delay and tests the buttons
what does it do ?




[ Edited Wed Feb 18 2015, 01:30 AM ]
 sankalp_s like this.
Wed Feb 18 2015, 06:51 AM
#29
Thank you Dear experimenteruk sir.. its working after completion of all design of running program. what can we do for instant change of program..please suggest.

"Your "DELAY: " code gives very little delay and tests the buttons
what does it do ?"...... actually sir i'm using 555 timer for delay..

sir any alternate option for making mirror effect actually the code i'm using for mirroring is taking much space.


[ Edited Wed Feb 18 2015, 03:27 PM ]
Wed Feb 18 2015, 09:23 PM
#30


sir any alternate option for making mirror effect actually the code i'm using for mirroring is taking much space.

sankalp_s


What is mirroring ?


Thank you Dear experimenteruk sir.. its working after completion of all design of running program. what can we do for instant change of program..please suggest.

sankalp_s


This code should do it.
It makes the "DELAY: " routine return to the main loop.
Remember it works here because "DELAY: " is always
3 calls away from the main loop.
This method is not usually a safe method.
popByte  equ 0x40  ;dump stack here ; (add to top of program)

DELAY: 
JNB P3.2,FULL
JB P3.1,$
JNB P3.2,FULL
JNB P3.1,$
JNB P3.2,FULL
RET
;************************************************* ***********************************************
; ROUTINE FOR BREAK
;************************************************* ***********************************************

FULL: MOV P1,#11000000B
JNB P3.2,$
MOV P1,#11111111B
pop popByte ;dump return address
pop popByte ;dump return address
pop popByte ;dump return address
pop popByte ;dump return address
RET



[ Edited Wed Feb 18 2015, 09:26 PM ]

Get Social

Information

Powered by e107 Forum System

Conversation

Tue Jan 22 2019, 06:51 AM
chnlovelyo
writing
ExperimenterUK
Mon Jan 07 2019, 03:31 AM
@REVOCATUS please post in the AVR forum
Mon Dec 24 2018, 09:25 AM
REVOCATUS MATEMU
sorry I mean referee boards for player substitution
Mon Dec 24 2018, 09:24 AM
REVOCATUS MATEMU
hi am.looking how to build referee by using Atmega 328 and its codes
Sat Dec 15 2018, 01:45 PM
Arslan ayoub
Hii ,, can I get the simulation of numeric keypad lock on proteus
ExperimenterUK
Mon Dec 03 2018, 05:17 PM
Please post questions in the forum. The chat box is for chat
Mon Dec 03 2018, 06:43 AM
help!me!
help! I don't understand busy flag!
Sun Dec 02 2018, 08:01 PM
ile
hello
Mon Nov 12 2018, 05:58 AM
Pavan_user
i have seen your replica of I2C programming using AT89C51 but i am unable to understand the "ack_bit" variable usage ...looks like it is always 1...can you elaborate how acknowledgment is working....
bgk3678
Tue Nov 06 2018, 02:36 PM
kindly any one give solution for my problem

Downloads

Comments

garfield0929
Sun Jan 20 2019, 12:48 AM
servprov
Thu Jan 17 2019, 06:44 AM
marcomilazzo
Wed Jan 16 2019, 04:21 PM
sandhyashree
Wed Jan 16 2019, 04:04 PM
SONACHAI1234
Sun Jan 06 2019, 08:14 AM
manan.gulyaani
Tue Jan 01 2019, 07:58 AM
etech
Sun Dec 30 2018, 07:44 PM
NeilC
Sun Dec 23 2018, 07:39 PM

Online

Guests: 63, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 38039
Newest member: garfield0929
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Sun Jan 06 2019, 10:37 PM
Which 8051 chip are you using ?
SONACHAI1234 Avatar
Posted By SONACHAI1234
Sun Jan 06 2019, 08:21 AM
Hi,By mistakenly i burn rx program in my 8051 micr...
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Dec 19 2018, 06:27 PM
Nobody knows?sifirsekizThe problem is that you are...
sifirsekiz Avatar
Posted By sifirsekiz
Wed Dec 19 2018, 12:15 PM
sifirsekiz Avatar
Posted By sifirsekiz
Sun Dec 16 2018, 11:13 PM
Guys pleaseeeee :((
sifirsekiz Avatar
Posted By sifirsekiz
Sat Dec 15 2018, 07:09 PM
HiThe pulse-sensor-amped has an analogue output.Th...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Dec 15 2018, 07:01 PM
HiThe pulse-sensor-amped has an analogue output.Th...
sifirsekiz Avatar
Posted By sifirsekiz
Sat Dec 15 2018, 09:02 AM
and ı have pulse sensor one out but anolog use 805...
sifirsekiz Avatar
Posted By sifirsekiz
Sat Dec 15 2018, 08:56 AM
HiMembers can supply code and diagrams if they wan...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Dec 14 2018, 11:54 PM
HiMembers can supply code and diagrams if they wan...