Microcontrolador PIC16f84 Desarrollo De Proyectos PDF

Title Microcontrolador PIC16f84 Desarrollo De Proyectos
Author Eder Balam
Pages 639
File Size 48.4 MB
File Type PDF
Total Downloads 190
Total Views 257

Summary

Microcontrolador PICI 6F84 Desarrollo de proyectos 1 1 h Microcontrolador PICI 6F84 Desarrollo de proyectos Enrique Palacios Municio Fernando Remiro Dominguez Lucas J. Lopez Perez Alfaomega 4)+Ra-Ma' Microcontrolador PIC lbFB4. Desarrollo de proyectos Q Enriquc Palacios Muiiicici. Feraando Kemi...


Description

Microcontrolador PICI 6F84 Desarrollo de proyectos

1 1

Microcontrolador PICI 6F84 h

Desarrollo de proyectos Enrique Palacios Municio Fernando Remiro Dominguez Lucas J. Lopez Perez

Alfaomega

4)+Ra-Ma'

Microcontrolador PIC lbFB4. Desarrollo de proyectos Q Enriquc Palacios Muiiicici. Feraando Kemi ro Dominguez

y Lucas J . L6pez Pérez ISBN 84-7897-600-0, edicidn original publicada por RA-MA Editorial,

MADRID. Erpaiía. Derc~hosreservxicis 0 RA-MA Editorial MARCAS COMERCIALES: RA-MA ha intentado a largo de este libro distinguir las marcas registradas de los términos descriptivos, sigiiiendo el esiilu de mayusculas que utiliza el Fabricanre, sin introci6n de infringir la marca y sólo en beneficio del propietariode la misma.

Primera edición: Aliaoiiiega Grupo Editar, Mkxico. agosto 2003

8 2004 ALFAOhlEGA GRUPO EDITOR, S.A. de C.V. Pithgoras 1139, Cul. Del Valle, 03 100 México, D.F. Miembro de Id Camara Nacional de In Ind~striaEditorial

Mexicana

Registiw No. 23 17 ISBN 970-15-1033-X

Derechos reservados. Esta obra es ptopied.d intelectual de su autor y 10s derechas de publicacicin en lengua española han sido legalmente transferidus al editor. Prohibida su repri~ducciónparcial o total por cualquier medio sin permiso por escrito del propietario de los derechus dzl copyright. NOTA IMPORTANTE La inforniacirrn cnnten ida en esta oliri tienc un i'iii ex~lu~ivamente diddctico y. por lo tanto, no esti previsto sil aprovcchamirnio 3 nivtl profcsirinai ti industrial. Las indicaciones técnicas y programas incluidos. han cidn elahnrados COI] gran cuidado por el aur(ir y reproducidas bajo esirictas normas de control. ALFAOMEGA GRUPO EDITOR. S.A. i1eC.V. no será jurídicamonte responsabte por: errores u nmi R ~ t no pulsando la tecla F9, tambitn al pulsar S el icono correspondiente de la barra de herramientas (flecha azul). Animate (o teclas ctrMF9). Modo de ejecucihn animada. Ejecuta el programa de forma continua pero actualizando todas las ventanas cada vez que se ejecuta una instrucción. Es m& Eenro que el modo "Run" pero permite ver como van cambiando los registros. Tal vez sea d modo de ejecución más util y rccomendablc. Se entn en este modo seleccionando D s h i r ~ ~ > e rAninia también al pulsar sobre el icono correspondiente de la barra de herramic (doble flecha azul).

*

Hah Paro. Para la ejeciicibn del programa y actirajixa todas las ventanas. Se consigue seleccionando D~hti~gger > Run o pulsando la tecla E5. Tambidn se entra en cstc modo al activar el icono correspondiente de la bam herramientas (dos barras verticales azules). Sfep Inro. Ejecuci6n paso a paso. Eiccuta una soJa instnicciCin del progama cada vez actiializando los valores dc las ventanas. Es la forma mis lcnta de simuIaciiin pero se compnieba fáci 1mente como van evolucionando todos los registros y memorias, siendo muy facil dstectar los posibles errores. En este modo se entra seleccionando Debugger > Srep Info o piilsando la tecla F7. Tnmbjézi pulsando sobre el icono correspondiente de la barra de herramientas.

*

Resef. Equivale a un reset por activación del pin MCLR. En este modo sc entra selcccionarido Dehiigger > Re-re! o pulsando la tecla F6. También si se pulsa sobre el icwo correspondiente de la barra de herramientas.

Pan1

aemho tic

