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

ExperimenterUK
Fri Mar 15 2019, 01:44 AM
We don't send code,but you can ask for help in the 8051 forum
Thu Mar 14 2019, 04:00 PM
Jui Sanjay Kapare
Hello sir, I want code of interfacing DS18B20 with 8051.plz send the code as early as possible
ExperimenterUK
Mon Jan 07 2019, 08:31 AM
@REVOCATUS please post in the AVR forum
Mon Dec 24 2018, 02:25 PM
REVOCATUS MATEMU
sorry I mean referee boards for player substitution
Mon Dec 24 2018, 02:24 PM
REVOCATUS MATEMU
hi am.looking how to build referee by using Atmega 328 and its codes
Sat Dec 15 2018, 06:45 PM
Arslan ayoub
Hii ,, can I get the simulation of numeric keypad lock on proteus
ExperimenterUK
Mon Dec 03 2018, 10:17 PM
Please post questions in the forum. The chat box is for chat
Mon Dec 03 2018, 11:43 AM
help!me!
help! I don't understand busy flag!
Mon Dec 03 2018, 01:01 AM
ile
hello
Mon Nov 12 2018, 10: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....

Downloads

Comments

tutu10
Tue Mar 12 2019, 07:11 AM
Raj243
Fri Mar 08 2019, 02:08 AM
bharatsb
Thu Mar 07 2019, 04:34 PM
Yass7
Thu Mar 07 2019, 03:55 PM
mashabed
Mon Mar 04 2019, 11:08 PM
AccelMotion
Tue Feb 26 2019, 06:06 PM
turbovps
Mon Feb 25 2019, 06:26 AM
the_Doker
Thu Feb 14 2019, 02:21 PM

Online

Guests: 48, Members: 0 ...

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

Members: 38052
Newest member: tutu10
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Mar 13 2019, 02:32 AM
HiI looked at" Atmel AVR042: AVR Design Considera...
tutu10 Avatar
Posted By tutu10
Tue Mar 12 2019, 07:13 AM
Hi...My firmware upgradable code lock seems to be ...
Yass7 Avatar
Posted By Yass7
Sat Mar 09 2019, 12:52 AM
It's exactly that ! it's my teacher who asked me t...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Mar 09 2019, 12:27 AM
As I understand it, you want to use a P89LPC952 /...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Mar 09 2019, 12:21 AM
After you get the string what do you want to do wi...
bharatsb Avatar
Posted By bharatsb
Thu Mar 07 2019, 04:40 PM
help me to write code for 8051 to receive string ...
Yass7 Avatar
Posted By Yass7
Thu Mar 07 2019, 03:59 PM
Hello everyone,here I made a 3-axis CNC with 3 ste...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Jan 26 2019, 07:19 PM
Yes that helps a lot.At first sight I can't see th...
Rizz Avatar
Posted By Rizz
Sat Jan 26 2019, 06:43 AM
@ExperimenterUK I have updated the post with more ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Jan 26 2019, 02:30 AM
What is your definition of a Palindrome ?The ones ...