REPORTE MICROCONTROLADORES

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 d el 2011

Transcript of REPORTE MICROCONTROLADORES

Page 1: REPORTE MICROCONTROLADORES

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

Page 2: REPORTE MICROCONTROLADORES

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

Page 3: REPORTE MICROCONTROLADORES

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.

Page 4: REPORTE MICROCONTROLADORES

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.

Page 5: REPORTE MICROCONTROLADORES

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.

Page 6: REPORTE MICROCONTROLADORES

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

Page 7: REPORTE MICROCONTROLADORES

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

Page 8: REPORTE MICROCONTROLADORES

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.

Page 9: REPORTE MICROCONTROLADORES

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.

Page 10: REPORTE MICROCONTROLADORES

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

Page 11: REPORTE MICROCONTROLADORES

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

Page 12: REPORTE MICROCONTROLADORES

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.

Page 13: REPORTE MICROCONTROLADORES

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.

Page 14: REPORTE MICROCONTROLADORES

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/  

  T7

RE0/ AN5/RD8

RE1/ AN6/ 

R9

RE2/ AN7/  10

 

1/ 

L   IN13

 

2/ 

 

 

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

Page 15: REPORTE MICROCONTROLADORES

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

Page 16: REPORTE MICROCONTROLADORES

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.

Page 17: REPORTE MICROCONTROLADORES

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.

Page 18: REPORTE MICROCONTROLADORES

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)

0/ 

N02

1/ 

N13

2/ 

N2/! 

R" # 

-/C! 

R" # 4

4/T0C$ 

I/C1% 

UT6

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/( 

D40

R) 

6/( 

C39

R) 

538

R) 

437

R) 

3/( 

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

3/ 

N3/! 

R" # 

3 5

RC0/T1% & % 

/T1C$ 

I15

CLR/! 

 

pp/TH! 1

U1

IC16# 

877 

R1

14 

OFF ON 1

2

4

3

D5 

1

DI7 

_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

Page 19: REPORTE MICROCONTROLADORES

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

 

Page 20: REPORTE MICROCONTROLADORES

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

Page 21: REPORTE MICROCONTROLADORES

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