Beruflich Dokumente
Kultur Dokumente
PROGRAMANDOMICROCONTROLADORES
PICCONPROTN
PARTE3:CONFIGURACINDELOSREGISTROSTRIS
YPORTENPORTNYNUESTROPRIMER
PROGRAMA.
Los registros TRIS y PORT tienen un nmero determinado de bits, por ejemplo, el
PORTB es un puerto bidireccional de 8 bits, el registro de direccin de datos
correspondienteesTRISB.ConfigurarestosregistrosenProtnesmuysencillo,como
se mencion anteriormente, se puede configurar un solo bit, o todos los bits de un
puertoespecfico,teniendoencuentaqueun0hacequeelbitfuncionecomosalida
yqueun1funcionecomoentrada,siempreycuandoelbitolosbitsdelpuertoque
seestconfigurandoseanbidireccionales.
EncabezadodelPrograma.
Elencabezadoeslaparteprincipaldenuestroprograma,sedebeindicaralcompilador
bsicamentelosiguiente:
Microcontroladorautilizar
Frecuenciaalaqueprocesarelmicrocontrolador
Configuracinderegistros
Declaracindevariables.
DEVICEnombredeldispositivo.
Descripcin.InformaalcompiladorelMicrocontroladorPICquesevaautilizar.
DEVICE16F84A
Con esto, el compilador entiende, que el cdigo Hexadecimal que debe generares
parael16F84A.Recuerde,notodoslosmicrocontroladoressoniguales,existenvarios,
por lo tanto hay que especificar cul se va a utilizar, si no se declara el
Ing.GiovanniLafebreJ.(Cel:096376496)M&M
ProgramandomicrocontroladoresPICconProtn
microcontroladorquesevaautilizar,elcompiladordeProtnIDE,generarelcdigo
paraelPICmspopular,queesjustamenteelqueestamosutilizando(16F84A).
Losdispositivossoportadosenlaversin3.2.5.5deProtnIDEsonlossiguientes:
PICde12bitOTP(OneTimeProgrammable)
12C508,12C509,12C508A,12C509A,12CE518,12CE519,16C54,16C54A,16C54B,
16C55,16C55A,16C56,16C56A,16CR56,16C57,16C57C,16CR57A,16CR57B,
16C58,16C58A,16CR58A,16CR58B,16CR58C,RF509AF,RF509AG
PIC12bitFLASH(Regrabable)
10F200,10F202,10F204,10F206,12F508,12F509,16F54,16F57
PIC14bitOTP(OneTimeProgrammable)
12C671,12C672,12CE673,12CE674,16C505,16C554,16C554A,16C558,16C558A,
16C61,16C62,16C620,16C620A,16C621,16C621A,16C622,16C622A,16C62A
16C62B,16C63,16C63A,16C64,16C641,16C642,16C64A,16C65,16C65A,16C65B,
16C66,16C661,16C662,16C67,16C67,16C71,16C710,16C711,16C712
16C715,16C716,16C71A,16C72,16C72A,16C73,16C73A,16C73B,16C73C,16C74,
16C745,16C74A,16C7616C765,16C77,16C770,16C771,16C773,16C774
16CE625,16CR56,16CR57A,16CR57B,16CR58A,16CR58B,16CR58C,16CR620A
PIC14bitFLASH(Regrabable)
12F629,12F635,12F675,12RF675,12F683,16C84,16CR84,16F627,16F627A,16F628,
16F628A,16F630,16F648A,16F676,16F684,16F685,16F688
16F688,16F689,16F690,16F72,16F73,16F737,16F74,16F747,16F76,16F767,16F77,
16F777,16F785,16F818,16F819,16F83,16F84,16F84A
16F87,16F870,16F871,16F872,16F873,16F873A,16F874,16F874A,16F876,
16F876A,16F877,16F877A,16F88,16F913,16F914,16F916,16F917
PIC16bitOTP(OneTimeProgrammable)
18C242,18C252,18C442,18C452,18C658,18C858
PIC16bitFLASH(Regrabable)
18F1220,18F1320,18F2220,18F2320,18F2331,18F2410,18F242,18F2431,18F2439,
18F248,18F2455,18F2510,18F2515,18F252,18F2520,18F2525,18F2539
18F258,18F2550,18F2585,18F2610,18F2620,18F2680,18F4220,18F4320,18F4331,
18F4410,18F442,18F4431,18F4439,18F448,18F4439,18F4455,18F4510,18F4515,
18F452,18F4520,18F4525,18F4539,18F4550,18F458,18F4585,18F4610,18F4620,
18F4680,18F6585,18F6620,18F6680,18F6720,18F8585,18F8620,18F8680,18F8720
Una ves que se ha declarado el microcontrolador a utilizar, hay que indicarle al
compilador la frecuencia con la que procesar, esto es muy importante para que se
puedan generar adecuadamente los retardos y las instrucciones por software, si se
declara una frecuencia diferente a la que se utilizar en la realidad, el proceso ser
msrpidoomslento,yalgunasdelasinstruccionesnofuncionarnadecuadamente.
Ing.GiovanniLafebreJ.(Cel:096376496)M&M
ProgramandomicrocontroladoresPICconProtn
XTALFrecuenciadelOscilador.
Descripcin.Ajustaciertosaspectosdelcdigoproducido,porejemplo,lafrecuencia
delcristal,lavelocidadenbaudiosparaunatransmisinserial,elretardocorrectopara
laspausas(delaymsydelayus),etc.
Hay que tener cuenta cual es el valor mximo al que puede procesar un
microcontrolador,lasfrecuenciassoportadasporProtnIDEson
Sinosedeclaralafrecuencia,lafrecuenciapordefectoes4Mhz.
ElPIC16F84Apuedellegarasoportarhasta20Mhz,esundispositivode14BIT,para
nuestros programas de inicio no necesitamos una frecuencia mayor de 4Mhz, por lo
tantoladeclaracinquedaraas:
XTAL4
PrimerPrograma.
Elprocesodeaprendizaje,demandademuchapaciencia,sisequiereaprenderbien,
hayqueempezarporlobsicoycadavesiraumentandoelgradodedificultadenlos
proyectos y ejemplos que se realicen, as que el primer programa que haremos es
hacerparpadearunledconectadoalpinRB0.
Porlotanto,unavesquesehadeclaradoelmicrocontroladorylafrecuenciaalaque
sevaaprocesar,sedebenconfigurarlosregistrosdelmicrocontrolador,utilizaremos
nicamente el bit RB0 que corresponde al pin 7 del microcontrolador, obviamente
debeserconfiguradocomosalida:
TRISB.0=0configuraelBITRB0utilizandounvalordecimal.
Comosepuedeapreciar,sehaconfiguradonicamenteelbitRB0comosalida,selo
puedeconfigurarutilizandounnmerobinario,hexadecimalounnmerodecimal,en
elcasoanterior,seestconfigurandoconunvalordecimal,siseloquierehacerconun
valorbinarioohexadecimal,sedebenutilizarlosoperadores%y$
TRISB=%0configuraelBITRB0utilizandounvalorbinario.
TRISB=$0configuraelBITRB0utilizandounvalorhexadecimal.
Ing.GiovanniLafebreJ.(Cel:096376496)M&M
ProgramandomicrocontroladoresPICconProtn
EstodejaconfiguradoelPUERTOB.0comosalida,assepuedeasignarunvalorlgico
alpuertoparaquepuedaencenderoapagarelled.
Para que se pueda apreciar el parpadeo del led, utilizaremos una instruccin de
retardo,DelayMs,susintaxises:
DelayMslongitud
PORTB.0=1
DelayMS1000
PORTB.0=0
DelayMS1000
Senecesitardeunaetiquetaparaqueelprogramaseestrepitiendocontinuamente.
Etiquetas(Labels).
Etiqueta1:
Sisequiereseparardospalabrasenunamismaetiqueta,sepuedeutilizarlalneabaja:
Etiqueta_nueva1:
Unaetiquetanopuedeempezarconunnmero:
1etiqueta:
Sielnombredelaetiquetasobrepasalos32caracteres,tieneunespacioenblancoo
empiezaconunnmeroelcompiladornosindicarquehayunerrordesintaxisenla
etiqueta.
Ing.GiovanniLafebreJ.(Cel:096376496)M&M
Pro
ogramand
domicroco
ontrolado
oresPICco
onProtn
Las etiquetas
e
so
on utilizadaas para pod
der acceder a una partte especficca del progrrama,
parairaunaetiquetaespeecficasepuedeutilizarrGOTO,cuyyasintaxiseeslasiguiente:
GoTo
oEtiqueta
Desccripcin.Saaltaaunaettiquetadefiinidaysigue
elaejecuci
ndesdeah
h.
Deestaformato
odoelproggramaquedardelasigguienteform
ma:
Device1
16F84A'PICa
autilizar
XTAL4
'Frecuenc
ia
B0comosalid
da
TRISB.0==0'ConfiguracindelbitRB
ama
inicio:'eetiquetadeiniciodelprogra
PORTTB.0=1'seasig
gnaalbitRB0
0un"1"lgico
o
Delay
yMS1000'Ret
tardode1000
0ms(1s)para
doelled
verencendid
PORT
TB.0=0'seasig
gnaalbitRB0
0un"0"lgico
o
DelayyMS1000'Rettardode1000
0ms(1s)paraverapagadoelled
GoToinicio'saltaa
alaetiquetain
nicio:yserepiteelprogram
mainfinitamen
nte
Elcirrcuitoquesedebeutiliizarparaesteejemploeselsiguieente:
ADVE
VERTENCIA: El microco
ontrolador no es una fuente de tensin, haay que refe
erirse
siemprealasho
ojasdedatosparaverrcualesel nivelmxim
modecorriientequep
puede
sumiinistrar,enelcasodel18F84A:
Altacorrientefu
uente/sumideroparau
utilizacin
direcctadeLED.
25ma mximo
m
p
por
pin en modo
sumidero
25mamximoporp
pinenmodo
ofuente
Ing.GiovanniLaffebreJ.(Cel:096376496)) M&M