Subrutina de Barrido de Teclado 4x3 Interrupciones

August 8, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Subrutina de Barrido de Teclado 4x3 Interrupciones...

Description

 

SUBRUTINA DE BARRIDO DE TECLADO 4x3 INTERRUPCIONES Circuito



Inicializar el pórtico de la siguiente manera ldi  r16,0b00000111 00111 ldi r16,0b000 out ddra,r16 ;I/O keypad out ddra,r16



Crear espacios de memoria con los siguientes nombres   dig1:.byte dig1: .byte 1  1 dig2:.byte dig2: .byte 1  1 .byte 1  1 dig3:.byte dig3: .byte 1  1 dig4:.byte dig4: contador:.byte contador: .byte 1  1 .byte 1  1 digito:.byte digito:



Configuro interrupciones  interrupciones  ;;;;;;;;;;;;;;;,configuro interrupciones  interrupciones   ldi  tempo,0b00000001 00001 ldi tempo,0b000 sts sts pcicr,tempo  pcicr,tempo ldi   tempo,0b111 tempo,0b11111000 11000 ldi sts sts   pcmsk0,temp pcmsk0,tempo o sei



Se debe utilizar interrupciones para llamar a

TESTEAR 

 

;=====================================SUBRUTINA BARRIDO DE TECLADO, con interrupciones   ; Tener en cuenta que se debe creear en la sram los siguientes espacios dig1, dig2, dig3, dig4, contador, digito  digito 

barrido_teclado: push r22 push r22 push r18  r18 push push push r16  r16 push r17  r17 push push push r21  r21 push push r23  r23 push r19  r19 push lds lds   r22,contado r22,contador r cpi cpi r22,1  r22,1 ;R22=contador; me indica cuantas teclas e ingresado   breq barrido1  barrido1 breq cpi r22,2  r22,2 ;;R22=contador; me indica cuantas teclas e ingresado   cpi breq breq barrido2  barrido2 cpi r22,3  r22,3 cpi

;R22=contador; me indica cuantas teclas e ingresado  

breq barrido3  barrido3 breq cpi cpi r22,4  r22,4 ;R22=contador; me indica cuantas teclas e ingresado   breq barrido4  barrido4 breq ldi ldi   r18,0b10000 r18,0b10000000 000 out porta,r18  porta,r18 out

;R18=valida una tecla tecla   

mantener: ;subrutina que espera que deje de aplastar una tecla   in r18,pina  r18,pina in andi andi   r18,0b111110 r18,0b11111000 00 cpi    r18,0b11111000 cpi brne mantener  mantener brne rcall rcall retardo  retardo rjmp restauro  restauro rjmp

barrido1: lds lds r16,digito  r16,digito sts dig1,r16  dig1,r16 sts dig1  dig1   lds lds r17,dig1  r17,dig1 carga de dig1  dig1   ldi   r21,0b00000 r21,0b00000001 001 ldi rcall barrido rcall  barrido rcall retardo  retardo rcall rjmp restauro  restauro rjmp barrido2: lds lds r16,digito  r16,digito sts dig2,r16  dig2,r16 sts lds r17,dig1  r17,dig1 lds ldi ldi   r21,0b00000 r21,0b00000010 010

;R16=registro que me indica que tecla presione; Almaceno en ;R17=regi ;R17=registro stro que almacena el numero a mostrar en el display; ;R21=registro que controla, que display se debe encender

 

 

rcall barrido  barrido rcall lds lds r17,dig2  r17,dig2 ldi   r21,0b00000 r21,0b00000001 001 ldi rcall rcall barrido  barrido rjmp restauro  restauro rjmp

barrido3: lds lds r16,digito  r16,digito sts dig3,r16  dig3,r16 sts lds lds r17,dig1  r17,dig1 ldi   r21,0b00000 r21,0b00000100 100 ldi rcall barrido  barrido rcall rcall rcall retardo  retardo lds r17,dig2  r17,dig2 lds ldi ldi   r21,0b00000 r21,0b00000010 010 rcall rcall barrido  barrido rcall retardo  retardo rcall lds lds r17,dig3  r17,dig3 ldi   r21,0b00000 r21,0b00000001 001 ldi rcall barrido  barrido rcall rcall rcall retardo  retardo rjmp restauro  restauro rjmp barrido4: lds lds r16,digito  r16,digito sts dig4,r16  dig4,r16 sts lds lds r17,dig1  r17,dig1 ldi   r21,0b00001 r21,0b00001000 000 ldi rcall rcall barrido  barrido lds lds r17,dig2  r17,dig2 ldi   r21,0b00000 r21,0b00000100 100 ldi rcall rcall barrido  barrido lds r17,dig3  r17,dig3 lds ldi   r21,0b00000 r21,0b00000010 010 ldi rcall rcall barrido  barrido lds r17,dig4  r17,dig4 lds ldi   r21,0b00000 r21,0b00000001 001 ldi rcall rcall barrido  barrido rjmp rjmp restauro  restauro

restauro: pop pop r19  r19 pop r23  r23 pop pop pop r21  r21 pop r17  r17 pop pop pop r16  r16 pop pop r18  r18 pop r22  r22 pop ret    ret

barrido: ldi ldi   zl,low(tabl zl,low(tabla
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF