Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Micro Control Adores
Micro Control Adores
Introduccin
Microcontroladores
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.
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
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
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
Practica 1
Diagrama de Flujo
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;
Prctica 2
Diagrama de Flujo
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;
MOVWF
CONT ;
CICLOTWICE
BSF
PORTB,0;
BCF
PORTB,0;
DECFSZ
CONT,F;
GOTO
CICLOTWICE;
GOTO
CICLO;
end
Prctica 3
Diagrama de Flujo
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
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
11
Prctica 4
Diagrama de Flujo
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.
13