Vous êtes sur la page 1sur 218

Microcontroladores

Programacion en BASIC

I

16F62X 16F8XX 16F87X

Segunda edici6n

CARLOS A. REYES

Tlgo. Electronico en Automatizacion y Dom6tica Profesor de microcontroladores PIC Director Tecnico de AUTOMASIS

Titulo original:

Microcontroladores PIC Programacion en Basic

Segunda edici6n

DERECHOS RESERVADOS c 2006

Disefio de portada: Carlos A. Reyes Diagramaci6n: Carlos A. Reyes Fotografia: Carlos A. Reyes

Prohibida la reproducci6n parcial 0 total de este libro por cualquier media sea electronico, mecanico, fotocopiado 0 cualquier otro metodo, salvo con autorizacion previa y por esctita del autor.

WINDOWS es marca registrada y pertenece a Microsoft VISUAL BASIC es marca registrada y pertenece a Microsoft P)C® es rnarca registrada y pertenece a Microchip

MicroCode Studio es rnarca registrada y pertenece a Mecanique PicBasic Pro es marca registrada Y pertenece a microEngineering Labs. IC-Prog es marca registrada y pertenece a Bonny Gijzen

Todas las marc as que aparecen 0 se mencionan en este libro son registradas

y pertenecen a sus propietarios.

© 2006 : Carlos A. Reyes

Pedldos de ejemplares, laminas de transferencia, pl.cas pCB, etc.

a los telfs, 022 611 447 096136564

E-mail: automasis@yahoo.es

Http://www .a utomasis.blogspot.com

Impreso por: RISPERGRAF Derechos del autor Nro. 0206()4 ISBN-I0; 9978-45-004-1 ISBN-13: 978-9978-45-004-8

IMPRESO EN QUITO-ECUADOR

Pr610go ix

Introducci6n xi

I Oescargas e instalaciones de los softwares 1

1.1 Descarga del program a gratuito microcode 1

1.2 Descarga del programador Ic-Prog y el drive NT!2000fXP S

1.3 Descarga del compilador PICBasic Pro 8

1.4lnstalaci6n del software MicroCode Studio 9

1.5 Instalaci6n del software programador Ic-prog 1.050 11

1.6 Instalacion del driver para Windows NT/2000/XP 13

1.7 Instalaci6n de pbp244 (PicBasic Pro version 2.44) 15

1.8 Instalacion del compilador PicBasic Pro version DEMO 15

2 LQue es un microcontrolador? 17

2.1 El microcontrolador PlCI6F628A 17

2.2 Arquitectura del PIC6F628A 18

2.3 La memoria de programa 19

2.4 La memoria de datos ""." .. "."."."." .. "".".""""""."" .. "."."." .. """""""."" 20

2.5 Caracteristicas generales " 22

2.6 Diagrama de pines y funciones 22

2.7 Consideraciones basicas pero muy utiles a la hora de montar un proyecto .23

3.1 Configuraci6n de MicroCode Studio (mecanique) 25

3.2 Manejo de MicroCode Studio 28

3.3 Identificaci6n de errores en la compilacion 31

v

- .-r

·"@J1iimfi~m;;1~:flMt$MWkWii'jllWj~:t..Mb&S$V~

. . I'ROGRAMANDO EN LE.NGHuE BASIC

4.1 Dffereucias entreel lenguaje BRSic y ~ns!!mbladoi , .. , , , .. , , ,., , , "J3

>1.2 AII,oi:ldico!!\;! u progrnmarul Pic 16F628A c,on mrr;m!lod~ .•..... , ••. "' •. , ••....... , ,,, , , .. 35

~.3 Grabandoel PiC corn. el le-prog 1 05D " , , , ]6

4,<{ Dlifuremes caminosa seguirpera conseguir un m,]smo, oltieti'llo : .. _.""' _ 39

'L5 Deoleraclones dlsponlbles en el oompilador pbll:'l.44 .. c ' ..•................... 41

_' CON I\.fU~ROCOl'jTROiLAIDORES pte

5 Proyectos de ap!io;a{)jo:in •• " • ., ""',, .. ', .. ,. , , , , ..43

5.ll'ROYEC[OS CON LEDS

S, L 1 Prograrna basleo ptlro. hacerparpadear un led con intervalos de ! -segundo 44

:;,1..2 Un semaforo de·l·im:"rs_eq:iolles " __ " ,.,., "" ,,, ,, ,, ,., ..45·

5. L3 .J ueg!:> de I uees par.! dlseoteca " .. , , " " , , " " ",4'1

.5.2 PROYECTQS DEREPETICIOIIi"'ES

5.2.1 EjercieiClJ:;on-la,i!lstruGGion (lOR NEX'J' _ ,_ .. ", , _ .. '_ .. , __ .. :_ _ c .. _ .. : .. _ 50

L-M vnriubles BliT.BVTB)' WOlW " " : _ __ __ _ -SO

5.2,2 Luces del auto ranliistico{de;pIEixmrn'ento5) " ", .•. "", ,,,, ,,,,,,,,, ,,,, ,,,51

:L2.3 I'llriYeNOS, propuestos con leds _ _ .. , , __ .. ,' __ _ ._, ,._ ", " ,52

S.3 PRACnC~'l-.S CONPIllLSAi}oRE,s

5'.3.,1 Ejer'eici~ COil pulsadores , , .. , .. , , " . ., .. " ,." " , , , :)3

Ladeclaraclen IF ." TREN ,."." ".~ .• ri .. "' ri .. " ••• -~.;"-.-,, , " 54

5',32 Contador binariccon pulsador antirrebote " ,,, _ .. ; t.. ,,55

5cJJ Lcd intermitente de ·velo&.idadl \lan~ole " .. "" " _ .•. " ", _,, 57

63:4 UtitiZ<llltio el MeL« (resetesterno) __ _ " .; ; ", . .59

5.3.5 Proyectos propuestos con pulsodor-e"s·.",,, , .. , ,, " 61

sA PROYECTOS CON'!DISPLAYS

5.4.1 M~i10jo dO"lu; iBsplay ele 7se.gm'~Ji'~clS Con el Cl. 7447 " .. 62

5.4.2 Un contsder decimal de un digito "on eJ CI.7447 'i un pulsador , " 63

5.4.3 Manejode un.display de 7, segmentossin elGL 7447 " " ,'604

La declaraeion bOQK:tJI' ."." .. _ , ,,, .. ,.,, ,, , " " ..•. " .. 64

5A.~ J\.f!\nejo de 4 displays de 1 segrnentos coo el C! 7447 , " , , .. " ,(';5

5:4.5 Conradcrdecimal.de 4 digit'1ls con ol (;1.7447 .. " __ ,., .. " __ ,, _ 67

:5.4,15 MllJlej~ ,de.4 di~,1aysde1 se_gfl1ent9~ sin ~I CI. 74'47 {ltotulacibn) _71

5.4.7 Munojo du 4 disp~I1Ys como r6ttl!~,en m,oVi:mi~n.!o " , , " ,.73

.5.,UfMfihejo de Ull display de 35 i;egmelJtoo _ " , ,., .. , , , " , .. ,,,,, ,,,.",.74

$"t9;j>f.D~d()S;propuestos COl'! displays ., .. , , , , .. " ..•.. , ,;, ;, __ ,., _._,_._" •• ~ 78

5.5M(nJULOS LCD

5,5.1 M~e~~I:~;~:~u~~~~ .' ;,' ~' : ~~'.~':.: ': .. ,~~.,':.~ ~ ::',~.::::_~.~._ . .' .. ,'_-:_-,,--.-,,-_:-_-_-_- . .- ' .. _-,::' - .. :' , .. ~ :':.:.'.'.',',,;:

;l ;:;.2 "!'eSc nt!lcii;}[IIJ~ !ii!r~..,ter po r car~cte r e~ L.eD .. "., , " " " """ " ". IlJ

;; 53 Despl;izam [tinea de' un 'textoen LCD , " " .. ", ""~" .. "_ "_"._ _ &4

5:.5.4 Conllldcrr de pu lsos co m ILC D __ " .. __ .. , " _ , .. ,c _" " ., .. _" _&4

L9 dcelaraclon COUNT " , , , ,' " " " " 8~

vi

La palabrn DEC, HEX, BIN _., " , " "" , " " 86

5._5.5 Tecometro digital ~._. ._ 86

5 . .5.6 Lcc~uni i;J.: um polclic.i6mcJm OOtl, LCD " .. "". _ 88

La d<;clBmcion por " , 8_8:

5.5. '} Proyeetos propuestos ,con LCD , " __ , _89

S.,GSONIDO

S.6.1 Generaeion de'Sonld'l _ _ .. .. _ , ,_ , 'lO

La d<>claraci611FUEQO'UT , -9t1

5.6.2 Una sirena policiat., , , : , , , _, __ " 91

La deci'~raci6n SOUND _ _ ", 91

tJ tiBiZilrldo un cristaJ de ma}'or velocldad , , 91

.3.6,3 Occrterac.ii'n" d= un liTmbtll de IclU'Olio c:~I\JIAt "." " " "."" .. '''''' .- , .. " .. ",,, .. ,,,,9~

5:6.4 Llamadlllelefonica. DTMF .. " " " " .. ,,, .. ,., ,94

La dec!arlllcion DTMFOUT " " .. , _.- • 94

5.0.5 Peoyect» propucsoo , " , --- " ,,/)7

5.l1l'ROYE.oros CON TECLADOS

5..7.1 Lecture de Lin teclado de 16 pnlsadcreseon display de 7 'egmenlos " _ "" 9R

3.7.2 Cerradura electrcnica con clave ell memoria FLAS1·j , " 101

ii. 7.3 -Cerradura elecironica COil clave en memoria RAM y com bie de clave . __ ,_ " .. ~.~ l 05

5.7.4 Cerradura elect .'mioo_ COil. cla...-ee-n memoria EEPROM y canl.bio de clave " ~ 09

La declaracion EEP'RO~[,READ y WRITE "'" " " " ".", 110

5.7.5 Proyecto propueste .. " , , , " "." _ .. _ " .. " ] 14

5.11 PROYECTOS CON M.OTORES

~,8.1 Marl~jo dClI PWM como variador de velocidad de un motor DC 115

li.S.2 Un converser Df.A COlli el CI. LMJ5i!! , " .. _ " ,._ .. " .. " " 111

3JU.Los motores J>'1~o n. pnso bipolares y unlpolares , : " 1 HI,

5.804 Manejo.de un rnotor pit so 1'1 paso en secuencia WAVEDRIIYE _ " 1-21

5.&_5 Mam,jo de un mOlor paw a paso en secueneia FULL STEP , .. " ._ •. " """ .12J

5.8..1). Ma,nejo de un motor paso a paso en secueneia HAlLP S'rBP - " ''' I.2~

5.8.7 Proyectos proplle.~O~ COil rnotores " , " 126

3.~ COMUNICA_CION

5.9.:1 lQu;! e~ tn oom'UII~c~c[6!1 serial? " .. "" "''''.", , " _" _ .. ,,, 121

S.9~2 Mcdos de ttDnsmi~i61l de datos " " " ,." "." " , J');,

5.9.2..1 Simplex .. - " .. "" ", " " " " .. : ~ .. :-' __ 127

5.9.2.2 Ha'.r.d~pitlx. _ " _" , '127

5.9.2,3 Full-duplex " " " , ,127

S:9_QA Fullrfull-duplex " _ .. , , .. d , ." , ".12.$

_j,,?j Cornanlcacion serial RS-2:l2 .. . __ ._ """ 128

5.9.4 Cornilnicacion serial PtC a. PC ,. , " " __ ;, 129

La declaracicn SEROUT " , _ .. .. 129_

5.9,5 Corannieacien scrja~ PC a Plc " " .. ,_ _ .. __ _ " .. _ 132

Lfi decllira.cii5-1l SEllIN "" " .. " "." "" .. " " " "" " .. ,,, ,, ,," .. " 133

5.9.6 Comunicacion serial call el CI. MAX232 ._ " " " , ' .. 1 35

5.9.7 Cemunicacion serial P1C II PIC ", __ _ " _ .. _ .. - .. , .. 137

5.9.:8· CO!1'lunic.lm161!seriol RS4221485 .. , " , , " __ " " " " .. n JJ9

5.9.9 Cornuniic.acioll seri~I[>IC a PIC con Ie. interrall RS4S5 " " .. ,,, 13\1

5.9_1@ Com Ullit:ado];J setiM de VISUAL BASIC Y PIC " .- " 1412

vii

5',\),11 Cort1nniGl.<;;loli. serial sincronica !"C , , , , , " .. " , i'S2

S,'i.l2 Comunric.acroll Fe con una memoria serial 24LC04B " " " " " .152

La de~lafac!6m.IlCWRITE y I2CRFAD , 1~5~

5,9.13 CCUllYniCllCi.lm PC con el rei o] calendarlo OS 1307 ,"'" , J ~6

5.!l'.14IProycdos propuestos de eomunicacicn <o " •• " " j 59

s.to INTERRUrC'10NES

5" I 0.1 IJttilh:llntlo I~ lht~rrupd6111 del ~uerto B.O , , " v " 1 (ill

La'S declaraciones ON INTERRUPT, m.8A.1U;E, RESUME Y'ENABLE 1.60

:i.lq.'2 miliiland1Jla ill~ern,ipd6u.[Jelpuerto B.4 a.I R7 " .•. : , " " .. 162

5, 10,:3 Reloj digitllJ Iltilit.111tllllll in'lcrfup.ciol1 dOli TMRi) " " "' " 162

:),10'<4 Frdyectos propuestos COIl in'~I"I'\ltx:joncs "" " " ,,, ,, ,, ,, , .. ,.165

~.1l CONVER80R AID

5,] 1.1 ConversCifaTlii.lo!',[) digit~ldel PICI6F81X , ,,, ,,,, .. ,,,, ,, ,, 166

5.1!.2 Conversoranaloge digital de~ PIC I. 6F87X : "' 168

5.113 Tcrmo.ti:Jelrodighal con ~I. PICI tiFSi7A ,........... .. , 171

5;lZ·UTll..IZ~NDO Ii:L 1'ICl'!F'6XX.

5.12.'1 ~padei'; Mie:ds ejl el jlilertoGPIO ,,, , , ,, 1.75

S·,12.:il pi\)1e~tQS ])TCllll1ilSlO. COIl clCOfwersor Aft> " .. " " " " n7

~.f¥ ~~~

SUI'WLAGlON YRUTEADO CON ;PROTEUS

6.1Simllluci6ird'iill~d il'ltc.m:iite!lte - "' " ~79'

6j. Sin:ml,m:ion,de lUI LCD 2x 16 , , , " ,. j 82

6.9 Generaeion de 'PCB (I!rint.Citcuit Boord) " '1 &J.

6.41mpresicm del PCB'[iI'arjiet(lde cfrcuito improso} , , r , 186

~.-~~~-

7;1 Di~~flo del circIliioimpI'C50 pOI' &o1'l:l'!'o.1'(: " " " 1 87

7.2·bripresi6i1 de las I!i'i.rn~l' sqeen <1t: 1{)Ii, elementos , " ,,,I.~~

7J-Pre,Ji'Jlrac:16n·de4a plata (Baq~~Jillr 6'.Fibrn.de vidrio) : , 1.88

7.4 Transferencla.tcrmlca delpapel hacialaliimina do cobre " , " .. , 190

7.5 Proceso de atacado ~redeccion) del ccbre " " , 'PH

7:5 Proeeso de Hrnpleza deIa placa)'il;Uacada COil acido .19)

7.7. Transferencia M,rmicil del 'screen de In.,, I)lc!lIcnto's " , ~94-

7.8I'errol(!ciOn dO Hi pll'li.l~ " " : " , · 194

1.9'Sol dadura-de elern ¢Ill~s , " , " 195·

7.1.a,.cl~asis {lCaja !'lira ~royectoo , " , , " 20.3

~':'f@>~ ll.i" r '~A.· :,~

Ap6ndic(! A Sitio~ web relifci~nad·~=~!e libl:;:: , ". "" ~.:: 2lT

Ape.mdice B Proxima.entrega ,., ., .•....... 21·1

vIii

A veces ~o pilSaDliJS desape:rcioidos, pew estM alll, en nlgun lugs, esttln '(~ablljBnd(l incenseblemerue sill que nos demos ilij{:nUi las 2<1 ili':!m~ del lila, los 365 dtas deJ nJ\Q, 10 lIe\~~mOii hasta en nuestro bolsiUo" alguIlos-rail QE1'ca como deatrodel ~ue-qJ{) y OIr~S tan lejoscomcen el pi aneta. Marte, hoypodemos enconttnr sn un hagar hasm"4() de. ellos y van en a,umemo, 10. ck!"(o es que carla I'IlZ dependemos mas de elias. Aclualmen!r: 10 sepera H la, c,,"tid~.d de mieroprocesadores existentes ell el mundo, estoy Il.3blando de 1o~ mieroeorureladores, pequefias eornputadoras que hacen que nuestra vida, sea mas tacij_

_aa pasado JIIAS de 30 nno~ desd!l qUi!! hiciemn su apanclon y 11 ill gUll crrc eireulto intcgrll1lo hs sido tan versEitll, ha renido tanta aeogids ~T 51:: ba eserito tamo 'de ellos como los microcnatroladores. El microcontrolador.es ho)' en dla la.piedraangular.de lo que sem ell imperio iecnologico del ~i gin XXI, delliro de lin es af'io~ estaremos rode!lt!los de l1IierOC()nl:l't!ladlll~)' serlin indispensables pam la vida cotidiaaa, i analizamos ectualrneme II) que pasaria si ~:ej8JllIl de funciouar per un minute, nos daremos cuenta que 00 habria comunicacion, las cei\lroies telefonlcas, celulares y radios dejurfan. de flmciot1ar. 10 misme sucederfa con; los <:oll'lpl!wior-es, los salclit.cs y COn clio "I comcrcio mQritimo etttrona en CIIOS, cl Ir,~fi.co scree estaria en p!!ligrQ, los mismes aviones no podrfan volar 5in S.tIS Instn!mcl1too de navegacicn, los sistemas electrcnicos de Jos vehlculos fallarlan, las fabricas,p.a;aliZ!lli!lll so. produccien, en los 110SpiIaies m~gll¢~ equipes ~h:X:lr6L1 leos rallarjau, en 81 hogar d!ljari~.1'1 Jie funelonar los si,tel11U! de selluridad, V!s!!aficia y de lncendio, los ascensores, el microondas, 1a lavedo", el t~levisor, 1:1 radio, ell DVn,etc,.-en definitiva serfa como que si 131 mundo se detendria aunque segulrla.glrando par supuesto,

Por eso cs Ian Importantc &1 crmocimiento y I~ u!iHzacioll de estes circuitos integrados que Cell UU prinoipio' 10 llamaron rnierocomputedores. para en la actaalidadconocerlos como los poderosos micrccontroladores, EI que en este iibro tratsremos es especllicl>ll.lelllC el microcontrolador PIC® de. Microchip Technology l!i£. jill Clue es el Ihbricante que lI!!va el lideraz~o POf SlI baio coste, flicil programaci6n y la gnm disponibil idad de modelos a elegir ~eg(m sea las necesidades,

La melodologln de ellscil~!l7n sera hacer ",I pJ1O)iecIO Y poner ell funcicnamiento, pal'll luego fulr sus debidas expl icacicnes bien deralladcs ya que lambie:n esta crientada a prineiplaates podrla parecerles mn)' obvio pero para algalen esa expllcaclon no estarla dernas, yo mlsrno he tenldo problemas 0011 algnuos llbros a'i 1110 poder pasar [mls ~~hi. del primer ejercicio, aunquc 01 librn decla que ern para pnnclplantos, y siu contar que me eansabaleyeado tanta teoria. Por esc no pretendo ponerles una montaiia de 'Ieoria y causar desinteres en el lector, porque parI! ello exlsten muehos libros donde tratan mas a foedo I'a estructura del l1l.i(rocontroladnr, ma~ bien intento ellw~ii15mii.fles COR! PfOYclctos defiil;:il npl"l:Jldj~'ljil 'i 111~y util !iiJlic;aci6nlln. 1>11 hos~r, ernpresa Y por q'l~ no para realizar proyectos irnportantes de automatizacion de rabrlc!IS, )'8 que

50 Inclu)'ll circuiros de control y maneje de control ccmputerizado con Visual Besie, al final ell) todos los' capltulos se drua: referenda de pagill!lS web en dende se puedc encontrar mas in formaclon alrespecto,

'1'0 que estc libto. fue: fCllli1.ado con III alloyo, de priicticlls rcales, encollt.l'l1I'an 1(1 informacion )' .Ios ccnseios mas importentes que Imeda dar'le~ en base a las experienclas propill5 q,IC he adquirido II 13 hera de m9ritEll" mis proy®tos,-!liios y :rii~ d.e trabajo encentraran en este resumidelibro, Ju5f.s:mellte este es.el motlvc 111~ g!'!!!lcie qll~ me. im.ptll~6 II. es:crib_ir cste lihro. UII dio mientras rclllizolm una pn\cli~a een los micrcccntrojadorcs PIC, vino mi hijo de 5 alios con sus preguntas de.',Que es esto? lP-ara que-~iIve1, l,C6mo ClInoiona?, etc. nn ese memento nie pu,e a.'pllllsar wino po4ria ense~arje todo 10 que sey CO[l su temprana edsd cnmo (wdda Cllienderlo. he side profescr de microcontroladores))<Ir un i1!!1Jf1po y Ini preble-mn d~ lludici6n que ca(l!i.dia se agrava me impide oontinuar con esta noble labor. Una vel un profesof de la primaria me.dijo; E:l objetivo del hombre ell Iii. vida ern, sembrar lin arbol tene; un Iliju y escriblr un libro, cl iirbol slgniflcaba III tlrl!bojo Y 1;[1. comribucion pam 01 futuro d~i pllwn~m"ell1iJ(1 .ignm~ll.ba III. cxporlencia de serpadres y la continuacien de la especie hllmana, ellibro es nuestra experiencia y 10 que nO~CllTO~ aprendemos a 10 largo de. nuestro ciclo de-vida y 10 resumlmos paru 1lUe!lD'QS 1~ljos, .paraqueasl puedan cmll'illiJott can nuestro lnibajo y !l,ya!l~ee mueho m~s qUI) nOS01D'Qo. Tumbien Una vet in i padre me iJijo; Cuaado uno se muere ni siquiera la raJ», que estarnos puestos nos podernos' llevar. COl1lcdas estas palabras dednje si rugillD dis. lIego II morir, todos mis eonccimientos .. me Ies U{';v'o, es 10 limicb que se va eonrnigo asi que C~ 110 se [luetic dcjar do herencill" per loons cstllS razenes he pcll~~~G que el m.~jor regalo que puedo dej.lIr, sort las letras, es decir tun Tib!\l'. donde todos podran aprender de O!I, ya que en algilll lugar siempre hab:ni. una persona que neeesita de mis eonoelmlentes.

Ailic](ll1l1.1.rncl1te pam fiJludnr al lecto.r se iOlClu)'Il en eslt: ILbm Un!! llimine para tfmisfer;:l1cia termica delgrabader de'PIC'S.y un CD con rodos los ejerCicl-05. diagramas; hcij35 de data y fOlogiafta.~·a..color de las 'plac<ls que a 10 largo del CapItulo 5 y 7 se vall presentando aqul I'cidran obseever detenldarncnte' Of can tolalllllli'idacl cad.a unu delas _plael!!! IllC"ct~onicllS (l'eB)" !lSi COInO rambien podnlin observar ana 5Il~ucncilJj falognlHca 'de como ilM<li placas -de cireuito impreso con e! metoda de transferenclaterrnica .. Paro utitizor el CD, lilTilffm!enle copie '000 el comenido del CD CII una sola corpaa de S1i disco- duro.

