May 10, 2017 | Author: J Alex Amezquita | Category: N/A
Descripción: practica de microcotroladores...
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ón 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 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 representan 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 ensamblador. Se conocieron las ventajas que representa un microcontrolador contra los dispositivos lógicos 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 •
[email protected]•Instituto Tecnológico de Mexicali
2
Práctica 1 Recorrer un led a través de un puerto en un sentido y después en el otro sentido CÓDIGO #include 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
decfsz CounterB,1
goto
decfsz CounterC,1
goto
return
end
loop loop loop
Mario Camarillo •
[email protected]•Instituto Tecnológico de Mexicali
4
Practica 1 Diagrama 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 #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 •
[email protected]•Instituto Tecnológico de Mexicali
6
Práctica 2 Diagrama de Flujo
Mario Camarillo •
[email protected]•Instituto Tecnológico de Mexicali
7
Práctica 3 Autodiagnó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 #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 3 Diagrama 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 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
decfsz CounterB,1
goto
decfsz CounterC,1
goto
return
loop loop loop
end
Mario Camarillo •
[email protected]•Instituto Tecnológico de Mexicali
11
Práctica 4 Diagrama de Flujo
Mario Camarillo •
[email protected]•Instituto Tecnológico de Mexicali
12
Conclusión 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 •
[email protected]•Instituto Tecnológico de Mexicali
13