MONOGRAFIA (PROYECTO PIC16F84A)
Transcript of MONOGRAFIA (PROYECTO PIC16F84A)
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
1/34
1
HONOR LEATAD SACRIFICIO
Presentado por:Urbina Salazar Manuel.
Alvarado Valenzuela Luis Jess.
Garca Miranda Herix Yamileth.
Catedrtico:Lic. En Informtica Marco Tulio Serrato.
III Parcial del Segundo Trimestre de Programacin.
Proyecto:Tacmetro o Contador De Revolucin Por minuto.
UNIVERSIDAD DEFENZA DE HONDURASFACULTAD DE CIENCIAS TECNOLOGICAS
PROYECTO PARCIAL
HONDURAS
2014
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
2/34
2
INDICE
1.Introduccin ............................................................................................................................... 3
2. Planteamiento del problema. .................................................................................................. 4
3. Objetivos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!..6
3.1 Objetivo general!.. .........................................................................................!!!!6
3.2 Objetivos especficos ..................................................................................................... 6
4. Justificacin. .............................................................................................................................. 7
5. Marco terico. ........................................................................................................................... 8
6.Desarrollo del problema!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...15
7. Conclusiones!!!!!!!!!!!!!!!!!!!!!!!!!!!!!... !!!..24
8. Recomendaciones!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!25
9. Anexos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!..................26
10. Bibliografa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!..!!!!!34
10. Bibliografa ............................................................................................................................ 34
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
3/34
3
1. Introduccin
El presente proyecto, con el objetivo de conocer, aprender y utilizar uno de los micro
controladores ms utilizados en el mbito educativo, en las diferentes carreras de la
facultad de Ciencias Tecnolgicas, hacemos uso de la variedad de informacin
obtenida por nuestro catedrtico, poniendo en prctica sus valiosos conocimientos,
llamndose as Tacmetro o Contador de revoluciones, utilizamos un Microcontralador
PIC 16F84A para determinar la cantidad de revoluciones a la que gira un motor de
corriente directa sus recuentos. Quedando en nosotros la satisfaccin del saber, y as
incrementar las curiosidades que nos inquietan al avance del estudio de nuestra carrera
universitaria.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
4/34
4
2. Planteamiento del problema.
TACOMETRO O CONTADOR DE REVOLUCIONES: PLANTEAMIENTO DEL
PROBLEMA
Crear y programar un contador de revoluciones por minuto con el micro-controladorPIC16F84A,usando los siguientes componentes disponibles en el laboratorio:
Componentes Electrnicos (Hardware)
1x Microcontrolador PIC 16F84A.
1x Fuente de Voltaje ROKA de 5V.
2x Capacitores de 33 picos
1x Oscilador de cristal de 4Mhz
2x Resistencias de 200 Ohm
1x Emisor de infrarrojo
1x Receptor Fotosensible
2x Protoboards
1x Servo Motor
1x Modulo 60O 4000-1S (Display de 7 segmentos)
20x Jumpers
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
5/34
5
Software:
Gpsim
Gpasm
Modular IDE
En nuestro transcurso de periodo , de La Programacin ,fundamentada a aprender a
utilizar el lenguaje en mquina que corresponde al manejo de instrucciones que con
llevan a la familia de los microcontroladores y que fue la importancia absoluta en el
periodo, y con la dicha de tener un catedrtico el cual su objetivo es orientarnos al
conocimiento de programacin orientada al hardware, finalizando nuestro periodo, nos
enfocamos en la familia PIC , En el cual tuvimos la necesidad de utilizar el
microcontrolador PIC 16f84a para realizar y desarrollar un circuito que nos permitacalcular las revoluciones por minuto (RPM) de un motor de corriente directa por medio
de un sensor infrarrojo Utilizando el lenguaje Assembler.
Al paso del desarrollo del proyecto, nos encontramos con diversos problemas tanto de
hardware y software, uno de ellos, en el campo de software, es el manejo de las
interrupciones internas, una de las dificultades fue la conversin de binario a BCD; en
Hardware la falta de conocimientos electrnicos, y as muchas de ellas en el transcurso
de la elaboracin del proyecto. No obstante a las anteriores dificultades, se ha idoavanzando paulatinamente, al grado que el proyecto esta prcticamente finalizado, de
manera exitosa.
.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
6/34
6
3. Objetivos.
3.1 Objetivo general
Aplicar los conocimientos adquiridos durante el curso de programacin, para realizar un
proyecto final de trimestre, en nuestro caso un tacmetro o contador de revolucionesutilizando el micro controlador pic 16f84A. A su vez realizarlo sobre un protoboard y
probarlo atreves de una plataforma de trabajo.
3.2 Objetivos especficos
Visualizar la velocidad o revolucin del motor en los Displays de 7
segmentos.
Aprender a manejar las interrupciones del Pic 16F84A.
Aprender el uso del lenguaje Assembler y sus caractersticas.
Aprender el uso de los dispositivos infrarrojos.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
7/34
7
4. Justificacin.La principal justificacin, del catedrtico hacia nosotros, en su labor a asignarnos un
proyecto es obtener un mayor alcance al conocimiento del lenguaje de mquina,
Asembler, sus 35 instrucciones, A razn de aumentar nuestra lgica
programacional.
As como tambin el Funcionamiento del Microcontralador PIC 16F84A.
Sus caractersticas, controlar perifricos, implementando los fundamentos adquiridos en
el curso.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
8/34
8
.
5. Marco terico.
Los PIC son una familia de microcontroloadores Tipo RISC o CISC fabricados por
MICROCHIP TECHNOLOGY INC. Originalmente desarrollado por la divisin
microelectrnica de General instrument.
El nombre actual no es un acrnimo, En realidad el nombre completo es PICMICRO,
aunque generalmente se utiliza como peripheral Interface controller (controlador
interfaz perifrico).
En 1985 microelectrnica de General instrument. Se separa como compaa
independiente que es incorporada como Filial el 14 de diciembre de 1987 cambia el
nombre a MICROCHIP TECHNOLOGY. El pic sin embargo mejoro con EEPROM para
conseguir un control de canal programable. Hoy en da multitud de pics vienen con
perifricos incluidos (mdulos de comunicacin de serie, UARTS, ncleos de control de
motores,etc) y con memoria de programa de 512 a 32000 palabras (una palabra
corresponde a una instruccin del lenguaje ensamblador y puede ser de 12,14,16, o 32
bits) Dependiendo de la familia del PICMICRO.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
9/34
9
LENGUAJE ENSAMBLADOR
El nico lenguaje que entienden los microcontroladores es el cdigo
Mquina formada por ceros (0) y unos (1) del sistema binario.
El lenguaje ensamblador expresa las instrucciones de una forma ms
Natural al hombre a la vez que muy cercana al microcontrolador, ya que cada
Una de esas instrucciones se corresponde con otra en cdigo mquina.
El lenguaje ensamblador trabaja con nemnicos, que son grupos de
Caracteres alfanumricos que simbolizan las rdenes o tareas a realizar.
La traduccin de los nemnicos a cdigo mquina entendible por el
Microcontrolador la lleva a cabo un programa ensamblador.
El programa escrito en lenguaje ensamblador se denomina cdigo fuente
(*.asm). El programa ensamblador proporciona a partir de este fichero el
Correspondiente cdigo mquina, que suele tener la extensin *.hex.
El cdigo Fuente est compuesto por una sucesin de lneas de texto.
Cada lnea puede estructurarse en hasta cuatro campos o columnas
Separados por uno o ms espacios o tabulaciones entre s.
-Campo de etiquetas. Expresiones alfanumricas escogidas por el
Usuario para identificar una determinada lnea. Todas las etiquetas
Tienen asignado el valor de la posicin de memoria en la que se encuentra
el cdigo al que acompaan.
-Campo de cdigo. Corresponde al nemnico de una instruccin, de una
Directiva o de una llamada a macro.
-Campo de operando y datos. Contiene los operando que precisa elNemnico utilizado. Segn el cdigo, puede haber dos, uno o ningn operando.
-Campo de comentarios. Dentro de una lnea, todo lo que se encuentre
a continuacin de un punto y coma (;) ser ignorado por el programa Ensamblador
y considerado como comentario.
Consta de 35 instrucciones:
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
10/34
10
N. Nemonicos Operandos Descripccion CiclosdeReloj
Influencia delos flagsC;DC;Z
InstruccionesOrientadas Bytes
1 addwf f D,sumar W y f 1 C 1 C
2 Andwf d D y lgica entre w y f 1 z
3 clrf f d Y lgica entre W y f 1 z
4 Clrf f Limpiar f 1 z
5 clrw Limpiar w 1 Z
6 Comf f,d Complementar f 1 z
7 Decf f,d Dcrementar f 1 Z
8 decfsz Decrementar f, saltar si
0
1(2) Z
9 Incf f,d Incrementar f 1 Z
10 Infc f,d Incrementar f,saltar si(0)
1(2)
11 Iorf f,d O inclusiva entre W y F 1 Z
12 Mov f,d Mover f 1 Z
13 movwf Mover w hacia f 1
14 nop Ninguna operacin 1
15 Rlf f, d Rotar f ala izqda., conacrr.
1 C
16 Rrf f,d Rotar f a la dcha., con
acrr.
1 C
17 Subvwf f,d Restar w de f 1 C,DC,Z
18 Swapf f,d Intercambiar nibbles enf
1
19 Xorwf f,d O exclusiva entre w y f 1 z
Instruccionesorientadas a bits
20 Bcf f,b Limpiar el bit b de f 1
21 Bsf f,b Poner a 1 el bit b de f 1
22 Btfsc f,b Verificar el bit b de f,saltar si b=0
1(2)
23 Btfss f,b Verificar el bit b de f,saltar si b=1
1(2)
Instrucciones conliterales y de control
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
11/34
11
24 Addlw k Sumar literal y w 1
25 Andwl k Y lgica entre literal y w 1
26 Call k Llamar a subrutina 2
27 Clrwdt - Limpiar temporizadorwatchdog
1
28 Goto k Ir a la direccin 2
29 Iorlw k O inclusiva entre literaly w
1
30 Movlw k Mover literal hacia w 1
31 Retfie k Retornar de lainterrupcin
2
32 retlw Retornar con la literal w 2
33 Return - Retornar de lasubrutina
2
34 Sleep - Ponerse en modostandby
1
35 Sublw k Restar w de literal 1
35 xorlw O exclusiva entre literaly
1
PIC 16F84A es un microcontrolador de microchip technology fabricado en tecnologaCMOS, su consumo de potencia es muy bajo y adems es completamente esttico ,esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
12/34
12
Organizacin de la Memoria del Microcontrolador PIC 16f84a:
On chip
Memoria de datos
Memoria del programa
Memoria de pila
Memoria eeprom
rea de programa flash
rea de memoria para la palabra configuracin
Memoria de datos RAM
rea de memoria de pila
Diagrama de Bloque:
Unidad aritmtica
Registro de trabajo
Registro de estatus
Puerto A y puerto B
Temporizador de 8 bits
Temporizador Watchdog
El PIC 16F84Adispone de un TIMERprincipal denominado Timer0 o TMR0que es un
contador ascendente de 8 bits el TMR0 se inicializa con un valor que se incrementa con
cada impulso de entrada hasta su valor mximo b11111111 con el siguiente impulso
de entrada en contador se desborda pasando a valer b00000000, circunstancia que seadvierte mediante la activacin del flag de fin de contaje T01F localizado en el registro
INTCON.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
13/34
13
TIMR0 COMO CONTADOR:
Cuando el TMR0 trabaja como contador se le introducen los impulsos desde el exterior
por el pin de RA/T0CK1 (TMR0 external clock imput) su misin es contar el nmero de
acontecimientos externos representados por los impulsos que se aplican al pin T0CK1.
El tipo de flanco activo se elige mediante el bit T0SE del registro OPTION:
Si T0SE = 1, el flanco activo es descendente.
Si T0SE= 0, el flanco activo es ascendente.
TMR0 COMO TEMPORIZADOR:
Cuando TMR0 trabaja como temporizador cuenta los impulsos de fosc/4. Se usa para
determinar los intervalos de tiempo concretos. Estos impulsos tienen una pulsacin
conocida de un ciclo de mquina que es 4 veces el periodo de seal de reloj. Para una
frecuencia de reloj igual a 4mhz el TMR0 se incrementa cada psi talk coo se calcula
atrs.
Como se trata de contador ascendente el TMR0debe ser cargado con el valor de los
impulsos que se desean contar restados de 256 que es el valor de desbordamiento. Por
ejemplo, para contar 4 nuevos impulsos, se carga al TMR0con 256-4=252: Numero de pulsos a contar.4=b00000100,
Numero a 256-4=252=b11111100,
Incremento a cada ciclo de instruccin: b11111100, b11111101,
b11111110, b11111111, aqu se desborda pasando a b0000000, y
activacin el flag T0IF.
De esta manera, con la llegada de 4 impulsos, el TIMER se ha desbordado
alcanzando el valor b00000000 que determina el tiempo de temporizacin,
en este caso 4ps si los impulsos se hubieran aplicado cada microsegundo.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
14/34
14
EL TMR0 ES UN REGISTRO DEL SFR
El TMR0es un registro de propsito especial ubicado en la posicin 1 del rea SFR de
la RAM de datos. Puede ser ledo y escrito al estar conectado directamente al bus de
datos.
El esquema del funcionamiento del TMR0. Se puede leer cualquier movimiento para
conocer el estado de cuenta. Cuando se escribe un nuevo Valor sobre TMR0 para
comenzar una nueva temporizacin, el siguiente incremento del mismo se retrasa
durante los dos ciclos del reloj posteriores. (perez., 2004).
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
15/34
15
6. Desarrollo del proyecto:
Aqu presentamos, los pasos y procedimientos que seguimos para poder realizar elproyecto del contador de revoluciones:
Fecha de inicio de proyecto 4/junio/2014
Como primer paso, investigamos atreves de Internet y libros, nos informamos desu contenido, la importancia y objetivo de su aprendizaje.
Comenzamos con software, a programar un programa que nos permitieracontrolar el TIMER y las interrupciones internas para poder controlar el PIC16F84A.
Utilizamos el lenguaje en maquina Assembler, con el compilador GSAM ,modificndose varias veces hasta obtener el cdigo adecuado para calcular lasrevoluciones por minuto, el cual ilustramos a continuacin:
;*********************************************************************; Proyecto: Tacometro_Contador de Revoluciones; Software: GPASM
;*********************************************************************;------------------------------------------------------------------; Configuracin del PIC; -----------------------------------------------------------------
LIST p=16f84
; code protection off/ power up timer off/ wdt off /XT oscillator__config 0x3ff9
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
16/34
16
; -----------------------------------------------------------------; Variables en RAM a partir de la direccin 0x10; -----------------------------------------------------------------cblock 0x10
countint ;Contador interno para el control del Timerendc
cblock 0x20count1 ;Contador de revoluciones cada 2 segundos
endc
cblock 0x40 ;variables necesarias para el Bcd de 16 bitsTenk ;Decenas de millarThou ;Milesimas de MIllarHund ;CentesimasTens ;DecenasOnes ;Unidades
endc
cblock 0x30 ; Varialbles necesarias para la funcion de multiplicarMultiplicando ; MultiplicandoMultiplicador ;Multiplicadorproductoh ;Producto Highproductol ;Producto LowContador ;Contador para la funcion de multiplicar
endc
; -----------------------------------------------------------------; Tabla de vectores de interrupcin; -----------------------------------------------------------------
org 0x000 ; vector RESETgoto start
org 0x0004 ; vector de interrupcinbtfsc INTCON,INTF; Verificamos el estado del vector interrupcin externagoto incrementar ; Salto a la rutina incrementar que aumenta el contador de
interrupcionesgoto ISR ; salto a la rutina de servicio de la interrupcin
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
17/34
17
; -----------------------------------------------------------------; Programa principal; -----------------------------------------------------------------start:
movlw D'30' ;Le damos un valor de 30 al multiplicando porque mide cada 2segundos
movwf multiplicandobsf STATUS,RP0 ; banco de memoria 1movlw B'11100001' ; definir RA0 como entradamovwf TRISA ;Escribir el registro de direccion
bsf STATUS,RP0 ; banco de memoria 1movlw B'00000001' ; definir PORTB RB0 como salidamovwf TRISB ; escribir registro de direccin
bcf OPTION_REG,NOT_RBPU; Activa la resistencia Pull-upbcf OPTION_REG,INTEDG;Interrupcion INT se activabcf OPTION_REG,T0CS ; reloj interno para timer 0bcf OPTION_REG,PSA ; activar divisor para timer 0bcf OPTION_REG,PS0 ; bit 0 de divisor = 0bsf OPTION_REG,PS1 ; bit 1 de divisor = 1bsf OPTION_REG,PS2 ; bit 2 de divisor = 1
; -> 1MHz : 128 : 125 = 250Hz -> 4msbcf STATUS,RP0 ; banco de memoria 0
movlw D'131' ; precargar reg. de conteo de timer 0movwf TMR0
movlw D'125' ;precargar reg. del contadormovwf countint
bsf INTCON,T0IE ; habilitar desbordamiento de timer 0bsf INTCON,GIE ; habilitar todas las interrupciones
main: ;Rutina infinita
goto main ; salto de retorno a main
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
18/34
18
; -----------------------------------------------------------------; Subrutinas; -----------------------------------------------------------------
; ----------------------------------------------------------------------------------; Rutina de servicio de la interrupcin y la que imprime los numeros en los displays; ----------------------------------------------------------------------------------ISR:
movlw D'131' ; valor de recarga de reg. contador de timer 0; hacia W
movwf TMR0 ; W hacia TMR0
decfsz countint,f ; contar eventos de interrupcingoto isr1 ; mientras el contador de interrupciones != 0
; sino ->
movlw count1 ;movemos el valor del contador al registro
call multiplicar ;llamamos a la Subrutina que realiza la multiplicacion, multiplica elcontador*30
movf productol,W ;Movemos el resultado de la multiplicacion al registrocall Bcd ;Llamamos la funcion que convierte decimal a BCDmovf Ones,W ;Guardamos las unidades que nos regresa la funcion Bcd al
registrocall Equivalencias;Transformamos el unidades a su equivalente para el displaymovwf PORTB ;Lo cargamos en el PORTBbcf PORTA,1 ;Elegimos el display en el que queremos mostrar las unidadesbsf PORTA,1
movf Tens,W ;Guardamos las decenas que nos regresa la funcion Bcd alregistro
call Equivalencias;Transformamos el decimal a su equivalente para el displaymovwf PORTB ;Lo cargamos en el PORTBbcf PORTA,2 ;Elgimos el display en el que queremos mostrar las decenasbsf PORTA,2
movf Hund,W ;Guardamos las centenas que nos regresa la funcion Bcd alregistro
call Equivalencias;Transformamos las centenas a su equivalente para el displaymovwf PORTB ;Lo cargamos en el PORTBbcf PORTA,3 ;Elegimos el diplay en el que queremos mostrar las centenasbsf PORTA,3
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
19/34
19
movf Thou,W ;Guardamos las milesimas que nos regresa la funcion Bcd alregistro
call Equivalencias;Transformamos las milesimas a su equivalente para el displaymovwf PORTB ;Lo cargamos al PORTBbcf PORTA,4 ;Elegimos el display en el que queremos mostrar las milesimas
bsf PORTA,4movlw D'125' ; precargar reg. de conteo de interrupcionesmovwf countintmovlw D'0' ;Precargamos registro de contador de interrupciones externasmovwf count1
isr1:bcf INTCON,T0IF ; limpiar flag de interrupcin
retfie ; retornar de la interrupcin
; -----------------------------------------------------------------; Rutina de servicio de la interrupcin externa; -----------------------------------------------------------------
incrementar:incf count1,f ;Incrementa el contador
Finincrementar:bcf INTCON,INTF ;Limpia el flag de interrupcionretfie ;Retorna de la interrupcion
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
20/34
20
; -----------------------------------------------------------------; Rutina para realizar la operacion de multiplicar; -----------------------------------------------------------------
multiplicar:
clrf productohclrf productolmovlw .8movwf contadormovf multiplicando,W
multi:rrf count1,Fbtfsc STATUS,Caddwf productoh,Frrf productoh,Frrf productol,Fdecfsz contador,Fgoto multireturn
; -----------------------------------------------------------------; Rutina que convierte decimal a Bcd; -----------------------------------------------------------------
Bcd:
swapf productoh,Wandlw 0x0Faddlw 0xF0movwf Thouaddwf Thou,faddlw .226movwf Hundaddlw .50movwf Onesmovf productoh,Wandlw 0x0Faddwf Hund,faddwf Hund,faddwf Ones,faddlw .233movwf Tensaddwf Tens,faddwf Tens,f
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
21/34
21
swapf productol,wandlw 0x0Faddwf Tens,faddwf Ones,f
rlf Tens,frlf Ones,fcomf Ones,f
rlf Ones,fmovf productol,wandlw 0x0Faddwf Ones,frlf Thou,fmovlw 0x07movwf Tenk
movlw .10lb1:
addwf Ones,fdecf Tens,fbtfss 3,0goto lb1
lb2:addwf Tens,fdecf Hund,fbtfss 3,0goto lb2
lb3:addwf Hund,fdecf Thou,fbtfss 3,0goto lb3
lb4:addwf Thou,fdecf Tenk,fbtfss 3,0goto lb4retlw 0return
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
22/34
22
; -----------------------------------------------------------------; Rutina de equivalencias para los displays; -----------------------------------------------------------------
Equivalencias: ; Posicin 0x00FE de memoria de
programa (PCH-PCL).addwf PCL,f ; El salto dentro de la tabla:PCH=PCLATH, PCL=W.
; (Ver figura 9-8).retlw b'10000000' ; (Configuracin 0)retlw b'11110010' ; (Configuracin 1)retlw b'01001000' ; (Configuracin 2)retlw b'01100000' ; (Configuracin 3)retlw b'00110010' ; (Configuracin 4)retlw b'00100100' ; (Configuracin 5)retlw b'00000110' ; (Configuracin 6)retlw b'11110000' ; (Configuracin 7)retlw b'00000000' ; (Configuracin 8)retlw b'00110000' ; (Configuracin 9)
NOP
include "p16f84.inc" ; controlador de destino
END.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
23/34
23
Seguidamente, lo probamos a travs del simulador.
Ya terminando software, nos inducimos al hardware, reunimos todas laspiezas necesarias, los cuales menciono en formulacin del problema.
Trabajamos en pequeos detalles como extraer el infrarrojo y sensor (Emisory Receptor) de un mouse de pelota de segunda generacin , soldaduras ybsqueda de las resistencia necesarias al proyecto.
Colocamos el circuito en el protobord, as como el Microcontrolador PIC16F84A, oscilador de 4 MHz, receptor de fuente de poder, capacitores.
Descargamos el micro cdigo en el PIC 16F84A.
Probndolo varias veces, teniendo muchos problemas al no funcionar.
Durante realizbamos el proyecto, se daaron componentes.
Despus de varia pruebas y cambios que se le hacan al cdigo y circuito, selleg a su solucin y realizacin del proyecto, como resultado el sensor(emisor y receptor) captaban las seales del infrarrojo, contando como
mximo 3750 revoluciones por minuto, dando como terminado el contadorde revoluciones por minuto.
Fecha de finalizacin del proyecto 12/junio/2014.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
24/34
24
7. CONCLUSIONES:
Para un Presupuesto resumido, los microcontroloadores PICson la solucin ms
econmica y efectiva para comunicar distintos dispositivos.
Fue muy importante conocer las interrupciones porque son muy tiles para la
elaboracin de programas.
Concluimos que no fue tan sencillo manejar el tiempo en el PIC 16F84A por las
alimentaciones de TIMER.
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
25/34
25
8. RECOMENDACIONES
El uso del lenguaje asembler nos brinda la oportunidad de entender como
funciona el lenguaje de mquina, eso nos da una mejor visin de cmo se mueve y se
ejecuta el microcodigo a travs de nuestro mincrontrolador , es necesario que el
estudiante de programacin orientada a objetos tenga conocimientos bsico de tal
lenguaje .
.
Sobre la familia de microcontroloadores pic , cabe destacar que tienen una granvariedad de sub-familias ,esto hace que podamos adaptar diferentes gammas de pics
a nuestro objetivos , a un bajo costo , o precios accesibles brindados versatilidad ya
que pueden ser programados en lenguaje c como en amsembler.
Es esencial que electrnica digital y programacin a objetos este en estrecha
armona , ya que nuestra carrera adems de programar maquinas , tambin tenemosque tener idea del hardware con el que estemos trabajando , esto nos facilitara de gran
manera nuestros objetivos acadmicos o laborales en un futuro
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
26/34
26
9. ANEXOS
PIC 16F84A
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
27/34
27
DIAGRAMA DE FLUJO
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
28/34
28
CIRCUITO DEL CONTADOR DE REVOLUCIONES
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
29/34
29
CIRCUITO EN PROTOBOARD
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
30/34
30
PLATAFORMA MODULAR
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
31/34
31
CIRCUITO UTILIZANDO LOS DISPLAYS
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
32/34
32
PRUEBA DE CONTEO DE LAS REVOLUCIONES
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
33/34
33
CIRCUITO EN FUNCION
-
7/23/2019 MONOGRAFIA (PROYECTO PIC16F84A)
34/34
10. Bibliografa
Programacin con el Microcontrolador PIC 16F84A CMC (Lucas Nuller).
Microcontrolador PIC16F84A, Desarrollo de Proyectos. (Enrique Palacios Municio,Fernando Remiro Domnguez, Lucas J. Lpez Prez.).
Directivas MPASM.pdf.
normasapa.com/2014/plantilla-en-word-con-normas-apa-2014.