Post on 06-Jul-2015
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 1/21
Universidad Politécnica de Chiapas
Materia:
Microcontroladores
Tema:
Practica 1 Sumador de 4 Bits
Catedrático:
Ing. José Luis López
Alumna:
Fátima Daniela González Mateo
No. de Control
093187
Tuxtla Gutiérrez, Chiapas 01 de Junio del 2011
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 2/21
2
ContenidoObjetivos generales ........................................................................................................................ 3
Introducción................................................................................................................................... 4
Practica 1 Sumador de cuatro bits .................................................................................................. 5
Objetivo de la práctica ................................................................................................................ 5
Desarrollo de la práctica ............................................................................................................. 5
Simulación.................................................................................................................................. 6
Materiales para simulación ..................................................................................................... 6
Programa ................................................................................................................................... 7
Descripción del Programa ....................................................................................................... 7
Practica 2 Sumador y Restador de cuatro bits ............................ ............................ ........................ 9
Objetivo de la práctica ................................................................................................................ 9
Desarrollo de la práctica ............................................................................................................. 9
Simulación................................................................................................................................ 10
Materiales para simulación ................................................................................................... 10
Programa ................................................................................................................................. 11
Descripción del Programa ..................................................................................................... 12
Practica 3 Retardo de 100ms ........................................................................................................ 13
Objetivo de la práctica .............................................................................................................. 13
Desarrollo de la práctica ........................................................................................................... 13
Simulación................................................................................................................................ 14
Materiales para simulación ................................................................................................... 14
Programa ................................................................................................................................. 15
Descripción del Programa ..................................................................................................... 16
Practica 4 Rotación de Leds .......................................................................................................... 17
Objetivo de la práctica .............................................................................................................. 17
Desarrollo de la práctica ........................................................................................................... 17
Simulación................................................................................................................................ 18
Materiales para simulación ................................................................................................... 18
Programa ................................................................................................................................. 19
Descripción del Programa ..................................................................................................... 21
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 3/21
3
Objetivos generales
Con las siguientes prácticas se pretende realizar distintas prácticas utilizando el
PIC16F877A, esto implica que se aprenda a programar en lenguaje ensamblador utilizando las
distintas instrucciones que dicho PIC nos proporciona.
Así como también realizar la simulación de nuestro circuito para poder cargar el programa
en él y de esta forma hacer visual lo que estamos realizando en nuestro programa.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 4/21
4
Introducción
A través de programas realizados en lenguaje ensamblador y simulaciones se realizó
cuatro distintas practicas con el objetivo de aprender a utilizar las distintas instrucciones básicas
que se le pueden ordenar a un microcontrolador en este caso para todas las practicas se utilizó elPIC16F877A.
Para la realización de estas prácticas primeramente fue de suma importancia aprender a
realizar la configuración de los puertos I/O. Así como también, como podemos declarar nuestras
variables y el tipo de PIC a utilizar. Otro factor que es indispensable para realizar las practicas es
conocer lo que realiza y la sintaxis de cada una de las instrucciones.
Las prácticasque se realizó son las siguientes:
y Realizar la suma de dos números de 4 bits.
y Realizar la suma o la resta de dos números de 4 bits, indicando el tipo de operación a
través de un selector.
y Realizar un retardo de un total de 100ms.
y A través de un selector de 4 opciones, indicar el desplazamiento del encendido de un led
con un retardo de 500ms.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 5/21
5
Practica 1 Sumador de cuatro bits
Objetivo de la práctica
Esta práctica pretende realizar la suma de dos números de cuatro bits, introducidos por el
usuario a través de dos dip-switch y teniendo como salida el encendido de leds con el resultado de
la operación. Los datos tanto de entrada como los de salidas serán en el sistema binario, los cuales
serán procesados por el programa previamente cargado al microcontrolador.
Desarrollo de la práctica
La suma se realiza por medio de un programa cargado previamente al PIC en la simulación.
El programa cuenta de varias etapas las cuales son las siguientes:
y Se indica el tipo de PIC a utilizar
y Se indica el tipo de cristal a utilizar
y Se desactiva un error que aparece en la compilación
y Se realiza la declaración de variables a utilizar y en el número de registro donde queda
almacenada.
y Se realiza la configuración de los puertos en este caso en puerto B se configura como
entrada y el puerto D como salida.y Finalmente se realiza el programa que realizara la operación.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 6/21
6
Simulación
Materiales para simulación
y 1 PIC16F87A
y 2 Dip-Switch de cuatro entradas
y 6 Leds
y 1 Resistencia de 1k
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP4 27RD3/PSP3
22RD2/PSP2
21
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
U1
PIC16F877A
O FF ON 12
34
87
65
DSW1
DIPSW_4
O FF ON 1
23
4
8
76
5
DSW2
DIPSW_4
D1
LED-BLUE
D2
LED-BLUE
D3
LED-BLUE
D4
LED-BLUE
D5
LED-BLUE
D6
LED-BLUE
R1
1k
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 7/21
7
Programa
includep16f877a.inc"
list p=16f877a
errorlevel 1,-302
__Config _XT_OSC &_WDT_OFF
;-----------------------------------------------------------
VAR1 EQU 0x20
VAR2 EQU 0x21
VAR3 EQU 0x22
RESUL EQU 0x23
;-----------------------------------------------------------
BSF STATUS,5
MOVLW 0x06MOVWF ADCON1MOVLW 0xFF
MOVWF TRISB
CLRF TRISD
BCF STATUS,5
;-----------------------------------------------------------
;---------------------------------------------------
CLRF PORTD
CLRF PORTB
INICIO MOVF PORTB,0
MOVWF VAR1
ANDLW 0x0F
MOVWF VAR2
MOVF VAR1,0
ANDLW 0xF0
MOVWF VAR3
SWAPF VAR3,0
ADDWF VAR2,0
MOVWF RESUL
MOVWF PORTD
GOTO INICIO
END
Descripción del Programa
Para que el programa realice las operación en este caso la suma, primeramente los datos
introducidos en el puerto B se mueven al registro w, los datos almacenados en registro w se
mueven a una primera variable en este caso VAR1, de dicha variable se realiza un and con los
nibles bajos del puerto B y se almacena en el registro w, el cual posteriormente se envía a una
tercera variable en este caso VAR2.
Se carga nuevamente VAR1 al registro w y se realiza un and pero ahora con los nibles altos
y se almacena en VAR3. Los datos almacenados en la VAR3 quedan almacenados entonces en el
nible alto del puerto B , lo cual no nos sirve si es que queremos sumar dos números de 4 bits, por
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 8/21
8
lo tanto, con la instrucción SWAPF se realiza un cambio de los datos de la VAR3 de un nibles alto a
un nible bajo y los datos se almacenan en w.
Finalmente se realiza la suma de VAR2 con w y el resultado de la operación se mueven al
puerto B para que así podamos observarlo a través de los leds.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 9/21
9
Practica 2 Sumador y Restador de cuatro bits
Objetivo de la práctica
Esta práctica pretende realizar la suma o la resta de dos números de cuatro bits,introducidos por el usuario a través de dos dip-switch y teniendo como salida el encendido de leds
con el resultado de la operación. Los datos tanto de entrada como los de salidas serán en el
sistema binario, los cuales serán procesados por el programa previamente cargado al
microcontrolador. Para seleccionar el tipo de operación que realizara el PIC, se le debe indicar a
través de un dip-switch, si la entrada es un 1 se realizara la suma; si la entrada es un 0 se realizara
la resta.
Desarrollo de la práctica
La suma o la resta se realizan por medio de un programa cargado previamente al PIC en la
simulación. El programa cuenta de varias etapas las cuales son las siguientes:
y Se indica el tipo de PIC a utilizar
y Se indica el tipo de cristal a utilizar
y Se desactiva un error que aparece en la compilación
y Se realiza la declaración de variables a utilizar y en el número de registro donde queda
almacenada.
y Se realiza la configuración de los puertos en este caso en puertoA y B se configura como
entrada y el puerto D como salida.
y Finalmente se realiza el programa que realizara la operación.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 10/21
10
Simulación
Materiales para simulación
y 1 PIC16F87A
y 2 Dip-Switch de cuatro entradas
y 6 Leds
y 2 Resistencias (1k y 220)
y 1 Dip-Switch de dos entradas
R A0/A
02
R A1/A
13
R A2/A
2/VRE¡
/£
VRE¡ 4
R A4/¤
0£
KI/£
1O¥ ¤ 6
R A5/A
4/SS/£
2O¥ ¤ 7
RE0/A
5/RD8
RE1/A
6/WR9
RE2/A
7/£
S10
OS£
1/£
LKI 13
OS£
2/£
LKO¥ ¤ 14
RC1/¤
1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP1 20
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PG¦ 36
RB235
RB134
RB0/I ¤ 33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SD A23
R A3/A
3/VRE¡
§
5
RC0/T1OSO/T1CKI15
¦
CLR/Vpp/THV1
̈
1
PIC16¡
877A
O © © O 1
23
4
8
76
5
DSW1
DIPSW_4
O © © O 1
2
3
4
8
7
6
5
DSW2
DIPSW_4
D1
LED-BL
E
D2
LED-BL
E
D3
LED-BL
E
D4
LED-BL
E
D5
LED-BL
E
D6
LED-BL
E
R1
1k
O © © O 1
2
4
3
DSW3
DIPSW_ 2
R2
220
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 11/21
11
Programa
include"p16f877a.inc"
list p=16f877a
errorlevel 1,-302
__Config _XT_OSC &_WDT_OFF
;---------------------------------
VAR1 EQU 0x20
VAR2 EQU 0x21
VAR3 EQU 0x22
RESUL EQU 0x23
;---------------------------------
BSF STATUS,5
MOVLW 0x06
MOVWF ADCON1
MOVLW 0xFF
MOVWF TRISB
MOVLW 0xFF
MOVWF TRISA
CLRF TRISD
BCF STATUS,5
;----------------------------------------------
C
LRF PORTD
CLRF PORTB
CLRF PORTA
SELECC BTFSC PORTA,0
GOTO SUMA
GOTO RESTA
SUMA MOVF PORTB,0
MOVWF VAR1
ANDLW 0x0F
MOVWF VAR2
MOVF VAR1,0
ANDLW 0xF0
MOVWF VAR3
SWAPF VAR3,0
ADDWF VAR2,0
MOVWF PORTD
GOTO SELECC
RESTA MOVF PORTB,0
MOVWF VAR1
ANDLW 0x0F
MOVWF VAR2
MOVF VAR1,0
ANDLW 0xF0
MOVWF VAR3
SWAPF VAR3,0
SUBWF VAR2,0
MOVWF PORTD
GOTO SELECC
END
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 12/21
12
Descripción del Programa
Para que el programa realice las operación en este caso la suma o la resta, primeramente
los datos introducidos en el puerto B se mueven al registro w, los datos almacenados en registro w
se mueven a una primera variable en este caso VAR1, de dicha variable se realiza un and con losnibles bajos del puerto B y se almacena en el registro w, el cual posteriormente se envía a una
tercera variable en este caso VAR2.
Se carga nuevamente VAR1 al registro w y se realiza un and pero ahora con los nibles altos
y se almacena en VAR3. Los datos almacenados en la VAR3 quedan almacenados entonces en el
nible alto del puerto B , lo cual no nos sirve si es que queremos sumar dos números de 4 bits, por
lo tanto, con la instrucción SWAPF se realiza un cambio de los datos de la VAR3 de un nibles alto a
un nible bajo y los datos se almacenan en w.
Finalmente se realiza la operación correspondiente, si es suma se utiliza la instrucción
ADDWF la cual suma la VAR2 con w; si la operación a realizar es resta se utiliza la instrucción
SUBWF la cual resta VAR2 con w. El resultado de la operación se mueven al puerto B para que así
podamos observarlo a través de los leds.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 13/21
13
Practica 3 Retardo de 100ms
Objetivo de la práctica
Esta práctica pretende realizar el encendido de un led con un retardo de 100ms, estoquiere decir que el led permanecerá encendido 100ms y posteriormente se apagara otros 100ms.
para ello se realiza un programa principal en el cual se mandara a llamar el retardo.
Desarrollo de la práctica
El retardo a se realiza por medio de un programa cargado previamente al PIC en la
simulación. El programa cuenta de varias etapas las cuales son las siguientes:
y Se indica el tipo de PIC a utilizar
y Se indica el tipo de cristal a utilizar
y Se desactiva un error que aparece en la compilación
y Se realiza la declaración de variables a utilizar y en el número de registro donde queda
almacenada.
y Se realiza la configuración del puerto D como salida.
y Finalmente se realiza el programa en el cual será llamado el retardo de 100ms.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 14/21
14
Simulación
Materiales para simulación
y 1 PIC16F87A
y 1 Led
y 1 Osciloscopio
RA0/ AN02
RA1/ AN13
RA2/ AN2/
REF-/
REF4
RA4/T0
I/
1
T6
RA5/ AN4/
/
2
T7
RE0/ AN5/RD8
RE1/ AN6/
R9
RE2/ AN7/ 10
1/
L IN13
2/
L
T14
RC1/T1
I/CCP216
RC2/CCP117
RC3/
CK/
CL18
RD0/PSP019
RD1/PSP120
RB7/PGD
40RB6/PGC
39RB5
38RB4
37RB3/PGM
36RB2
35RB1
34RB0/INT
33
RD7/PSP7 30
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/ AN3/
REF+5
RC0/T1OSO/T1CKI15
MCLR/
pp/T V1
1
PIC16F877 A
D1
LED-BL
E
A
B
C
D
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 15/21
15
Programa
include"p16f877a.inc"
list p=16f877a
errorlevel 1,-302
__Config _XT_OSC &_WDT_OFF
;-----------------------------------------------------------
VAR1 EQU 0x20
VAR2 EQU 0x21
;-------------------------------------------------------
BSF STATUS,5
MOVLW 0x06
MOVWF ADCON1
MOVLW 0xFF
MOVWF TRISB
CLRF TRISD
BCF STATUS,5
;-----------------------------------------------------------
CLRF PORTD
PROGRAMA MOVLW 0x01
MOVWF TRISD
C
ALL RETARDO
CLRW
MOVWF TRISD
CALL RETARDO
GOTO PROGRAMA
;-----------------------------------------------------------
RETARDO MOVLW d'130'
MOVWF VAR2
MOVLW d'255'
DEC2 MOVWF VAR1
DEC1 DECFSZ VAR1,1
GOTO DEC1
DECFSZ VAR2,1
GOTO DEC2
MOVLW d'52'
MOVWF VAR1
DEC3 DECFSZ VAR1,1
GOTO DEC3
NOP
RETURN
END
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 16/21
16
Descripción del Programa
En el programa principal se carga a w el valor de 1, posteriormente ese valor se manda al
puerto D donde se podrá observar por medio del encendido y apagado del led el retardo de
100ms. Enseguida, se manda a llamar a la subrutina en este caso etiquetada como RETARDO (todoesto es para que el led se logre encender los 100ms). Finalmente se borra los datos cargados a w y
se vuelven a enviar a w, posteriormente se manda a llamar a la subrutina RETARDO (esto realiza el
apagado del led). Por medio de la instrucción GOTO se regresa a PROGRAMA.
Para realizar la subrutina de retardo se realizó operaciones de tal forma que al correr el
programa el retardo dure exactamente 100ms. para ello fue indispensable utilizar tres variables en
este caso DEC1, DEC2 y DEC3, las cuales son utilizadas como contadores. También la instrucción
DECFSZ para ir decrementando nuestras variables.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 17/21
17
Practica 4 Rotación de Leds
Objetivo de la práctica
Esta práctica pretende realizar el encendido ocho leds cada uno con un retardo de 500ms,el encendido de los leds se llevara acabo de tal forma que al observarlos cada led va encendiendo
rotando uno a uno. Para ellos tenemos cuatro forma en cómo se hará la rotación de los leds, dicha
forma será introducida por el usuario a través de un selector. Las cuatro formas son las siguientes:
y No enciende ningún led.
y Rotación de izquierda a derecha.
y Rotación de derecha a izquierda.
y Rotación de izquierda a derecha y de derecha a izquierda.
Desarrollo de la práctica
La rotación del encendidos de los leds se realiza por medio de un programa cargado
previamente al PIC en la simulación. El programa cuenta de varias etapas las cuales son las
siguientes:
y Se indica el tipo de PIC a utilizar
y Se indica el tipo de cristal a utilizar
y Se desactiva un error que aparece en la compilación
y Se realiza la declaración de variables a utilizar y en el número de registro donde queda
almacenada.
y Se realiza la configuración del puerto B como entrada y el puerto D como salida.
y Finalmente se realiza el programa en el cual se indica la forma en que se rotara el
encendido de los leds.
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 18/21
18
Simulación
Materiales para simulación
y 1 PIC16F87A
y 8 Leds
y 1 Dip-Switch de dos entradas
y 2 Resistencias (1k y 330)
R
0/
N02
R
1/
N13
R
2/
N2/!
R" #
-/C!
R" # 4
R
4/T0C$
I/C1%
UT6
R
5/
N4/& &
/C2%
UT7
R"
0/
N5/RD8
R"
1/
N6/'
R9
R"
2/
N7/C& 10
% &
C1/CL$
IN13
% &
C2/CL$
%
UT14
RC1/T1% &
I/CC(
216
RC2/CC(
117
RC3/&
C$
/&
CL18
RD0/(
&
(
019
RD1/(
&
(
120
R)
7/(
0
D40
R)
6/(
0
C39
R)
538
R)
437
R)
3/(
0
1 36R
)
235
R)
134R
)
0/INT33
RD7/(
&
(
7 30
RD6/( & (
629
RD5/(
&
(
528
RD4/(
&
(
427
RD3/(
&
(
322
RD2/(
&
(
221
RC7/R2
/DT26
RC6/TX/C$ 25
RC5/&
D% 24
RC4/&
DI/&
D 23
R
3/
N3/!
R" #
3 5
RC0/T1% & %
/T1C$
I15
1
CLR/!
pp/TH! 1
U1
(
IC16#
877
R1
14
OFF ON 1
2
4
3
D5
6
1
DI7
8
9
_2
R2
330
D1
L@
D-R@
D
D2
L
@
D-R
@
DD3
L@
D-R@
D
D4
L@
D-R@
D
D5
L@
D-R@
D
D6
L@
D-R@
D
D7
L
@
D-R
@
DD8
L@
D-R@
D
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 19/21
19
Programainclude"p16f877a.inc"
list p=16f877a
errorlevel 1,-302
__Config _XT_OSC&_WDT_OFF
;-----------------------------------------------------------
VAR1 EQU 0x20
VAR2 EQU 0x21
VAR3 EQU 0x22
VAR4 EQU 0x24
VAR5 EQU0x25
CONT1 EQU0x26
CONT2 EQU0x27
;-----------------------------------------------------------
BSF STATUS,5
MOVLW 0x06
MOVWF ADCON1
MOVLW 0xFF
MOVWF TRISB
CLRF TRISD
BCF STATUS,5
;-----------------------------------------------------
CLRF PORTD
CLRF PORTB
MOVLW d'8'
MOVWF CONT1
MOVWF CONT2
SELEC BTFSC PORTB,0
GOTO SELEC2
GOTO SELEC1
SELEC1 BTFSS PORTB,1
GOTO SELEC
GOTO IZQUIERDA
SELEC2 BTFSC PORTB,1
GOTO IDDI
GOTO DERECHA
DERECHA MOVLW d'8'
MOVWF CONT1
BCF STATUS,0
MOVLW d'1'
DER MOVWF PORTD
CALL RETARDO
RLF PORTD,0
DECFSZ CONT1,1
GOTO DER
GOTO S ELEC
IZQUIERDA MOVLW d'8'
MOVWF CONT1
BCF STATUS,0
MOVLW d'128'
IZQ MOVWF PORTD
CALL RETARDO
RRF PORTD,0
DECFSZ CONT1,1
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 20/21
20
GOTO IZQ
GOTO SELEC
IDDI MOVLW d'8'
MOVWF CONT1
MOVWF CONT2
BCF STATUS,0
MOVLW d'128'
IZQ1 MOVWF PORTD
CALL RETARDO
RRF PORTD,0
DECFSZ CONT1,1
GOTO IZQ1
BCF STATUS,0
MOVLW d'1'
DER1 MOVWF PORTD
CALL RETARDO
RLF PORTD,0
DECFSZ CONT2,1
GOTO DER1
GOTO SELEC
RETARDO
MOVLW d'2'
MOVWF VAR5MOVLW d'247'
MOVWF VAR4
MOVLW d'100'
MOVWF VAR3
DEC3 MOVLW d'5'
MOVWF VAR2
MOVLW d'248'
DEC2 MOVWF VAR1
DEC1 NOP
DECFSZ VAR1,1
GOTO DEC1
DECFSZ VAR2,1
GOTO DEC2
DECFSZ VAR3,1
GOTO DEC3
INIC MOVLW d'248'
MOVWF VAR4
DEC4 NOP
DECFSZ VAR4
GOTO DEC4
DECFSZ VAR5
GOTO INIC
NOP
NOP
NOP
NOP
RETURN
END
5/8/2018 REPORTE MICROCONTROLADORES - slidepdf.com
http://slidepdf.com/reader/full/reporte-microcontroladores-559ac17894a54 21/21
21
Descripción del Programa
En el programa primero entra el selector el cual dependiendo la entrada del usuario va
mandarlo a cuatro subrutinas diferentes los cuales son:
00 No enciende ningún led
01 Rotación del encendido de los leds de derecha a izquierda
10 Rotación del encendido de los leds de izquierda a derecha
11 Rotación de los leds de derecha a izquierda y de derecha a izquierda
En el programa se utilizan las instrucciones DECFSZ para decrementar las variables, RRF y
RLF para rotar los bits hacia la derecha y hacia la izquierda respectivamente, BTFSS y BTFSC para
hacer las condicionales del selector. Así como también se aplica un retardo de 500ms, el cual es el
tiempo de encendido del led antes de que rote y encienda el siguiente led