Seleccionn donde Iia

i

i

la figura9-4 que

t~ t.

Esta dir icuentre, e

.

-

fine una ( mblador :

:to. Dondle quiera Ique

Ejemplo I :

A continuación se

:]Ni?LED

PORTB

...

:D~P

id

bc

~DFF

icof

bs

D

P(

-DFF

se conecta i:n cstn Iine

LED

bsf

BLOCK (Dflne n lnes (genmlmentc marcada entre las

.

tl Ranw O, : nm.;o:i1 Rznm 1 . : El LER sc conccia 3

; ACCCW al Banco 1. ; Confrgum csla línea como salida. ; hcccw :i1 Banco O. : Encicndi:el diodo L

Esta directiva emula #DEFINE del ANSI C standard. Los simbolos definidos con este mCtodo no están disponibles Dara ser usados mr el MPLAB. anterior ejemplo). 15. Si este valor no cuwrior al: de la si a lo largo del ion de variables, definida .4.

9.9 CONVERS

ARIO NATURAL A BCD

La conversión de un numero expresado en binario natural a formato hcu es una d e las opcracianes más utilizadas en los progamas con microcontrolador y que merece ser analizada en detalle. Por eiemplo el valor 124 expresado en binario n a t m 1 seria . 01 1 1 1100, para expresarlo en BCD hay que separas Fas centenas, decenas y unidades qudando: 0001 0010 0100. La figura 9-5 txplica cl:diagmma de flujo para resolver esta coni~crsihn.Un programa ejemplo que lo irnplernenta. seria el descrito a continuaci9n y que s,e pttede comprobar sobre el circuito de Iri figura 9-6. ***si

nienzo los valores a RAM 4de datos.

., -1

h e ,--m

-A

. Un nu m m hinario de 8 bits cs curivcnido 3 RCD. El erultadri se gl~qrrla e n m psicioncs :dcmem~irinsilamadas Ccntcna~.Docenas y L'nirladcs A d m i s a l tiiial 1las unidades estaráti en el ; nihhl c bajo del repsmi W y las dcccnas cn cl nlbhlc alto. En Ins didas LEDs canectados al o de calida se visuaii7arán !as dmenas y la* L ; El m :niuni

valor que p

:El procediniientr2 utilizado 1 :ejempln quc trai;" A.

l*...s,-,

!;

I

MICROCO~OLAWR PIC16F84.DESARROLLO DE PROYECTOS

OWMA

{Decenas)

NO, IH NO, m!

NO,mi NO. resi

NO,mi NO, m NO. mca lo

Incremcn NO. hcrt . . .. .

S).

cenas).

NO. lncmcnta (Uccenas). NO. Incremonta (aecenas).

movlw subwf

btfi~; Foto

NO.Incremnta (Decmia~). NQ. Incrementa (Decenas). NO. Incrt:menta (Dccmiaii). NO. Incrtmenta (Decenas). NO. lncrt:mcn ta (Decenas).

NO. reSra 10 NO, Festa 10 NO,resr f n NO. mt

Si. @ecenari)=O, y aldemb

NO, resta 10

NO.Inemnenta (Decenas)

