Sie sind auf Seite 1von 11

UNIVERSIDAD PRIVADA ANTENOR ORREGO

GENERACIN DE RETARDOS EN
ASSEMBLER
Ing. Lenin Llanos Len

Generacin de Retardos

Para la generacin de retardos en assembler hay


que tener en cuenta el ciclo de mquina.
El ciclo de mquina es el tiempo que utiliza el
microcontrolador en ejecutar una instruccin simple
y equivale a 4 ciclos de reloj.
Si utilizamos un cristal de 4MHz, el ciclo de reloj es
de 250 ns y el ciclo de mquina es de 1 us.

Generacin de Retardos

Objetivo crear una subrutina, parecida a los


comandos existentes en alto nivel (BASIC: delayms
100).
Para ello crearemos una Subrutina llamada
Delay_Xus
Instruccin
Call

Delay_Xus
Instruccin

Generacin de Retardos
Delay_Xus

Cuenta 0xXX

Cuenta Cuenta 1

Cuenta=0
SI

RETURN

NO

Delay_Xus
movlw 0xXX
movwf Cuenta
Repeticion
Decfsz Cuenta
goto Repeticion
return

Generacin de Retardos

Cunto demora mi subrutina Delay_Xus?

Delay=[2 + 1 +1 + 3(XX 1) + 2 + 2]Tci = [3XX+5]Tci


call (2)

movlw (1)

movwf (1)

decfsz (2)
Es cero
decfsz (1)
goto (2)

return (2)

Si Osc=4MHz, Tci=1useg, entonces el retardo mximo se


da cuando XX=FF, es decir 770 useg.

Generacin de Retardos

Cmo hacer retardos mayores a (3XX+5)Tci?


Delay_Xus
C1 0xXX
C2 0xYY

C1 C1 1

C2 C2 1
C1=0
NO

C2=0

SI

SI

RETURN

NO

Generacin de Retardos

Haciendo uso de bucles anidados, cunto demora


mi subrutina Delay_Xus?
Delay=[XX*((YY-1)*3+7)+5]Tci
Si Osc=4MHz, Tci=1useg, entonces el retardo
mximo se da cuando XX=YY=FF, es decir 196100
useg.

UNIVERSIDAD PRIVADA ANTENOR ORREGO

CONTROL ANTI REBOTE


Ing. Lenin Llanos Len

Control Anti Rebote

En el momento de presionar un botn pulsador o


cualquier conmutador electromecnico se produce
una seal en el breve instante en que las placas del
contacto se aproximan o se alejan de sus puntos de
conexin.

Control Anti Rebote

La duracin de este depende de la calidad de los


switches y la velocidad de accionamiento, pero no
dura ms de 20 milisegundos.
Por lo que para evitar este efecto a la hora de la
lectura de este tipo de dispositivos se suele
implementar la eliminacin de
este efecto
mediante software.

Control Anti Rebote


Pulsador
Presionado?

NO

SI

Pulsador es
Soltado?
SI

Retardo 20 ms

Retardo 20 ms

Pulsador
Presionado?

Pulsador es
Soltado?

SI

Instrucciones

NO

NO

SI

NO

Das könnte Ihnen auch gefallen