Vous êtes sur la page 1sur 3

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

;
%
;
UNIVERSIDAD POLITCNICA SALESIANA
%
;
FACULTAD DE CIENCIAS ELCTRICAS
%
;
ESCUELA DE INGENIERA ELECTRNICA
%
;
%
;
SISTEMAS MICROPROCESADOS I
%
;
%
;
Author:
cristian efren
%
;
%
;
Filename:
puno.asm
%
;
Date:
19-abril-13
%
;
File Version: v8.9
%
;
%
;
Description:
%
;
Programa para el manejo de 8 leds mediante pulsantes y dip switch
%
;
Primer programa de Sistemas Micro Procesados I
%
;
%
;
Pic: Pic16F877A...
%
;
%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;==============================================================================
;
INCLUSIN DE ARCHIVOS DE CABECERA (DEFINICIN DEL PROCESADOR)
;==============================================================================
list
p=16f877A
#include
<p16f877A.inc>
;==============================================================================
;
CONFIGURACIN DE BUSES DEL MICROCONTROLADOR PIC16F877A
=
;==============================================================================
__CONFIG 3F31
;==============================================================================
;
DEFINICIN DE BITS, PINES Y CONSTANTES
=
;==============================================================================
#define
LED_0
PORTC,0
#define
LED_1
PORTC,1
#define
LED_2
PORTC,2
#define
LED_3
PORTC,3
#define
LED_4
PORTC,4
#define
LED_5
PORTC,5
#define
LED_6
PORTC,6
#define
LED_7
PORTC,7
#define
#define
#define
#define

PB0
PB1
PB2
PB3

PORTB,0
PORTB,1
PORTB,2
PORTB,3

#define
#define
#define
#define

SW0
SW1
SW2
SW3

PORTB,4
PORTB,5
PORTB,6
PORTB,7

;#define
;#define

NUM_MAX
NUM_MIN

0xFF
0x00

;==============================================================================
;
DEFINICIN DE VARIABLES
=
;==============================================================================
;==============================================================================
;
VECTORES DE RESET, PGINA Y DE INTERRUPCIN
;==============================================================================
ORG
0x00
;vector de reset (pgina 0)
GOTO
main
;va al programa principa
l
ORG
0x04
;vector de interrupcin
;
GOTO
iSubInterrupt ;va al programa de interrupcion
;==============================================================================
;
SUBRUTINAS UTILIZADAS POR EL PROGRAMA PRINCIPAL
=
;==============================================================================
INICIO:
bcf
LED_1
bcf
LED_2
bcf
LED_3
nop
nop
nop
btfss
PB0
;BTFSS TESTEO SI ES 1.......BTFSC TESTEO
SI ES 0
bsf
LED_1
btfss
PB1
;BTFSS TESTEO SI ES 1.......BTFSC TESTEO
SI ES 0
bsf
LED_2
btfss
PB2
;BTFSS TESTEO SI ES 1.......BTFSC TESTEO
SI ES 0
bsf
LED_3
goto
INICIO
;-----------------------------------------------------------------------------;
Subrutina que inicializa variables del programa.
;-----------------------------------------------------------------------------iInitParameters
return
;-----------------------------------------------------------------------------;
Subrutina que configura puertos y registros de funciones especiales de l
os ;
perifricos del microcontrolador Pic16F877A.
;-----------------------------------------------------------------------------LConfigPeripherals
;Configuracin del puerto B(TODAS ENTRADAS PARA LOS DIPS, Y PULSANTES)
bsf
STATUS,RP0
movlw
0xFF
movwf
TRISB
bcf
STATUS,RP0
;Configuracin del puerto C(TODAS SALIDAS PARA LEDS)
bsf
STATUS,RP0

; CAMBIO AL BANCO1

movlw
movwf
bcf
return

0x00
TRISC
STATUS,RP0

;REGRESO AL BANCO 0

;==============================================================================
;
SUBRUTINA PRINCIPAL (main)
=
;==============================================================================
main
call
LConfigPeripherals
;
call
iInitParameters
GOTO
INICIO
;Bucle:
;
goto
Bucle
end

Vous aimerez peut-être aussi