hln lnm...-..M+- I r % * r * n n r l ,*v.iii~ibiiibiira(r,c bCil02,J.

incrementa (Cenfew )

sí, se

te 'Numero".

r-

1l

UDE ON",

j

Modo "TermostatqOFF", donde funciona como tmnúrnetra normal sin termostato. Se reconoce por el flag F-Temosiato-OFF, que es el bit O del ~ g i s f t nFlagsMhs. Modo " T ~ r m o s t a t ~ A je'', u ~donde t sc ajusta la ternperahira dewda cuando funcione como termostato. Se reconoce por el flag F-Tmostam-Ajuste, que es el bit 1 del registro FlagsMdou. Modo "TemostatqON, &nd< tiuiciona como termómetro normal y, a d e d , como termostato. Se m o n m por rl tliie F-Termostato-ON, quc es el bit 2 del registro FlagsModos.

; Así pues, el contenido del regism (Flas~Mdcrsorcs J.ri:;;cr Sr!iiiiiii cncrips~iladi>s scgúii se inilict?en la figiira 3 2-2.

El funcional: una mane

añadir el (

Estos disposili\*os ticneii Lina c;iracteristica de transferencia como la que se muestra en la 1Tgii1~ 32-3. Fn csta cuma se aprccia que si la tensibn de entrada aumenta desde O V hasta un nivel ,ilio la traiicicicín se prtiducc siguiendo b curva A y conmuta para el valor V I' . dcnoininnrlo amhral superior. Por cI contrano, si la entrada esti a un nivel alto y disininuyc Iiiistü 01'.I,I tranciciiiii sc prodiice sigiirendo 13 curva B cuando se alcanza el dcnoniiiiadci taoibr:il ieihrioi V ,-. I,o.; valores de y de V , - para el caso del 40106 depeiidcri de la tc.r~~~iiiii dc iilinieritnciiin y piicdcn tomar Icis valores de la t-bla 32-1, Eli !;\ ciirva d,: i:;!ti~f~rc:i~ia dcl iiivcrsor Schrnitt cs iniportante observar que la tmiisiciori dc salid:: dc i\ito - 3 Brijri cs distinta que la dc Unjo -+ Alto. A estc fenbmeno se Ic coni3i'c coino Xliaii'esis.

Tal

E st con señait 32- 1 se mi digital. Ci vuelve a ti consideni 40 106, la ;

RA-MA 1

Trigger ntiene 6

:muestra

esde O V i el valor )el alto y lcanza el el 40106 .l.

a que la 5meno se

FIguru 32-3 Curva de truisv/;~i.c~~?r'ina r.lo r 117 ini)ojntir. Triggcr ,S~,hrnift El inversor Tnggcr Srhmitt, y todos. Icis disposiii~os cor, ~ q i r : iipo ric funciominicnto, utiliza el sirnholo de la figiiia 32-3 pai:i iridici~iq i i c pucdcii rcspciririci dc una manera fiable ante striales q i i e cambi:iii con Icrititud. Ilsta s~rt-il~oI~gi;i sc h x i cii añadir el dibujo de la pifica de histcresis en la ciitr:id;i corrvsprindici~l~.

Tabla 32- 1 I "rrinresclk tT y 1 T ~ I A W o1 40 1/16 (tr)~Ii>.~ k )r il:,r{:i.

i

~:o/tio.s)

Estos circuitos son de ~ a utilid;id i ~ cuando sc clrscn c(:nii-{il:ii. 1111 r*it-L-iiitodigiVal con señales que no lo so11o señales digitalcs coil una srii:il dc i-iii di: ,iriniar;ln. En 1;i íiglir;i 32- 1 se muestra como actúa un circuito no invcrcoi- lfenlc a iitia s;:i-i;tl rliic ri;i cs ~ iii-aiiicritc i digital. Cuando la señal V I alcanza 21 valor V., ' I;i sal¡da V,, h n c c i i l : ~:I ~ i iiiil:cI i al11i y rir! vuelve a tomar un nivel bajo hasta que 1;i ciiirada n o Ilcgilc n \ ', l:,~ la tigul-i~32- 1 sc 11;i considerado un no inversor para una mis, ficil cxplicricicin. I'nia iin iiivcr;c>i. ~ o t i i ocl 40 106, la señal de salida hubiera cstado invertida reYIiEicici dc 1;i t i ~ , i i i n

5 IX

U I C R o C O U T R O W R PIC I6F84. DPSARROLLQ DE QROYECrOS

-

8M-MA

CR A M A

En conclusión, un dispositivo Trigger Schmitt produce transiciones de calida limpias y rápidas, aunque la entrada no 10 sea. Et rnimonkolador PTC I6F84A posee Ia línea RA4 con entrada Trigger Scmitt (figura 5-7) que se puede utilizar para este fin sin ~eoecidadde intercalar un 40 106. I

R7 337

32.3 LDR Las resistencias dependientes de la luz, LDR aight Dependertr Rcsistor) o fotmistencias, son dispositivos que varían su rmisíencia en funci6n

de la luz que incide sobre su supwficie. Cuanto mayor ssea la intensidad luminosa que incide sobre ella menor será la resistencia entre extremos de la misma. Para su fabricacibn se utilizan materiales fotosensibIes.Su a w n fisicn y sUnbologia

mLr.~común se muestra cn la figum 32-4.

.

.. , ,

-

8

L

.-

.. - .

. :S-.

.:

i; +.-:.

.. -

-

.. -

LDR

LDR

,

F o m fisica

Shbofo eléctrico más común de 3n LDR

I * .CL YUL Ie mcurwc ; del miiduilii LCD vc

Figz~ro32-4 LDR

:basta 99

Su valor nominal se especifica sin que incida la luz externa. Así, por ejemplo, una LDR de valor nominal 50 m, como la de la figura, tendri dicho valor si se tapa de manera que no incida la luz sobre su superficie, si se la acerca a una bombilla de 60 W

:ZONA D'EDATOS

puede bajar hasta unos 30 a.

Las principales aplicaciones de estos componentes son cnntroles de iluminación, control de circuitos con selb,en a l m q , etc. La forma más sencd1a de conectar estos sensores de luz a un rnicrocontmladores mlizando un divisor de tensión con la LDR y un potmi0metm, que permite ?jurzar el nivel de luz a detectar, A la salida'del divisor de tensión se le coloca una puerta Trigger Schmitt para conformar la señal, tambikn puede hacerse m una entrada de a t e tip como la RA4 del PICláF84A tal mucstaa la figura 32-5.

I

1

I

El p r o p m Senso-DR-Ol.acm haz de luz que incide sobre la LDR.

menta el número de veces que es c o d o un

DRG

i

Inicia

O

CAPITI~U) 32:

t M-MA

SENSORES PAR.4 MI~ROROBOTICA 519

ies de salida 84A posee la -a este fin sin

Resistor) o uz que incide ella menor an materiales ura 32-4. t

