Está en la página 1de 13

Reporte PIC16F88

Prcticas Primer Examen Parcial


Arias Len AbrahamBarragn Moreno Edgar Fierro Cota Rosa
Microcontroladores 4-5 Instituto Tecnolgico de Mexicali
Marzo 3 de 2008

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Introduccin
Microcontroladores

Un microcontrolador es un circuito integrado que contiene muchas de las mismas cualidades


que una computadora de escritorio, tales como la CPU, la memoria, etc., pero no incluye
ningn dispositivo de comunicacin con humanos, como monitor, teclados o mouse.

PIC16F88
El microcontrolador elegido para la presentacin de las prcticas funcionales es el PIC16F88,
fabricado por Microchip. Las prcticas desarrolladas durante el primer perido parcial representan una breve introduccin al mundo de la programacin de Microcontroladores, el lenguaje
ensamblador y las diversas instrucciones que este dispositivo maneja para el lenguaje ensamblador. Se conocieron las ventajas que representa un microcontrolador contra los dispositivos lgicos programables, mayor capacidad. rapidez y un mayor control sobre los datos procesados.

Una vez comprendido en el aula de clases , la arquitectura, estructura, funcionamiento, tipo de


almacenamiento y variables del dispositivo, se procede a realizar los siguientes ejercicios propuestos.

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Prctica 1
Recorrer un led a travs de un puerto en un sentido y despus en el otro sentido
CDIGO
#include <p16F88.inc>
CBLOCK 0x20 ; Start Registers at End of the Values
CounterA
CounterB
CounterC
temp
ENDC
org 0

banksel ANSEL

clrf ANSEL

movlw b'00000000'

movwf TRISB

banksel OSCCON

bsf

OSCCON, IRCF2

bsf

OSCCON, IRCF1

bcf

OSCCON, IRCF0

bcf

OSCCON,SCS0

bcf

OSCCON,SCS1

banksel PORTB

clrf PORTB

main

bsf PORTB,0

loop1 call delay_1seg


bcf STATUS,C

rlf PORTB
Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

btfss STATUS,C

goto loop1

bcf STATUS,C

bsf PORTB,7

loop2 call delay_1seg


rrf PORTB

btfss STATUS,C

goto loop2

bcf STATUS,C

goto main

delay_1seg

movlw D'6'

movwf CounterC

movlw D'19'

movwf CounterB

movlw D'173'

movwf CounterA

loop

decfsz CounterA,1

goto

decfsz CounterB,1

goto

decfsz CounterC,1

goto

return

end

loop
loop
loop

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Practica 1
Diagrama de Flujo

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Prctica 2
Enviar los 4 LSB de un puerto a los MSB de otro puerto
CDIGO
#INCLUDE <P16F88.INC>
#DEFINE MANIACA 0X22;

ORG 0;

BANKSEL

PORTA;

CLRF

PORTA;

BANKSEL

ANSEL;

MOVLW

0X00;

MOVWF

ANSEL;

MOVLW

0X0F;

MOVWF

TRISA;

BANKSEL

TRISB;

MOVLW

0X00;

MOVWF

TRISB;

BANKSEL

PORTB;

CLRF

PORTB;

CIC

MOVF

PORTA,W;

MOVWF

MANIACA;

SWAPF MANIACA,W;

MOVWF

GOTO CIC;

END;

PORTB;

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Prctica 2
Diagrama de Flujo

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Prctica 3
Autodiagnstico. Dado un valor binario en los 4 LSB de un puerto, se tendr una
salida que pulsar el nmero de veces del valor numrico ingresado
Nota: Esta prctica se presenta sin los retardos requeridos. Esta prctica no result funcional

CDIGO
#INCLUDE <P16F88.INC>
#DEFINE CONT 0X20;
org 0;

BANKSEL

PORTA;

CLRF

PORTA;

BANKSEL

ANSEL;

MOVLW

0x00;

MOVWF

ANSEL;

MOVLW

0x15;

MOVWF

TRISA;

BANKSEL

TRISB;

CLRF

TRISB;

BANKSEL

PORTB;

CICLO MOVF PORTA,W;


MOVWF

CONT ;

CICLOTWICE

BSF

PORTB,0;

BCF

PORTB,0;

DECFSZ

CONT,F;

GOTO

CICLOTWICE;

GOTO

CICLO;

end

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Prctica 3
Diagrama de Flujo

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

Prctica 4
Comparar 2 nibbles cualesquiera y activar un led, si son iguales.
CDIGO
#include <p16F88.inc>
CBLOCK 0x20
CounterA
CounterB
CounterC
temp
temp2
ENDC

org 0

banksel

ANSEL

clrf

ANSEL

movlw

b'00000000'

movwf

TRISB

movlw

0xFF

movwf

TRISA

banksel

OSCCON

bsf

OSCCON, IRCF2

bsf

OSCCON, IRCF1

bcf

OSCCON, IRCF0

bcf

OSCCON,SCS0

bcf

OSCCON,SCS1

banksel

PORTB

clrf

PORTB

clrf

temp2

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

10

main

movf temp2,w

xorwf PORTA,w

btfsc STATUS,Z

goto main

movf PORTA,w

andlw b'11111111'

btfsc STATUS,Z

goto main

movwf temp

movwf temp2

goto loop1
loop1

bsf

PORTB,3

call

delay_200msec

bcf

PORTB,3

call

delay_200msec

decfsz temp

goto

loop1

goto

main

delay_200msec

movlw D'2'

movwf CounterC

movlw D'4'

movwf CounterB

movlw D'185'

movwf CounterA

loop

decfsz CounterA,1

goto

decfsz CounterB,1

goto

decfsz CounterC,1

goto

return

loop
loop
loop

end

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

11

Prctica 4
Diagrama de Flujo

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

12

Conclusin
Con estas practicas realizadas logramos concluir que el microcontrolador es un poderozo
intrsumento para realzar procesos de acuerdo a nuestras necesidades, para asi llegar a controlar cualquier sistema deseado.
Pudimos aprender que el lenguaje ensamblador es un poco complicado pero cuando se comprende la logica de este es mucho mas sencillo.
Ademas notamos que estas sencillas practicas podrian convertirse en importantes partes de un
sistemas ya sea para controlar un trabajo de acuerdo a la aplicacion que se le este dando.
El PIC16F88 siendo un microcontrolador reciente, pudimos aprender de sus ventajas que tiene
sobre los demas microcontroladores, uno de ellos es su sistema harvard. El microcontrolador
mencionado tiene la ventaja de transferirte de un banco a otro con un sencillo comando
banksel.
Por terminar , el PIC16F88 es una gran herramienta en la era en que vivimos para aplicaciones en varias areas, por ejemplo: medicina, industria, entretenimiento, telecomunicaciones,etc.

Mario Camarillo micros4a5@micro-bios.comInstituto Tecnolgico de Mexicali

13

También podría gustarte