Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ASIGNATURA:
ARQUITECTURA DE MICROPROCESADORES
DOCENTE:
Ing. ESQUIVIAS BARRAGÁN, Paúl Jean
ESTUDIANTE:
VILLAZANA HUAMÁN, Ronald Cristhian
SEMESTRE:
2020-I
CICLO:
VI
PAMPAS-TAYACAJA
2020
Semaforo
;
$MOD51
$TITLE(semaforo)
;Definiciones
AGRN equ P1.0 ;asignamos el nombre simbolico AGRN al pin 0 del puerto 1
ARED equ P1.1 ;asignamos el nombre simbolico ARED al pin 0 del puerto 1
AYEL equ P1.2 ;asignamos el nombre simbolico AYEL al pin 0 del puerto 1
BGRN equ P1.3 ;asignamos el nombre simbolico BGRN al pin 0 del puerto 1
BRED equ P1.4 ;asignamos el nombre simbolico BRED al pin 0 del puerto 1
BYEL equ P1.5 ;asignamos el nombre simbolico BYEL al pin 0 del puerto 1
;******
EXT1: ; Subrutina EXT1
SETB ACC.0 ;ponemos un 1 a la direccion del bit 0 del
acomulador
RETI
;Subrutinas
CLR_LCD: ;subrutina CLR:LCD
MOV P0, #00h ; mover el valor 00h al puerto 0
RET ;termina subrutina y regresa
SETB EA ;poner 1 logico EXTERNA ACCESS ENABLE ejecuta los programas que se
encuentran en la memoria interna (ROM)
; *************
CLEAR_ALL: ;Etiqueta CLEAR_ALL
MOV P1,#00H ;Movemos el valor 00h al puerto 1
(limpiamos todas las luces)
CLR ACC.0 ;Ponemos un 0 ala dirección del bit 0 del
acumulador
RET
; *************
MOV R1,#14H ;movemos el valor 14h al registro 1
ONESEC: ;subrutina ONESEC (tiempo)
SEC_LOOP: ;subrutina SEC_LOOP
MOV TH0,#00H ;mover el valor 00h al contador TH0
MOV TL0,#00H ;movemos el valor 00H AL contador TL0
CLR TF0 ;poner 0 a "Bit de rebasamiento del
Timer 0.. La CPU lo pone a 0 cuando
SETB TR0 ;poner 1 logico el Bit de marcha/paro del
Timer 1.
JNB TF0,$ ; si TF0 es 0 salta a $
CLR TR0 ;ponemos 0 a TR0