lre

- Incide luz sobre LUR --> Entrada RA4= ' O Corla ha2 de luz cobre LDR --> Entrada RA4="1' (Flanm Aspendenle) Vuetue a Incldir luz sobro LDR -> Enirada RA4= "0" (Flanai Descendente)

-

Figuru 32-5 Cvn~xionde una LDR a la mlruda Trigger Srhniirr RA4 de un P1CI 6F84A

LDR

9

; Una LDR ae i ea la entrada Trigger Schrnia RA.t/TOCKI aplicando impulsos d Timw O Eada la W de htz y la LDR En la pantalla ;vez que se os cure^ al intmpnetse ua-i objeto ;del d u l o LCD se visualiza e1 númao de veces que se hkmmpeel haz & luz en dos dlgiios ; (ha99 * o ) .

ejemplo, una si se tapa de billa de 60 W

:iluminación,

controlador cs mite ajustar el puerta Tngger :ste tipo con10

es cortado un

ORG

O

4 1

bEf

LCD-inicializa STATUS,RPO b'00101W OPTION-REG STATLiSJWO

ctf

TMaO

inicio bsf rnovlw mowf

; AoocsodSanm l. ; TMRO mino contador por flan00 scendenre de ;R A W K 1 . . Prescaier asi& d Watchdog.

; Acceso al Banco O. ; lnicializa contador.

; La seccih "PrincipP es de mantmhiento.

So10 se dedica a visualizar el Timer 0, cuya

;cuenh sc increinenta coii bs flancos ascendente prucedente de : RA4iTOCKI donde se ba conectado la LDR.

Iri

cntmda Triggcr Schriiitt

;C

d la LDR

Principal. cal1 niovf cal! cal1 goto

;ZONA DE DA

LCD-Lineal TMR0.W Bm-a-BCD

; Se pone al principio de la lhm 1.

1,CD-Byte

: Visudiza, apagando las dxenss en c a ~ o de q~iesean 0.

; k e l T u n e r O. ; Se debe visualiznr en BCD.

hiricipal

Este programa solo pertnite contrir dc forma corrccta hasta 99. Se deja al lector su mejora para ~iridcraumentar la cuenta y utilizarlo. por ejemplo, en la coinputüción de los ob,jcios que están en una cinta trarisportadora, pcrscitias quc pasan por uria puerta. etc. Estc niisrno programa se l~iiedeutilizar para otros censores que sc dcscrihcn mas adelante, por qjcmplo para cotitar el iiiutierci dc objctos que pasan por delante dc iin sensor dc iiltrasonidos. El circuilu de la figiiia 32-6 jiiilto con cl prograina Sorisor .ILDR_-fll.asmconstituye otra aplicacihri típica. Se trata de un interruptor crepiiscular, que cs un circuito para cricender una Iimpara cuando llega la noche y apagarla con los prirncros raycis del sol.

Inicio bsf bif

bcf kf bcf

PrUicipd

btfss Boto EacierideLw caii btfss

soto Y RE1.E

e

bsf

REO

4%caU btk

g*

bcf Fin

cal1 goto

INcLLrn END

+***I**bC*ir4*$******,***i******L4*

1

ScnSoI-LDR-

~*****Lm*****~**********C******I*~*Y*

; Programa de un interruptor crepuscuIat:una b p a r a se inatendrh encendida mientras wa ; de noche. Uria LDR detectarh la luz arnbicnte (sin que le Heme la luz de la Ihpm quc ;pretende conu.olar) y estad conectada a la 8ntrada Ttigger Scbrnirt RA4.

