Академический Документы
Профессиональный Документы
Культура Документы
Guía 5 1
Facultad: Ingeniería.
Escuela: Electrónica.
Asignatura: Microprocesadores.
Lugar de ejecución: Laboratorio de
Automatización (Edificio 3, 1a planta).
Objetivo general
• Desarrollar habilidades para programar los puertos I/O haciendo uso de los servicios
de interrupciones de hardware.
Objetivos específicos
Materiales y equipo
Procedimiento
PARTE I
DESARROLLO DE CONTADOR DISPARADO POR INTERRUPCCIONES
1. Ejecute el programa Codewarrior instalado en su computadora.
2. Cree un nuevo proyecto tal como se aprendió en la guía 1
3. Edite el archivo fuente main.asm, escriba o copie el código que se le proporciona,
haga su compilación y asegúrese de no tener errores de sintaxis.
;************************************************************
;* USO DE INTERRUPCIONES EN PUERTOS I/O *
;************************************************************
; export symbols
XDEF Entry, _Startup ; export 'Entry' symbol
2 Microprocesadores. Guía 5
ABSENTRY Entry ; for absolute assembly: mark this as application entry point
; code section
ORG ROMStart
Entry:
_Startup:
LDS #RAMEnd+1 ;Inicialización del puntero de pila
;*************************************
;* Rutina de servicio *
;*************************************
ORG $4100 ;Inicia el código de la rutina de servicio
SEI ;Desactivar temporalmente la aceptación de interrupciones
LDAB PTP ;Leer el puerto P
ANDB #$03 ;Discriminar bits 0 y 1
CMPB #$00 ;Verificar que no sea un falso
BEQ fin ;Si es así termine la rutina
CMPB #$03 ;Verificar que no sea un falso
BEQ fin ;Si es así termine la rutina
BITB #1 ;¿SW1 activo? Prueba de bit 1 en registro B
BEQ incre ;Salta si está en cero (es activo en cero)
DEC conta ; NO entonces alguien salió: Decremente el contador
BSET PIFP,2 ;Limpiamos la bandera de estado
BRA fin ;Terminar la rutina de servicio
incre: INC conta ;Incremente el contador
BSET PIFP,1 ;Limpiamos la bandera de estado
fin: CLI ;Reactivar la aceptación de interrupciones
RTI ;Terminar la rutina de servicio
Microprocesadores. Guía 5 1
;**************************************************************
;* Interrupt Vectors *
;**************************************************************
ORG $FFFE
DC.W Entry ; Reset Vector
ORG $FF8E
DC.W $4100 ; Vector para interrupciones I/O Puerto P
Listado 1. Programa para manejo de interrupcciones.
PARTE II
DESAFIO CORTO
8. Retire la energía del modulo de desarrollo y ensamble el circuito de la figura 2
4 Microprocesadores. Guía 5
9. Modifique el programa principal para que el sistema active una alarma visualizada por
el LED del circuito de la figura 2 cuando el contador alcance un valor mayor o igual a
16 y que se desactive cuando el contador tenga un valor menor de 16.
11. Retire la energía del modulo de desarrollo y desconecte el cableado para completar su
práctica.
Evaluación
Bibliografía