microcontroladores
-
Upload
jose-alejandro-amezquita-garcia -
Category
Documents
-
view
111 -
download
1
description
Transcript of 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
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
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
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
Practica 1Diagrama de Flujo
Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 5
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
Práctica 2Diagrama de Flujo
Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 7
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
Práctica 3Diagrama de Flujo
Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 9
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
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
Práctica 4Diagrama de Flujo
Mario Camarillo • [email protected]•Instituto Tecnológico de Mexicali 12
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