Discussion in "Project Doubts" started by    sankalp_s    Nov 29, 2014.
Sat Nov 29 2014, 07:59 PM
#1
hello ajay sir,
i've recently joined this forum, I've downloaded code for led chaser,
i want to infinite repetition of current running pattern through external interrupt(INT0)
when switch is on, but when switch is off then pattern should be run as previous defined time.

the code is:-

ORG 000H ; starting address
SJMP LABEL





L1 EQU P1.2 ;LED CONECTED TO THIS PORT
L2 EQU P1.3 ;LED CONECTED TO THIS PORT
L3 EQU P1.4 ;LED CONECTED TO THIS PORT
L4 EQU P1.5 ;LED CONECTED TO THIS PORT
L5 EQU P1.6 ;LED CONECTED TO THIS PORT
L6 EQU P1.7 ;LED CONECTED TO THIS PORT


LABEL:
MOV R3, #05 ;REPEtion of pattern
D7: CALL DESGN7
DJNZ R3,D7
MOV R3, #05 ;REPEtion of pattern
D8: CALL DESGN8
DJNZ R3,D8
MOV R3, #05 ;REPEtion of pattern
D9: CALL DESGN9
DJNZ R3,D9

JMP LABEL




DESGN7: CALL ALLON
CALL DELAY
SETB L1
CALL DELAY

SETB L2
CALL DELAY

SETB L3
CALL DELAY

SETB L4
CALL DELAY

SETB L5
CALL DELAY

SETB L6
CALL DELAY



CALL DELAY
SETB L6

CALL DELAY
SETB L5

CALL DELAY
SETB L4

CALL DELAY
SETB L3

CALL DELAY
SETB L2

CALL DELAY
SETB L1
CALL DELAY
RET




DESGN8: CALL ALLON
SETB L6
SETB L1
CALL DELAY
CALL ALLON
SETB L5
SETB L2
CALL DELAY
CALL ALLON
SETB L4
SETB L3
CALL DELAY

RET

DESGN9: CALL ALLON


CALL DELAY
SETB L6

CALL DELAY
SETB L5

CALL DELAY
SETB L4

CALL DELAY
SETB L3

CALL DELAY
SETB L2

CALL DELAY
SETB L1
CALL DELAY
RET

CLEAR: SETB L1
SETB L2
SETB L3
SETB L4
SETB L5
SETB L6

RET

ALLON: CLR L1
CLR L2
CLR L3
CLR L4
CLR L5
CLR L6

RET

DELAY: MOV R0,#0FFH
INLOP: MOV R1,#0FFH
DJNZ R1,$
DJNZ R0,INLOP
RET




END
Tue Dec 02 2014, 04:55 AM
#2
This program is already an infinte loop.
LABEL:
MOV R3, #05 ;REPEtion of pattern
D7: CALL DESGN7
DJNZ R3,D7
MOV R3, #05 ;REPEtion of pattern
D8: CALL DESGN8
DJNZ R3,D8
MOV R3, #05 ;REPEtion of pattern
D9: CALL DESGN9
DJNZ R3,D9

JMP LABEL

Are you looking for a particular design to be taken into loop? then you can put that design in interrupt routine itself, and keep going till the pin is high. There will be significant changes in the code. You need to understand it and then make changes.
 sankalp_s like this.
Wed Dec 03 2014, 10:15 AM
#3
Thank u very much sir, for ur response.

Actually i want to lock that pattern which is currently executing .
and when it return from interrupt then pattern should execute in their sequence.

sir please help me for the code..could u write the code?

thank u sir.

Fri Dec 05 2014, 05:08 PM
#4
We can't really understand what you want.

Do you want to freeze the display when the button is pressed. ?
Can you describe what you want in a different way.
Sun Dec 07 2014, 08:17 AM
#5
yes sir exactly as you said..
i want to freeze the display when switch is presses & when switch is not pressed then all pattern should execute in their sequence..
Wed Dec 10 2014, 04:35 AM
#6
so in ISR put a while loop till the switch is low and then as soon as it is high exit from there... processor will continue what it was doing earlier.. e.g.
    ORG 03H
    JNB P3.2, $
    RETI

So when you make INT0 low (switch pressed) it will jump to ISR and make your cpu wait till the switch is pressed.


[ Edited Wed Dec 10 2014, 04:36 AM ]
Fri Dec 12 2014, 06:29 PM
#7
Thank u sir for your response.
sir can u explain more about this or put the code in that code please.. it will be very helpful sir.

actually i've tried bit failed .. so please help me about exact code n where it would be put.

thank you.


[ Edited Fri Dec 12 2014, 07:04 PM ]
Tue Dec 16 2014, 04:55 AM
#8
ORG 000H ; starting address
SJMP LABEL1

    ORG 03H
    JNB P3.2, $
    RETI

L1 EQU P1.2 ;LED CONECTED TO THIS PORT
L2 EQU P1.3 ;LED CONECTED TO THIS PORT
L3 EQU P1.4 ;LED CONECTED TO THIS PORT
L4 EQU P1.5 ;LED CONECTED TO THIS PORT
L5 EQU P1.6 ;LED CONECTED TO THIS PORT
L6 EQU P1.7 ;LED CONECTED TO THIS PORT

LABEL1:
SETB EXT0 ; Enable external interrupt
SETB EA ; Enable interrupts

LABEL:
MOV R3, #05 ;REPEtion of pattern
D7: CALL DESGN7
; ... rest of the code ...
Wed Dec 17 2014, 04:11 PM
#9


ORG 000H ; starting address
SJMP LABEL1

    ORG 03H
    JNB P3.2, $
    RETI

L1 EQU P1.2 ;LED CONECTED TO THIS PORT
L2 EQU P1.3 ;LED CONECTED TO THIS PORT
L3 EQU P1.4 ;LED CONECTED TO THIS PORT
L4 EQU P1.5 ;LED CONECTED TO THIS PORT
L5 EQU P1.6 ;LED CONECTED TO THIS PORT
L6 EQU P1.7 ;LED CONECTED TO THIS PORT

LABEL1:
SETB EXT0 ; Enable external interrupt
SETB EA ; Enable interrupts

LABEL:
MOV R3, #05 ;REPEtion of pattern
D7: CALL DESGN7
; ... rest of the code ...

ajay_bhargav




Thank u sir.
i've tried this code but faced a syntax error on line of setb ext0.....( Symbol not defined: ext0)
sir one thing more can u give me the while loop code example for my requirement .. can i use pin int1 for this operation?

Wed Dec 17 2014, 11:21 PM
#10


i've tried this code but faced a syntax error on line of setb ext0...
( Symbol not defined: ext0)

sankalp_s


Which compilier are you using ?



sir one thing more can u give me the while loop code
example for my requirement ..

sankalp_s



ORG 03H
JNB P3.2, $
RETI

This is all the code you need to freeze the display.


can i use pin int1 for this operation?

sankalp_s


Yes, but the code changes to..
    ORG 13H
    JNB P3.3, $
    RETI

//and 
SETB EXT1 ; Enable external interrupt 1
SETB EA   ; Enable interrupts


An alternative method does not use an interrupt.
Monitor the key in the delay routine.
DELAY: MOV R0,#0FFH
INLOP: MOV R1,#0FFH
buttonTest:             ;button is the input pin 
JNB button, buttonTest  ;wait while pressed
DJNZ R1,buttonTest
DJNZ R0,INLOP
RET

Get Social

Information

Powered by e107 Forum System

Conversation

Mon Jan 16 2017, 03:15 PM
Rutuja
How can we read notepad file using random acess file
Fri Jan 06 2017, 06:18 AM
muhammad Umar
i need cd4047 library file for protious please help me i s
ExperimenterUK
Wed Jan 04 2017, 09:01 PM
@Emin what is your site user name ?
Tue Jan 03 2017, 11:16 PM
Emin
Emin: I'm already a member since 2012 and entered repeatedly during period. But now it is impossible and obtaining a new registration is also failed. The same error message specifying that two e-mails i entered are different!. In fact thaey are the same. Now, what will be happen, what is your solution? Thanks..
Tue Jan 03 2017, 11:15 PM
Emin
I'm already a member since 2012 and entered repeatedly during period. But now it is impossible and obtaining a new registration is also failed. The same error message specifying that two e-mails i entered are different!. In fact thaey are the same. Now, what will be happen, what is your solution? Thanks..
Sun Jan 01 2017, 03:14 PM
Manoranjana Chary
Write an embedded program of increment and decrement in LCD connected to two keys of int1 and int0. Can u please send me the code for this as fast as possible because i need to submit it in college kindly
ExperimenterUK
Sat Dec 31 2016, 06:28 PM
Happy New Year everyone
ExperimenterUK
Sat Dec 31 2016, 06:27 PM
Please post questions in the forum, the chat box is for chat
Thu Dec 29 2016, 07:47 AM
drashti ranolia
can anyone help me for the microcontroller 8051 programming code for street lights that glow on vehicle movement using IR sensors ?
Tue Dec 27 2016, 11:45 AM
Shubhangi
Do we have to write lookup table for d6t thermal sensor?

Downloads

Comments

sarfrosh92
Sun Jan 15 2017, 09:18 AM
Deepakvaishu
Wed Jan 11 2017, 10:25 AM
rana_jee773
Sat Dec 10 2016, 11:22 AM
[email protected]
Thu Dec 08 2016, 11:02 AM
Jonathan.kei
Mon Nov 21 2016, 04:30 PM
AVRuser1
Sun Nov 20 2016, 06:07 PM
JaguarPaw
Thu Nov 17 2016, 07:44 PM
PeterJohn
Mon Nov 14 2016, 05:54 PM

Online

Guests: 30, Members: 0 ...

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

Members: 37796
Newest member: sarfrosh92
Forum Activity
Deepakvaishu Avatar
Posted By Deepakvaishu
Mon Jan 16 2017, 08:31 AM
you are right ..I should not include '\' at t...
Deepakvaishu Avatar
Posted By Deepakvaishu
Mon Jan 16 2017, 06:07 AM
No ,its not the null character, its just the '...
sankalp_s Avatar
Posted By sankalp_s
Sun Jan 15 2017, 07:55 PM
There is a fault in your Proteus design.If you loo...
sarfrosh92 Avatar
Posted By sarfrosh92
Sun Jan 15 2017, 10:04 AM
The 8051 Microcontroller (3rd Edition) by I. Scott...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Jan 14 2017, 11:59 PM
The site editor may have removed the 0 from \0.Actually it should not be needed, sochar *phone_no[3 ]={"1234567890" ," 9087654321" ,"76676667676"}; //array of pointers should work.
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Jan 14 2017, 11:54 PM
There is a fault in your Proteus design.If you loo...
sankalp_s Avatar
Posted By sankalp_s
Fri Jan 13 2017, 06:52 PM
Hi phill sir.. testButton1: ...
Deepakvaishu Avatar
Posted By Deepakvaishu
Fri Jan 13 2017, 11:58 AM
suppose i have this arraychar *phone_no[3 ]={"1234...
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri Jan 13 2017, 05:59 AM
You need to send AT command one by one to all the ...
Deepakvaishu Avatar
Posted By Deepakvaishu
Wed Jan 11 2017, 10:47 AM
How to send the same message to multiple contacts ...