Este tipo I LED, y un recep define el tipo ya :

al lector su lacion de los :rtri. etc. Este idelante, por

11 serisor de

i

; Cuando la LDR detecte osmidad el sistema activará ima kmpara: ; - LDR ihuninada 3 Enb& PIC = "0" -A Lhpmapagada.

; - L D R a i o ~ ~ ~ i d a d EneadaPIC="l" -> ALbmpani-ida.

se conecta

:ZQNADEC~D~~S**********+*I***********I****~****I****~******~******W******** ORG hiciti ; Acceso al Bataco 1.

bsf bsf

ni constittiye

:ircuito para

s del sil.

; Lhm donde se conecta la calida. ; EnTrigger Schmi~del PIC don& ; b LDR.

#DEFRIE LmpmPORTB,I #DEFINE LDR PORTA,4

bcf bcf

; A-

bcf

;En principio

I h p a r a upapda.

al Bmco O.

Principal btfs9

LDR

gow

ApaWpara

cal1 btfss

Retad- 20s

; J?ntrada=l?, &DR en &?.

;No,LDR

i ! i m h d a por el sol.Apga la Idmpm.

Encid-

W R

baf

Fin Lampara

goto

Fin

APasaLampara cal1 Mfsc

;Espffaesietimppmnbu~Ioaat&$ : &nmda=l?, ¿LDR sigue en oscuridad? ;No,sale fuera. ;SI, mciendc la lamparrt



; Espera este tiempo p m conñrmar la luz de1 mi. ; ¿EnW=O?, iLDR sigtic ihiiaimda por ~ U del Z sol? ;No.sale hem. ; si, apw Igmpara.

Retado-20s LDR Fm

bcf Fin

cal1 soto

LamP ~

0

~

2

0

s

; Permaneceenelesardo~n~~lmtriosestetiemp~.

Principal

INCLWDE 4U5TARDOS.MC> END

32.4 FOTOSENSORES ACTIVOS Este tipo de sensores consta de un emisor de luz, que nonnahente es un diodo LED, y un receptor. que suele ser un fotodiodo o un fototransistor,la situacirjn de ambos define el tipo ya sea reflexión o por barrera como se estudiará a continuacicín.

522

M I C R O C O ~ O L A W RPICl h%M.DESARROLLO DE PROYECTOS

0 RA-VA

Sti aplicacjbn. entre om, suele ser la detecciiin de la prcscncja de objetos, medida de distancias inuy cortas, lectura de cisdigos de barras, etc. En microrob6tica suelc :para dcitectar una marca o seguir una línea (normalmente negra sobre fondo

vcc:

..

Los problemas mis comunes que suelen darse con este tipo de sensorcs son que la reflexión depende las características del material y del color;en principio los colores mis claros reflejan el haz de luz infranoja m i s que los oscuros. La luz ambiente es una importante fuente de mido a tener en cuenta.

Al 2;:

Sensor optico CNY7Q es un sensor optico reflexivo con salida a transistor (figura 32-7) Vishqk. TeIej~nken Semlcondttctors (www.vishay.cum). Tiene una constmcciOn compacta donde el emisor de luz y el receptor se colocan en la misma dirección para detectar la presencia de un objeto por medio del empleo de la rcff e x i h del haz de luz idmmoja IR (Infraredl sobre el objeto. La tongjtud de onda de habajo es 950 m. El emisor es un diodo LED infrarr~~io y el detector consiste en zin fototmnsistor. La distancia del objeto reflectante dcbe estar entre los 5 y 10 mm de distancia. La corriente directa del diodo Ir= 50 m4 y la intensidad del colector es de IC= 50 inA.

#

El circuitr Utiliza un arnplrfi ha canectado cr potcnciólrnctro qui

Vista desde arriba Aspeicto y pati1Iaje

Diagrama interno

Fiipr-a32- 7 Sensor cipiico relferivocon salida

n fransisfni.CW70

.

ara conectar estos dispositivos hay que polariz;rrlos, ésa es la fiinci~nde Inq resistencias del circuito de la fipura 32-8, donde se mt!esiran las dos posibles formas de conexión. según se quiera la salida alto para color blanca o negra.

El invmor Trigger Schmitt 40106 se intcrcata pam corifomras las tensiones a valora lógicos. Hay que tener en cuenta que los valores de msiciiin de la puerta son VTt = 2.9 V y V; = 1,9 V para una tensión de alimenlacion de 5V y no podemos variarlos.

f

...


Similar Free PDFs