| Kai Klaas 03/23/06 06:40 Read: 2026 times Germany |
#112864 - Do you really need to build it? Responding to: Suresh R's previous message |
Suresh said:
So if possible can you let me know on its suitability to use in the circuit you have given me? Suresh, in the meanwhile I have given you 3 circuits. This one:
This one:
And this one, also with a complete code:
$nomod51
$include (89s52.mcu)
org 0
sjmp begin
org 002bh
;initialize
begin: mov auxr,#00011001b ;reset pin is input
mov tmod,#00000001b ;timer 0 in modus 1
;Total delay is
;number 'z' (BCD-
;switches) times
;10msec delay of
;timer 0
;reads 'start' and
;BCD switches
start_pressed?: clr p1.4 ;strobe watchdog
mov c,p0.2 ;read 'start'
setb p1.4 ;strobe watchdog
;'start' pressed?
jc start_pressed? ;No!
;'start' is pressed:
mov a,p0 ;read "1"
swap a ;eases layout
cpl a ;true data
anl a,#00001111b ;low nibble needed
mov r0,a ;store "1" in r0
mov a,p2 ;read "10","100"
cpl a ;true data
mov r1,a ;store it in r1
swap a ;eases layout
anl a,#00001111b ;low nibble needed
mov b,#10 ;load #10 into b
mul ab ;a = "10" x 10
add a,r0 ;add r0 ("1")
mov r0,a ;store it in r0
mov a,r1 ;now we need "100"
anl a,#00001111b ;low nibble needed
mov b,#100 ;load #100 into b
mul ab ;a = "100" x 100
add a,r0 ;add r0
mov r0,a ;low byte in r0
mov a,#0 ;carry?
addc a,b ;add carry to b
mov r1,a ;high byte in r1
;r1=0?
jnz activate_relay ;r1<>0!
;r1=0!
mov a,r0 ;r0=0?
jz start_released? ;r0=0 and r1=0!
;means z=0!
;r0<>0 or r1<>0!
;means z<>0!
activate_relay: clr p0.0 ;turn on relay
;initialize timer
timer_delay: mov th0,#220 ;reload high byte
mov tl0,#15 ;reload low byte
setb tr0 ;start timer 0
clr p1.4 ;strobe watchdog
;timer busy?
timer_busy?: jnb tf0,timer_busy? ;timer busy!
;10msec delay over
clr tr0 ;stop timer 0
clr tf0 ;clear overfl. flag
setb p1.4 ;strobe watchdog
;decrement z
mov a,r0 ;
clr c ;
subb a,#1 ;a=r0-1
mov r0,a ;low byte of z=z-1
;into r0
mov a,r1 ;carry?
subb a,#0 ;
mov r1,a ;high byte of z=
;z-1 into r1
;r1=0?
jnz timer_delay ;r1<>0!
;r1=0!
mov a,r0 ;r0=0?
jnz timer_delay ;r0<>0!
;r0=0 and r1=0!
;means z=0!
setb p0.0 ;turn off relay
start_released?: clr p1.4 ;strobe watchdog
mov c,p0.2 ;read 'start'
setb p1.4 ;strobe watchdog
;'start' released?
jnc start_released? ;No!
;'start' released!
;initialize waiting
;loop
mov r1,#103 ;'start' released
waiting_loop_1: mov r0,#255 ;for 0.2 sec?
waiting_loop_2: clr p1.4 ;strobe watchdog
mov c,p0.2 ;read 'start'
setb p1.4 ;strobe watchdog
;still released?
jnc start_released? ;No!
;still released!
djnz r0,waiting_loop_2 ;repeat loop 2
djnz r1,waiting_loop_1 ;repeat loop 1
ljmp start_pressed? ;'start' released
;for at least
;0.2sec!
end
Are you really expecting, that I discuss with you the CD4541 now? Do you really need to build such a dispenser or are you only toying with it? Kai |
| Topic | Author | Date |
| Pressing 555 trigger SW continuously. | Suresh R | 02/24/06 03:57 |
| Again | Andy Neil | 02/24/06 04:38 |
| capacitor couple it. | Steve M. Taylor | 02/24/06 10:34 |
| Re: cap coupling | Suresh R | 02/24/06 23:37 |
| Look up the internal block diagram | Kalpak Dabir | 02/24/06 23:51 |
| Read the Data Sheet!! | Andy Neil | 02/25/06 03:17 |
| got the o/p | Suresh R | 02/25/06 03:59 |
| Satisfaction | Steve M. Taylor | 02/25/06 04:08 |
| Thanku steve | Suresh R | 02/25/06 04:33 |
| Not enough | Kai Klaas | 02/25/06 07:33 |
| alternatives ? | Suresh R | 02/26/06 22:01 |
| Remedy | Kai Klaas | 02/27/06 19:16 |
| remedy? | Andy Neil | 02/28/06 01:04 |
| Alternatives | Kai Klaas | 02/28/06 06:56 |
| BC550 & diodes | Suresh R | 02/28/06 04:34 |
| Try it by yourself, it's simple! | Kai Klaas | 02/28/06 06:47 |
| analysis results | Suresh R | 03/01/06 03:37 |
| Analysis | Kai Klaas | 03/01/06 20:14 |
| Thank you | Suresh R | 03/01/06 23:10 |
| after the set delay Time | Suresh R | 03/02/06 02:07 |
| Enhanced debouncing | Kai Klaas | 03/02/06 10:03 |
| What do you think about it, Suresh? | Kai Klaas | 03/06/06 17:55 |
| why the neqw thread | Erik Malund | 02/24/06 10:55 |
| reply | Suresh R | 02/24/06 23:20 |
| Read the Data Sheet!! | Andy Neil | 02/25/06 03:16 |
| kalpak dabir | Satish S Munot | 02/25/06 00:52 |
| Have you considered using a 74121? | Richard Erlacher | 03/04/06 15:18 |
| 74121 versus CMOS555 | Kai Klaas | 03/05/06 06:53 |
| 74121 fine for short period delays? | Suresh R | 03/07/06 06:03 |
| No debounce needed??? | Kai Klaas | 03/07/06 06:33 |
| Schmitt trigger operation? | Suresh R | 03/08/06 05:41 |
| Transition times of input signal | Kai Klaas | 03/08/06 09:21 |
| controlling noise related issues | Suresh R | 03/11/06 04:08 |
| Schmitt-trigger operation | Kai Klaas | 03/11/06 06:48 |
| CD 4541BC = Alternative for ICM 7555? | Suresh R | 03/22/06 04:52 |
| Do you really need to build it? | Kai Klaas | 03/23/06 06:40 |
| Yes. | Suresh R | 03/23/06 08:38 |
| try try try again | Steve M. Taylor | 03/23/06 09:22 |
a sign of confidence | Suresh R | 03/23/06 09:59 |



