Académique Documents
Professionnel Documents
Culture Documents
(Código en assembler)
.include "m164pdef.inc"
.def puerto=r16
.def dato=r17
.def centena=r18
.def decena=r19
.def unidad=r20
.def aux=r21
.def pulsador=r22
.dseg
num: .byte 1
.cseg
;****************Activación de diplays********************************
activar_displays:
call leer_num1
ldi xh,high(num+2) ;leer el dato almacenado en num+2
ldi xl,low(num+2)
ld puerto,x
cp dato,puerto ;comparar los datos leidos
brne continuar ;si son iguales continuar terminar
subrutina
ret
continuar:
;********************Activación de Leds****************************
activar_leds:
call config_salida
ldi dato,0b00000001 ;código (ABC=001) para activar el
display 1
out portd,dato
ser aux
out portb,aux ;apagar diaplay 1
ldi dato,0b00000010 ;código (ABC=010) para activar el
display 2
out portd,dato
out portb,aux ;apagar display 2
ldi dato,0b00000011 ;código (ABC=011) para activar el
display 3
out portd,dato
out portb,aux ;apagar display 3
ldi dato,0b00000100 ;código (ABC=100) para activar los
leds
out portd,dato
call leer_num ;leer el dato ingresado
out portb,dato ;visualizar en los leds
sts num+3,dato ;almacenar el dato en num+3
clr dato ;poner cero en dato
sts num+2,dato ;almacenar en num+2
ret
;********************* Subrutinas de E/S ************************
config_entrada:
conver_BCD:
ret
cero:
siete_seg:
;**************************retardo********************************
conmutacion:
retardo:
;***********************leer dato****************************
leer_num1: