Está en la página 1de 1

**MICROCONTROLADORES**19/03/2019

Debounce( eliminacion de ruido al oprimir un boton)


debemos tener presente la memoria del programa (flash) que comienza de 0000 a 0032;
que viene siendo la tabla de
vectores de interrupcion. despues del 0032 empieza nuestro programa.

En la memoria RAM empezamos a guardar datos empezando del $100 al $08FF


SP= SPH + SPL= 08FF

.include ''m328pdef.inc''
*****NOTA*****
.org $0 -BUSCAR EN EL MANUAL LAS
INSTRUCCIONES QUE ESTAMOS UTILIZANDO.
RJMP (SALTO) INICI POR EJEMPLO:
RCALL(llama a un retardo) RDEBOUCE

CPI(compara)

.ORG $32
INICIO: LDI R16,LOW (RAMEND)
LDI R27,HIGH (RAMEND)
OUT SPL,R16
OUT SPH,R17

LDI R16,$FF
OUT DDRB,R16
;configurar el pin como entrada PCo en donde conectaremos el boton.

CBI(poner a cero) DDRC,PC0


SBI(poner en uno) PORTC,PC0 ---conectar la R de pulb uo en el pm PC0

CLR R20 ---es el seg. usado como controlador


LEOTRO: IN R16, PINC
CPI R16, $00
BRNE LEOTRO
INC R21
CPI(compara) R21,$02
BREQ (simbolo; flecha hacia abajo) DOS
RCALL RETARDO1
RJMP LEOTRO
DOS: RCALL (manda a llamar otro retardo) RETARDO2
INC(incrementar) R20
OUT PORTB,R20
RJMP LEOTRO

**FALTAN LOS RETARDOS** (ESTOS SERAN GENERADOS POR EL SOFTWARE)

También podría gustarte