13
Reporte PIC16F88 Prácticas Primer Examen Parcial Arias León Abraham•Barragán Moreno Edgar • Fierro Cota Rosa Microcontroladores 4-5 • Instituto Tecnológico de Mexicali Marzo 3 de 2008 Mario Camarillo • [email protected] •Instituto Tecnológico de Mexicali 1

microcontroladores

Embed Size (px)

DESCRIPTION

practica de microcotroladores

Citation preview

Page 1: microcontroladores

Reporte PIC16F88 Prácticas Primer Examen Parcial

Arias León Abraham•Barragán Moreno Edgar • Fierro Cota Rosa Microcontroladores 4-5 • Instituto Tecnológico de Mexicali Marzo 3 de 2008

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 1

Page 2: microcontroladores

IntroducciónMicrocontroladores

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

ningún dispositivo de “comunicación con humanos”, como monitor, teclados o mouse.

PIC16F88

El microcontrolador elegido para la presentación de las prácticas funcionales es el PIC16F88,

fabricado por Microchip. Las prácticas desarrolladas durante el primer periódo parcial represen-

tan una breve introducción al mundo de la programación de Microcontroladores, el lenguaje

ensamblador y las diversas instrucciones que este dispositivo maneja para el lenguaje ensambla-

dor. Se conocieron las ventajas que representa un microcontrolador contra los dispositivos lógi-

cos 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 pro-

puestos.

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 2

Page 3: microcontroladores

Práctica 1Recorrer un led a través de un puerto en un sentido y después en el otro sentido

CÓDIGO

#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 • [email protected]•Instituto Tecnológico de Mexicali 3

Page 4: microcontroladores

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 loop

decfsz CounterB,1

goto loop

decfsz CounterC,1

goto loop

return

end

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 4

Page 5: microcontroladores

Practica 1Diagrama de Flujo

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 5

Page 6: microcontroladores

Práctica 2 Enviar los 4 LSB de un puerto a los MSB de otro puerto

CÓDIGO

#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 PORTB;

GOTO CIC;

END;

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 6

Page 7: microcontroladores

Práctica 2Diagrama de Flujo

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 7

Page 8: microcontroladores

Práctica 3Autodiagnóstico. Dado un valor binario en los 4 LSB de un puerto, se tendrá una salida que pulsará el número de veces del valor numérico ingresado

Nota: Esta práctica se presenta sin los retardos requeridos. Esta práctica no resultó funcional

CÓDIGO

#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 • [email protected]•Instituto Tecnológico de Mexicali 8

Page 9: microcontroladores

Práctica 3Diagrama de Flujo

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 9

Page 10: microcontroladores

Práctica 4 Comparar 2 nibbles cualesquiera y activar un led, si son iguales.

CÓDIGO

#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 • [email protected]•Instituto Tecnológico de Mexicali 10

Page 11: microcontroladores

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 loop

decfsz CounterB,1

goto loop

decfsz CounterC,1

goto loop

return

end

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 11

Page 12: microcontroladores

Práctica 4Diagrama de Flujo

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 12

Page 13: microcontroladores

ConclusiónCon estas practicas realizadas logramos concluir que el microcontrolador es un poderozo

intrsumento para realzar procesos de acuerdo a nuestras necesidades, para asi llegar a con-

trolar cualquier sistema deseado.

Pudimos aprender que el lenguaje ensamblador es un poco complicado pero cuando se com-

prende 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 aplicacio-

nes en varias areas, por ejemplo: medicina, industria, entretenimiento, telecomunicaciones,etc.

Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 13