Pioalmell!1.l qll,lcro' 'CQ(presar mi. mu sincero ngradccimientc 0 'Microchip per Sill valiosa aYlldiJ timt~ 'eTI informacion como en softwares de lillre distribucion, a mecanique porsn valioso editor de textos que Se distribuye gratuilllmente par internet, a Bonn. Gijmn por su pmgra1116 IeProg,.n t:rllc'fOEngil'lcering I...IIbs., B tedos rnis prufcsores y nmil!.OS que me han !I)llldlldo'6 despejer mi. dudas, a rrii esposaque tanto meapoyo errla realizaclcn de este fibre, y de manera especialal Sr. hfg. Juan 'Bernardo Tarnariz y Ill. sefiorita Julia LOOn de ClJTpoimpc.x.disllibuidnres exclusives de Mierocb.i[J pam ECuador, par mciillllrme lns hojes de dllios que ~e inclll~e en e! CD, y peru, i [1m! e uti I iULI: ell 0 go de. Mil: rneh ill elll este 111:;1"0, ade'illas d a softwares, ill ate riales, informacion y. Iacilidades ql1e me han brindado,

QuitiO, Ecuador; Mayo del 2006

x

£1 Capitulo l se trata de la desearga e instalacidn de 105 softwares neeesarl en para III programllcio,1, de los !lfIi~,[QC(lrl1rotadoros PIC, rnedinnlc ilustraciones grMicM 5c'seg,uil'il paso 1I paso Ia desearga de eada uno de los pregramas, tcdo esto para que el lector Iio pueda perderse,

!;"neL Capitulo 2 se- da una breve 1eOrla del microconlrolador. especjfieamerne del .PIC lGF'62.8A, y' sus caraeterfsrlens mas.sobresallicJllcS, ~t1em~~ se da conseios muy utiles par:o. el correcio funcionDmienlo del microcontrclador PIC,

En el Capitulo 3 se 'ensefia a eonfigurar y programer en microcode, asi como tarnbien B reconocer los tipos de en-ores Que se pueden dar 011 III compilation lh!1 programa eserito.

Ell 01 CUpit,uk, 4 :S!Il ei<plieA per que escoj$r '~1 cornpilador Pidbsic Pro 2.44 Y su comparacion COil e], lenguaje acostumbrado el ensamblador, rambien formas.diferentes de escribir JM pro,!\ramas. y como grabar un PIC eon en el software IC·prog" ademas so enseim a reconoeer erreres en la gmbAcion del PIC y las decllll'!lclonc. disponiblcs en 01 compilador pbp,

En el Ca.pituio 5 se lnicla el aprendizaje con ejercicios baslcos pero muy neeesarios pam 'pOO\:F eomprender el funcionamiento d()1 microconrrolador PIC, Tarnbien cube recalcar q1J,e ell indis'p~:n,~~ble disponer de U,I1 gral,l!ldQr de P[COS y asi podcr reafizar cadlilllno de los 52 proYllelos que se eneuentran en :e.slo co pftu lo, tnrnbien 05 necesario seguir en orden carla. uno de los proyectos para peder entender mas adelante, ya que. eada V(lZ seran ,Ollis grandes pero no muy d i Rei 1 ill; de enrcnder.

EI Capitulo 6 es eomplctamenle. nuevo en esm edieicn y truta de 13J shnulacicn y ruteado uiillzendo el programa PRoi'E(JS, de igual manera se ensenara pwo a paso como montar un circuitopara simular y adicionalmente ram su postcrlor ruteado, termlnaudc con la hnprC')siOrl do pistas 'I screen de elementos,

Etl el Ca:p'itll'lo 7 se elllicfi!L II fabriear eircuitos uupresos, mediante un sencillo metedo: la transferencia termica, aqui ~I} lndieara todes los pasos necesarios para fa fabricaci6n, del grabador !:Ie PIC'S UNTVl:RSAL,l'ICmiera::;, pam 01 eual se entrega ~.olljmllilmenl'e con este lib-N unn IUminl! para lu transferencia termiCil de las pisras y ill screen de los elementos, !jdel1lJ~g se ensefiara [,knlca;; de soldad uras y terminaremos coil 11a fabricacion de un chasis para 5US IlmYE!C!os"esle [e !lara uno buena JlIliiSe:nIA¢16~ y acabadc.

XI

En este Capftulo sa aprendera.a descargar .10s softwares J)eceSaJI"ios pam poder ed [fur. oompilar y pmgramar lGS ejercicios l'n1:ctieo.s que se incluyeen este llbro, se segllirn pasu a paso, como deseargar del imcrncl. Rccl,IGrdl> que hay eciualizacioucs cada G rneses por 10 que debe estur visitando frecuentemente estas 'P,,!!ina5i, adicionalmente se imcJu)'1ll ~igllnos de estos software. Ilbres en CJ;):'\Soft-Frtl.e.

Estc OS cl primer progr~rn!l (jIJO debe desesrgar del internet, prlrnero ingrese en la pflgina ~.Jlf,!!W.cmJil!u" co uk y luego realice los sigirientes pasos:

la) Una vez abierto la pagina web haga un clic cn_Mlcmcod:e StudiD, como Uustra la siguiente ligum:

m

['1:~(II~Or.-OI$&I

~. i"'.·'=":il·';,jjltl~ It- "-' ~ .. :.,':!"':'S,rJl~", ..

~"(t9)'lr-~jlE!.Ji'S. '.

~yraWll~mil-I'S Ah(lVIlI"pmiit1'~noliird:C: t:ilJ1:t'n' m'VplQ[J-OIOEI r~~ (!!·M,fHli.lr~k

-il'!iI

C l~l!i:S1-1 lan,:fi Y"'.· .... , ;:-llLd'r.t(!f.J)p,b1ls

Ib) A cOl\t'llll!~d6n se presentara una nueva ventana, deslice 10 barra de desplazamiento (I"" ",I";" la dcrecha de la pantalla hasrn encontrar USA hosted by miuoEogineering Lah.~ litera.! H:).

It!

r;"ll~I'I,jTh9~ t::"MI~();CI'lIl1ltilliiJ;Cl C tolnpJje:rs.." - ~R~:~~~un~r!i

~llertiC.llijjlD SUI dll. nl)w lJDclu;dll!S' 1E::n,iI'lID Wluf'CI. air",;@, me U:~J:!I'".II~illn t~lI. I.Ui) ene. QLli('lI;I;y IlnpIcJll"ntb~dlrle~tll £.Jftlftllli~l:liItI.g bl!!t1<11n".(1 !1i:BtJ"Ii!(I.1III PIC"'" ~nk"l(Ji Pc.

.~

Ic) En esta plll1!allalloj!a un clic IlIn US.A Jioated by mlcmEW!iDterilU! II...abs., 0 cllaiqllicfI{ die Ips otros ser v idores y espere un mornenro pam pasar ilII sigoieritc literal.

:1. --------------- ~ Microoentrolad.ores·PlC Prtl9,;~IOn,~ ~II; -.------------~-.

Jd) n uncssegundos se abrirli: 1I1l!! nueva ventana, WWW.tlli~I"tl~lHl.illecrihlt]flb~J>illil. Gcsli;:e IG b"rm de dcspl~JI'tllijeI\'IO bn;:ia BbiljO h;!Slaenoontrnr 10 que viene en ellil(mll J 11<).

Ie) En est" ecasion deScargara, e] software Microcode Studio vel"Sion 2.3.0.0. Esta es la version mAs recienre que corresponds al mes de ahri] del 2006, posteriormente podra descargarde la misma manera tas Lkltip;tBS versiones disponibles, Ahora bien proceda dando lin clio encima da Ji)(I!I'.nloo:lI Mi.croCode St .. diilJ Z,J.O.!I.

t':;'b~

PlJi"Or\w r

~ ·Te.d

HIi'«--ilt~ ~~ ~

---------~ (iiiJ- Mlcroconrrotaderes PIC programaol.6ii en !!ASIC ------------- 3

II» 101m~(1 illlUme~te ~Qldd una pnmlll~~_ de descurga dc, archive, rem:hud nombrc do iM&';!,io!J.Zi~'. proceda Il~ndo un clict;n Guardar_

~>i:i_ ,"tWOmrri~d ~b<''''-''; ~;,,;

hli~~

·rI!!.njHltja1I'"j~ l\jtt$.-f;,ruM):Wtbh-

I g) Ell inslIlntes sale mtl n\~_~\l.e I1cnlilna sjrnilnr-al Is,i,lluieMe grtl.fic!l. p!'()(eda 1\ gUllrdUf el Rl'Chi \10 "rrnptimido en alguna !tarpCt~_-qoe elija, en e1>lil ;;8SQ- 10' hllNmOli en la ~III llamada descargas '9ue fue previamentecreada en C:, luego haga lUI die Ell Go!l'd:ar,

1 h) Ens('guitllH SC JlRlSeJll;flrU una pantnlla de deseorga, 3qi.lj plie~e 11i19fCIlr el recuadro d .. ~,,,.r.1 dialoj!o ill terminar fa dllScarga. para que -se eierre automatleameme III fina].i?,llr V emim IJIII s{ii1idQ.eitaileso~.r~a puedc tardar ui'ios 15 minutes, mlentras 10 tl~.ca puedo Slll:/u.ir descOIfgnndo ~I sigulien[o; p"'$rnma.

~ ~

~DoI..J!!,;~ n.tli~ r;>.-

iIJ.f.k4'!11~~' -flrll,l .. _111.'JIa:lli.It

Itlf.~.lM,H~

~

.m. .... ,tboUii

- ~~

t!&WJJAp ... 1M:I: iJ(~ ~

M"~' •• _~

... _._-_ ... __ .. _ 4" MI.:tiJtOlllrolltGCres 'f'IC P,ng",maoill. en BASIC - •• _._ ••.• -.- 5

PrD~' Pt!:lluklll. 1~111,.1_'~~ !~lIwr6?Pte' !W-. FICI8FU~o. rn:ClSf66ZO. IllPl42.1Etnl&, lSfl~:!;1'S1'l58, lW+tP!!JI4.&i .!S~:tSr !8;'~ .. UC$08,.1«"s4. ~~. Pl~' < ]~. 161174. ~4C1". :!A~.J, •• !lJ("~~, 9OS1:!OO. ;p('H, &11('.0.1. $l)SI3,·2~; Pill, ,Hm.. sopn d~.

TIJis ".t1v,_l>aGk~·nIl""" Y""1~ iW~~1 011 tYr'" .. rRr~.1 p"'~il!>bl. wt.j;rlc;~ 'tro:"~ Im..t \\;a!lI,9ivs-

- JlM)srn:rIllJOO!MI!/XP •

-Zc) Etl esta parttaUII poom descargar 3, archi v os simultAneamente, el primeroes el programe JeProg 1.05D,. el seguado es. el driver- para windowsNTnOOOyxp que podria ueceshar si dispone de estes slsWI11<IS operarivos, y III tercero es lIIIi arel\ivo de a.yudu en esp!!ifioi Tfeipfile i,11 Spllni8h LMgullf;lc. Primero di(lscllrgwe i€·P""g 1 ;05D como se Indica en el '~iE,liente 1 iteral.

,6 ----- •• -- •• ---- •• ~ Microoontrolll'o~es,PIC PIlIgI'l!",~ci6!>_em BASte .- ••• --.---.~---

:!.I,ll'llfu pede deseargar 10.3 arohivos ,~imuhhellfliern(~, haga un eire eon ~I iJ'(lI(i!i (/1JI'M//O Ml mouse en Ie-Pmg Suftwan 1.050 Ml7lti-LinguJ)l.~ueg(l hags cI ic en Abril' ell "fla",,"bl"~ IlUe,':!, ,$I:! presenrara una ventana ,,!imllrur al Ifteril:12o:;) proeeda illuallll@:lueC9rn,!tfJt,\,j n wml I gly c~~lIdo c~te c:t1cllilCralllll) minimIllCjo'. V ue I 'I'll II IJlI p~nwfla 2(;) y Plt)c&ao 8 dlllle!\l',CDrei driver N"fi2000'y el ar.i1ivo de ayutla Helpfile Spanish l.lmguage .

• _,~_---_---_-- __ ~ Mi~m~"ln-LroIDclorcs, PIC '!'rQQlimll<ll'Jl\ ei1I1A!.lIC ._. __ •• _._-_ •••. _-_ 7

B81e es ,e:I eornpilador '1m: :rIOS f!i.cilita, La prngam.a.ciiln de: los PIC'S, hasta aqul ya diKPQne ,Ie un p~o&1"alt1ndor ill! Pie 011 Ie-Prog J 05D, 'j un editor de rexlo al MI,gfOcodo Stlldlo' :i..:l ,Q.O· y ~D!Q falla urn progmma compilador que se ei1eargara, de I!enenir •. il Mchi-vo hexaiJecima.1 ,iIEX. necesario para poder grablUi erran mlcAAlQntrglaclor PIC.,.Para ilsIo necesita adquirir el programa pbp 2,44 que eyeslll lI!rededor de 250 tJSl),. wmbien Rliede desc:nria~ la lI"rsion d"mp elfl ]2 misma 'p~gjoa wWllf.mecBII;gue.co.uk, hacienda un clie en Compller:s; y luego en P[Clh.i" Pl'ofes~jf)nal. a continuacicn ptoceda.adescargarlo-cotno Sf: aprendio en Los (tlISG'5 antcrloros.

~t.uw-· ;~I·f'r.r~"I.

1"-"'~'lt

... ~~1lO"_

i, ;;ir;i~{;r.o;.,njiR~

~ jI',.,.""''' ... u

BI ilrc)l'i~,i) q_kl!) (!'e.~c!li'gD.ra 51! llama PBP _d'~111Q_in51111'"c~e, este archivo, '!'jCC!.llal:!!!l CQnilcJul en una c\irpetll (m.-s:) otro ins,llllildor de. Mic('O';>ode 'S~d1o version 2,1J(),7,d cual ya no hace faha porque )'11 dle:g,;:ugc. ~nreriC)rme!lte la ultima IIersitln de~ mlsmo, esto se expflcars mas adelaute en 1(, ill~talaolil!'1 (v.w pag, IS). A C(lntinllnci6n se.muestra todos los nrclilivas descargados haste aqui,

Para tnsralar este ~clilcr de texto, prirnero debe de&l1Ol11prim'ir o! 3.n;ilivQ mQsl3,()(I_zip que Ilmni'IH:' de d(l~carg3r ,A.ln>Q'I'im",~ntIJ" P\lril 1.':,,10 !.llti~l9!1 2 rorm!lS de descompuim]flo,. itl ulla es uti.il:>'JmdJI W TNZ,I!' 1lU.e' se lin ~nllrn mas: a<l!li;mte ,(~giR!l ! I), -y l!lffinl'es u rlH zandn e lextractorde ."rei/, i \,[J~ eIlrilp"imiMs.'tlel mismo WlblDOWS Xi', p.~ e:it:o.bag!! dQl:llu clio ootlremi:il'fJ00.ziPi S9ahrlrli Uflll rlll"'~11 ¥09:I.taioa mom'unclo su comcnido, (ver Iii SiJ1,lllentoo ji". i;<'1uierdal; luel;!o wreslOi'\e en fu1nu,r tf)d .. ~-los nNhiVQs ~ en la ~igujente vemall a (r.gnm [J6f¢C~,a). ~j fine 'Siguiinl'f,

~,~,~
----- 'I!' .0--.
t:I ~ e
p F,il·.fJlt ....
J~ Ij ffin
~k.i_«;; ...... .L!I ""
~ I:l ~
....
~
.i:I~.!iiI A con fioUllcior~,B p~ re¢erli una, nueva yi;\nlIil,8. en doiidc se m'~ ilSlJ'a lJlu gar que.~t;"a II dMllllrgar el urch •• O. d~j!lll) ell .19 m i'!mli crrf)lCtM8r1diisuDrglis\mC$2'3 00, pr~_,S ic-ne Si!luiel1t~. :1ue,gIl,.\1 i3Jiir~ ulna nwWit vcntana informando'que I!),,,archiv{)s han si(lo dl>S4;\lmptiinidos, marque 1;\ ~asm~ IVr(l~,raf '3I'chh'!IS cxu'ai!los y preslese FimiJizar (tiguT!! dereeha),

HaiSl~ ~.qui se ha descornprlrnido <!,t erchlvo, ahora proceda 1I Instatar In(cic~ao doble elk -en .:;1'81"chi-.6SF.TUP.EXE.

, ·r~ifif~ru.~~;.,

.. gl~ :.:,IJIALJ.I!I!:.:.i.i.iil

~~ ~~I!!~ ~;nl~p;.,

~.::!!'~~~ 1'I,'O'.,il"I::,16:1ll

,lIi:l:'I ~~~..,..no.- '~~~I~·:oi.!.

.~:-~~~ ~;;;~:~;

1'IiiI~P'o't ~'171.'!~

~m oIoi~~ ::::l',~I~I .. n!~%

~: =~~~ ~M:i;

91.£1 ~~ ......... ~.i'I.~J' [l.[n~!Iti~,,;,'lI'Qrrl~i-!,1.p nil ~_ • ..,;~ I';~UII'I'.

AI ~j~Q!llIlr' .5ETlJP,I!XF., a~reeer:'l In pantalla de in~t~I'ncion do Mibmcodc Studio, preslorre I'Ic~t.

A continuacion sec presentara las condiciones de ia lieencia, Ical0 y si esrd, de acuerdo preskme Yos, luego se Lmdic~ la carpcta en donde se insllliari C :lArclhi I'M d<'\ Program{l\iVlec.,1ni lluc~MCS ,i desca dcjclo~hl, aunque lie rv<,;omill!llla lnst .. l"rl(l~rn C; directamente, pam hacerlo preslone BfoW:;C,

En esta nueva ventanaescriba C:\Mec:II~Di:gue\MCS, luego preslone OK, aparecera Uti caadro de di[l!ugo iJ1fol"OlDndo que }lI carpeta C:\Mecltl!iqge\MCS no exlste, le !pr\egunllU!\ sl desea erearlo, prrc$irll1e st,

1 0 --------.- ••• --.-.-~ MicroconirtJladore& PIC PIO!l,"m""r~" en BASIC .-- •• _-- ••. -._--

,Inmooim<lmell!tl Sf volv~!'1i A I~ ~@tnn~ile destine, O~{'" debe declr C:\Mec!ln.iqwJ\MCS, preslone iNex,j, y esperen cue cl .I\mcero d~ inS!BJnei611 .13 com[lle!~" !II cabo de UI1M sc!l~!ldQ~ la inst&ladon habra terminado, finalm~ille j'iTe~i()ill;; Finis.h ..

'Pam ilio1ilMr este software sO'I" neceshn de~OOJllprimlrlo. como ),1> eenoee cxlsten 2 formaB dG hac<;,[i'Il, la primera es ~t'i~jl~nd& el e:>f1J<!ir;tJ:ir de archives de \VINDOWS XP (ver j>iigjJla 91 y la ~I).~~!\da forma qUE:: .se i1pre~derA en esta ocaslon es descomprirniendolo mediante el "sbl1war-e.

\'liNzl'r. c,~l.: ~i,lftw~h: 10 Pll!ffi'c d~«~~grnr graIl] iinmerllll desde w'''w.wil'lzip"eOIII. .

Un;a. VGZ que est~ rn5wlado WIN.zW .en 1:1 . cornputador, -lri~~11 iee ,ct D-rch'jv(l i~p,rogr05l).liip a tpalies, del explorador de \\WdO\-;'5 Y h'ag~. doble die scbre d mlsl11&, cD;e$e lll~I!lIlIe. se e.jetLitarli ~I pro.,'!"l!nlll WINZIP .. en SSllli pantalla. p.resllll):e-Ja tecla. Agregar (1 Agree),. sol" 5~ sale- ~mJ pallmlhi simiJ~r9 III Figut~ derec~ii '([~Ie se ,~i'~S£HIn ~ <:UlI!lmllQdi6n preslono Wb:ard.

,A cOllrinulld6n selecciene UJ!zip or install from "jtprogU~SD.:dp" y presioae -!l~1,. luego le indicara la, carpeta en donde se va a ubiear C:Il1Dzipped\icl!roJ!,l OSD si 10 desea dej~)o ani pem rome Coil euenta que desp\ICs Utndnl que reUbicarlc.en C;\mecllilique\iC'progIGSD, en todo case en osta oCiision selo insialmi en C:\nozippod\icprogIOSD, pveslone la. reela lfrrrlp No.w :J tSlX'1Ii! II nos scguudos,

12 ----~-------- ~ Microco.nrrollldo.rcs PIC::: Pl'OQramacll>n 00 BASIC ---- •••• -.-~-~

m<ncilidl:il:mente ~p_a.eCm Ia ventanade' C:~imz_ipjJ(ld~iolDrolilOSIi) COil su eJecuuilile -en el imefi:or, cl~rro ~sfu_ v"ntamLywlYem 11,111 Jl1lntitlla de' dial'ago de. WinZip,D vtz presione CIMe.

A rontinyac;i{l'i! uparecem una pantclia similar 'iii siguiente gr,:ifiCQ" en donde le progtjntllm la fmmtl en CI\JIl dese!l qua se inct<i.e WinZip parrtJas pr6xiinas ocasiones, goa modo CJas'Sic o W'i'lllrd cf~cli-v~flleme presiene Wi~, e;510 l~ iI'hO!1'lll1i; tiel1lj)O para llirpr6xima \le'Z qru.e ejecure Wil~Z:ip,

Si usted d ispone de cualqu lem deestos csi5femas operati vas '1:8 necessrio pam, qileelprogrnmiillor' I G"pr·dg I O_5!D Fun!"i oae correctanierue h:lief,i!l_slalado· este o:ri"~l: Casu COlltrario- "bSer;"ara una serie de errores en III ejecmoi6!l deL pOOgftlitlli:, (ver l'iijil,m derecltaj.. Pata" instalarlo prtmero n,e"esim encontrar el archj,,!) llCPl'01LdriverlZiip que descar,gO del i:nfiem~ hiego proceda -:[I, descornprirnirlo cornu sec aprend16 anreriormente, Una vez que termine de -descomprimir, il]l(ltO:)cl;\m III cl!!lp{;im io:;pr'Qg__driv!rt'l11 cu!>l i!Olllieneo (ll Ilrchlivo kPftJg.~)'~. este archive, deb~· liwciverlo dentro de h.1 carpets C~\n!l!CIniqu'l!u~l'roglO5ll)" [utuo al archive ",jeculll.ble icprcg.exe 56 \0 de-e-st~ rimneh seln pt.nri\ -attivar, (vei Ill! srguiE1'1ttl-figura izquierda) .

• -_.-------~- ~ MimlcwitrollldQ~ pr~ f'rQsi",ffia.eion eo !lASIC _ ... -. __ .. _._. __ . 13

Ahoru qUit ya dispone de este driver, debe a.ctivaflo de Jill siguicille manera; Primero ejecutc iii archive 'icpro!l,e:l:e, Iii primera ,fez apareoera una _Fantalla en drlllde Be debe seleccionar el puetto. cem quedesea trabajar, Jilay cases que aparecen dos plicrtO<ii d.isponibles, selecelone el jiillOfW ell donde cstil conectado el grabadorr de micros, lS:i no lIpa,~ee ning\!p pueno dlspcnlbtc, I,,,,,no doS, cpclonesi

a) ,Si utiliza un mouse serialy dispone en SU computador lIll co"ectcirPS2 () ull L1sn, es aconsejable cornprarse un nuevo mousePS2 0 lllSIl Y ,~nec'U!rI!o. d~ e51~ mnncfl1 qlledalli Iibre el

puerte s(lr;illl para.la conexidn de.1 gr.abador de micl'l1$,' -

l1} Si rio-dispone de tlingim puerto seri~J, ID aoon~,able es comprar una tnrjeLa die puenos serialos e instalar en .~I.I computador.

Una \'':;2. soluciGlI1~do"el problema de his puertos silriales de UI1 die i;ln OK. .apaseceni una panralra similaral de la derecha de los siguientes gra.\i,CtlS, en esta v(:\T1U1na ab~'"d Settings yillego bill!;1l un elic em Optiolls.

81\ ~'-iiril\l_ecva. pantalla, sepnede.carnbiar el lernguaje.,_scleecione Spanish 'j luego presiOil;: OK" en ese. nli;[Uu- i!lsl<Rnte ,observarn que {ado QIIIIi,bia, II espaiiol, hien alJoru vuelva OJ. abrk AjustBS (ante:; I!rHII~dQ Settings) y luego de un clic en OIl)eiDnes. esta vez de un die en mii;c;ehIJl!)8 para l~lIbmhlI e! driY4" de Windows J'ffIWOtllXP. una vez quese marque' eJ·easihlero .ap.arccIJEll un cuadro de Ili.atogo preguntando 51 desea rClJUci~r IC.Prog Bhom.. presinne VIES, lueA\:O Ilpllre~cri\ otro cuadre de diiilogo preg\ll,lando sl desea il!>tular e:1 driver de le-prog, presicne YES (VCI' IQs;sig\liimtt'S gr1ificQs), Si el problemllLIPc~is:te desinstnile,el DRIVER yVlleh'alo~1 insu.lp,r IIucvllmen!l:.

14 -_ •. _-_.--_ ••• ~ Mi~rlK(lnl""l~il~(o; PIC P~mmaci"n en &\!jJC ~---.---.,-.-----

Este pregrama se debe deseolllp.rimir de igual forma que se aprendio IIIlteri,)r.r~eflh;, si declde Util'ilaf 10 version demo debe lc:n"r en euenta qUI> >610 pued;:; campijar 31 Hnel!:$ de pmgtlimd, liunbien so debe eonsiderar que no se puede inciuir Is dm;:J·al1lci6n lNCLUIlE, IiKlr !Q que 110 S\; pueifc· realizer PI1P~tos de cQlII;unicacion serial . .Para.este libm se asame que u~tea tiene Ill, "<ll"si6n completa de P1CBA~ic PRO, de todnsrnaneres la liIUl}'Oflll de las pr1ict:icIl5.n realizarse son poslbles compilarlos COIl hi version demo, adernas si no dispone de ningun compilador se ineluye en.el CD todoslos archives .HEX, necesarios para grabar mel PICI6F62RA" de esta msnera.se podro ver 01 funcionamiento de IMaJs los prnyectos qUll se encueerran en estellhm,

Para. instalar este compilador, debe ejecula!' el arehivo PBP _demo _ lnstall.exe, y seguir los paso~ que se muestran en las sigulemes flguras pueoe ublcarlc dlrectsmcntc dcntro de la carpers C:'~necaniqllc\PBPDEMO. 5i 16 preflere, caw comrario 10 debere mover posteriormente.

------------- ffiJI' M I anl.'(l"lroladolXs I'le Prog ... ",ad<>n en eASIC ------------ 15

.Ell e~!n (tllima ventana asegw~() que In :cnsill!l.ln;;tlllrMh~roC(lde Studio IDE no e~M marcadn, PU"," COlle es III instnlador de 1)11 icrncode Studio versirin ;U .(1.7, el 01181 no 10 necesitamos, 1118S bien 10 ellmlneremos para que nil' OClJIJle espacio en el disco duro (ver figura derecha),

16 - ••• --------,~ M;cmcOl\lrolrulor~ !'IC ProgtiJmociOn en BASIC ------.------

Un mierocontrolador (Ie mbrlCll, 110 resliza tarea a1llunu; e!itu deb" ser progrnrnadc p~rD: iJ1H~ realice desde jlll ~i]!1ple JlP~Il!ldeQ xl(l un led hasta un sofisticado control de un robot, Vi", microeontroladnr es capaz de rea~i!zar 111 tarea de muchos circuitos l05gicos como compuertas AND, OR, NOT, NAND, converseres AID,. D/A, temporlzndores, dccodlflcadorcs, etc .• simplificando todoel disei\oa unll placa dQrcd1Jcido!am\!i\lIypocn.~ eUeNielllOs.

Los mlcrocentroladores PIC (I'e.ripheral interface Comroljer), son fabr~cado; por ~!I emp.reSli M1CROClIlP Technology INC, C:~}'U ;:.mlfQI seencuentra ell Chandler, Aeizona, esta empN~~ ccupaelprimer lugaren vellr& de mictocontroiadoros dt 8 bits desde el afio 2002. Su gran ·exito s",_d'e;t;e 'I' l!l!gt'l!!1 WldedlW (mas J:!e 1St) rnodelos), gran \ler.;alilidad, gmn vulocldad, ~!ljQ costo, i1~o cO)Jsuino d,I< f'_ot~ll~ia.-y gmn dispo~ ibilidacl de herrarnlentas para IiU proSllImati6n. UIlO tie los miuOC-Qllt1'Qiadorcs '[1;135 pOpula1:l"S en Ia actualidades el PICI6r'62liA), sus varlantes PIC 16F6t7 A.y PIC 16F648A; 0);b10suC. soporta ~a~a 1Il[l,OOOcic]ru; de ~St.,-ilura ensu memoria !'LASH. y j'OOU.QOO clclos en 51:1 memoda l'iepmm {tiempo de I'CtcI1Ci611 de datos I 00 !lftQ'~' este I:sffi reemplazando rilpidumente (II JXlPll10r PIC 16F84-A. pll~ presenta grandes \I(olIlaj3;>: como sell;

Toda.,~ eslll.' y alms vcnW!ins milS como el oscllndo» internn RC 'de 4MHZ, MCLR programable, Il)ayor eapacidad de ccrriente, Programacion en bajo voll:l\je, etc, Lohacen at PICHiF628A, c crno Cllll,i~ro:cQtltr(}tlltlm ideal para esilldian~~ y afietonados, ya, que al tener oscitador inrerne y eel MCLit (mils!\!tcle~r) si!:n programabje, es mueho mas seneillo ponerla en fUlicjol1Dm·ionto. IbllSm con COOeCIAlf a·' pin 14 II SV y el pin 5 a tierra para. que eml1ieCtHllrabaJar (ver hgi'''' "!.1.I). .

. HI l'fC.l6F628A utiliza \111 proeesador eon arq.UliteClura ffilrvllru" couslguiendo mll),,,r l'endlrtiih,nlO en et proeesamiento de las imstr,u~c[(!nes. iI~m arq~jteotum H dm:lilllci~ de 10 Von 'Neumann, utifizn dos bloques de memeries independientes, una OOfltiene iustrucciones y 1<1. elm 5610 datos" cads. una COil surespectivo sistema de IiJUst1S de acceso, 8 llneas pam lOB datos y 14 Hnea!; Illll1l Ias insuuecienes, COlI 10 que es posible ~(!aliZllr opcmclones de nCIHlSQ I!M~I'fi Ii escritura ,:;:imullal1eamente en llilS 2: rnemorias,» ssw se connce como paralelismo (figura 2.22).

CPU

Figurl' 1,,}.J. &t 10 arquiteaura Pon Nl!l/fflO1J11 se COTIBelO d CPU COii uua memarta wrieD I!JI donila SiJ olmaeena» dOlo~· e tnsiruactones eli forma ifldi:!ti1l/ti, cOInpolJiMdo el misma bIL~,

CPU

Figura 2.1. 2. La orquuectura Harvard RI(17Ieja III "'i/mori(l,de aalas y fa 11111/11.01';0 de iWiln/(::df)liespor .scJH.ImiJO)y (Jon diferel/(fil!i {Xipariqaries.

HI CPU del miercconcoladcr emplea una avanzada arquit:ectunrruSC {(lompu~d!llre(')lI.iuego de instmcclones redacido) ron UlJ set de 35 mstrucciones poderosas pestcnecientesa la glI!Ill.a media de: 10 ramili'a de los rn{cmcmlb'o!adores PIC, I~ mayoda de instrwocioncsc!le ejecmun ell WI cicIo CI) illstrucci6n a ~cepci(\11 de Ios sahos qua requieren de 2 ciclos, dentro de su Procesador -existe una PILA de: ~ niveles que pcrmiren el anidarnieruo de subrntinas, e5IO quiere decir que peede reeordar S lugares diferentes de linea de llrogrruna e It regres!IIIdCl a' cadI! uno en el orden inverse 01 que fueron anldados (ver tigul1l 2:3_1).

]8 ---------------- 4f!itI Microc<ll!lro\adores PIC P,rogramaQ\n"" BASIC ---~.----

~Qrl!l Flo'" d. Pro.IIrDm~ ,e~2SA 2K,,1~

FigUJ·tll.13. Dfclgrqll:!tl de los bllJqm!~Ju!1(;i("maJes del nc, su crwexltm tntemaes: lrI(fdltmtl! I!I~'I!.\; J<! &jll'ru:fa M ctmexron de lID s mamorias Pla.fh. Ram Ji Eeprom,

Ceneeldo lm;nbi~[1 como memoria de insuucciones, aqul SIl eserlbe Ills ordcmllJl ptUlt qUI) ",1 CPU 1~6 ej~cllte. En el C8SIl d'elll'licrooonfroJa~ar P·1C16F,62,SA.lienc memoria de "fagrama'llo voltlll! ripe FLASH,. en comparacien assu.antecesor la memoria EEI'ROM" este se caracteriza por-ser .,:;@; TApitio en (/,1 preceso de,!,scritp:"voomdo ,elcc4rico, 1clem&s disponede mayor capacldad de ~,II1'\Rc"mal11icllto, esta CIInlctcrisri.ci hace qw~ sea. iil.enl para prntrtic'iI..~ de itloora:i.orio ej'l dondela gtabil.,jon y el.borredoscn rTe¢ue'i'ites_(recillercleql!l.~!ioportli 100.000 c)cl0' de csGritu;&!ior,m'da) .. III b!!~ de direoeione .. ~ ,de la rnemoria' de p.r.ngmmll es de :I'l birs, per 10 .~lIe el Corl!adOr do.. Progrnma pucdc (ljltC¢cional 81!12 posiciOncs de: 14- bIts cadllima. (dcsde lldlOOOh' hIlS\~ I rrFIl}, de las cuales solelas primeras 2048 ilnea, itene imjllemcntadas. (d.;lsilO' la OOIYl]h il~51!1 1,1 O'fFf h), es declrque el PC,SoJo urlllza. 105 II prlrneros bits Gil direeciones I05,demasbils,.llls.lgn()r.h

----- .. ----.- ~'(i!J' Mjcfoool1troladCJrts PIC P"'Il,.m''''''"'TI Ell\SIC---·--------·· 19

Fil1l1rll.1,3.1. !-{ape de lei memoria de Pragtama. de 11l.~' iY96qWs'icio7!ie.\; s;610 rlene implemcnraid(l,/as _prime/cas 2048·.j)O$ict(Jli8S. In dil'lIcc_i6!l ()()OOh IIsla 1'~surv;'lda /wltJ el vector de reseJ' y fa OOQ<l1! eSIQ reservada para 1i:7 vector de il#<'.mpeJon,

Vsdtor (feRESET

MEMORIA DE !'ROORAMA PIC 1 6F62e'A

m ?lCI6F628A, tiene dos tipos de memories de datos, la RAM estatica Cl SRAM (Random Access Memory) 0 memoria de acceso.casual, ell lUI tlpo de memoria volfitil,. es dceir sus, datos pcrmml~cn en 'a rnemeria rnientras exism. all:l11ema.cioncn ~1·dt.pr.l5Itivo. es d_e vilal lmperranela porque Qili re~id"i1 dos tipos de dares, 'los regislI'Os de, pro¢~ilo gencl'!Il (GP'R), "D d'onde se almacenan las variables y los registros especistes (SPR), que snn ios-encargados deIlevsr e] cC)lltador tie peograma, el COMeo de} Temporizador, el estado de los puerros, Ia ,con.ligur~ci61l deIns inl(.)rrupdones, ere,

EI on-o f!PP' de memoria es una memoria auxiliar '[10 \'Olillil Hamada EEPROM, COli capacii{\iItJ de 123 poslciones de ~ blls cads una. Esta memoria _PIIICde ser accedlda flO. el usuario mediante progrl'lmu~i611, (Is inuy ullil pm o:lm.a~en.a1 d8j()~ que el uillllll'in II;l;:esiw que SCl cqnserven aim slh alimentallion, fal eli ili ca.;:a de I,a clave de UIIlI! alarma, esta ptled~ ser modificada, pero no debe perderse per un corte ,je energia, el fahric'!Wte asegura que la serie I'JCI6F6XXA,.tienc'una reteneion de dams en estB memoriunft)!'o!O II !OO olios.

Como este mlcrocontrcladon es fabrieado con tecnologla (;MOS, su consume de potencia es rnuy o<!jQ (2 rnA a 4 Mhz)y adem:is es completamerrte es,tatico, 10' que ~igrJi'tica que si el relc] sedctlcne IllS drum de .Im :mcmoria.RAM no se lliG~den, esto rnientras sl micro sigue a'llm.611i.ndo. l,Q memoria d. datos "RAM; tiene'512 lineu de II bils cada una YIl~A pHrti()inn'~d'a per ~ biUlCI)&: e] banco 0, banco I banco 2 y.banco 3, eada lIDO. .con 128 bytes, el aeceso a -'cada. banco de memorla to realiza los bits RP:l y RPO del registm SJ ATUS, la Inilyoria de' 10$ bY~!ls SClJ1 ooupados por los Registros de Puneiones E$peclalcs (SFR) 0 no estHn tmpJllll1tmt!ld'l~. Para 1:1 casu del pre l{iF628A solo 224 posiciones 'de memoria RAM estin disporutilc$'parll 10~ Registros de Proposito Gem:rnL(GPR}; la distrjlmcioo de memoria se muesira en I·a mbla de In. fillllJ1l 2.4.l,

Difrmoo~,(1) , OOh g~ o.d;i:wli;»{l) !Wh
T'MRD ~ Olh OPTION U,!n
Pj:::L QZh peL inN
STATUS :Io:i~ STATUS ~~
.FSR 04h ",SR un
PORTA 65~ TRISA IJlih
P@RJI3 06b miSEr 66h
,,~,~'h?,.: ,~! 07" n"""","":':- : .. ".l. 111~
:~-$",i::U 08" W. ~'T'; 8&h
ih:.W.,",:rj:~:}:/ I Q.9,h ~i" 89,h
PCLACII CAll ~CLATH 8Ai~
INTCON OBh lNTCOt'J IIBh
PIR1 OCh ~IE~ ap"
~*'~:~'j0-" . ,~~ ! QDh ,::"k."" ~; 8D'O
lrMR1L GEl> peON ~~
TMR.1t-! CFh <~':1-"<:i"q;W '!lFru
neQN lOb v··~ '90h
..J.!!!f:12 _ 11~' ~':"'~' ',:ni S'th
T2eqN 12~ PR2 !!~n
~:~~ m ' .•. x .@ IIilh
~~i~~;-"t.~ 14h I~, 94h
CCI'R1L 15m lM. ",,<IIi' !l'!i~
'cCl"'fHH 16m, 1- 'oI<:l:~; 9Ilh'
'CCPtCON 170' E-~:,~i;-itF"") ,!<7h
RCSTA HI~ TXSTA SIlh
t«REcG 190 EiPa~G Mh
RCRE_G lA.' EE'Q.l\T;A.; ,9Ah
~"t1',;il""",:",,~ lab IOEA:DR san
,~,''*i*,{ 1Gb EECON1 OOh
&~qi:nJ~t{, !Dh !'08:)Q!'l2,(1j .9D~
t~ :"~:_;)<3><&~\'. 1E'h ~l'ki,~ . .@: ~ $En
CMCON lPh 'IJRCON 9fh
2Dh Aeh
80 Byte!!"
R"9iSI!Q~
96 Syfe:s Prop-llsflQ
Reglstms G\1IoVo!I
Prg;posil(l EFh
~G_e.ne,~1 70h Fllh
~
7Qn -1Fh
1Ft. FFh
'Baoco"l ,Banoo 1 [i] Posicio~es rIO iMplemen1aclse

aeeeso 70h- 7Fh

/iigrm't 2~,f..J. M&lfl'a d~ fa mIJmoria du .DA.tos SRAM, Ios bloql/"s tIIprco(iOl1 Ga~' tramas no son tmplememadoe, se teen "0" los liJiialidad2s 11I(ireddti~ cqn (/,) 710' s on reginros 'fi}lc():~. leis Iocalklades. 2f)/r a 7 r. h, corresponden a 10£ ,illS bytes de tos reg;isl,1r!>S de prppJsiro general GP R. '8v byrl!s (i;J>R en d banCQ J,(A(jh- EFh)y 48 bYI'~,\: aPR '.'11 ,elll(l~icD:2 (t2QJI-14FhJ, ,kllllJa un rotdK de 224 iJ~Vlesdi.~pmliM(!s' prn:o el usuario. 'Punr mayor ii!/imnadim f !l/i/i.acld.!1 de iu" t;FR, i'e/MrasttJ/ daiashee: del PIC! 6P6XXA ql.l(,; se: IlIduye ell el CD (Ie em ttoro.

<-~.~~"""~.~." iif6,~ Microconuoladores PIC' I"rog",,,,.,",,"" en BA$IC·-·,--··...,-·-···~." 21

Banco 2:

{1} NO' as un reg'isfrQ flsico.

Veleeidadde operacida hasra 1.0 .MHZ con oscilador extern o,

Osdlador frrternn RC.(resi5ieru,ia.ooJ]dens.ftdor) de >4 MllZ callbrado de fahric.a • .1 ±I %;

• ,Admiw 8ool1jig~I1'II:iQI1ISS do) escllador,

II ni v eles dO;l Pil~A.

t'rtK;i!~dvt'cun'mquitectm:a HAR VARD. Go!1Jllntql'l:(l.llci~o d~-i~tnIoc.1(1no:s Rise (35) glI!l11l me(li~.

lnsmtcciones de till cicio i:1l~"PLO les saltes (200"'~ p'nr iMlrucoioll a ZO M l'Ill. Reslstcncias PULL-UP programables en ",I !putrID B.

Pin RA5 ~C):.lR: programebleeo roo reset eid:emo "P in !Ie entrada _ JtaJJ go ~·e opmcion desilc.3 V, IIMI!! .'i.5V.

15 pirne~ de IJOy I s610 d-e OI1Im.d!l eRAS).

TernpnrizadorPerro guardIan WDT independiente del os .. ilador. Programable qjru~() voltaje.LPV 'SV.).

Progra!lll!.~it\ri s~rial eo Girc,uifo ICST' pOt:1 plnes: RBI'l rei oj y RB'1 datos.

• C6(Ii'~;o de pf'()leC(;iclI1 Ilro,~nllbillpor SCCIOres. .

Mmnorirn:le I1rogIDi1la FI ,ASH :i!048K. de- 100.000 eiclcs esc.f(tnr~mUJQ.

Mlirimri1ide datos EEPROMIfu. U!OO_OOOeiclosescrhnralborrado.de I ()Ji;IDQS reoondi)n. 2 eircuitos c9lnll,amdoresaMJllgos (1)11 emradas mlllli_(!l~n~.

.. 3 lfilllE,f5. Timer Q [1 I) biis, TimCl'r In I (j bi1S Y Timer 2 II S bil,.

• Modulos CC·P. Capture oompar,a 16 bits. y PWM, mod .. taciiin de .~l1ctiQ Mp'utoo II) bils, 10 fuentes-de hitetTupoi6n.

M~clulo d'~onm!.mipl~iQn st>rlal lJSART/SCI,

Cllflltcid ad 0;1<; corriente poom encendcr Ted s it i rectamente (2li rnA 110); por cada pi II,

&'\;<.:llIjiQjld(1 l(j~ des Ililll::s de IIlimellUici6"" LQ{lQ~ los 16 pines restantes f',,<tdc:~ ~r cot;l'i!!llmdos ccmo o;lmradil~ !.) sa! idas, alguncs, cle Clll1~ tienen ftmclooes espaciales, ver figLltlI2.6.2.

Il_AlIAtl2'-'l!EF +--to :1---!",AA1/AA1

IU.U~3/CI;lPl_- _MOlANO

RA<!ITO(;j(~CMpa--+' ___.. AA1It1SC:iICLKI"I

'M~'_ ......- AAlll\l1i'q2JcU{(JUT

11$6__ _WO

R!l&1NT _ +--:I!'.f!El?/" H)S1

A;lUiJt(IOh--." +-+ F<E)I)IfmSOff1Ci\1

RIl2ITXIClt_ ,+-+ ~a~,

lte!:JtcPl ........... "'I:!:=.--"'!¥ ........... RB4II'GM

Es. mil}' jilJpomflte roinar'enCll'enfll estas reeornendaeiones ya ijue sl no se las .s.igue '~odrla'COrrer

el rio:sg;o {Je. d~ft~r el pIC: .

~.NCut:rdc que ell'lC tleueteonologia CMOS,~stQ quiere decir que eonsnmemuy poca c()rri~'11le pew que.a 'Ia vel': es susceptible-a daijos por,estatica,. se recomienda utilinrr pin= pam manipular )I asi poder transporter desdo el grabadOf al prornbmrroo viceversa;o a su V$'~ utillzar.una mani IIIl lin I iostkdcB_

2. procure utiliZilr un reguladar devaltiljciComo el 7805 que nos e~gile'xaclamellte5V,y 11<1 un lId1\pliJ<filt de p;ll'ed. ya que el vclt:ll1j~ de salida no siempre es el mlsme t!~lq\l'" indica S'w ~~I:Ir.icol1til.pQr illtim.1I pucd.:: llI'iliZllt 1111 circ,ui!9 CO!! lin diado ~Qncr de 5.1 V.

], 110, 50br~p~e 10, I11\1ele5 de corriente, tanto de entrada, eorne de iillicl~, receerde que 61 PIC puede entregarpor-ceda uno desus pines una ~ITtc;"telIlaxirn-\l de)li [riA. Aslrnlsmosoperta una c()!T),cntc mih;,lm;t d" "lIilr~dtl_ dt; 25 mA., esto qI.!iqc,dl:cir que [lucd~ encender un led con ulla resistencia d:e.:Jl{) 0,. revisernos:

Voltnj<lq'll(; SElie de unpln del NC, si (1<; alirnentadc con 5 V.'" fjV, Cdrri~ll!e (1110 ~ui~Jeel IIXI pjj,~ IIjj~il(;endido Ilorma.l = IS !lilA. tOue resistencia es necesario -parii: 'ence:llde~ el led cortectarnente'',

V=Rxl

R= 5V.

0,015 A.

Ail0n[ un }demplo de corrlenrc do (mimdn. 01 PIC; 81 queremos poner un pulsador "Qu!l reslslencia serla Iii mlninllHl colocarse?

COl1l0 sabcmos 10, cClrri,~~ro de entl"ildg !.I1l() >OPOI1t1 per eada pin del PIC es de 25mA ,,"ll1rtCeS para illl pulsador tenerncs Que:

R= V

Ii= 5 V.

M25A.

R= 200 n ", nO'n

EoS_[<O quiere.decir quell! reslsteneia-rntnlma a cclocarse 8 . .;.1. de: 220 n p!l.l'1! 0:1.,,"" 0.1 If!11ito ,d'~ 1. c~pacidad que soporta el PIC; pcro no es rnuy aeMscJable III'Ilb:!,jllr WI1 10. limite., pur 10 que 50 recomiendautilizar una resisteucia de I Kf.! 3. 10 Kn. asl "I PIC eslarla tmhllj6nllO tranqullamerne COP una corriente de ,mlrnd:a d 5 rnA (I 0,5.HtA respeetivamcnte.

,<I. Ell a 1 !,\lIUlO$; proyectos e$ liecilSl\~i~ tOnectar Ull CfI!Nlcitor de ! lir en paralelo al ?IC, este c."'fu mal funcionamieij'to5 que ]10driilil ocurrirte, en ~Ilecial cuando se uti:liza 'teclados matricial",y se lien ~ cenectado ad i cionalmente un buzzer activo (parlante activ () 0 ell icharra )., y re res,

;, C;ulIl1dO se necesite pl'e(!is!ioll ell \lllrab:!Jo del PiC (eomuni .. acii)l1setl~l. Iqmos UTMF. CIC,). ~ll nlcOm~enda utilizer un cri~tal esciladcf externo atl4 MHZ Elm. adelanto, ya que: el oscilailor intemo RC que posee no riene muy buena precision. En un experimenro realizado se OOllecta dos· PIC i!l€nl'ic.os eon el mlsmo 11Ir{.lgmma 61. (,IJal eonslstla en 1!1l."~r parpadcar 1.111 led Call inrervalos do,: 1 segundo, .ambos PIC compaerinn 'I .. misma fueme y al moment\) de arrancar los dOH parpadeos crill1 igu.aJes, al transourse de unos minutes los ledsse habfan desigualaduesto demuestra q_uc La calibracion interna no es igual en todos los. micres, Si.lliiliWEIIllo.s. cri tales exiernos de 4 MHZ ell ambos Pole, nose desigualan IH,Dllca. csto de:bli:lo 1\ que Ics cristales son muy prccisos en cuantoa Is frecuencia que entregan.

Cell todes-estasrecomendaeionesse ueae etsigalente dlagrama para eneeader UII I~d Y conectar un.pulsador sin que 61 PIC surra nlng~n dana,

FigJlr(l 2.7.1. Diograma basico {1UJ"o conectar un .PIC COli tar /...l£/J y ,m p'uJ'saciol', 1101111/ que el PIC 110 mf(t(f.~I1{l mcOllrklr extemo ,ii tampoco ":IIsW~ilcia pull-up conectado al MCI;R o puerto RAJ como fa necesitaba SU Clnlerje.wr d PIC76F84A.

24 ---~-------~ Mi~rocolltroladnms PIC i>"'Il18m~ClIm •• aAS!C ----------_.-----

En e.w' Capllul6 se el1seilan\, ,a con'i'iglolfor el editor de texto para ~Cl1er -=1 mej¢>r ~ndiniie!lIO PQsible, J() - ~rim~ro (jo~ d~lte ha~er es agrupar d~Il1r? -de III -carp"elaC:\!ile<;:aniqlfr; los dos programas, el pbp 2.44 ylll.-IC-prog 105D, torn I:~ lirtaliol\d deque la prlmera.vez queej~t<: eL ll!:Ogr<lmltl"!Jicro9ot!~,p~>:-da encomrar inmcciiatllmerlle su cGmpjlILdgr pbp 2.4~ 'I ~y prQlli!!m!ldor IC~jJrog [(II5D, Pllm e&10 ilofuemo5 utilizaf>el explorader de windows y bus<:ar las <los earpetas (pIe :seguramcl1w eslliran de!ltr,o,d~ C;~u:rnzipped\ 0 C:\descargas\)J procedaa cortar y pegur demro de C:\mec!iniqWl>\,. Sil !lee~!\rltl eiil1linw-iO$ d¢ ~lll,nbi(:llcllil\l ()righ:ml, e] si,g\lienl~ grll..flco muestra 101 f6fll1i1 de OOI'/l 0 deberla ~ l!.ma r:

Fig_uroS.l.j. esquema de ,10' ubkacf01i tilt cai/(J 111.1(1 de laS carpeta»

~MiI'C ,

~ Db~ de:3~~:1 $alIC:)

, ~'QJ MecaniqJ.!!_ La j.;pfvgl05D ~.Ql MCS23I)Cl ~-~ I'SP2~oi

m EKI deS~'9M

Ejecure 'C:\lue,c[lliiquc\MCS2300I,Codestlldi6.el;e-, la primera vez e~ programa b1Jsc~ni 'el eompllador t1isPQnlbl~. ell esre CHSO eI pbp2114" y aparecera UIUI pantalla similer 11:1 slgulentc gnlficQ;

I;'.n It~.lll jlil.ll!~I~!1 busque Viii'll' y IlagB. eue ell E!JiIor OptioM."., luego marque slum' lime R1.mhelr.\! in Icftgulter que sirve Pllnl que apare~9,'elll'umC'to de 18J linea que esta programande, !M!~I a, rnuy ulll III momento de encomrar errores, 5i desea tambien puede indiear Ja. cf\I1)¢ta Il!'ed~fjnida en Ja que diesel! guardar los arohiv()s ".pbp, por ejelllplo podrl~ ser ijlla ubicaei.61! damje )Ii! ilrevilnn<Jil~c hllya creado eomo: C:\mis docurnentos'ejercicios PIC, si no desea erear i1ingun vinculo, solo presiene Ia tecla OK

Ii:l (orounto " 1~'\j,'rloh1os

" i!tIllliII.na ~';"'f!ol'

lfor:ice-

Bien ahora observe que apareeen ninll res al lado i%quieiXIQ del editor de texto CSIO sera muy Lilil en 10 posterior, vuelva 111.1C\'limei'1l~ II la parte :impl:rior donde dice View y de un clicen Conrpilc and Program Option~.""

I ~-I1It:lJcC'o! ~QtjGle : C'ii'f'ydgt r All 1\.Ip!;

Apa.m:Cli una !1Y<lV<t panralla mli~ pequena, ."11 donde vern que ya es1n pn:d.eHnido' 10 ubi~aciliill C:\m.ecanique\pbp244, si apareoiera C:\Unzipped\pbp244 0 cualquierotro destine es porque no ro borre (I" 18 ubicacion anterior; y microcode tomo el pbp244 de ese lugar, pam oorregirlo debe elim in.ar el .arehlvo C:'Unzipp~d\pbp244, y votver Ql eje\;U!ar III programa microcode, autornaticasnente Yo~"efii ii buscnr ill compilador.

na vex. corregido 10 anterior presione la pestana Programmer, aquf aparece el programador disponible 'mdcroSIlg,ineerh\g Labs serial Progrlll1lmer, peru ne aparece rc·,i'mg,.11:51 que debe crearl () 'COli !II fintlUdad. de, qlle II futuro puedaIlamarlo desde microcode, si no 10 hace debera ejeeutar pOT separado !,II programs ICcprog CJre8mJO una demora 1111 la programacion.

La. forma de adicionar cl programa IC-E'rog es preslonando el bolon que dice Add New r:rog'r'lm1ll0r ver los sigulcmes groiicos:

lnmediat<lTi1e!lie &JM.rece ()IDr pantallaaun mas peqiJefia ell doodc· debe i1illn:.M' create a O::oi,~Ulm prqgMmmor enl!)" lucS(j presloae Nul. En 111 si_guitnlepllil3l1a escrilla cuul!llifier, nombre q"e desee d9~le,alll~ogrcmodor. en este>caoo sm icprogy 1:lIfeeo presicne latedn NeJ;t;

En csta pantalla lepedir!i' que ~ong<! eliJombro delareh:iVo ejoolltableescritra icprog.cxe '1l\;l~g:o' presione Ne~, AP1!"llC~ri()tm-paritaUll oon dos DOtolle5ljl \1M lQ.cal i~ autOIJ1(~icanlel1tela curpilUI, 1l!1 "(mil~ ~O ;:.n~LJiIJ!llrn el Qjc(lIl:abJ~., y e! otro 1:$ PlU<I loceliulr m!iJ:1u.!!lfIil~m".,~i ~~[Il scg1lrO IlUC os el ,'mic\) archive iClll'Og,CX," pu~c' presioniir lilctecela Fiud Alltomhticlllly.

en esllr 1*1nlall[l Ie pedlra parametres d~ programacion, como para IC-prog; no haec felLa no e:il:a-iba nada y ~.olo presione la Lucla Fl.n.I5hed, leego desaperece O8tll pDlIU11ta 'Y seio queda la pHIIlII.\IItl. de J'lCBn~i~ Oplion~, en ~(lnde debe lis;;gUnll'Sil de I~~ c.ambins f!",~iO!Ulnd" ll!{_ l'ndru Ius ~ju~tll8 I"iflllii.adus bastA Illflll sOli! debij na.liZilirse IIDII soja "Wi,

M ierucodc es un pr01!r~nlll ed itor de tr.xto como III Bloc de notas del w illdDWll, pcro COil lu dif,...rellcia que este eslii heche e)j;clllsivrunente pam fucililar In Pl"OSFlUlllWiollde los mlcrosontroladores PIC, los j)fOcedirnjentos para ptogramar son muy senclllos, prirnero ~e~(;)CciLl~IO el modulo clcll'IC 16F628A, 16"1'877 A. ctc.(l), !J~ctib$J ~I programa 'i gulu-delo ~jo un nnmbre, en este elIsa como Illld in.tlmnit.entll y por iiitimQ pJTesiCII~ el b0l6n compilar (8), si .sl programa e~ta b'i~n escrito Y sin f,allW! I;{)mpilani. y mQsimm en la parte inferior iHtul~~da el espacio que requlere en e] PIC (4), enseguida se cretlra Ilul,omllticamenli: J MChi\lo,~ IllCti '~!Cl'flIitcl\le:lTmc. t~d inliernnitenle,usm y led intermitente.hex. este liltillfo es el ma~ importantc ,!JilT;> el pre 'i' es el que 'Sa debe grabar ell. eI microcontrolador, A eontinuacion las piirles mas [mportantes, de I.EI. pantallu de MicroCooe SllIdJo,:

programa

4_ Espl1cio que lbE~~~~~~f~~~~~~=~==~~:Sl

IOli,H.l)'S en al FICf"-:-~-~

5_ Programa del microoontrolador

18 .------------------ ~Jf. Miml<lo:n!rcllldol'110 PIC P"'gmmllCi6n e~ BASIC ------------

11. Model'o de MicroPIC.-

ESlO es lo primero que debe selcccionar antes de empezar ~ I'rogrnm3r, sslseelone cl~ l!oUlmlo !lfl moiJ .. l,o de Pic que "it Ii programer sea este 16Fil17" 16F627A. 1,!SJi'GU, I J'iont\, HiVEIS, 16FSi9, 16F&4A,. HW877A.'el~.

2. Buseadnr de C.OdigOll.-

1\I;J,1.I1 se v<lll.!Ldil)ionlll'ldo cadD CJu~ Se crea u~o. variBble, alinchrir un deflne, 0 cnsu ",Ill,''' nombre de llnea, slrve.para sater qlJe'ool1IjIDnentes incluyen en el prngrama y''tamblel1 como buseador de Ilnea~,para,e:stJ) hMtaoon dar un die en el nombrede I~Jinea que desea eueonuar y 91Jlofl1~tilll1mellte le i.l!d,i~!i donde estD di.eM linen.

3,. N6.mero de linea (leL p~rama.-

Estn per deieeie no viene habilitado, debe hi!biliwlo previamente, y. es muy €ltll It III hom de errcontrar ermres, eorque Ill> jlldlca el nilm;::r(l de I~ lIutil ell ;;iQ!ld", IiU halla un error,

4. Espacio que ocupa en 1.'1 PIC-

Este sles el espaeio que se requiere en la memoria FLASH del Pi6 y aparece I!n:I vez que sc compila el prog'ram8., (J¢be f~nrse si elcenza en ei P'IC que dispone Q delle rt\~'mJl[ltz!1f'lo per olio de mayorcapacidad,

5. :Pro.!l't>iIDili dcl mieroecntrolador,

En esta parte es donde ;;e'dillte escribir el programa, Microcode reconoce palabras clave como VAU, H(GH, LOW, PAUSE, etc.,y)lliS pinta con mayt'Jsl.'ulasy negrlllas, porlo que no se I.!eb~ utilizer estas palabrns ccrne I'Iombrll's desubnrtinns Q V!lfiable:s,

A continuacion se interpre(:a el significado de cada una de las liaeas del programa de 1<1 figtlra ).2.1, cuyo objf':tivo es hater parpadear un led. COIl in1ervalos de J segundo.

Linea 14: le-d VAR portb, (I, lndisa que el Pin # 6 dell?lC 161'628A se II~Hlm 'ell a(Je[llnlll 'led Linea 15: pepe:, esramos asignando una submtina con el nombre de pepe y se 10 erea CIlci'ibtillldo CIl~IQllier ii(Jmlm: seguldo de 2 puntos.( : ) ejemp!o;

LIU.is:. LUIS:. LulS:, Almnll;, LedAp.agido;, Zol1aJ:, Contadcr.,

T.il)I11117:: VAl) E 11)0(1, gencru UI!O pallsfi 0 retErdo de 1000 milisegundos, qae equivale n ls,

-"-----------~, Micrg!::l1ntrollldortS ric Proyram.oiGn 80 BASile ----.---=,.- ..• - 29

Ll lIell 18: LOW led. ~igniifici" poner el 'Pi Il (;. a un estado liiqjo 0 0 voltios, esto llpllg9ria el led.

LilTea lU: GOTO pepe, Como el ingles .10 dice Ir ,8 peprt. indlcacontinuar desde IN linea 15,.con OSlO sc reperirla el parpadeo del led para siernpre.

~,In.e" 21: END, Finde.las instrueciones, skve para indiearl» <1'1 eomplladcr pbll quo ~~_5!a nqul es el programa v~lido.

6. 'Corncntarios.-

Es reeomendable !L<;ar comenuulos todo eltlempo, uunque sea obvio para listed, alguio, p(ld'l~ necesltarlo, y purqll.~ '1'\0 'pam usted rnlsrno, d611Lm d·e un tlampo 0'0 'Il':cllrilaniui curno 10 him ni como funclona, ni para queservi~-tal instmcoion,

7. Eneahezado de-I programa.-

Nil'so11 nada nms que eomemarios en 100 qlle se puede inc.luir: nembre, fecha, mrtlJr, Y una m'lili~~~r~lIon breves palabrus d1! climo y p:u;~ que slrve e[ prugrama. Tambien so pucde hacerlo rnodificnnde 'en Vie\\' -F..ditJ)T Optioo5--Prugl'IDll header.lllJui coloque el.antor y 1 a ernpresa pam 4~e se coloque auiomaticamerse cada.que .. rbra unanueva pag.ina_

II. Cumpilador.-

Esios 2 botones sirven ~iClUJiellr~ para cornpilar el programs y crear el srchlvo . .AS'M, ,MAC. y 01 .11~X. el .HEX sirvc para grllimr en el micro. el _MAC selo sirve para el PI I3asic y "I ,ASM, pam personas 'intcresada" en ver camo 10 biro el cempilador en assembler ya que podern [IS abrirlo .i"ll.M1'LAB.

"il$; ~

;: !,-' Compile o.lIly • .F9. !l~1e primer b0l6~ slrve para compilar, es deeir el programs 110

,amhia It ilSsembll.'ry 10 ONIl el_HIlX,J1Iu!,!; adelante se ver4 como trah!ija .

. -~

t- ~:.: _T Compile and J>rogrllm -.FlO. E$!Iu bOlO:D. U e ,,'1C doble funelon, &parte de IIDCer 10 mlsme que <!1 hoten anterior, es decir compilar, tarnbien puede llamar al programador Ie-prog, 01011 II). fi"lIalidad de ahorrarnes tiempo y 110 tener que 'lIbrir por. separado, ll.ll.a~(il1sejable I!ltilizarL~ una 80111. V!:2;; Y una vet: que el programador JC-prog yaesta ahietto, en adelal1ti: s6~Q se debe utllizar el bolon Compile Only -1<9.

30 ---.--- .. ~ .• ~~. f!ilkrm;(JIlImI ... d"",~ PIC Pf"IIr~m.ci6n ern BASlC'----··---

Gn 111 memento q~l~ SI! compila lin programs ilsl .. realize una previa veriflceclon del ""1"111(1, si existencrrores-rnicrocoda S~'El11I el primer e:rro:r que en'lII~titra con 'uno rl'llnjB CAP(l, lue!!" 0:" I. parte in ferior men-dona los deniUlS eereees COil el numere de linea y su expllcacion. por eso se rccomicndn activar la opcion que muestra el mimern de Ilnoo de programaci6n, (si dcsca aetlvar esta opcicn refierase i1J OlB(lltu.lo 3 paginB :26), a cClltinu.aeilin IlJil ejemllio dO ~rl'(\r en I~ compilacion ell el que se escribio ~ighh en vez-de high,

Figur« 3.1.1. Pa"tallb dl1 error ~II la cOlllpif(.lci6N

Figura 3.3.1. TaN" de los errores mdscomunes.

------.--.---- rtijjiI- Microoontr!>ii!d!lre:s PIC P"'~'""'aci6. en BASIC - •.. --.-.-.--.--- 3· I

Pam pcder entender 1m diferencia e:mire 10. do. lenguajes de programaclcn, debemos entender qtJc 05 uu Ienguaje de alto mi,'el y que es tim Ienguaje de blljo' nivel II lfaves del siguiente cuadro poelemo.'; vcr los njvO)~e5 de progrsmaclon.

LENGUA1E, HUMANO

Lenguaje BASIC

Otros lenguajcs

'lF83 :3i:l5F

C6digo Hexadecimal

Lenguajedc b!ljolllivel

1 a.....;1..;.O....;IJ~o_;.n;..;1 I..;,O....;1l;;_1_;.10.;..,__,.j

Cooigo binario

lJINGffAJEl)EMAJ}J'INA

Figura 4.1.1. CUDdra de los nivtles de [Jl'Ograrndc1on, --ellenJ,'YlJje oue mlif se acerca (I 10.1' llUJIIGllOS eO' ei de Toil' mill nive! et l(iJfguajl' mas pr~rim(J (1J tip», de dmos qrJe emtende Itt millri:li.'cmf.rollltJo/' es un lellguoje dll bajo nlvel.

?OF consiguiemevames a programar con un lenguaje de alto nivel, el que mas· entendemos los humanns, e~1:lI es I~ g!'Q,ll d!fe~i;l enll'e Ensa:mblado.r j' BASIC, II eonliriilac16n un C!jemplQ de un programa en Basic pal'a III PICI6F62'A q~ bllcll: ,l!EI*Iear un led con lilwrvalos de 1 seguado,

-------.-- ri!iifM MiclWoriltalad""",I''1G P,ogmma06n M BA~IG _ •• ,--._ •••• __ •• 33

A cominuacion el mismo proyecto para el parpadeo del led pero en lenguaje ensamblador.

CtlI1Hl se puede ver es mucho mas IlIrIJP y di:flcil de enteuder, mdemus debe conocer I~" posicioncs de memoria que e~'IAo disponiblcs pare este, PIC. as! come tambien la m:quiteo;;hJi'a deli p.Le, tambiense debehacer calculosmuy precisos para generar 01 retardo de 1 segundo.

Tambien hay qUfl eWI~idernt el tiempo que se demora en programW' eli Assembler' COil el 'iiCJmpg que se 'dernora en programer en BASIC, las i'terrgmientas que nos rnc~]itl\' el eompllador de P1e:Dasic liro SOil muy utIJ.f_",s y de grail ahorre de 1mbajo,ull ejemplQ es ~~ 1!amada 1l;!ief6nioll que ·,.f,lo COIl 11113 linea do escritura ya 'lOS Benet'll los tones DTMF Il;S(O C~:

D'rMFOUT flOltb,30, [O,9.16,p,6:5,6,4] ,genemJonos teillfiillicos'por el pin RB.3

Si bien en estainstruccion se demon .5 segundos en escribir, en ensamblador necesitara Ino~ 0 menes 5 heras para escribir las 260 llneas de,prognulljl que lie cslcula que pedna rener, ademas el tlabOlja de consultar la frecuencill que genera CIidA una de 1115 tnclllS ()TM!;. ISn d c"",pil~d"r PicBasic Pro, ya nos facilitan este trabl\io. pues los Ulnos lelefoniCi)$ ,CIlfM listos s610 Ihey que llamarlos con la declaraci6n D1'MiFOUT y espeei.ficar por CUAI pill. se "a. a sacar los tones telefonico: ejemplos como estes hal' myol!l».

LIL unic.1 ventajll de IINWlmlW en E!U!ambl dor e-s Illi oplirni$cion tilt IlSPlIllio en 01 :P[C. ~i bien es cierto qJue PicBasic Pro e.m:as ~<;:il y mas mpido, ~~e$il,a mlis I:zylIIliQ que ~I que ocuparla al pmg"!lma:r en Eru;.;pnbl~dor, pero esre fa 11(1 es un prllblemn si Ul'!l'l}lm{lS eo (l!.lenliil (lUll cadll vez [abfican microccntroladorss In''s batalOH 'Iolln mH3IlSp1Ici.o tlili m!!l1Iorcln.

es!!) cs ,;'1 objetivo Ilrimon:lial de este Ilibro, enseJlat a programar micros P1C de If! forma mas rapid a posible, si 110 ha lcido oomplllt!mlenll: el libro le rccomell·d!'I1'nOs lcilr ·el IiIGral 3.2 ,MANEJO DE- MicTOCode StudiQ p<i.giIl1l28.

Vamo II propeller nuevameme el proyecio que ya hemos visto !!lites. peru esta vez to pondrernos en funcicnamlento, escribu ell programa qUI!- vlene n cf)nti~!!!lcl6rJ. Q nbp~ el 9J'C1'\i.I'o del CD Ejercicios\ led intesmitente.pbp y sisa los siguientes paso~" NOTA ~_pbp ~ ~.bas

~ ..

Lt"tlr;;! '1M ~i"'iIl.III' ~t-~1!It.l

.I:t MOI.LSl

.:.lIltflll.<t:". JlII:UI IL.I .1;n.r.fIl"II,iI' -·u~ • ..w.i~1II ~ t.l~ i'l!1"<t!

",SI~~'u. i!I. le:d· .

. '_,.rrjlr. II)flL'll..uJJ_lIlv,IIdH tr. ~".~~) .Ioi'~4""',.J l«i

J H)'I ... .f.u j (01) ... J.J.:li!"U1iIIII!iEI!1I {:ri ~ • .p:t4I:f",) ;/J.~ .1 J .. J~.l!lI'. Qlf.jIo I.'';;'.~J .. .II -'boN ~~ •• .... ~:n.:l'1I lH-.J,I!I.!!II[.rJ!cC'~~

Fig'1U114.2.,l. 1'.rogrmmT microcode COli el arc}Jil'o led tntermiteme.bas o .pbp

1. Recuerde seleccionar e! i'ICl6F62-SA.

----------.--- fiiiij Miol'Oeontroladorcs PIC F'tCg'QmsciM en <!ASIC ------"-----.- 35

l Una \I~7. que e~olol segIJI'(1 que ~·I programa c5til biel1 Cllicriro p~~il,'ltle ~ .. o F9. 'observe ea la parte in ferior i~uicrda como cambia el color del elreu lo~ ~, I,' .

Clrc'U.iO plol'l1o reMy. mrentras esl~ escribiendc cl pmgrollla..

Cireule verde mlentras esta eornpilandc elpregrama con pbp 2.44.

Gaso confrariQ si el programa c~~t\ mal escrito o existen errores en su desarmllee

Cfrcmlo roj(l despues de !;Qmlliling iDdi~-l! 1!TflJ' ~n la cOQlpilHcion.

~Mi~:riiiDIJ~$3~_~~"'I~

'Si rodo esta bien')! dice sneeess ; 59l\'on!s used., preslone ~ .: a FlO, espere a que compile IlucVllmen~eJ .51! abra ellC.Prog I,05D. s! as 18 _prim-em v~ que ejecUla este prllgmm~ no olvide rcvisar el C'apitllki I pag,ina 14. A continnitclOrn 18 panLillla de IC-Prog-1.05D,

Figura 43.1. Presentacion de lap(1l1falla de ic-prog 1.05D.

3. Seleccionc el PJ que se VII a grabar, noten que el codigo de progr,amll ~stA~610 3FI'F JFFF efi;lo, qlli;:re depir QUQ ~rn vacfo, 0,1;1 llllll' ninl!lull progrllmil II 8I'~bar'.se.

4, Abra Mchivo y busque .",If illtermiteDte.BEX; ponga Abrir e inmcdi!lmrne'l~e vera que el codigo 1m cambiedo por algunos n{uneros, eSIe es el programa queel PIC entiende, la presentacien sera similar ala siguicnw paatalla:

36 -.-----.--.-- ~ "'1J(!'Qe()mtoladore~ PII=' P'OQl'Ilm.clrm e. IlASIC .--.------ •••

F

UJJ:!'; 161n l~[J.r; UU !ltlllli ftllA.' :)111:11 :mn,.,

~:: ~:~: ,!:~: ~"='~;: =~;.: :~~

,,·,,"vo""" ..• ~<r mr. mr 8'!'n .3!-!1" :ll'1"!' ':!ITl' :;tFn' Hfj' ani"; Me ;3~ :JHT j-m -.:rrtt mI: ~!'!'.F V!'I! '3I"!'F n:p.'c ~P'Q" ~iP:r -3:rn IT.I'I'

Despll~ de nbrir cI arel';~Q ,I~EX lNo nlll~l. pro~«l~ p ~~t!1;bi~r l~ oc)!l.fl!lll~ci~n del ~~()i!~~()f ft il!tRC if!O (Oseiladcrinterno resistencia .oonclimsailQrpln de if 0 los AG y A7), e I Metit [eeset e/iW!lo) debeestar d~sh!!lbmlado, y I!a prol~i6D(je c64i!lo apagada, 5i ya ssm li&~()e inslal~6 Ii~ pre en

()I Grabador de micros, presione 0'175 y. cspcre a que salga el siguleme mensaje:

Figura !/.J.3 • .cuadio de dia[ogo que fndliXI que rd I'lC se graM exUo.fami!llt~

In.

------------- ~ Miemi!.[>!!U'ClJadof'<l; PIC 1'!'\>!l .. raa~l~n en I3;o\SI.C.--~------~------ 37

L si el LE'O ro]o del g~bado. 110' ,1; ~nce~d.i6 ll1'ien:lras iMtabB programando, revise ~i ",Ia cOrlcct!ldo 1:11 el P~!lrto celln COrRel!!!.

'f-,S,idispbue de dos pU,crt.()S. corn pnrebe e:iJI~biaJi.d,o 5J 'otro puertocom hasta t~ue.J!le!ejIcie.lldll el I ~iI r-oj 0, dill grabador,

], Si el LE'.D rojo, del gMb,MQr S<l enoiende pe'fO de.todaa mail~,iaa 5ale el misma mCJ1lihjc de'euQI',

rjl\'i3~ si' tlIl'I.C ';'tii .;:orrll~tamelllt0 insenado en el ~brulcir. '

4. Sl analizado los;) PUi1ros, amerlores, contill(lasaliend!o ~1 mi"Sffio, mensaie, IiIS mu}' Ilrobatlle qll~ e I P Ie so encuenne dail:J.d,o, reemplaee po·r otroc i IUcl1lll gmi!u.T IlUOI'!ll'lI.~m!!.

si yo soluciono elllroblcnllly ,~I mel\sllje es veri'Satdu,!l cerrecfa, 0,<:; mara de montarcl ptoyeclo y ver-funcionar, A continuacicnconecte como ilustra la si,gllienle figura.

5V.

Figllraf.3.j. CUilrtXi6n dl1 1111 LED rm el puerio.80 (pili (;)

Figura 4.3.6. Diagl't1m<l ~'''I~i:j"l ',11f conexion de WI' LED en el pueno AA POI'!le:!' dl!! colector abierto. "fllr1Jgif:fl 1M- lnversa tis ,llIctr CIIQ/idO Sf pone HIGH se afiaga,)l LOW .re "'(lci~"flit

Pnra 10, delll~~ puenos '<\0, AI, 1\2, AJ, AG. A 7, estos funcloaan normalmenre como el puerto. n tanto como l,ara entradas Q salidas, siempre qnc incluft\ fa line .. cmcon=",

hll i;).lll lii~r91 se pl'Ctllllde <!clamr 'IIUI;< ex.is!1! "arias, (Ornlas de desnrrollar un .PI"\'l.!lI'!UI!~ se presentaran .<1 continuacicn varias maneras de escribs un programa que rca I i7.8 ",I mismo !rllbaijo final, cs doci! hacer parpadear lID ledeonimervalos de I segunde en el puerto RBO.

FfRllfa J.4.J" OtrajrJl"mn ell! programar WI parpodeo tie till LED II ;fI/erwtlos de J segundo li/'iliwlltlO TOGGLE' glU! sireeparo-tnvenir el (!SIuda de !IIi PIICi'.!fJ',

-- ••• _-------- ~~ .Mi~roeo"tTOI~~<J~'-'S [,IC I'roglamllol""' •• BASIC -----.-~- 39

En ,,1 slguleme case 5C manejaril redo el puerto B como salldes, perl'i :;i),lo SOl t;ro,llt\jllrt\ ~QI\ unn de elias c] puerto 8,0. es importante no olvidar incluir a! principio del prcgrama trisb = (), o rr1~tF%,O )'Q que sin esic HO funciona eI rnancjo de puerros, debe en tender 'Ill" Porth -o/,IJOOu()O i IJ quiere dll(:it 0I1CCl111;:r (iniculllel~IYl 01 puel10 Bl ell.: eSIR rn;Qllem tenernos al siguietue IIj~IJ1]Jlo an (1111l(~'" '" o;xplica 1I11~;or el mancjo del puerto B.

Portb= % 0 1 Q a I I() I 0 B'TB6 B5 B4 m B2 BIOO

hldica eneender el "mono IU;" III B.3 Y el B.I,l1anl lOOO!; los dcmlls 3jgriific~ permnneccr Hp3!lodo>, (lSIO l\l! mD~' uri'l en ,Cti03 en que se Illlell(lita £iiailld,tf un g;rupo, die leds. come 10;>" proyectos que Trias adelanre se "era como el semaforo y laces delauto limlasHco. de todas lOun era ~ 10 em pl eanl para hacer parpadear un 'loeL

FigW(1 4.4.2. Otra .forma de progromar 101 parpadeo ,de WI LED a lntervalos de J segulldo !lI't1IJl!j(mdq 1)/ PUdf(/) lJ, noten que es capoz di! nranipll/o" (odos los pines del pUl<rfo B d,!/Idc If' BO flm e~ eI primero de If! derecha hosta el B7 eI lillimo.

~cgltimo~ con otra forma de programer nn perpadeo de lin led, esta VC'L como "I ej.ml"lo anrerlur rem con lu diferencia de qne solo mBncj.a;reRlos un pill Y "0 folios ell. conjunto.

filJtf1ftl 4.4.3, ()In( ftl/'fjJ(1 de progrOmfIr' WJ PfIr'padeo dlJ .01 LED {J jfJ(<lrwt/fJ.l de I xl&/!,lmd" 1II'lIIoI'j(lIIl1" ~I PlJf11'(o M.O UJlicOltfl!lIte como salida.

C;011l0 se podni ver I,JDY distbuas formes de escribir un programa y !()clos {jeli_""!1 0.'1 mi~,!11() resuhado Iinal, asf que si lin proyecto no ftlnciflriil correclDI1lCnn:, pruebe escribicncto ill: \Il1<l1 lo nna diferente .

. ~o ----- ... ----- .. ,;fii:i§. Mil:f()contml"doro~ J>I;C PrO\jramoci,o"'n BASIC ----~.-.----

pebemos enteuder qlll: decleraciones son cada. una d's I~~. p.~labl'll!S que el comllllad'nr 'pbp 2.44 IInhl;)' rcsll<rVlldo I)Bfa roolizn.t Wl0 IlIreil e!;p<!cfficll, IllS rn;\,$ ntilw.dns scm: BlGH.,LDW, rMISR, GOSUIl; 60TO, LCDOUT. SERIN, SEROU'r FOR, NEXT, IF, THEN" SOU ID. KNU, lin ttie.mplo;

mGHportbJ

E~la ihs(ruecl6n WGlf es reccnocida autQ."IILiCllm" .. I" por micrrocode, 10 qolu()~ lin negrilla y mA~'IIscula.y sirve para que el c-mnpi~ad'or realice los ajum:cs necesarios pam cambinrse a1 s<!!!:urldQ banco de La RAM, cclecer conro sallda el puerto B 'ell TRISB, y luego regrcseal prirncrbanco d~ In RAM y sUlom·ell 1 III PortbJ,lot!o.ruo IIUi ahorrnmos gracias al pbp ::1.44.

A cQlltinuacioIl las i53 instmeciones disponiblcs con una breve explill<lcion.

-------_ •• - ~ Micro£llntrola.dol1:~PU:: F'n>gramacl6n eo BASIC ---------------- 4 i

42 ----.----- .• - ~ Micro~Dtltrollidorcs pre PlO!lr~r>I!l~i~n en !!ASIC .---._ •• _-_-_

Este Capitulo as el mas II11p!!rtW1te y ~I mli.~ c~tlmso de este .IibrQ, los mlerocnntrotadores se aprende desarro llando pr.ktimls reales, 110 !lay nada ma.s emocionente y sansfactorio que ver ILlI1cicma.r un prl?},OC!o realbado POI' UIlI! mismo, AI. lgual quo alms carrerns la practiea es to qu~ 1l0S hall'" mejo:re;>, por Cl,iemplo Lin mlldit:Q l)irujaJ11l g!J!dLlado e.,preildetii rnucho mas en 10 vida re"aJ mientras mas cirugias realice; una persona que tom6 curses de guitarra aprendera a tocar cada \fC~ mlljtlr 111ie;ilti'lls nlas prnetique Gon la guitarra, asimismo nosotros aprenderemos mucho de "los PIC'S rnientms rnas pruyectos nos propengamcs 1I re.lIlizllr.

cs importante segnir en arden e] avanco de losprcyectos ya Cl'1I1l \lXistell proyectos flU!) requieren desuna-secuencia de ap,rendizajc por -;:jcmp,lo no podra eatender bien como funciona 01 preyeeto 5.2.2.Lwccs ;lei nuto famlilili"co, ~i l~l1 pracilce 1)1 proyecto que expliea cerne haec]' rcpeticiones el del JiteraIS,2.! Ejen:tcjn con ls instrucclon FOR NEXT.

Como rnateriales. basicos 'necesitarn" un PIC 16F628A, ua protoboard preferible de- 4 I'CgII/IUiI. un rcgulador de ~ol!ajc 7805, una tuente de en.::tgia y por supuesto tener UI1 graQmAil'tie PIC'S CI~ml:\ el qu", se incluye ell ",S"C libro, esre es UIlI !Wth~dor ri~o JDM (Jells Dy~k.i,1er M~dseIiJ, lIILI)! raeil de IIlilizar ya q:ue s610 requiere la energta del puerto serial, Pam oonstruir este gml~~dor S<l!'!) nccesarlo que primero lea el capltulo 1, donde s~Lenseiiarll Pl!SO a paso como ir armando "I !!rab'~dtJf. El capltulo 6 ensena 10 sinmlaci6n del !>JC'~on PROTEUS, este 11: sera muy uiiI si usted [I() dispone de materiales pam realizar los pnictlcas,

"Adic.iOlmhllcn'le para ayuda. d.el lector se ineluye en el CO todos los ejercicios que s;i pfeSCf1i.U:ll'!ll IlSIO C{1p-;tulQ., t;mta en iOxtajlsi611 .pbp y .hex, Ademas sl desea urili;zaf IHru modclo, de prc' que no sea PIC16F628A. debe consideraesc los cambios neceserios pru-<I! su correeto luncioll,~miento, por ejemplo pam micros que tlenen conversores AfD C 16F8'IX, L6F8; IX), se-debe r.:en1lllM.lr la UnCi! CMCON-7 por ADCON 1"'7, (ver liteml S.I O.l}.I'ara" el PICJ6P84A, 1)0 Sol d~b., incluir iIling~no. de estas llneas ya que este micro no ()Osell eonversores AID nl jnmpoco Ilene eomparadores de vottaje.

----------- ~ Mkroc~t1troiadoresPIC !'r09~!Mcloti on i3l'.SIC ---.-~-.---.-- 43·

.Est\! proyectttj yn s" "eNiso milch.ls veces anteriormcnte, si usied no 11" leldo toeo "I libro Jc~- POI~ lo menos Is pagina 295" 30 Y deseguro eatendcra _cl ;;igui";.IItll programa, ailiciollllllllcnte PIlOO~ (l~rir el prcgrama que se ~l1cuentr~ !isla em oj CD ~n l~jl<r(;icio8\ led lntermitentc.pbp.

UI'~ "ez escritt;! ei pregrama complle y gntbe el PIC si np sabe QGTIIO hacerlo se recomlenda Ieer las pagillas 35 a j~ J8j no olvide lJo~er 1~1 -e! lC.pro~ oseilador inlRC 1/0 y dtl:5fl~biJitl!r. ~! MCLR, luego de que lodo este bien COI1I!C!e III PIC como ill!lstm On sigulenre figl,lllI:

Fig urll S, 1.1.1, lJiagntmcr de "ftilex'iin 'de 11111"d en el puerto B.1l 0 pi" (i'pam haec!' W1 j)mTJadM d,e ,)111 led.

G V.

Una vez real izado este.proyecto siga huemande .c.ou diferentes lielil'po; de _F AUS·IC. rccuerde que son-en rtlH:isegundo; y sus valores son rlesdl;llll'l~'I", 655.35, pruebe eon PAOS:K lO(VvGr;l'queel parpadeo es mli~ riipiclo yl'AllSE tOOl) es m~s leruo; asi,hi;;mo ponga de.dif'el'eJlles valores C!Itr<; l(ls 2 I'A Ul5E:S ejemplo e] prilii<ll' PAUSE coloque PAU8,E 2009')' eu olsegundc cUJOlj\IO PAUSE 5!}O vera diferentes efeetos,

_,]~d~A.R_lWrtb,(L__ _ _; e"iJ\leq_p,aru.Lp;u,~-,!+II _ ...L • --'- -<->--1-

I;<:>re~ r _ ---'-- __ ;_n~)_Ii\b~di)J~~6Mill1\iP!:;~_I--~ - ~ _--, -.: -:'-'1- •

1- HIGH led ',-:- ~; ;eirl:li!ffi~e:'clcn:ilqITer~~n&Jiil(J'~fie;I]ii'r;"~-l

1 ,PJ\U~WtoQIl ~;-~llera'im_8I);guni1a ,_

_ bOW led : __ LL_;"~p~gu~·It,t1 I I

GqT() pepc : ~ ;.(;on(flt:Wu;I1JJOwalll~~oisdepcp<;;-pru:!lc~i¢l11"r,(> --, ,.

:_~I'lfi-" _ _- :1 - -;·1fin.>de::i1udb_lliIl~~._-:::.::_J_J:.. ~_~ __ ,, .. _, __ ., _

, ,,!. I I 1 I I I

s: ya ~glqco eli eLpmli:l~(Hml verfi. que. eLl..!;[l permanece ;,61~ ,t~~r:ndi~!!, pe.in,lI\l_ eSfJ'5:i-e.! LED se ~fll~ga, Iler(i por un Ile-rlotlo milY 1:1)1'10, 10 qllt a .simple vi~'11 11'010 'MtfimO$ plies f~le 0:I1I1i'II "I 'liS" eltiempo ell (lll~'el PIC cambia a II! sj'gr..rerite illSlni"ipn, A,nnli«ml')sllret~nld~mctile' I.)cque hnce "I· Plr- desd.;. el memento en que corre-la linea, IDGH led, en ese mlsmo int~tllllie seeneiendccl LI~D 1!I~g() pasa 1 LIS. Y cjccn14 e~ PA.lIJSE 10M, e~(e ~. !In gf!lPQ d,g' SUbMillHS [[till ~I cornpilador pbp genera p-ara dar un retardo del ~egu.mlg.in hlle",r uada, por $11 puestoel Li';O ;;;igue enccndldo porque aim no 10 deefmosque, se ap<l;!lu~. UIIll vez terminado el periodo d~l eAUSI~ H1UOpa~!l a LOW led en I uS .. I,lll t)~lc mismo i!I~ll1nle S[; apaguel ,LED. pcro I~ :'>if:!uielll.e linea !tQ es otro pause 'siuo if a pepe y esto se demora 2 uS, por -10 que eusegulda se imGien'de'e:1 LED al llegar ~ mOF! [ed,

II~~Il~rllu '1110 en In p{l~ll'lII '101 ~~ h1!hln.dL; mlll1~j.ar [lIl il,1'II[lO de )Clds, pues bien, e"$t~ es el qi1!ml"~D IfI~~l I'Mll entender cuando Iniliznr HIGH y- euando I"ORT, se f'Ilellrniend~ utilizar I'UGH cu:mlilo se !m\lI de 1m .s61\lled a rele, etc., pero si ~c va S ul,iliur un grupo de leds vc,~mO$''lLrq es rnucho mii. rttdl ,1 Lni\I1Cjll'l1l().S md(l ,.1 puerto sea t:St~ el A (I 01 1:1; pero de rodas formes ¢SQrillir~'mD$ ¢I P!'lil!lr:llH1~ de las dos muneras, >' usted se duni.1'I, cuema.cua] eo la forma, mas rnljidn de programar, en 13 Hgur.iS.1 ,2.11 .se rmreslra.el diagrama de..cone)(i6n pam. este PTO}'<lCto.

MAT.lJ:flTAl.ES.

-adernas-de las materialesbasicos, protoboard, reguledor 780".5 y rUi:>!1IG de ,"ullaje: _ G U':D.$, 2 willS,:2 amar i I los, Z\'em'es,Jmllrs de S rum,

-(I n:Si~Io.:II1.:iflS de ]311il II V, VIlIIO, rmrnnju.nnranjll"ll:afd

Figllra 5.1..2.1 Diugrwn13 esglJl!lIIalicrJ' de,(;olll!!x16n pm~a UI"I ,I'~m{Y,iw(J de j iatersecck» uis.

Fig,'Ir/J S,L],2~ Fi:!wgrujitr dill semoforo armada iil/1II1 pmtahlJtml,

Bien eo; l11otnenlo de escriblr el. programa, empeeellJo!, !Ie I~ forma. que sa mlIDtlja 01 P~II;''10 completo, P.'U'1i <Isla SII debe entender <lama Irabaj!1los :;.emMoros.Pflmero nunca se'cncienden IHS liloes d~1 mismo color. es decir 00' pliede estar en cl un semaforo "ei'd~)' 1;11 el Dbrd vCfd~ tambien, exisre UrI cambio' de verde a amarillo micntras en el otro semaforo sigue en rojo, en d momeruo que se pone en roja O3j primer semAfo,'o el se!W!ldo salta de rojo a verde.

Por censidcrar que e~tii e. una pnictica, se'ponora tiempos estimados d~ camhio de 1;\)1(11', de verdea amarillo dumrii. 9 segundos, de amarillo a rajD.Milo :; segundos.

46 ----~------- rtifiiJ Microco~lfo'adorcS PIC ProQrom.c16"Of1IlASIC --.-------- •• -

Eln e~la orra mml(ll'll. de cscri~ir ~I prbgrnrna; noten que es mas largO' que. el primel' programa, ':I -ademos l1o.e~cribjllloS liI'islrO 8.1 il!icio., ;purque mGH yalos convieflte ell salida, tam bi 811 ,aqlli se w:algo nuevo 10,'2 JlIUUoS (,: ), estes sirven p.11'l1<:ieclarac"i(j.u;lS rfluitipicsen unasola lIil~il. para :amblls cases ~11;unafJG de.cMigo generado c,s:'el misme ..

Jt;je!lliplo, si queremns expJlIsaI 'en lInl! sola lines, las 2 s',ig'l!iell~~ decJa;mcklll~:

BICHrojol HIGH vowe2

IUGH rqjo I ~ mGR "!lrde2

-~-

Ii,' Try

EBc

Fig,llnr $.1. 2.5, Dit1gt'tllllt1 ~lm;emcilfCiJ de C611~1:lrul d .. 111.1 r«li al PIC

Figura 5.1.2.6, Fotrlfi,'rqfi«de Wll//&r/.lilfl pf!.r/ftf'ico d~ .l;aJlda (,mt 1m relevo.

11$11;1 pmy~iu propene fBmm~tiZllt Mill mas COl!. (ll manejo de los puerms, esta vez \iHmD~ ,I I'iliiiza~ I~£ g >111 id~s del rlterlO ]3', se 'rrota de lin!) seoueneia detuees ll:uC debeu encendersc de

-.--- •• --------.-- "'~ Micl'ooonu-oI,!d{)res PIC PlIll).rarn.ojl'iri en 8A5j~ -.-.-.-----.--.-- .. - 4'7

iz;qlli<;r(iil n derechn una titiS otra coil 1111 11l1ct\-nlol 11", 2()() nrili5e!!undrn;, En III flg"r!! 5.].- .. 1, sc IIIUeSU1LCom() se debe t,()ilccll1rc~Q~ uno de los LEDS.

MJI rIiRM/~E9. ~

-8 J2jQoS de 5n111l.

-8 I'esi~(ellcias de 330n ll~, va.lia, _!l_Ilm~!U,,--'!l_-_!lIllm! __ ----,J,-----a_-c_aI1_e _

Figt!ra 5.],.J.1._j_)illgrallir.1 ,(L<rl,,,,,,,dlicr) deconexiou de ,q LE/)S, [mITI ("lll"(~W(:/iJ de to «s de discatetm ('ilIl pre De6idr. (I 10 capacidad de carriente qUi1 pUlfile IImfl)g_af -este prc, IIG se necesua de fJ.l4Jers ampNf!cfJ.dvre.I'.

A comilmoe.i6n en el siguit!llIe' programa veremos una declnracion nueva el GOSnD .)' III RE:rUltN"" esies -sil'vcl) pam euando SI! tlene muchns rcpetlciones de UIlU llnea 0 ~~lI'IDQ de HlIl"'~ (I~ programa, en nuestro case cal Pl\ nSF. 200, en vez de pouesen cada cam bit'll de-estado de las lures, lo agrupuremns 1m !l1111 sola subrutina Y 10' llamaremos las veces que qucrarnos, In oecl,irn6ioll It ,1' HN 10 envla ,d" regreso il oolllillllM dc pu6s (lei GOS B que 10 olivia. UI1l! de Ia:. venrajas mRS importantes eli que ahornl cspaciode lliclU(:jri n Gil el PIC Y 1?\'r:I, que si querernos cambiar el l'AUSE 200 por el de otrn valor, basta 0011 cambiar !llla Sllill Ve2 Y el camblo e ejecuta para tedcs.!o que 011 cOllirw:uCl, si 11(> 10 1Ililillli'<Ull0S el 60S D y e.serilLirLilillOS JIl VAUSE 200., dcberiDI1l05c~mbilJrl!J [1 los 30 PAUSr:S Imu' ~I de otro valor, UUI "j<::lI1plIlC~ill:

.1'r,ueb~l:: j -I-_i

. , PIl. If;O-%!f~Oll06otl' i, nOS(IBpabtli , ['Ol1l>"-J'QOOOOOO HI t -G~SlJB~'IUII'l , l2ortb;%OP!lQQ I 00

+dOSl:tn p:tbtrL -I-

• '.{.OTQ·p"u'l1:b~2 . l'iibJo:: __ ,_ ,-:--<---~ c

,~ • ,-P-A(JSfHboo---J

~UR~:~~;'~=:=:'I ,

Fignr« £1..1,2, ,'Ii 'lui.'rilimllws cambiar I!/ PAUSE 1000 par PAl SE 500, 1:/1 ":/l'rogmma de 10 izquierd« deberkmios cambiar a cada uno tift ellos, ell tote! 3, pero para at de la derecha basta. COkJ t!mubilIJ'/l'tli qw ".·lI'ti iI/HItI'(j dal !« Jiubl'll!;//I/ pniJIlJ, y tendriamos ellllll'll~rJ resuluulo,

PiIt/IFil ,$.1.J.4 .. Fbln_gI'ajfa d~l pmyl!pw de lutes f!<1ro (ii,·roleaa, liP IJ/uU1iII'U III! IIJ6.hrl(} d& 8 i"J;1 pm ~'us r~~'i.s!elll·ioo:. ,"usia t:~n ,'(m<!~Wll' ~lli''' ,rob/I;! a I~(irl'l'l .)' fo,v (iI1lUtl.f <I ~(Jdll Mil' de to« pi/IN

,del pi'l!.r('1 Ii del NC, esta ahorra tfempa de iustalacion. '

I ':~Ie j>m)ICctO es niuy imlloi1.linle e>nleomJ"fJO. y:l ;qu~ .-.1 siguiente pmyecto de !IIC"~ de ;'1111" FamfisliclHalrthiel1l:Jlfiila 1,1 d:~I'a'ra~itill FOR NF.XT_

IJs!a ~cNl'lIc'i611-sirve pal:'!; <ljecutllr un flC!merQ II veees una linea de prognl!1Hl o grupo ,J", 1 Incas 4e Ilrogm~ml; el jiguienl~ PfOcy~!;IO pf .. IMd~ ~!'Ic..,nder "11 led en el puerto 1'1,01 S ·"dcc.< ~<JII inid'vaI8:,-de \!i sc;guntlo, QeSpllii. debe dete'lrer;6 po)- 2: segendosy hiCl!<' parrade~r 3 veces mas, detenerse 'por, J, segundos Y luego repeur nsevamcotc Itl pTl)<:",~,se puede 111mi'll: of .J~!'Oto' C)llCsO orm.6 para I,,~ luccs ,I" discoteca yo que el misrno I\OS ~ervil"4 d~'~rue~ pam 01 Rig.llllcniO prt.l),CCLO 01 de las luoes de! auto f~nt.'istiw. FOR NEXT :;e.-lltitimde lasiguiente manerut

Pettr VAI~ 8VTE P'OII peter ea 1 TO 5

; prim~ro ,IJ cfCln Y M i.gnn Un mmaao pam I ~ \'~ rlab le IlC IQr

';Ejecuta las siguienws ilISlroocio~1.es'S- YCCCS iln81n l'lmde;dice NEXT

'; u Ii!. Ve:l.'OOIlO I ul ~o las, rep'e.t.iCioile:s conti Aim COT! Ill. rit<:l~.afrlrci6nqu B esta ;despues del NEXt pel~I' debe s~r ereado CO 1110 varlable, es dtltir ;~~ignarJe unespacio en la memoria an este ell so pnra 5_

LAS VARrA'tJI:&S illY, BYTE V WORD_ E~i!t; sencreadas para !;\~olXhlr ,lillo, ,:11 la ruemcria RAM (Random Al"~eS5 Memory) 0 memoria de acceso cnsual, esta memoria <rol1<lja irl]i,,~m<)lik mientras' este'allmentado el PIC., una.vez que el PIC os desconectado, los.damsde la memoria

RAM'!leb:cir;'l!Il1. .",

, I'~ht:{;nl(~r-~na "\iru:i;lb~e .~; !IIiuy,similfir a asig~~r un ;\on,bre deun piri,~Oiil0 pct.cr V.\R

j1ilrt~_l. I a d"i.fel'(>liciil. esm en que t?TIl vez {l,(} poner el pinse pone el Hamafi!) dy la lTIimi!li-i;~ (I utilizary eSi(1Ss<)11 IcssigllionlC$:

50 -------------- ~ MicNl<:orl1fl!lnaoru PIC f>,ogl!in111Ci6il 1lJ! !!ASI!;; ---"------""-"'"----"

Este- proyecto es muy similar al de las lil~<lS paIU discoteea, con III direrenein de (JIlt: estc "" eneiende de lzquierda a derecha y lu:~go de: derecha aizqaienla peusartamos que cl pmgral11l1 ~erl!l;:1 dolJle del !D.mafi,o que.el que hicilflos pam las lures de dlscoieca, pew no es asi,-n;cuerdeJl que cxiistlm vario .• carninos pam IlcgIIr ij UI1 mismo objetivo, y esre C!S uno de e.L1(}~J C$J8 vez utilizaremos los desplazamientos, quo no SOil nada mlis que reecrrer lin uno logioo' (1 III lzqu IQrd. () 11 Ie dereehade la SIIlidadcJos puertos,

los dO$pl!lzamienrns utiliza la ml.!\ll\llil:m.Cion 'J I\\. (\:iv\~i.e,\"I, OOml"l ~'a'ileID\')~_ t\ \"'\t \llIb~}a con c:1 sistema 'Dinario. 5i tenemos una variable X COil un valer inicial de I (%000(10000 I) y 10 multlpilearames per 2, el resultado seria 1 (%QOOOOOIO). y este a SII.-Vez 10 vclvenamos a noultipllc!lf pOI" 2. el 're~!!llll.do serra <J (0-:'0000_0100), y asl sueesivameste hasta [legar a 12K, en do lid .. en hinnrjn sena (o/.lOO()OIlO()}. verlamos que los Icds se Qnciendlldc Iii misma forma que (!II las luces para discoteca, para hacer qUI: Ill.'> Juces regresen IHrsUi el puerto B,O debernos dlvidh rlftru 2; cntonccs 1.2S I 2 es iguaJ a 64 {%O J OOOOOO}, como podemos ver ahora estil regresando Ii su lug,lr de-()ri!loen, los desplazamlentos se escribc de III iguiento rnanera:

[l11h!mlido COOlI> fU!lCiol'lII 10 desplazamlentos desarrollamos el sigulenre programs:

1¢m\r]lOila ~I!c~te ;00 Y l§'t'ls\giil!(noST'lIl'n1n,~-(i cI~ ~'SS

,J ,tQd0icli?beM=B£s~narna.a:r.'EDS-"'---- . -'- : - !

; ;h!l(lem!ls~~aiilla's': lOdo blpq-;rtillft-_., _J J_

, :" ---'l .....J.- l I ~ .

j \ :-~ED$-= ,I, --t 'o~amO"e1~pu~rlln~c<+n:] ~y.o~~~O(j~r

PR.tJG:L ,---'1 ~ ~ 1 -,---1 r

I?GR;x-=---] 1[(h L ;:-ntp;l~ir1 ~e's -I - ,-"~ ~ f. r-' ~

_. LEOS = LEOS-<~J I -1-_ ;d~i;pl~~JII1,O,~;IIL1otaJ3J i~iiiiml.1 --j r

r ~:<;~200j·· ~ ;~$P\lfHJ"2oa Imh ~gll!!,!os ,~ 1_

":N:EXl~ _ -~r.ep¢tir-JlaSUfqlle ;t1;e(l'=oi 1 .L

: -=-.~" ~-: .. -: 1.':---- - -,' ~ --< I I I

'F<l>R l! - J ,T9J _. ';!!l~!'L7 ~ib,S ±- - _-'... - __ .' - r- _L -_. I

,1;EgS =p~lrS'>>. Ii - ,:d~;-P!~ li!l.d.!.:~~Il~!;Ja~iit;eQh!i J~ +t ~ -1 ;.--t.;-.=; .... , I

"·":!PA'illSE.'20Q- _ ----:_ r··'~espet1ldm.~llrs<:gur.llos -;- - ! ~c~~rl~lm ._._:_ I

__ - ~ _' __ ' - _,_"_ __.J.'

--1 l'

-;

I. Encienda un ledconeeradn en RB4 durame 1',5 .eg_ y Illego. apnguolo per 0 . .5 s~g.. el Ilt'OCIlSO debe filpe\irsc·s6lg 41'ecCs. ~\Ieg,o el Ied debe permoner apll,gndo.

2, B!ici..:nda 2 leds cnneesados eo RBO y RB I akemarlamente, es deeir m:icno~\~ el lin led e~la eneendldo, d otro permanece apngndo y vice- CrSll" los lie!llpOS clc trl'llsidon SOI1 de 700 rn Is. entre encend 'au y aplll:\<ld O,,;eII'OOG"Il''liO de be conn nuar inddl nidamente.

3" Ell d proyecto 5.1.3 juego de luces pam. discotecu, clloiendn los leds t1(![ medlo haeie 100 extremes, es decir cmpiece i)Qt' 64 J' 63, IlIeSU' ~pl!&lIelos )I encienda 85 >' 92 y. as! succsivamente basta lIeg,lr a. los extremes 87 y BO, utilice PAUSE :we y haga que, se

rep itaindefin idamente. -

4, EnQi~ncl;t unn fullllil con leds ceneemdos a tcdosles pines del micro (15 leds), e:Keepto RA5 y MgIllO girar las luce s . J·la velocidad yen el sentido que desce.

5. Genere (; parpadecs de un led con inlllrvalos de 300 litis; lnego haga 2parpadeos de 1 segundo COl) un segundo' led, Illego haga que los 2 led, parpadeen 3 veces, repita 01 proeeso illdl!rln~claOiente .

.52 ~------------- ~1 Micl"C911t[oludofCS PIC "rogra;madOn en BASIC -----------

lisle &~r~ el primer CO'lIolcto del pic con el rnundo exl:eritlr. un pe:riferiro de ,~ntmdn. primero se dehe entender oomo funcionanlos pulsadorcs con ~I PIC, ~'lj.i_~[elLbasi¢amellll: 2 ~ir,.,~,{lewJlcxiO-I) plll'3 los pulsadores, el que siempre e&1lI CI~ I 14&ioo {$ V.) ''/ c;1)lna<) es fHII~l1do Cl\mlii~ ~C~I'(I 16Sico (II V.), Y c] que cshi. en cere logico )' cuando se le pulsa Dl= \1 UIlO loglcc, lossjgnlenrss son los diagrarnas de conexicn,

~ V. "IYSINS 5.J.LJ.. Dicrgrllm/;1 elu (:(mll,,~i6il de 2,PlIlsmwres, e! pri;lJ(iiIP' 'ie,~ I i6gico,es decb: siempre permhe <)i frlW':e~,!) dl! 5 !I. aIPIC. ella/li/Off.I' pre.I'iIlIlWJo, eI "oil'lIje se dl!sl'iaa tierra y r.!i! IlSW caso ,el PlC (/el~Cla 1I1/ c(1mbio de estadn ell! 1 L () (! L III fWI(;ioJlalTl/!!Ilr(l dd sttgwltl(J IJlil.I'JJdoT ,~J' 1()I/1/mwn. 10 commrio.

Exiisttl uiril nianera de bacer un pulsadcr 0 enirada con rnas vcltnje del que el PIC oOpf)n,1l .. yes h,~lli{)lld() ~n dlvisor de voltn]e, esto I)~ muy utllimdo parn imJicIIJ' ,i 1Ji'i~ bntcrla do 12 \"('I1!io;; 1'01' 'liemp'lo .• eencnenlra ~tlrgad~ ode~argildill.

F'ilwro 5.3.1.2. Diagranm de conexion d~, 1n1 PIH,sdd(jl' a togioo u IIIIQ jill!ll11!dl' 12 I' ,,1 se it! C()IIe<:IO <':01/10 (!II fll (it< {iJ jlgW'(I WIi~"il)l' 011>' ml(1' prnlmfJle'ilril! el 1'1(·5.e' cia"", ptJtBslir i'(1i!.on se 1~ conecta 0111 "l.di,l,jo'm-de \'o/lf!j'e, ,m Jande 61 ~ff)II(Jje hujtl CI oJ, 9'V.)' Ia c(~frii"ll' qlll! el PIC debe .'Wpor(fIr rMd~ o'il mA.

Ej.erc1do.:

(;"1,,,\1111,' 13 ~0!;i511,"~ill Rl,p~rll h3trlr 1111 diviscOr de vUllllje- en el 'Ill" salga ~pmxllTTl~!l"'lI1e'lte 5 Voltios, si Iii fuerrte es una b31erla de 2.4 Valtire. PC.

Rl2l"

19,3GV'L

'~

Figl!"fI 5~J.l .. ~. DI(rgNl!i'f~! (Iii 111/ f)UI~<I¢I)I'IHII'!1 IHlufmmN: if!! U V.

Illplicad61t.-~ nf)C~~ito II" divisor d,e vCl.llllj6 do 5 V"por 10 que onR 1 UIl~~rlO eeer 19 V.

Vl= VI x RI Rcq= Vt !(. It I Rcq- 2--'1 x IIImlO

Rcq VI 19

Tencmes en el mer,(ldade '2.,7" I( Y 2;4 K, nil' podernes usar In de 2,7K porqlJe el vOhaje pa$arln de SV. Lltili~~~IlI(l~ lade 1;4 I( Y'Wl1drclIIO/l lossiguientes calculos:

V:Z'" VLx :R2 Rcq-

Vl=24V!>: lOooon 12+000

Vl~24V ... 241000 12.4,()[jQ

&(-19355 VJ

L.'I cord cntc qlfe Ci"CIlIIIl por el P ~ C ~erioi:

]= v, RIX[

1~14 ~~1,93mAl

]2400

;10 cual eii(arf~ bie!l,.COflSlderfmd(;qu~,d RIC soporta 25 rnA I,)!l mod1(l $1I/flidQI"O por coda pi".

I,ADECI.r\"RAC16N' IF.~. 1'REN. Esln' _,irv(: d.e ccndlcicname, sl es vertladeWl ejeclvrn. 11\ operacion que's~'gue al 'I'HE:N. y si es lalsa salta a la sigulerue IJnea despues del THL':N, existen varias formas de.aplkaci6n:

IF portb.Il= 0 THEN Pablo

:ir ,( Pablo si In entrada portb.O cS·COI'~ 16gi()o,

[F ponll.fi= I TJn:.Njunn

: ir a juan si la entradapenb.f es .1 logiea

.;~i !fICOLnPfL;8d6n ~,w,rda(lemej(lCllllllO!!O III ccntenido (11I~

i se encuentra e~lre 'iii THEN Y'H"EN!DIF .

IF p0l111.0 =lll'HE,N IllGH l1orta2 l'A(JSlf 1000 LOWPQI1fh2

f;NDIF

; 5i la <;ompamsion esverdadeca ejecuta el coruenido CUlt" j'ff[EN y ELSE y si (;S fltls~ i:j~clll~ el C(\/HC'lliclo entre !ELSE ;'1ENDIF

EILSE

ENDIF

IF F~pe > J 5 TI·TF.N, lnio ~u~ .~i !a ';triable rep es mayor que 1$ "j .. " u {H inleiar, .adeI11~1

'-- __;:::;.ptl;;..e"'d:_:c utilizartcsdernas opemdores; =; j=(NO ES IGUAL), <; >, <::=~

IF (p_ortlL I rl) Ai\l) (poTUL2=O) TH:EN pros ;.i por1a, I y porta .• 2 SOli lgual a.cern ejt:<lIla·l,rog, asimismo SOpOltll los dll1l11ls opcraoorcs como': on, XQR. NOT ANn. NOT OR.. 0"- XHW

131 ,!iguieille es el di~g,mma de cOI]exiQn para: &.illlllrnclica de pu.lsadot.

Flgllra .f .. J.l.f, fliagi't""" d~ nm~~,i6u de 1m p!lJsmt'-'f conactudo .m £'1 I'ul!I'io B:.:l, de !!.vlad" f Jr)gi<~I>, //1:1 ,,/ momenta !.]fIe <OS pr1?~i()l1(uJrJ eif(e desvial« I<:;'r;!,n "':rr::ia tierra, Pol' lo que el Pf' . deteda rm cambia,de e.,'I<I£1" ,11 C~r(} fug/co, en (I~'~ instante s,e enolende c'l kel.

/lfAT1JJUALe5, -1 [.j'oOde Smm .

• , resistcncia de: :130n a V. vario, naranja-naranja-cafe -~ re.L'iteJ1~il1 de 4,,7 KQ a V. varto, arnarillo-eiolcm-rojo

I-I pu.lsador !)~m protcboard Ilormalmente ab,,,,rto cornu rei de fa Il&Unl 5:.3.3.2.

A coruinuaclon cl programa e~ tlASIC pam leer el estado do UjI pulsador,

FiglUa 5.).1.), Dulslldo!"pbp Programa paraleer un PZil.vWQr. sf est« e.J presioaad» se cnciende 1111 led que esta conectado en el pliE)f:/iJ A.J y,\"e apagade.VpIlIis de I segli!ido,

En esta jlr;ic~'ca haremos UI1 contader !iin[,rio. el resultado 10 veremos en e,)<li,So bi":1rio a rrn v'!,. de 8 rL'(b conectsdos en <::1 puerto B. Para esta pmctica neceslta poner unantirrebote al pulsitdor,

.- •••• -- •• --.~.- ~~ Ililicrocon1rolndores PI ~",gr~mgcioo &IlIlAS,IC • __ •• -._. __ ._._- 5:5

yri qne-sl pl'esiont! per un iustarnc, darJ~ "!L\I~IOilidad qtlq procesa III PIC clllmgroma 51: ej~QUlmr:a varias veces 1.m~!I\ Ij;Ll!o suclte cl pulsadcr, pam ~prelltler de tos errores hltsa c1 pl~graiJ1D sin nntilT'llbote'dc tecls y luego COl! antirrsbote,

MATER1ALES. -8 LEDS de 5111,".

-8 resistencias de 331i£1 a 1'2 vatio, n:;.i'allja.~lli'anjll.-(,~j'c

-I .reslsreucia de4_7 KO e 'h vatic, nm~Fnno-vioI01l\.rC\io

-I p~l~a(kll·I"l~'a pl'ofQbo~rd lIollillalAlell(Q ubielto como d de 1'\.fi.~~.,J~_.3_.2;;..- _

S II.

Fig'url/ j,j,2.J. Diagrwl.I(I d<~ G(PnJXiol/{J~ 81edsy WI pulsudor, cuda quc s« plI!,~r,I f!/llfJlolI. hM led.~ milium/ali ~/1 crJdign binorto.

riguJ'(t J3.1..2. l'I'/JgI'Of/lIlPaJ'l' .,'!'IIIwr all L'{l;/lgo btnario IIi!! (m/irl'~lwl~ rI~ Itch

Si tlliVO la oportuuidad de ver funclonando esre proyecro, se dara enema- que, cada que se p"lsn ~I btlt.Gll el contador aumenta demaslado, esl.O es como SIi) cillo antes porque cl PiC 'Im'b~jll II luS. cada 'in si l'u,c-ci 0 11 y euando una persona (lJ:esidfla el het(m, por 10 rncnos nccesita de: 100 mS de liompl) pnrll soharlo. ell est: ricmpo elI'lC yO! sumo alrecle~br de 25.000 veces. Pam soluciouar este flrobli:ml.a.projlOnemOs hater \111 programa de antirrebcre de t(lc:I~,. ell cl eualsl preslonamos d boten, esre le cn.'i~ a un pl'Ogrmnll quo lo mantiene cncerrudo, y unicemenre sale de esra subrulina

56 C" , ••• __ •• ~ Mrcr{J~o~I'()I~(i,Q"~'~ PIC P(ogram~cl,;n*1i aA$IC ----.---.--

en el momento que Ci Vllisi!d\lf' d~j(l dO s~r prcsi())IlIdo. ~ ('o~rjllunujon Inclll~i'""~ \"1 l'AUSE 200, que es neeesark pam que <:11 ~IIW;lm..,n~o 01: ooilBr t,~ tecta ,Ge e5lJbllke la seiial.

Figlli'oS.J.13. c'QI1&1dor bmario.rum Pl'ogmif1u par" Sl1mar ell c{\aigp binario roll antirrebose,

PDra cono,cer mn~ sobre los QPcrai1orc.~ m~termi"tico~ disponiblcs como: resta, muftipllcaclon, divi:li.ol), ere., existentes en e~ compllador PICBlIsic Pro, se recomienda vu Ia ayuda de m (croi'OOI~ en .Help l'opics\PicBasic Pro 13asic..~\M.a!h operll!Qrs\b~irod",ct[oIJ 0 eJ il1liiHI:al en espuricl del php de www.frino.corn.ar.

Este proyeclo SC basa en des pulsaderes, el lro para aumentar [a fl'ecuel1ci~ del parpadeo del LBD. y el 2e1o pam c!ismil1!11il' la fNC;:!~11Cili de pnrpadcQ. l>arn e~tlJ IIliliza~cmo~ 2 nperudores IlHllem!\licos, hi suma y In resta, la surna inerementara las repeticiones de una mstmccicn FOR _ .li:XT. que conticne un PA[/~E S, mieotras que la rcsta dismlnuira las repeticiones del: rnismo pause. Debemos t.elle. en cuentu que mill variable BVTE no Plted~ exccdor SII contenidu ,II mas de '255. ni rarnpcco pasar a valores negatives aJ. 5I:r restade consecutivamente, ~i. c1tcediera el y;]JOT de la variable II mJ5 de 255. el rnismo sc cargil. con valor de cere, y viccversa sl.elresultado de la rests pasara II -5, 13 variable se cargll CO'II 255.

Para comprobar 10 dieho anteriorrnenre, despues de haeer la pr3ctil:.a principal, en U~3 llnictica aparte elirnmenc conviertales ell comenrarios las llneas que dice:

; ill vecos< I 0 TIn;; N ltE':r aN ; IF veces> lSO'THEN RETURN

n..il pri.l1.lill'R se enearga do 110 I~errnitir que sign. rcstanco, IlJlra que eltiernpo minimll d~ i1aUse SeU de 50 miliscllllildos (lOx "PAUSE 5). mientras que Is segunda se encarga de no permitir 'Iuesifl,ll suniando si el v,alor de Ia variable es mayorque 1150, este ejecuta ulllUi;TURN con esto el tiempo maximo de pause serla de 750 milisegundos (150 x l'AllSE S).

-~.--.--.-.-. ~ Mkl1lc(!nlrolll~ar"'> PIC ~10!ilQmad6n en B1<SIC -_ ••• _ •.• --_._-- 57'

,lLJ 'ffiHIALES. -I LED de SRI In.

-I rcsisrenciasde 3:>()Q a 1. vatio, n:aflU\ja-na[a!~:a-caJe

-2 I'esis(e,nr,;i~ de 4, i Kfl a Y, vatlo, ,amllrillo- iolcia-rojo

-2 p!Jlsn.dore. pllJ'Il prolooolln:l nmmil'lmenie ubie/fo ~Ilm') lo~ delB fi uta ;;,.3.3.2

Fiyllrll 5 • .'1.3.1. Dlogt(Jrifcl iii! ,tl}m1xiIJ" !Ie ·2"pI11,;adare.'i y M led ell 117 puerto 8.

Figura 5.3.3.2. Potografla del diseiio armada (>}1 ~I [lTolaboard. fambMfI l111101.l'11'a ~1 tipo de pulsador de. 2 pall/CIs i(/(J(lll)(1.rrt ',,~ p...aj,(i7Joards.

58 ~~.---------~ Mieroc!i1!llrgIOllor1.'S I'IC P'1l!)f8micl6nMSASIC -----.-- .. -------

r$t!) es un reset externo que ill"!C P()~~I!.l!p:~rt~,.de) 1'I'S~11l1 eneendidn (IUC dispone, In. t~t'iliz~ci:611 dill MCLllc~ IIlui seuoillo, solodcbcmos insfillar un 'Ilul~~dof I logico (ijlllll_llp) en el puerto 1\.5;" C~!r9pill es e,pes;ilicp para e) ,""elK, el preyecto cteb~fulldor:lar'~de 1[1 sigu,i\"nr", lTI<1l1Cra: haCem(l~ ttl'! prp!!:nl[l't~ paru qm: parp~dctl. un led cada 2.00 l!lilisyguJ)liJos WAUSq 2UO)t pam siempre, Y III pulsar <:1 [)llt611 del Mcu{.~sw j:I:lrfJadco debe J~lellel'S(l y III solwl'lo dl:;hc cillntilllr:tr con el parpadeo del loci, esimponantc teller habilitado ",I MCLRcl1 cI momelllto de grabar el PIC ell el pl'agramn le-prog; el slguienrre gl1l.fi()(j muestra como deberlaestar la cOllligll:J;J.ciOn de los Ii.t'!.iblc$ de con,figll["lI=i;;'i1 ;1.[16.6281\ en "I' lC-progiltllC$. de grllt;l!r III PIG:

F/gU_',l .5.3.01.1. Crmjigll!'tJi.'ii'm del IC-pJ:Og/ClITI oscilador Irltl.!l'llrl RIC y 1mbllll(ldlJ 1J1 lltlCLR (,·t,!;';!!1 (idel'll/)) rl;jCeS"aNo paro I!sfap"rlli1fiGlI ..

Mt11'/!.!fJA.l.lJ$, ~l 1.[';0 de jnim.

-I resistencia de~JOO a ~ lIatia, n~n3Jlja-nfirmija,~afe.

-I n:sislol1()i~ d@'1,7 K,(l u Y.o vatlo, ul'lari'llo-violcLlI.mjo

-lpulsador para protoboard normalmonte abierto

Figlll'{j 5.3.".2. &ijIl6t1J",je C/(illu:ilill de ,lit I,ED Y I.mj)u/.l'adI}r 111 MCI.R (plierloA.5)"

Con todo 10 <IpTelidido illilSfa aqul usted podn" bnnquilemente hncer un P['c como el de Iii

siguiente- Ilr;urn: -

,Fig.trc1.5 . .1,4:.'('. Fmogrqfia d~' lill PLC <i" 7 ~ilradti.f y /I satidus basodo ell un PTC J6F6Z$A·. 60 ------------ ~ MicrOl!Ol1trolgd!)r~! PIC "'!!!lromn:l~n~" BASIC ------- ••••••• -

I. Hag/tUIl proyct~o.!!~ el que, a! presloner tin ~o16D e~l~ encienda un led. il1lerrnil.~1lIe.d9 II 1'~Pol-liljioli!)S de 250 mlsLuego (ll led per,nt(111~ce apagado y III !)I'(Jgr,mlH ~lj!!II'" a. sensar ci p~ lsador,

. 2,' COl! uu putsador haga qlle ~ ,Ied5 '::")oI1<:(lm.d~s ~m cl puerto 8, se cncicndan de dcrecha B izqu ierda UIIO;i 1'1 V~%, ernpe •. nndo de [II) a 67. (II final esre ullimo pCl'mllll,eC~ ,e:nc~ndiM1Ci, con 011'1) pulsador h;!gB- que 100 lros se desplacen 11110 a unuhaoia ill. derecha, es dedI' desde 1'!7 que Jhe el t!rltimo y <{1J~ eSlii .aetnalmente el'tcelldi<iro sedespluce b""b '[l0, I,,~,

p~"SH' ~()Il de J()~ mls, .

. J. ! laga IHI proyecto cen 2. i'llls.adol.'()c; PI. 'J 1':1: y j kd~; ledl;I'cd2 y lcd0;.si presiona t'l este hn~\l 'Ill!') se encieml~ el ledl durante;) ~ seg, luego este se !lllogn. sl presiona f'2. esto hneo qli'll el ledZ S~ encienda dllf.mte I seg, Y Inugo sc apague, sl presioua Ply 1\1 ill mlsme tlempo.,el kdJ parpadea S "'CCIlS eon una pausa de300mls. ImGgope~I1'!l11C~' apagado.

d. H3g~.!!11 proyeeto con 2 pulsaderes PI y P2'Y 1111 Led, si presiona PI y luego ~,<;.lled .debe parpadenr una sola vez, si i!re~'iO!l(!' P'I ::I veces )' ItI~go presiona 1'2:, eJ le~ de1J" . parpadear J veccs, y us] Suc~ivBnie-nte las 'Ieee. que 'r~iC'l·lle PI, "2 fu~dO!l;t come lIIT'd 11 qlli:e de I pH rJ)~dCO.

Los disl~Lays son 1l111~ (lllliUldo.~ I'urn Yislla1i711rdal{l~. l'ar~e~lu prnctiCD se utili7::1 CQI,,1'l periferlco de ~;tlid~ uu) display tiro iinodo cormin, pam 10 cual 51: [acilita 01 ,j~Agrallla onfa flgaru 5.4.1.'1. PI proyecto consiste en hacer till cOIlt;tdor,d~'i!.ili13l ~(), .. ",Q),COIl uncrvalos de 05 segundns,

EI Ilmgrnum es m\iY 51111i11l1' III del 5.).'2" comador binario, CO~ 111 difcrcncin qne sulo se necesira los 4 bits mash~jo. (B,G. 13. I, tI.2. Y 13.3). el decodificador bin~rio II 7 ,scgil\cnli1~ (7447), cs eI errcargado de trnnsformsr el numero binario qlJe ingrcsa a:DlIJlIUlI'O {k;:imDI.

MIl TIZJlIAUfS.

·1 DISPLAY rimxi(} Q0l11im prelcrible como.el de III figura 5.4.1.2. ideal pm,~ protohonrds .. -7 rcslstencias de 330n II y:, Vtl!L(}, 1!~~al~(1-nllrmtia-qlfe

-I CI. i,V17 decodlficador IKD

5\1.

9 f V .. n b

"dV';;cdp

F;glftI15.4.1.1. Diffgrwf/tl lie canexMI1 de WI (Hlp/,O' OIlO(({) 0011111111:1111 /!/ BCD un

FI/! nra .'i.4. J.Z. ;:"'1] IIlJlWi .i~ I'im/$ ,k 1111 display (1, C. 1--lDS,I'-550 I

Fi.lfJlfl1.'-''' 1,1, illmIlly1seg.n"p- l'I"agram .. j),II'CI ~I di~piCly de 7 '~"RJII(lII,f(J..'"

6;2 --- .. -------·-ffil' Mi~i'OClillll'lll11dorM lIiC F'1<I!l'"""'cl~n,"n BASIC --- ••• - •• --- .. _--

AdiclOnllJlldo al proyecto anterior lin pulsador se-hnce un <CQnlliu;!!Jir manual de un drgHo. No sc lllvi(l() hacer un programa antirrebore de tecla, por el CElS" expuesto anteriorrnerue.

,'l{ATERM.LE$.

-I mSPLAYanod" cornua. pre'l'erible como el de Ia figum5_4.l.2

-7 reslstenelas de 1300 a ~ vatio, narnl1jlll • naranja-cafe

-I CJ. 74~1 decodificadet' BCD

-I puisador para protoboard normalmentcabierto como la~ de In figarn 5.31_2

I~J diugrillmu de este proyecto es el mismo de I~ figura 5.<1.1.1. peroadlclonado 'lI11 pulsador de estado uno logico normal en el puerto R.4.

Usted se preguntaran cOmo hacer para qll" el nurnero se lncremente apenas se pulsa ia recln )1110 cuando solramos COlnO actualmente sucede, pues bien para esto utilizarnos banderas que no son nada, mils que LlDH variable d() I llIi!, ~sm 1105 imlic!I euando lUI sido pulsada. El sig~iiel1w 6S un c,i'ercicio udlclonal aplicando la bandera.

----.--------~ MicroooIllPOlad()re~ PI.C Pr<)g'ajIlaci6nen BASIC --.-~-----~--- 63

FlguJ'(/ .5.4.2.2. di.s!!lll 7scl! bolon2..p..!.m Pmgrama paru el display ria 7 s<:gl1lffl1fu,\' ,',,11 JJIIl ',1(/01" ,f mllizando una bandera que indica slse flu presionodo fa tect«.

come se dijo eo, un comienzo ill PIC se Ie puede programer PIl!lI reemplazar a casi eualquier CirC!ii((l imcgrndo, en esta (lcru;itill haremos que t;~ propio "IC see como \111 ct. 7447, pata iilSIlJ debemos saber que pam. saear olnumcro 3 poi' ejernplo, debemos caleular el ~lmier,O ikdfllalque haee que se eneiendan los scgmenros oorrecros del display, esro se.hace de.Ia slgetonre fomm,

Como debemos eneender los segmentos a, b. c, d, Y g .. rovisamos los pines del PIC que les corresponde Y estes SOil: BO. R I, fl2,. IlJ, Y B6. respectivarnente, estes debernos ponerlos en t;S!'Ido eero !6gito pam qlJl~los St:~menlos se enciendan (recuenle que el c1lspla~' es anod!o

qOlJllDI!), )' los dCm~s I 16gi()O plml que pCl'mnllo?ll"nil apagadns: .

LA DJlCLARJ!.CION LOOKUP. Sieve.para obtencr un valor consranle de una labia, esto 10 haec seg(Jn el numero de veces que repha el FOR N~,(T, par ejemp,lo: ln Ira vez toma 01 date que e.encuentra en el hlgnr 0, cs decir el Nrn. 64, It! segunda el dato del lugar loINI'O.!21. asi sucesivamente, y 10 WI guardando en lavariable dal,

MATEJUALE:S.

-1 DISPLAY tinodo connm, preferible come 01 de [a fiSIII"II. 5./1.1.2

-7 resistencias de 330n ,1 '/, vatio. naranja-naranja-cafd

Figurrt 5./.3.1. Dtl1l!,l'UlIIG de cmlexi6n de WI tlisp./oy de 7-.ViJgll1eJ1./0.!l direeramen!« al !'Ie.

EI~iS\li()llte proyecro d~b~ eucender ~ displays para podcr r!10Stmr euatquier !I(ml~m d!)S!lc 01 0 hasia ,~I 9999, -esto 10. conscguimos gFa<:ills a] transistor tipo PN?, qll~ no, ayudar>\ a multiplexer mula uno de los d iSp!ay~. e] l\mr-iOlinmi,enta <l, bastame sencil 10, ;depemos p()ne,cti~r los 4 bits n~as ~rltlls (t Clld!! transistor y los-cnetro bits milS b~joS:lIl CI. 74'1·7, sl I'm' cjolupl'O qucremos saear el r1rlnl'OI'O '6814, pFimllto Ilahilitani\1S III 4(0 Imn~lslor. el de la dereclta y envlaHi.gs el numern II, el CJ, 7447 SOl; lltICa~g'I'i'le formar e] 4 em (,';1 display, I uego pasamos 11 cere 16g1c(ull 2do. trans ism r, J' los !Io!l\u .. ltJ 1111111e~INTll()$ en lli~,cllIl\Q, al misnm tiCfl1jlO saeamos ~L :nilnl<;ru? pur los bits meuos ~ig!1ificil~i.VO~ del puerto fl, y <lSi ¢Ol1;>1:~llli","un~i'it1:, el ti'cmp(! qua debcmos mautcncr uctivado cada transistor no puede ser mayor (Ille 5 milisegundos, es decir g~re los camhios son tan lipi~os que el ojo IIum3nO "CIDd()~ los d'~pla:}'S el]~,e'IHjido;nllll1is!lft(, 11IlrrliP'P, cuando en realidad sulo se

end"'ndc uno n.lm voz, .

£jcm:plo; .pam sacar ~ Nro 8 en lascenrenas debemos: szq.r (176-'-8), es dccir 1 '1i"nem 184 J)Mtl\IC ~i 11I1ufuunos en c6dig() I>ln01'l'o. lenernos 'lUll los bill; mils bnjos entmn "I Cl. 7447.)! 105' bits mas altos, sen 106 ImGi1f£udDS de encender <:1 display quc le corresponde 1I las ccntenes.

j'84 =% 10111010'0

Mil'l'EllfAI.li!/,

-4 DlSP'LAYS :illodo,CQllUun

-4 tmnsislores 2N3:I)()ii

• 7 roslsteucins d~ 330n u '/., VUlio, norrll1jn-'lm'lUirjn=~afc -4 resistencias de 4,7 Kn J II;, vatic, -amarillc-violera-rojc

-I CI. 7447 decodiflcadnr BCD.

-·-··-·-- .. ···IA~ Mli"n.l~lIlIfOllldorcj PIC i"~'9m.d6i> en IlAS1C .--.----------------.. 165

FiJllmr 5.4.4.1. COIryig1l7w.:i0/1 'para miJJI(~jw' 4 dispfaYIiI42 7- ~egllfemos con el CL ''/441,

Figura 5.4.4.1, Fmografla.del entrenado« experto 13E-02 de At OM.,\S'S, ideal INtra estas prtll'lica,~ por lu faciltdad en Ylenmmblqje de pfi)jll!c;IOs. Ddr:mti.\· disprma da mod"lo,I' comQ teds, -I ,(Ii',~pfay q~ 7 sC!\1rll~1110~', LCD, pIlJ.lallol"l',~, lac/ado matnciol, ret«; p!1J'lante, dipswitch. <:Olflllllicacioll RS232, RS'fZ2N85. memoria ,<;en'af. l"eloj·caleJldarla, chicharra, COIIW~rJ'Or Dill, etc, lamb/t!1I p'1!1'miJe'prog,olllor llf J?IC ;;illll~cl2!iidf1d de desmonrarlo de ~'11 =tl .. "h).

65 ----- ... ~--~ Micl'OC'Olllrnladorcs'I'IC P~g,",,"MI.n ~~SAi;>iC .-.- ••••• -----

Filllirel 5.4,1/.3. mlLHero SIi7ll.pbpi'rogl"mnapam lIIaJlejUl' 4' di,iplt:Q-·s.

Como I!x.perimento pi!IIl cemprobar '1M el PIC slllQ esrflll.ctlvlIJiagl· till IiISJ1I1I)'D 10. l'C"l, C(lmbi~, tOdiJ~ los p;lll.~h PA(JS"E 1.50.

FiCllnIS.<I..5.1. &q!l~m" dr;. r:m!'~"i(m(Id() de! CQI!/.(1dol' de if dlgi/os, ad(clr)l/i1l/l!~I1~ se 1l1'1,/l-"/'C11r1 for'llia de 111 t;:hich""I'tH!~ii\ICul f2V dlll'e/el'I1mi'ia GSJZll.

58 hom de hacor un pm~¢(;fO de consiclcmblc !;umllio. una V"1 entendide c-orno rnultipl(mar 4 display~ y elltendiilo el ejerciciO del '~1I111dor con una bandera de aetivadn el del 5.4:i1,2, pues el siguiente proyecro ccnsta eo, 11II00f un contador ,decimillquc iI~ci'emell'c su vnler eada o,re~ que '" putse el bot611 A, sipulsamos el boton B se CIlC!Jm y ilpagn lu ch~cllart"d> y si 11"lsQm\)~ 10. recla C, presenta cl. niimet'O al cual vu II C;()mpBftlI. si el Ilumen! de contco es igLlaJ a'24, activll Ill! aviso auduivo (DUZZO:-f activo), este buzzer trabaja a 12 voltios, 1Q que r .. diferencia de ~(}S p"cl~ntcs comunes cs que 110 neoesita ser actlvadu OM UIl1I frecuencia, ~i[\!\ ~'!I'IH COl! !ili1l1onlnT'le CIIIl 12 volli"s para que SUCIle., tm1Jbi~rl 1(> conocen COli elnombre de ehicharran 12 volrlos,

"fA TERlAlES.

-1 DlSI"LA VS 11110<10 ~olll.rm

-41J:'.~I1~i"ore. 2NJI)06

-I transi stor 2N3 9114-

-7 resistenclas de 3,~On a If vatic, fr!ll'l1nja:-naml1!l~bcare

-4 I'~Si~L~I,IGil1s de 4.7 KD.li V. \I~oIio, IlIn~rillQ-vi(lleta-ro.iro

-I CI. 7447 decodificadcr BCD

-2 pulsadores normalmente ubiertos

-I ell lcharra de 1,2 V. como cl d~ In lig"'1I.;_:ra:__:_5,""I_c:,S"',_:_I.:__ .

Elsiguieme fI'S el prograrnapara contrelar los 4 displays, contar, encerar, cornparse y vlsualizar el numero almacenado en la mcmoria.

68 ----------~ •. -~ Mlerocontmludoros D'IG P~ram;;cioncn ~!C .. ------- •• -------

r - .. '~'-'-.':"

I····· ....

Fig/uti S.4.5.2. qmllldllr) .9922.nhll Programa (J'C/i'Q e( comador tjed/lmf d".r"" / !199Y9_

A contlnuacicn OLm munera de cscnbir el misrnu progrema aun mn. corln, 0:..%11, vez 1.,jiliV\ll(in una variable COil capacidad de abnacenamientu de 1i;}~J5 (rnLlmcro YAH. wnnui, 'I para poyer tornar cadadigiro de esta variable y mosrrar en calla ,_uno de los di~plil)'S, uti) lzamos eJ OIWradllr m~!L>llll\tico DIG, quo: sirve ,p~nlIOm;)r cl.lCllquicr digit.:lIlU~ l!ece&ite!l1o~ de ulle \.~riJlble, O:lCI1Ipk,:

Porn tomar lus decenasde 13 slgulente variable m1mero: numero - 6789

00111= nill1leJ'Q VIG I • ,"01]10 el dlgil'O 0 II:S el 9, el c1rgito I e~'I}1 8,1:1 dig1tf> 2 'elf 7, y II,i sllce.i"aTn(;nt~,'~n este case el Sse almacenaen I~, variahle cellI.

Figllfa 50'/,,5.3. s;qntad!o!'Z !·9999,pb~ f#rogrclIIlD para 11.1 contador decimlil desde J a 9999 utilizando el operador matemaiico D1G.

I!.sposible hacer lin contader decimal igunl que el ~eJ pr(l'yOil~'lo anterior y ~in ayuda del CI, 7447,

--.- ••• - •• -- •.••. ~ Mjcl'oron!Jr(>l~dorc.s PI C P"'!l,.rmocI6~ en SABre .- .. ~--.--- 71

poro, <l11 IlSl:I ()clJl;iun haremo ~rgo Ollis CilLIC !;\SO,, come> viel'l'lIl III "(m1!1j~ de COIIC;lClut ,,) .U~pla}' directamcntc al PIC es la depoder ~lear casi la rnayoria de Iii 'ktras de! alfabeto, pues bien este prQyecto eonsiste IlIISnCar [apalailral-10lA n I raves de.los 4 displays,

Pigllrl1 5.4.6.1. P;,I'f]Uf.I!I(1 do: c."'lc~·i011<f(f;l, pal'(/II/WIII/a,· -1 diIiP~II}'.' dihu:lumcm,· Ilil,inci d i'.ICy Itllllliplf:;';a"dopor ef pueno A.

Mil TERJALES.

-.1 DlSPLA YS iit1ndo eemnn

-4 ITa lisistores 2N J906

- 7 res i~w neias de :n on ~ '4 va,1 lo, naranju-nara ~u a-cnf1!

-'I resisreneius de 4,7 KG 0 % "OUrI. 1111l1lrilio-vioicl8'I'ojo

, . ~

;~;ol:;:,~e~1!\()doQI'PLi~. 1\ '~Ii digil~(l:- .. ,,: 1 :::: . {ool1}~eltG md{):; Ip~_~~.'l~ ii~!PlI9to 6 elq~1~tl3s .;'Coli Icrt" rOMS 10» PIII"'~-tlcl PLl,,!10 A ;!!!} $<!IJ~~,

1-- .C --. I I'" -., ......

I :'0/.-1 fl 0' :1<:!i~"a·()j·dfSplily'diB h. d",r.eeila.J

'%OOOJ (lOtl tonnn Ih letra Ai _-'

I -_ .

f . 'I

--;%I.ilil,l.lc!1v:ier~liiliiiil}J:.6;~i~bil

;%,.QOI)J 1.1 forma-Th,lelial;'" I'

f , .-;~- ..

-r-'-;"%'itill~adi~a~l sjguieriWdispfay .%HIOo.MilJ rWll1a1a le'tra (j~ .l

J.. : I ~

;%9111 a1:ti;;~, Illii)Do.(jis[ll'9}'

-:- - r,% 000 I eo i 'fa.nlla 1 ~ le tra '~

~

p!!IOlbJ~L HOLA 4 D.rum Programa para /JI'i!Si!llI(!1' {<1 j)/l/IJbm NULl! I!II los ./ dj,~(I'a.m.

72 --.-----~~'*' Micl'<)tlml<l:)!~dnrlis !'IC P109,"",sol6n .n'8ASCC •• --_ .. _-._-_. __ ....

~'(lra h~c.erio mli_~ hueresanre el proyecro ~rnterii)i lc a~a'dil-e1l10S mnvimicnto, cou.esro. P';>ll!;!!nl1S inwesar frases completes como '"I-IOLA LUIS", [)1)ro pam no IllnrglLt rIHlchq ill Il'rog':nm~ solo utilixaremos la palabra IIOlA. moviendose ccntinuarnentc de derecha a 'izqlJit:rda y con 1111 espaclo pDr palabra,

L" '''Ii;l'iaDle X I!:S IB qU,e regula 14 vtlocid:ld cen que SO: desplaean I'a~ lelms, paru eernprobarlo rnodifiqnc III valor de tod~ las repeticiones de 1 TO 20 '1\1 doblc I TO 40" Y "coril ".)1110 se desplazan 13~ Ietras ni~s lentemente.

FiJ:flNi 5.4.7.1. JLtrQLA 'll:Io,iendo,l<Ibp Programa pam desptazar 1(1 palabra NOLA,

Figura 5.4. 7 . .2. FotQg;qfi~1 del bi(J.que de-t diSpl'ays a. c, de! emrenador iDtpel'lo.EE P?-

BslO~ displays SOli n~l1Y utilizados para transmitlr menssjes 'en bancos y insl~t~ICio!lCS de. arencion 'a~ publico, la venta]a d~ CSi!OS SOli la gran canddad de earaereres que se pueden formur y ill grm! mrn~~o de los diopl'oys (desde J)( 2 ,J'11, hUS!!L IS )( Sllm), ell eSla pmclicn aprenderemos a 11uLn~jrtr LIII display de 35 segmentos de 14 pines, perc t~lTibieM existen displays bicolores Y lieh.ell l~

pines, f.gu'j jirnc~ica QOlls'is!e en formar lill hcmbreclro rnludundo,. una vez faln1iinrl;zndo .~m !I1\IY ~~.clIlQ lrjmpferneatando mas displays del mismo tipo,

Figura S.,4:.8.1.1''n:unfacion dinm rli~pla)' 7x5 de 14 pim!s y;n, respective riqsrama. d{J-p:/ltes.

B 1 0 <I 4< A C

"Ej~ml;llll: si qucremos e.1lc;erider el2d,o led de Iat'9Iumni2, debeimi-s coneetar elpin B'a 5 V. yel .rln 2' II Gnd. S i q~eremoo. encendar ci 1M del centre .pndemas fOr1COlllfQI pin D 0 el pi.l1l II a po.\litivo· (Ill pin H~:!! ailxilinr) )11'1 (~elTll el pin 3 Q ~I tj YI'l que fambien fiene un auxiliar.

12 3 r4 .~ I CatodosH

E G :1: '" i 5 f III H

Fi;:ura 5.4. &. 2. &'fllM:made liia/ticeJ rklin diliplrry de 35 ,V.lgmr:1lilJs.parc{I!IlCft.lrdsf ttl LIS.O de la:filal eo iumn a 2 .

ll:fATlfRlAL'BS,

- 1 DISPLAY 7 x :> monocolor (:14 pines)

- 5 translstcres 2N3:\104

-7 resistencins d'cj30~ <L'YO vado, J1Rrn:njll'1H1!'!1njll-oaf6

.j, rcslstenciasde 4,7 Kn a '/,: vatic, amari~!o·Viol'(:'UHojQ .

• _ ••• _-_ •. __ ._- ~ Microcomro·ladorCs PIC F't9!lI.""'<iIKI.~ IlASIC -_. __ ••• _ ••••. __ ._._-.. 75

.2N3904.

X5

Figura 5.4.8 . .'1. esquellla de canexion de 1m di!Jplup 7 ;'( 5 a 1111 P1C.

rlCUflJ 5.4.8.4. S'eCw;\nda ile. la animacieudel hnmbrecito saludando,

HI prcgrema iii rsalizar, debe I1I1I11tiplC')!or lo~ leds dll fomo quo se IlllCiclldll como lu ~'eclltmci!l! 1, permanece 100 milisegundos y cambia a la secuencia 2. Ill~gO a la seeuencia.s, y finalrnente a III secuencia 4, para luogo vol vel: a repelir toda 13 seeueneta desde el principio. Como resultado observarcrnns u,n homhm:ito qlle agitn los brazos,

76 ----------------.~ Mieroeolllro)~doresP'JC pi"UjJmmod6n.., BASIC -----------

Como podemos observer ell el programa anterior, uaramos de no utilizar e! puefiO A.~ y A.5, porQt1e el pr~ll1<lrtl ~S de coleclor abierto, y elsegundo sclopuede Irnb'ajar come entrada, Ildem;is .r,le pnl,grn.rn" SI) li\!~di<: reducir nor lo@ittlil; II ln mitad .~i IltiliriLmQ!; GOSUH en III secucncin del hombre cOil 1(}!l'ln~z(ls ell I~ il1fLae~ f,li\iUj;: 0;:31",'",,;: repite 2 "~.GO\S,, tillnbjen elll II}); E'AlJSE 4 y o.Ig,UI1!lS 1;>.1I~es dee secuencias cemo las .pleruas y hi ca()~za que, II!}' se mueven, esl()~ r').lJcm[l~ ugmlJ:lr UI!l1'biell en urra sul1l'luilln lie G()SUn.ll<iI'O parn !locler ~nl~lllIc; biel) <:-1 fll~ICi()rtIJIIlienlO sc prcfirig no. rqJ~cir elprcgrama,

~s· mil}! lmportnnteconslderar d. demj..'O de multiplcxajo, yr! que no sedcbc sobrepnsar 'Ui1 IOl~1 de 20 mls, per cjcmllio si lI1Iilt;;:~llIl'l~ 2. tli~>,liI)'~ 1:-:5, debemos b~j~r eltiempo de pnuses n '2 milisegundos parn tnmbienrener untetalde 20 mls,

FigUJ'a 5.4.8.6. F()/ogJ"'!fil:lIffi' 1/11(1 platJa"'rP1 S di.lp/~y,~, 7xJ, comandodo pOi' :till PiC 16FS?iA, Im""l qlt(! fro rramiswl'lt~' 2N39(J'o{ }lilMtl I'ftl!lIIpltizlJciM por InmsfJ:loro',r 71.1'110.. GOlda jillafidillf (il.! t'on~Qgrlfr IlID}<lr iluminiW'i6dM I():ded~.

2. CO!lllu,IIiljqi"'l':H de los 2 proy~C'tM'!lnteriores dill, llreral SA:5 baga que cQlnll!lre el nilmem IIlmI!C!.lII!\(I~l J{n 111,) per 12 nipor 24 smo fXlr 110.

4. Con uh display de 35 se~l.eiHos ~~ga un coruador que incremenre ca:da ~egllndo ernpezando.desde d 0 liaslaJ:;I.9.y luego q ue se repita,

1 ,~)S "'0(1,,10> LCD (Djl1p'J~y de Crista] Liquido), son ulilinul\IS,I"'f,~ mostrar n1~rtS<1ics que indican al operarlo "I estado de la maquina, 0 para dar lnstrucciones de 1T19!f1t:ljQ" mostrar valores, etc, III LCD f1ermi(~ In cornunlcscten entre Ia.~ m:iq"ir~ns y los humanos, esre puede mcsrrar cU(\lq\!ler tfm,ei0=r ASCII. )' CQIlSlIlrICfI m~r~hll mtllW~ que In. (li~lllrIYS de: 7 scg'1lI1cnlos, cxisten de •• ,,'111., presentaciones porvejemplo .de 2 llncas por 8 ,canictere;;;'cb1l6, 2x2i1, ",,,20, 4>:40, etc, ~i,i lJacklight (14 plncs) II con hnckl i,\\.nr (16 pines, Iluminado de panraltn), el I_r:n mil:> popular os 01 2x 16, 2Iine.fI~ at 16 camClcrcs ~lIIda 11113,

15

Figura 5.5.1 . .1. Pn/<'IgJ'i:rfiqrl .. IIJj LLh lx16 co» ,-"mll"lli,,<i<!y JliltlC'l/! U7/J(J.y B(ldc/iSllIF yll CQ/cJ'r wl/GriIlQ-

FiCIiNI 5.5.1.2_ rUiII:lciil J~ am.la pill de! LCD.

LA DECLAllACl6.N LCDOIl . Sirve pam rnosuar item en una parualla de crista! liqulde, se utiliza escribicndo: IICDOtJ'r. !Llego escribieudo SF'E. 'I seguido par el comnndo 0 Lilli izar, "'I siguicnle cuadro muestra los comandos mas utilizados:

_ •• --_--.-_.-- ~ Mi;:~O!)!l'IIII'OI!lI.lCll'lls PIC I"rog"'lTI.cl~. on 19'ASIC •• --.--------- '79'

""i'!CiliimiftiiIlIi-P --~;- :-'::;;$'l"-.ji '-i"f1!lpilmilUiiT'1: -,,;,;;O:'ti'h)'~""ll'll'''-'rj ,tFIO, 1

liimpia'elviserdel LCD

$f£"2

Vlle:lv~njl inicio (coilil,ebiiq de Ja pri:m:ei"?' Urrea)

Apl1gar III cursor

SFB, $')4

SFE, $1)4

Figlllt1 ~,5.I,J. Tolilcu{1t '/iJii, i10mmfllas IIIw' IIli1iTur(w Pfli'rtl.ll(inr!jrlr 11I1 f.CfJ.

Lt;>$ U;;:D .sepuede CQIle<;(jjr eOI1l ",I PIQ ,,-OU IHI b~~ oil., 4- u 8'.hiis;.JJ!. a~I'erel1d~ estaen ell[cfrilt:i~ (I\!~ ~~ den!\)(lh P~~li IJ,! o;qrn!l!ni~",~j6n u 'I bit::;, p:rim~ru Ilnv(illQli 4 bll:! nllls'I!11M y luego los 41;>il~ nna.. bajos, rnientras que la d,e'S bits envla todo al mismo tiempo, esto no es un ineoaveniente. si conslderamos.que, el LCD tmhaja ern rnlcroseguedos. Pero I", gran verrlaja de haees.conexicne 4 bhs, son los 1k'0000$ cables QWc !iC' t1cbCllJ conecmr, cemopcdcmos ver en 11'1 flgura 5,5,1.4. wlo debemos conectar <::1 bil de RlJciSlro;ell En'3bk y los 4 '!:Ills mils alta!; del LCD, con "1:.10 es 3,t,ll'ki¢llteg,araemiiar '105' me:iisaje~ ..

EI compil~dot P]~P OO~Qrh'l ,rn6dlilos LCn"S COil CQJllroIBi:k)t Ili!3c.hi 447'1<1.1 0 <:'1Uivlileiites Y ]lor defecto, asume qile'Se <li}n¢cto (llii el pir1 A'I el'hi1 de Ri:l!is!l'II. 1m eJ pfri 9:1 j)] bit Enabley ell el puerto A ernpezando desde A~ hasta A3; las bits mas <LIllis del lCD, &$ <;!Jnfigurad6n predeflnida, se ~o puede cambiar deaeuerdo B ~a necesldad, como 10 veremes mas adelanle,

~(U'ERIALES'

r:JI~rrA: LCD.' ::lX. Hi. ' (p~cgHnIBqi'eslcolllpaliblai:O'I) les PIC'S) res\sren~m de 1 on ~.!1, vauo, cafe-negro-negro

po~n"i6rn~OK~'~~' ~

Figura 5.5.1.4. COI1,e'<.XiplI de IIJI LGD. ll4 /!its predefinid« por et cmnpilad(), PRP; la resistencia de J(} !lr;OIIe#mJ[J a la al/menlaclO'II del ./)(Jckl/gfl(, .d'·\'1< p.Il/'a e.Jiil(JI' of los tClli'P~)'QJIIr=i ,!I(}H!', -a:rt~lllu~, que d qif RIff se <:rw1.l(!l1fra con!ie,/Jdo .a t i'el'!'1J, esto es p.lwq!ll! la dic:l{".tlcl~fI LeDOUT, as ail I!JiCrlfJIfrl lifl1cam~~ilte,

Bien una vez visto ~! (111((0 notaremos qUa 1M dos palnb"", tli.l1 al !ado i::.:ql1lel'do, sl queremos que. salgan ceutradas en nuestro LCD, tenent1!)$ ;I rnanerns de hacerlo, I" prirnera es dando espacios antes de cada palabra ejemplo.

J~CI)OUT SrF. I, " 11011\" y LCDOr;rr $I?E. $CO," micj'IIP1C"

1:;0 ella! es.scneillo pew no c;; muy recomendable porque.ocupa nrflse,~flnGjoen el PIC. III se!;UllIlll mm1J~rfl esasign1llldu ",II Ingar donde ire qulere qUE aparezea cada pa.labra.ejelllplo;

LCI!lUUT lOPE, I

LCI;)OllT SFE, $86. ""'oia" LCnOUT SI'E, '$C4, "m,icrof'IG"

;Iihlp.ia III p~lllull~ 'I .::olQCiI, el cursor !Dr comienzo

;paS<! el Cl1{SQf 1lII7ma casilla de laieml.ille3 'i escribe ;1l~'S.1J II la ca~i ~ J a .5 de lac :!da lln ea }' C1!crlbe: mi_cn) PI C

Se debe enrender que esisre Ill! cursor qUI> aanque no 10 Vem05,. pues este cs III que indica dcnde aparecani la sig_lI ienle letra, par.a poder entender haremos UI1 ejercicio complete, ·asi -podran aprendcr IHii~ il~1 LCD ~ las funciones de cada unn de los cotnandos, Primero q_lIe nada ~3-ro:mos 'i'isibl~ el cursor y luego pondrllmosPA'USES pam pod ... r ver el funciollam [CillO -,

: I"CD (>u,rcpepe.:$CO=i·, 2;" I' 1(;" l'A1USE 2000 -Len~{UT p~f~2~?_I" ~lSD;- I

-~- ;';feribpe_III_!!,,5ettlhdil"IIRM'~il.Il;l1;o· !,~, .,,~tQ cqtlRvnle a S(';C.o"'2.04

Observen que la constame $PE so le_c,1mbir'l por pepc, asirnlsmo si se les dil"tClllill memoriza! ~')ITIIJ PII:,.W a ;I~ 5cguntla Ifllca, pued.: d!;\ftnir III <;O!\.tmlll<: lii12 CON :!leO, )' cuando deseen ~.scribir ~11 la segundu linea pomJ;fan: "LGDOUT p6pe, lin2, "hola", I} kdl"~ es 10 mismo urilizando mlmeros decimales: LCDOUT 254-, 192, "hola';, TambiclI cabe rot:llilcllI' que el LCD ilene 11,111 1"eJjll[)rl~ RAM (Rnndom Access MSl1lo~)') que In explicijrcnto, mils ~clcliint~, !lor II.! Ill!(;. \IIW vez '111e se lc cnvia el texto, este perrnanece al~i >, el I'IC se 10 pucde li1iliZar pam Olr~~ tareas 0 pv,lerno' desconectarlo si '10 desearnos.

lin ClplSiol1~S espcclales se deb .. \KIliubiar 11'1 OOllfigllmei6n de los !llllo.~ 01111 Pre !!{Idel ul LCD. por "joJllI)lo p~ra uti lizM 105 ccmpilfmJ'OI'CS de voltoje que se encuentran enei puerto A, necesitamos dejar disponibles ".'[OS pines, esto se loj;,'];jl adieionando-al principle to sigukme:

DEFliNE LCIJ_OREG DEF1NB ten DHIT DEFlNll h.CU':RSREG DEFINI'.: LCD nssrr DEnNE LCD -i:;rU~G D>EFJNE l£ci'EiBIT

I'ORTI:l 11 Il'ORTB 3 PORTE 2

; lIel'in., pines dell-CD B4 ~ 87

; empezunde dc,t;!e el Puerto 134 hasta el B7 ;define-el p IlCn:O IB IJaf"d concctar el hi! RS ;cslc 10$ el puerto B:l

,olltlne el, puerto B pam canectar .el bit 8n~I;IG ieste es el puerto B2

UnQ Y(J'I que ~(i deflne 11I1U1il-~~ tn!'ti~I[I"Ib(l;(1f1 de piaes 1)~r<J el I.tD, pr'0j,lmnHHnmf de 111 lnisn,\~ rorm~ que IllS ecasiencs nnteriores, "'" importante ademas 'Saber que los 4 bits de datos solo se pueden CO It rig,\!r;tl' ea Jo~'4 bits mils bajos (B.O al BJ) 0 los 4 bits mas ahos (BA at 13.7) tic. un pU~rI,O lie I PIC, 'J ~i' deseamos haeer UJ10 cCllm111ic!lJcion ~ 8 blls con el LCD, CShJS deW!1 esmr en Ull s610 PUe,I'tO, adelntis debcmos definir en el'PBr que vamcs a ut.tlizar un bus de 8 bits, csio es de' ~a,s·iguiem~.mmlera:

DF.FI N E LCD BITS S ; define COI11W" icaciol1 11 8 bill: C011<l1 LCD

Y s i IlUQStI'O !LCD posc;;- 4 I ineas, tmubi" .. debemos definirlo de Ia sigufenle Rml13:

.lJE1?1NE LCD_LINEs 4 : define IJIIl tCD de 4! 1iIl1i1M

Fi(;llm 5.S,1, 7.Ci;lfcy;on de 111.1 LtV a 4 bits con una cOJijigllrm;iQil ,r1tfe1'fl"1~ .1 10 i11'1!dl!/i1l idll }JOI' IJj 1'111', IrS 10 )l1!.!_ llli/J:aml(J el')I!~rro #3 parer ~I blt II..iS ei i3z par« e! i3l1lJble )' desde el Bil "f B7 pm-a los bils de comunieacidn.

112, --.--- •• -~ •• ~ •• ~ Mlrmconlrolndores ric F"O$!,.mjOi~1\ an !llI,SIC --_ ••• -_ •• __ ._ •••

I

---~.,'

FigllJ'(d,.'i;.J.I!, FMugr:a/ir).de 1''''(/ fW;JI.I.IU (jill: comrok: Ilfl /,CD 2xHi c.I ~lItd fm"'.~ tm NC! 6Fri211 'iju<! J"~ (mt"m:g~1 de envior los dliIUJ' l' ,rllll'Ji!i,' '/111" ",''"/!' v/ IH",~lJ'grdl rr Il'a1l!j.~ de III! II'Wlrti;j [ur ;: N39fJ4 d(sp.ririr (Idrl(liis;

L'i, l-.:d tp.(" iJrtlic:il "'Wid d.,.tJ,O/(!J' Una "'criidr.1 ,/~ II'w,sIR/flf '!'11' J II) Una ,SCI/ida de transista» 2!'d 0/14 L~1 pulsador de reset (It MC'LR Vii j)(Jlelld6meJJ't) /o(lI'<I itl oj IL~;e del contraste.

Ell ra~ pr,~IIGru; ~'lIllll'jor~s se presentsron l!iwJ!S,11°;s t:omplcllis ~II un iustanfe, Gil ,;i.ltu 11ui:va lIr~ctica incluillJos IriCo ecla mlli,ollJ LOQKUP, qtlC. nos s(;l'Id ra pa ra enviar' earacrcr pot caractcr ~OI1 'UIII inC(l"n'~,I!l·,c;le -'lOOmis •. !Janda ~9mv l'Il$ulltl.tlo U.II efeO!ClIlliI>~i~l, e~1 II' l!i'1l~ii74J.Ci()II, CQnI,1l ccnexlcnpnru ~~I'I Il[(I~' i, u Illi l:iul,oell'I,lS, 11\ mism:l de I"liglinl 5,5.1 A.

El LeI} .ilis1lDJ1C (l11 cada una (I" ';is Irn~ . .4Q poslcionos d~ memoria, de los cuales uulcamenie 16, son V[.slllle!i, en "I ;;iguiel1le cj~rtdai(l escribir(;JlnlOS un m~I1'saj~ d~~ll,~ III easillero 17 ($90) ... I cual Ill' es lsihle y lue!!" iremes desplezando n III i.:quierda, {;(li'110 I'Os\lllmlQ tendremos "11 texto que ~c mmifilmll 1111 rnovirmento, una-vex que este lermill;! recorrera ! 6 posiclones en i)IO:l1oo y Iv~!!;o volveL'll ~.:ap.lu1.i:er' los 24 earaeleres del rexto.

FiiJ:lIr(IS_5.3.l LCD especi~~.!!p. Progranta para mostrar un testoen movlmlento.

r:sl:e1)1'(JyeO'lo, consiste cnccntnr el rnunerc depulsos que ingresan lmr un pin en un dNcml111ado pcrlodo. este a 511 vez se vlsualfza en.un IL!D, 51 la cnnudad de (!SIc supera [I Ius 11.20 PUI,llS por ;eguurlo es declr 120 HZ, se ene;;llrler;\ ,11111 flhmml Gue en estc case sera 1111 led !'l'(io, y si la caruidnd de pulses iJ.1j'l ,I menos del ()O IU_ csre encendera un led' verde, si 1,\ frecuenciase 11lAnliel1e entre d'S{OS 7. ranges, no se encenders l1ingull "led_

!OSlO proyeeto tlel1~ IlnucllllS apllcucionos como pili' 1~lllY\i}l() PHI'll'llin rcgulador de voltuje CHI (;1 quOD 111:i~ d~ indlcuruos QI \IO~!11jtil de; s'lli~lIpodiin'adeI1l~~ irnlicamoo la frecuencia.

Para esta practic .. r ntilizaremos un (;1. .555 que nos ayuda a generar 1111 tren de pulses variable,e: clIa11o.L"<)1!<;CLaI1l0S III PIC pam su po~u,ri!!r contco.

I-A U'ECLA RACION ~UNT. Sirve par:. coarar el numero de pulsos que ingressn 110" LIII 'P'~.I Ill! un dererminado tiCI11JlO. C$!e a =;u VC'Z 10 guarda on uhfl, v.mi:ll!ie pnm S!I posterior proeesamjcnto, 'in I1ltll1!:i'll de \llili~urIQ IlS II), sigl.lktHe: .

COUNT. p<.nb.O, 1000,.abo

Ej c~111 sc inLcwprolll11Si: cucntn pulsos n IrGlyeS elel puerto 130 en tin pcrlodo de WOO rmlisegundos JI I() gunrJa en In variable (ITOviD:lIIen'te cresdu Umnada nbc, el pcriodo il'ndemt~. veriarlo de I II 65535.

?l4 ----- .• -------. 6f,.$ Mi.~ro~lIIllruIR~an:,.I'IC PI"!l'''rr\ilel~11 ~n ll.I<~IC - •• ----.---------

/I1A'l'EIUALliS.

-I [)lSf>LAY LC02d6

-1 reslstencla de lOn,y 1 rcs"'i,~tencie_t!t:O IKJ]

-3 leM de 5mlll; 1 verde y .:1 I"()jo~ -

-3 resistencia .It; :330 n (116 vatic, naramja·nar,mjp-c.aro

-2 porencl,;mclfOsde 10 KQ'

-I 'I. 555

-1 cnpacitor de-j()ul"il5V.

Fic"m J.J:A~l. frecuem::iaLCD.pbl! Programa paI'CI"" contador de pulso s.

- •.. ---._ .. _ ••• - ~{ii7J Micm~olllmlndl)res PIC ""'~rantJac;on eo BA'SlC - •••• -.----.--j 85

I

L,A l'ALA1JU.l\ DEC. Sir,'1: ram IIR.:lSltml· <:1 lI!irl11~rc !lQ iOJ variable en d"u.;fiOal. ("Hlllic;r! -c 10 plred" rcpresentar por cl signo ( Ii ). Dd~m{~ existe lns plll~h(a.~ BIN y Illi;X" Gl siguieme. (JS LJII ejemp!o de-como mostraria ~ll.CD si puls= 1,05-;

[,CIlOUT $1'£. $C5, DEC I}~I~," Hi"

:; lTljucstrll enel LCD' ;L~I :

1{l51h

Tamblen se 10 puede utilizar t'l signa II, que equiva I" a DEC.

LeDOU'!' :lirE, :lies, 11 plrl~." H~' : TnIlCSll:U en el LCn.;L.i ~ IO~ f-i;.;

Si deseamos ver ta variablcen hexadeclmal pondriamos asi:

LCD() T SFE. $C5, ... EX pul s, " Hz" ; muesea ell el L D asl : 69 j I/.

y 'si queremos ,""'10 en blnario:

LCDOTJl' Sf;E. $C5, rUN puis, " 1 Lt. ..

si no colocamos ning,una instl1!lccion nos mo~tr.uia el ASCli que' reprcsenta el numcro IO-j. es decir la letra i.

JLCDOUT spn. $CS, pills, ~I'"l%~ ; in~elIlm(ln e~ LCD aS2 : i liz

~s're proyecto es rnuy simi lar a1 anterior, con 1<1 di ferencia queel tren de pulses )'S no es generado por Lin c.i :555, .sino rna's bien porel giro Oft un motor <1iUIi: se nne!! WI cone de caucho, ell cuat !!'!lnS(1)illl rnovimiento a un disco de plastico tii:srO, en el que cosec LIlia ranura de J a '2 rnrn, 'lue al pasar per [:1 medio del optoacoplador, polari;ro, 2 transisrores y este haee camhiar elll:Slil~U de 0 a ~, esta sella 1 podemcs-oonectarlo al PtG y vlsualiearlo en un LCD, el mlsmo principio utilizan los mllrcadorcs de kiJonl"l.nrjc de ~O~ 31iltl>S loS IftcOmelros de los mismos.

M.4TERIAJ.ES.

-1 IDlSPLA V LCD 2)( 16

-I relij'lenci~ de I!ln /

~, resisteucia' de 330 Q /' - lresi ste ncill de J Kfl '"

.1 re~i>t(;fI!:ia de 4,1 «n .,.-

-1 pl)lij')jciollil~tros de 10 'K(1/

- leje de gir-o .indepeudientecoa lin dlSCO de.pl~li~o.l1egr,?

- J (lfltoac(}pl~dor EC,OJ i 00 COil sulida d. prnn~is[Or N PN <:Oll1CUI de 10 figura 5.5.5,2..

j,

E;JE INDEPENOIENfE

CONO DE CAIJ:CI10

FigllTII 5.$.';. T. l::'rquC!/IIll fi~"'II!IIir ei motor COil iffl eje tndependiente d« IIIf luco.l11(tto pOrla/il.

~6 - .. -- ••.• -----. ~ ..Mler(lCOfn:roJutiQI'e PIC "~r.mricillm en BASIC _ •• -._-.- •• _-._--

meum. 5.5.5.:2. EyqU!mil:l de conesio» J!.lrrfJ hocer IItl racometmdil1.il41, udfcirmulllll!(lti? fll(fI!!\;/l'rl' it/1m'fllII tiki upwacop,/adm' erJlljdmtrrms;s;wr l1.C(j 310.0.

ObSil;r\.'11l que la vllriabht revo es Ifliultiplicacia.por 60, con ta [inaJi!l.ad de que nos de el numero de \ ulllt(ls (IUt< dnrlu en run P1i!lYtO, ;;;;IOS datos !i31~n en mil!uplos de 6J) .. por eonsiguienre no es mu)' rr&isQ, Sf desearnos ma~ precision podemcs multiplicar por so, pero debemcs asegurnr que la declaraclon COUNT cnenre durante 2.sCog~lld()s., P'ltfll luego de Imlrt:ipiienr POI' 30, nos de W{PM1 Iu Ullea de l'I"OWaJlln qnoclaria !l~r:

COUNT pUrlb.0.,2000.revo reVO=ICVO'" 30

COUN1' portb"!I.6{)OOO,~eva .contar pulsos en e! Puerto 1l.0·dumntc GO segundos .

•••• ~.-- •• --.-- ~~ Mic.meMITOllldores PIC P",gllama<:llOn on BASIC -.- •• --- ••• ~.-- 87

I1n esLC<:IISl) M dllbo:mos Illlllt!pliCQ,F Coli uillgLm vator III vnriable reve, ellnconvomieme ~ri" que deheriamos permanccer ecncctados ;il motor pm un minute, hlb"1a (11113 III \Tarilltll~ CQ,UNT rermine de.eonlar los pulses, par ,c,sto'io mlisacolIs.;jtlb!e,seri3 de:! rl 5 segundos, en cste Gltimo case dcbe.r!@<lIOS 11111Itipli.~!Ir1 per 12.

;m:rnltipliear la variable Rl\'O por 1.2 par-Hener RPM

'-_ ....... I'e.;;.\.;.·(J;;_=...;_revo· 11

LA OECLARI\CION ['01', Es(a declaraelon slrve paru leer cl ",Indo ,dc 1111 p(llcn\li\llu~jro de 5 K hasta unode S()K, 0 cualquleeelemenro reslsrivo (Ioioce!dft', lel'mis1orcs. etc.), !II principio de funcionfll11ienlll es muy H!!lcillo utiliza In ayuda de ull'coml~m:lldQr de \).,1 LLF, at euallocargay [0 descarga lItiliiaildo el potenciemetro par,a regular Ill. cordente que eireula, enrollees It ~lll)'or resislencla d capacitor so d!l11ora mas tiernpo en cargarsc, y In variable nos dorn tl1Il valor (lito y $1 gil'nl,10S cl potellCiOlJ1elro a I~, minima resistenoia, el capacitor se OBrgmr.i miis nipldo y 'la variable nos .dura cero, ell definiLh'!l estnremos leyendo el estade de un potenclometro, el cual podemos aplicarlo en la utelluaci6n de IJIIIL tilz po!' '~jl'lmplo () ID_ "'!Iri~ej{!Il de la velecidad de un motor.

M>'.ITlJRIALlIS,

-I DISPLAY LCl)2xl6

-I resistencia dE 100

-2 pcteacicmetros de 10 Krll

-I condeusadcr ceramico de O,Jl)F (refel'eneia 104)

r.;grmr S.:s.6_ t, CIIII~~fal7li!J 1111 /lrJl'r,r"cihmelflJ para leerlo,

En este C(I.W 01 potencliimetro 'S!! encuemra en ta mitad de sn escaia os decir j K1l, esto equlvale (I 12 7, J' s i estuvie ra en 10KQ, eqtl,il'u[d,',a (J 151

88 -.------------ 41ft MimH:u,\lrOlodorcii I'le FrogramoClb" un BASIC ----------.-

;c"QrllJi'effi;:.eij digiiaJr;»cl pU.,r'!l' A~vari~:tI[e,dIlIrcrcomc.apacidad de'15,S. l'

I_I.;,

FlguraS.5.6.3. F%graJiu: did /1!OduJo LCD del' entreaador ~(Jr10 de l'1e'S BE-02 de AlI'fIOMASIS.

I. En lapal1lalla de un LCD h~ga que aparezca intermhenternente la palabra PELIGRO.

2. Con un LCD y 1pu15ado~s 1'1, P2 Y 1:'3, haga lilt )fecl'ado ·nll'llb6lico que prescnte mensajes a su gustoen 01 LCD de la slguiente rnanera: COli Pi haga ,~u~ aparezca el II.lfnbelo desde la i\ hasta la Z sill desplazarse, con ",I pulsador P3 hagtl desplazar el CIIJ.C!r hacia In dereeha para segllir ~scribicndo. y PI haec que cI cursor regrese hacia Ie izquierda para corregirel lexto,

- •••• -----.-.----. "':,~ Mkro(cnlroludore3 PIC PiogtSIMcl6n en BA.i>ICl----·----- 89'

1;;1 cornpilador PHI' e. cl1p~7"d~ sacar las n-,,~uel!ciil. CSPt'i:if:iC.1dBS pnr un pin !lei p·le, pilTa esto uprerdercmos la deelaracidn FRF--QOllT.

Lt\ I)ECLARAClON IIREQOIn'. Suca I~ '0 los 1i;~Lllmci.Els ~~~ifi""IJ.as por I'm pin (I(,\hninto, cstas pueden ser dc 0 a 32767 Hz, 5~ utillzacidn cs de In siguiefllll'llla!lefa;

fo'RRQ01JT lK'r1b,(l, 2.Il()O, .1000

l.lllierc deeir sacar una frccuencla del 000 eielos (I KhL) durarue 2 segundcs pOI' el pw".lo IUJ

bn c.;1;L pr{lclkll It\ umixnremM pam gen"rar WIlJ sMidon Imvg~ de un pj,,;~oGlt"'lrico (Bm:l!<ll' paslvo) Q p,odlin ser \ilmbi,,'n ulIlllflrlmlle.

JWAIERJi,fL.ES.

·1 buzzer pasivo plc.welectric,o) (11111 parlan'te grande-e pcqueao -I capacitnr de !l)uFi25V.

l<igu'il 5. (d.l. Dj~/gnlmtl ,lUi 1:{)/II!.~i611 all ,ii11mrlimle rl(fijlJenl) 0 rm pieztlehh:"'iCQ, este rtdt;es,ii(J lie un ,t:~!P~!fDr para )JOt!a/' I!/~j.ol'tlr tlli MHO! eM piC.

Figllrll j,,6.1.2,nirlgi<;mwde aorleXiolljwra 1111 oar/tIllle :!fI.·arld" C(J]11m .tronsistor 711>J 10.

Fignra 5.6,1.3. rQ/ograjio de-Lparlomes grandes III/ p.eqll~iiv y Ull PJko~I';_"'I';'-tl,

Vous aimerez peut-être aussi