SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
Nos iniciam os e n l
a ut
il
iz ación de e s t
e l
e nguaj
e
para aprov
e ch aral
m áxim o l
os re curs os de l
m icro
Program ación de un m ódul
o e xt
e rno
para PI
C Sim ul
at
orI
DE
Se guim os program ando PI
Cs e n
l
e nguaj
e BASI
C
Tut
orial
de m ane j
o de un s e rv
om ot
or
de s de una com put
adora
¿Cóm o prot
e ge rnue s t
ro código?
¿Qué pos ibil
idade s e xis t
e n de
e v
it
are l
e s pionaj
e indus t
rial
?
L
l
e gó e l
"
día D"a l
os EE.UU. Un orde nadorl
e ge ndario Módul
o para e l
e nt
re nadorde PI
Cs
h t
t
p://w w w .
are acapacit
acion.
com .
ar
.s
t
af
f
.indice
núm e ro = 5;año = 2;
Dire cción, Re dacción y Corre cción:
Arie l
Pal
azze s i
Arge nt
ina
arie l
pal
az z e s i@ gm ail
.com
w w w .ucont
rol
.com .ar
Dis e ño y Diagram ación:
L
ucas Mart
ín Tre s e r
Arge nt
ina
l
m t
re s e r@ gm ail
.com
Cons e j
o Edit
orial
:
Mario Sacco
Arge nt
ina
s e rv
ice .s e rv
is ys t
e m @ gm ail
.com
Maxim il
iano Mart
ín Sim onazzi
Arge nt
ina
m axis im onaz z i@ gm ail
.com
Al
e j
andro Cas anov
a
Arge nt
ina
inf
.pic.s uk y@ l
iv
e .com .ar
Es paña
die go@ ucont
rol
.com .ar
Arge nt
ina
s e rgiol
s @ k e k o.com .ar
Arge nt
ina
ge rre ul
a@ yah oo.com .ar
De s carga Grat
uit
a.
Es t
e cont
e nido s e rige porl
a l
ice ncia
de Cre at
iv
e Com m ons “
L
ice ncia Cre at
iv
e
Com m ons At
ribución-No Com e rcial
-Sin
Obras De riv
adas 3.0”
PI
C bas ic (iv
) 0x05
Se guridad e n m icros Fre e s cal
e 0x09
Módul
o PI
C Traine r18 0x0E
Re s is t
ore s 0x13
PI
C16F628A e n as s e m bl
e r(i) 0x17
Cont
rol
ando s e rv
os de s de e l
PC 0x24
Addon para PI
C Sim ul
at
orI
DE 0x2C
Conv
e rs orI
rDA a TTL 0x31
El
apagón anal
ógico 0x34
1ºCongre s o v
irt
ual
de m icros 0x39
Com m odore Am iga 0x3C
//página 0x04
L
ue go de cas i un año s in publ
icars e , nue v
am e nt
e t
ie ne s e n t
us
m anos un núm e ro de l
a . V
arios m ot
iv
os im pidie ron q ue
pudiés e m os cum pl
ir e n t
ie m po y f
orm a con e ll
anz am ie nt
o de és t
e , e l
q uint
o núm e ro de nue s t
ra publ
icación. En e s os m e s e s s e h an s um ando
una bue na cant
idad de col
aboradore s , y h e m os re cibido ce nt
e nare s de
corre os pre gunt
ando “¿cuándo v
ue l
v
e a apare ce r un num e ro de l
a
re v
is t
a?
”
Bie n, l
a re s pue s t
a ya l
a conoce s : a m e diados de j
unio de 2009 .
Fue ron m uch os m e s e s de e s pe ra, pe ro cre e m os q ue no h abrá s ido
e n v
ano. A l
os ant
igüos col
aboradore s s e h an s um ando nue v
os , h e m os
cam biado un poco e l
dis e ño de l
a re v
is t
a, e s t
am os ut
il
iz ando ot
ro s of
t
w are
para l
a e dición de e s t
e docum e nt
o, pe ro e n e lf
ondo, t
odo s igue igual
:
int
e nt
am os m os t
rar
, de f
orm a cl
ara y orde nada, com o pue de h ace rs e al
go
int
e re s ant
e y út
il
con un puñado de com pone nt
e s e l
e ct
rónicos .
I
gualq ue e n l
a “prim e ra época”de l
a Re v
is t
a uCont
rol
, h e m os
h e ch o l
o pos ibl
e para s at
is f
ace r a t
odos l
os l
e ct
ore s pot
e ncial
e s . T
e ne m os
m ont
aj
e s com pl
e t
os , t
ut
orial
e s s obre l
e nguaj
e s de program ación de
m icrocont
rol
adore s , al
guna q ue ot
ra e xpl
icación s obre e l
f
uncionam ie nt
o de
l
os com pone nt
e s q ue ut
il
iz am os e n nue s t
ros proye ct
os y -alf
inalde l
a
re v
is t
a- un poco de h is t
oria. De h e ch o, a part
ir de e s t
e núm e ro com e nz arán
a apare ce r una s e rie de art
ícul
os s obre program ación de PI
Cs e n
e ns am bl
ador (de lingl
és as s e m bl
e r), al
go q ue m uch os h abían re cl
am ado
ins is t
e nt
e m e nt
e .
A l
argo de e s t
e t
ie m po h e m os cre ado un f
oro, e l , al
cuals e h an s um ado m as de 1200 am igos de l
a e l
e ct
rónica. En élh ay
m at
e rial
com o para l
l
e nar v
arios núm e ros de l
a re v
is t
a, y cada día s e s um a
m ás ge nt
e con proye ct
os m uy int
e re s ant
e s para com part
irl
os con l
a
com unidad. De al
guna m ane ra, e l
l
os s on l
os due ños de uCont
rol
, y a e l
l
os
e s a q uie n t
ie ne s q ue agrade ce rl
e e l
cont
ar con e s t
e pe q ue ño “PDF”
cada
dos m e s e s .
L
a Re v
is t
a uCont
rol
t
ie ne un l
ugar propio de nt
ro de l
Foro. L
a ide a e s
q ue -l
ue go de l
e e r e s t
e e j
e m pl
ar- pue das opinar al
l
í y cont
arnos q ue t
e h a
pare cido, q ue cos as t
e gus t
aron y cual
e s no, q ue t
e m as cre e s q ue h abría
q ue agre gar
, cual
e s q uit
ar
, e t
c. En de f
init
iv
a, part
icipar act
iv
am e nt
e e n e l
cont
e nido y e l
f
orm at
o de l
a re v
is t
a, incl
us o aport
ando t
us propios t
rabaj
os ,
proye ct
os o t
ut
orial
e s para q ue s e an incl
uidos e n núm e ros v
e nide ros .
De nue s t
ra part
e int
e nt
are m os h ace r l
o pos ibl
e para s at
is f
ace r s us
pe didos . Por l
o pront
o, l
a Re v
is t
a uCont
rol
e s t
á nue v
am e nt
e v
iv
a, y ah ora
pue de s part
icipar act
iv
am e nt
e de e l
l
a. Nos v
e m os de nt
ro de un par de
m e s e s .
Foro uCont
rol
: h t
t
p:/
/
w w w .ucont
rol
.com .ar/
f
oros m f
/
inde x.ph p
.e
dit
orial
PI
C bas ic cuart
a part
e
Cont
inuam os con nue s t
ro curs il
l
o de program ación de m icrocont
rol
adore s e n
l
e nguaj
e PI
C BASI
C de lPI
C SI
MUL
ATOR I
DE. En e s t
a e nt
re ga v
e re m os com o
e m pl
e are s t
e l
e nguaj
e para e s cribire n dis pl
ays L
CD al
f
anum éricos .
/
/por: Arie l
Pal
az z e s i /
/
arie l
pal
az z e s i@ gm ail
.com
A grande s ras gos , y a
pe s ar de l
a s im pl
icidad q ue
brinda e ldis pone r de un m is -
m o int
e grado e s pe cial
izado
e n cas i t
odos l
os m ode l
os de
dis pl
ays al
f
anum éricos (con-
cre t
am e nt
e , e lbe ne m érit
o H I
-
TACH I H D44780), e le nv
ío de
caract
e re s a una de e s t
as pan-
t
al
l
as de un m icrocont
rol
ador
e s una t
are a re l
at
iv
am e nt
e
com pl
e j
a. Es t
o s e de be a q ue
e s ne ce s ario re s pe t
ar prot
oco-
l
os de inicial
ización y t
ie m pos
a raj
at
abl
a, s o pe na de no ob-
t
e ne r e l re s ul
t
ado de s e ado.
Todo e s t
o h ace bas t
ant
e t
e -
dios a s u program ación e n
as s e m bl
e r
.
Pe ro af
ort
unadam e nt
e e l
dial
e ct
o de BASI
C q ue e s t
am os
apre ndie ndo a ut
il
iz ar dis pone
de un j
ue go de ins t
ruccione s e s -
pe cial
e s para m ane j
ar dis pl
ays .
De h e ch o, y com o v
e re m os a
cont
inuación, pode m os e s cribir
e n e s t
os dis pl
ays e n dos m odos
dif
e re nt
e s : e n m odo “8 bit
s ”
y e n
m odo "
4 bit
s "
. Com o e s l
ógico,
l
as ins t
ruccione s de al
t
o niv
e l
de BASI
C nos e v
it
an t
oda l
a
com pl
e j
idad y cant
idad de ins t
ru-
ccione s q ue t
an bie n dom inan
l
os bue nos program adore s e n a-
s s e m bl
e r
.
Elm ane j
o de l
os L
CD e n
PI
C BASI
C s e h ace m e diant
e e l
us o de v
arias s e nt
e ncias de l
t
ipo “DEFI
NE”
. Bás icam e nt
e , e s -
t
as ins t
ruccione s s e e ncargan
de e s pe cif
icar alcom pil
ador a
q ue pine s de lm icrocont
rol
ador
h e m os cone ct
ado cada uno de
l
os pine s de lL
CD y e n q ue f
or-
m at
o de dat
os de s e am os m ane -
j
arl
os .
L
a f
orm a ge nérica de l
a
ins t
rucción DEFI
NE e s l
a s i-
guie nt
e :
DEFI
NE parám e t
ro = v
al
or
Donde “parám e t
ro”e s e lnom -
bre de l
parám e t
ro al
q ue l
e q ue -
re m os as ignar e l
“v
al
or”
. Exis t
e n
//página 0x05
//página 0x06
una bue na cant
idad de e s t
os
parám e t
ros , cada uno con u-
na f
unción de t
e rm inada. L
os
dis ponibl
e s para e lm ane j
o
de L
CD al
f
anum éricos s on
l
os s iguie nt
e s :
De f
ine e lnúm e -
ro de bit
s de l
a int
e rf
az de
dat
os . Se pue de n as ignar v
a-
l
ore s de 4 u 8, s ie ndo 4 e l
v
a-
l
orporde f
e ct
o.
De f
ine a q ue
pue rt
o de lPI
C t
e ne m os co-
ne ct
ado e lport de dat
os de l
L
CD. L
os v
al
ore s pe rm it
idos
s on PORTA, PORTB, PORT-
C, e t
c. Por de f
e ct
o s e as um e
PORTB.
De f
ine cual
e s e l
prim e r pin de lpue rt
o q ue u-
s am os para e nv
iar l
os dat
os
alL
CD cuando s e l
e cciona-
m os un bus de 4 bit
s . Sol
o
pue de s e r e l0 (para l
os pi-
ne s e l
0, 1, 2 y 3) o 4 (para u-
s ar l
os pine s 4, 5, 6 y 7). Por
de f
e ct
o s e as um e “4”
, y e s t
a
ins t
rucción s e ignora para
L
CD_ BI
TS = 8.
De f
ine a q ue
pue rt
o de lPI
C t
e ne m os co-
ne ct
ado e lpin RS de lL
CD.
L
os v
al
ore s pe rm it
idos s on
PORTA, PORTB, PORTC,
e t
c. Por de f
e ct
o s e as um e
PORTB.
De f
ine a q ue
pin de lpue rt
o t
e ne m os co-
ne ct
ado e lpin RS de lL
CD.
Porde f
e ct
o s e as um e “3”
.
De f
ine a q ue
pue rt
o de lPI
C t
e ne m os co-
ne ct
ado e lpin E de lL
CD.
L
os v
al
ore s pe rm it
idos s on
PORTA, PORTB, PORTC,
e t
c. Por de f
e ct
o s e as um e
PORTB.
De f
ine a q ue pin
de l
pue rt
o t
e ne m os cone ct
a-
do e lpin E de lL
CD. Por
de f
e ct
o s e as um e “2”
.
De f
ine a q ue
pue rt
o de lPI
C t
e ne m os co-
ne ct
ado e lpin RW de lL
CD.
L
os v
al
ore s pe rm it
idos s on
0, PORTA, PORTB, PORTC,
e t
c. Por de f
e ct
o s e as um e
“0”
, q ue s ignif
ica “no us am os
e l
pin RW ”
.
De f
ine a q ue
pin de lpue rt
o t
e ne m os co-
ne ct
ado e lpin RW de lL
CD.
Por de f
e ct
o s e as um e “0”
,
q ue s ignif
ica “no us am os e l
pin RW ”
.
De f
ine
cuant
os m icros e gundos de -
m ora l
a e s crit
ura de un co-
m ando e n e ldis pl
ay. Por de -
f
e ct
o, e s t
e v
al
or e s de 5000.
L
a m ayoría de l
os L
CD
f
uncionan bie n con un v
al
or
de 200 o incl
us o m e nor
, as í
q ue conv
ie ne cons ul
t
ar s u
h oj
a de dat
os para col
ocar e l
v
al
or corre ct
o y h ace r m ás
rápidos nue s t
ros program as .
De f
ine cuan-
t
os m icros e gundos de m ora
l
a e s crit
ura de un dat
o e n e l
L
CD. Por de f
e ct
o, e s t
e v
al
or
e s de 100.
De f
ine cuan-
t
os m icros e gundos de m ora l
a
inicial
iz ación de l
a e l
e ct
róni-
ca de lL
CD. Por de f
e ct
o, e s -
t
e v
al
ore s de 100.
PI
C BASI
C de l PI
C
SI
MUL
ATOR I
DE dis pone
t
am bién de una s e rie de
ins t
ruccione s q ue pe rm it
e n
e le nv
ío de com andos e ins -
t
ruccione s al
dis pl
ay.
L
a prim e ra de e l
l
as e s
L
CDI
NI
T
, de s t
inada a inicia-
l
iz ar l
a e l
e ct
rónica a bordo
de ldis pl
ay. Com o e s l
ógico,
e s t
a e s l
a ins t
rucción q ue de -
be ut
il
iz ars e ant
e s de e nv
iar
cual
q uie r com ando o dat
o al
L
CD. L
a f
orm a de e s t
a ins -
t
rucción e s l
a s iguie nt
e :
L
CDI
NI
T n
Donde “n”e s e lt
ipo de cur-
s or q ue q ue re m os q ue m ue s -
t
re e ldis pl
ay. Env
iar un “0”
h ará q ue e l
curs or pe rm ane z -
ca ocul
t
o, un “1” s ignif
ica
q ue e l
curs or parpade ará, un
“2”nos m os t
rará un curs or
s ubrayado, y un “3”
nos pre -
s e nt
ará un curs or s ubrayado
y parpade ando.
L
a s iguie nt
e ins t
ru-
cción de e s t
e grupo e s L
CD-
CMDOUT
. Es t
a s e e ncarga
de e nv
iar com andos de con-
t
rolalL
CD. Se e m pl
e a de l
a
s iguie nt
e m ane ra:
L
CDCMDOUT com ando
Donde “com ando”pue de s e r
al
guno de l
os s iguie nt
e s :
Borra com pl
e t
a-
m e nt
e e l
cont
e nido de l
a pan-
t
al
l
a de l
L
CD.
L
l
e v
a e lcurs or a
l
a prim e ra pos ición de lpri-
m e rre ngl
ón de l
L
CD.
L
l
e v
a e l
cur-
s or a l
a prim e ra pos ición de l
s e gundo re ngl
ón de l
L
CD.
Mue v
e e lcurs or u-
na pos ición a l
a iz q uie rda de
l
a act
ual
.
Mue v
e e lcurs or
una pos ición a l
a de re ch a de
l
a act
ual
.
De s pl
az a e l
cont
e nido de lL
CD una pos i-
ción a l
a iz q uie rda.
De s pl
az a e l
cont
e nido de lL
CD una pos i-
ción a l
a de re ch a.
Borra l
a pri-
m e ra l
íne a de l
L
CD.
Borra l
a s e -
gunda l
íne a de l
L
CD.
Col
oca e l
curs or e n l
a pos ición “x”de l
prim e r re ngl
ón de lL
CD. “x”
pue de t
e ne r cual
q uie r v
al
or
e nt
re 1 y 40
Col
oca e l
curs or e n l
a pos ición “x”de l
s e gundo re ngl
ón de l L
CD.
“X”
pue de t
e ne r cual
q uie r v
a-
l
ore nt
re 1 y 40.
L
CDOUT e nv
ía dat
os
aldis pl
ay. Por “dat
os ”
e nt
e n-
de m os caract
e re s q ue e l
m ó-
dul
o L
CD pue de m os t
rar e n
s u pant
al
l
a. Si s on caract
e -
re s s ue l
t
os o cade nas de t
e x-
t
o (incl
uidos s ím bol
os e s pe -
cial
e s y dígit
os ), s im pl
e m e n-
t
e l
os pone m os e nt
re com i-
l
l
as a cont
inuación de lco-
m ando. Si l
os q ue s e t
rat
a
de m os t
rar e s e lcont
e nido
de una v
ariabl
e , s e de be e s -
cribir e lnom bre de l
a v
aria-
bl
e (pre ce dida por “#”
) a con-
t
inuación de lcom ando. Si s e
ne ce s it
an im prim ir v
arias v
a-
riabl
e s , s im pl
e m e nt
e s e s e -
para e l
nom bre de una y ot
ra
m e diant
e una “com a”
.
A cont
inuación v
e re -
m os un par de e j
e m pl
os de
cóm o s e ut
il
iz an t
odas e s t
as
ins t
ruccione s . Elprim e ro de
e l
l
os s e e ncarga de m os t
rar
un t
e xt
o parpade ando e n l
a
//página 0x07
//página 0x08
prim e ra l
íne a de ldis pl
ay. Es
un bue n e j
e rcicio re corre r e l
código e xpue s t
o m ie nt
ras s e
int
e nt
a de ducir com o e s t
á co-
ne ct
ado e l
L
CD al
PI
C m iran-
do l
as ins t
ruccione s “DEFI
-
NE”de lprincipio de lprogra-
m a.
En e ls e gundo e j
e m -
pl
o s e m ue s t
ra com o im pri-
m ire l
cont
e nido de una v
aria-
bl
e (“A”
) e n e lL
CD. Concre -
t
am e nt
e , s e m ue s t
ra un t
e xt
o
e n e lprim e r re ngl
ón, m ie n-
t
ras q ue e n e ls e gundo s e
cue nt
an l
os núm e ros de l
65535 al
0.
Com o h e m os v
is t
o, ut
il
iz ar
un dis pl
ay de e s t
e t
ipo de s de
PI
C BASI
C e s una t
are a m uy
s e ncil
l
a, y alal
cance de t
o-
dos l
os l
e ct
ore s de uCont
rol
.
En l
a s iguie nt
e e nt
re -
ga de e s t
e t
ut
orialv
e re m os
com o ut
il
iz ar l
os “h e rm anos
m ayore s ”de e s t
os L
CD: l
os
dis pl
ays gráf
icos o GL
CD, de
128x64 punt
os .
¡
H as t
a l
a próxim a!
DEFI
NE L
CD_ BI
TS = 8
DEFI
NE L
CD_ DREG = PORTB
DEFI
NE L
CD_ DBI
T = 0
DEFI
NE L
CD_ RSREG = PORTD
DEFI
NE L
CD_ RSBI
T = 1
DEFI
NE L
CD_ EREG = PORTD
DEFI
NE L
CD_ EBI
T = 3
DEFI
NE L
CD_ RW REG = PORTD
DEFI
NE L
CD_ RW BI
T = 2
'
L
CDI
NI
T 0 ‘inicial
iz o e l
L
CD s in curs or
.
'
l
oop:
L
CDOUT "
w w w .uCont
rol
.com "‘Mue s t
ra e l
t
e xt
o…
W AI
TMS 1000 ‘Es pe ro un s e gundo
L
CDCMDOUT L
cdCl
e ar‘Borro e l
dis pl
ay
W AI
TMS 1000 ‘Es pe ro un s e gundo
GOTO l
oop ‘V
ue l
v
o a l
oop: para re pe t
irinde f
inidam e nt
e .
DEFI
NE L
CD_ BI
TS = 8
DEFI
NE L
CD_ DREG = PORTB
DEFI
NE L
CD_ DBI
T = 0
DEFI
NE L
CD_ RSREG = PORTD
DEFI
NE L
CD_ RSBI
T = 1
DEFI
NE L
CD_ EREG = PORTD
DEFI
NE L
CD_ EBI
T = 3
DEFI
NE L
CD_ RW REG = PORTD
DEFI
NE L
CD_ RW BI
T = 2
'
DI
M A AS W ORD
A = 65535
'
L
CDI
NI
T 3 ‘Curs orparpade ando
W AI
TMS 1000
'
l
oop:
L
CDOUT "
¡
Es t
oy cont
ando!” ‘T
e xt
o de l
prim e rre ngl
ón
L
CDCMDOUT L
cdL
ine 2H om e ‘Pas o al
Se gundo re ngl
ón
L
CDOUT #A ‘Mue s t
ro e l
v
al
orde A
A = A - 1
W AI
TMS 250
L
CDCMDOUT L
cdCl
e ar‘L
im pio de l
dis pl
ay
GOTO l
oop
s e guridad e n m icros f
re e s cal
e
T
odos l
os q ue t
rabaj
am os con m icros de s de m uch o t
ie m po s ie m pre t
uv
im os un
gran probl
e m a y e ra e lh e ch o de q ue cual
q uie ra podia cl
onar nue s t
ro f
irm w are .
En e s t
e art
ícul
o v
e re m os com o l
a e m pre s a Fre e s cal
e nos brinda una s ol
ución
m uy práct
ica.
/
/por: Maxim il
iano Mart
ín Sim onaz z i /
/
m axis im onaz z i@ gm ail
.com
cl
av
e , s i e s t
a e s e rrone a, s e
pe rm it
e e lingre s o alm odo m o-
nit
or pe ro s ol
o s e pue de re al
iz ar
un borrado t
ot
al
de l
a Fl
as h y s i
s e int
e nt
a l
e e r e l cont
e nido,
s ie m pre v
am os a obt
e ne r com o
re s ul
t
ado $
AD. Por e lcont
rario,
s i l
a cl
av
e e s corre ct
a, podre -
m os v
e r
, grabar y borrar t
odo e l
bl
oq ue de m e m oria Fl
as h . Para
v
e rif
icar s i e lcódigo ingre s ado
e s e lcorre ct
o, s ol
o bas t
a con
dirigirnos a v
e rif
icar e l
bit6 de l
a
dire cción de m e m oria RAM $
40,
s i e s t
a s e t
e ado (o s e a t
ie ne un
v
al
or 1) e nt
once s e lcódigo f
ue
ingre s ado corre ct
am e nt
e y po-
de m os acce de ra l
a Fl
as h .
A cont
inuación e xpl
icare
de una m ane ra s e ncil
l
a com o u-
t
il
iz ar e s t
e m ét
odo y e v
al
uare -
m os q ue t
an s e gura e s e s t
a pro-
t
e cción.
Para al
m ace nar l
a cl
av
e
s e ut
il
iz an 8 pos icione s de m e -
m oria, y e s as s on de s de FFF6 a
FFFD. Es t
as dire ccione s coinci-
de n con l
os 4 v
e ct
ore s ant
e rio-
re s al
re s e t
. De pe nde de l
a f
am i-
Te ne r s e guridad e n un
m icrocont
rol
ador s ie m pre f
ue
al
go bas t
ant
e com pl
e j
o. Elú-
nico punt
o a f
av
or q ue t
e nia
e l
dis e ñador e s q ue e l
q ue co-
piaba e lf
irm w are s ol
o s e l
l
e -
v
aba e lcódigo m áq uina (t
am -
bién conocido com o arch iv
o
h e x) y e s o h acia q ue e lcódi-
go s e a cas i im pos ibl
e de m o-
dif
icar
.
Sin e m bargo Fre e s cal
e
pe ns o un poco e n nos ot
ros y
nos e nt
re gó un bue n s is t
e m a de
s e guridad q ue pe rm it
e prot
e ge r
l
os dat
os grabados e n l
a m e m o-
ria f
l
as h con una cont
ras e ña de
8 byt
e s (no e s de m as iado pe ro
nos da una prot
e cción de 64
bit
s cas i irrom pibl
e por m ét
odos
conv
e ncional
e s ).
Es t
a cl
av
e s e de be int
ro-
ducir cada v
e z q ue s e q uie ra in-
gre s ar e n e lm odo m onit
or l
ue -
go de un POR (Pow e r On Re -
s e t
). Elm odo m onit
or e s e lq ue
nos pe rm it
e v
e r y m odif
icar e l
cont
e nido de l
a m e m oria f
l
as h .
Una v
e z q ue s e ch e q ue a l
a
//página 0x09
//página 0x0A
l
ia e s t
os pue de n e s t
ar im pl
e -
m e nt
ados o no. Para t
om ar
un e j
e m pl
o:
68H C9 08GP32:
FFF6/
FFF7 = V
e ct
or CH 0
t
im e r1
FFF8/
FFF9 = V
e ct
orPL
L
FFF
A/
FFFB = V
e ct
orI
RQ
FFFC/
FFFD = V
e ct
orSW 1
68H C9 08JL
3:
FFF6/
FFF7 = V
e ct
or CH 0
t
im e r
FFF8/
FFF9 = L
ibre
FFF
A/
FFFB = V
e ct
orI
RQ
FFFC/
FFFD = V
e ct
orSW 1
Pe ro, ¿por q ué us ar
l
os v
e ct
ore s com o cl
av
e ?Es -
t
a ide a s urge de cons ide rar
q ue , dif
ícil
m e nt
e , dos progra-
m as coincidan e n t
odos l
os
v
e ct
ore s , por e nde , no h ay
q ue de s t
inar 8 byt
e s e s pe cíf
i-
cos para l
a prot
e cción. Pe ro
e s t
o t
ie ne un e f
e ct
o s e cunda-
rio y e s q ue a m e dida q ue e l
program a s e m odif
ica, l
os
v
e ct
ore s pue de n cam biar de
pos ición, y por l
o t
ant
o t
am -
bién l
a cl
av
e .
Para cada uno de l
os 4 v
e c-
t
ore s e xis t
e n dos opcione s :
Si ut
il
iz a e l
v
e ct
or
, e lv
al
or de be e s t
ar
de nt
ro de lrango de l
a m e -
m oria FL
ASH y apunt
aral
có-
digo de l
a int
e rrupción corre s -
pondie nt
e . Es t
o re s t
ringe e l
rango de v
al
ore s pos ibl
e s y
pe rm it
e a un at
acant
e barre r
un m e nor núm e ro de pos ibil
i-
dade s para de s cubrir l
a cl
a-
v
e corre ct
a. L
o m e j
or e n e s t
e
cas o e s no de j
ar t
odos l
os
v
e ct
ore s e n v
al
ore s m uy pró-
xim os , s ino dis t
ribuirl
os a l
o
l
argo de t
oda l
a FL
ASH . Es t
o
pue de re al
iz ars e m e z cl
ando
l
as rut
inas a l
o l
argo de l
pro-
gram a (s i t
ie ne l
a FL
ASH
m uy com prom e t
ida de e s pa-
cio) o f
orz ando pos icione s
“raras ”
m e diant
e e lcom ando
“ORG”e n l
ugare s v
acíos de
l
a FL
ASH .
Si t
ie ne l
a pre -
caución de de s h abil
it
ar l
a
caus a de int
e rrupción o e l
proce s ador no l
a im pl
e m e n-
t
a, pue de pone r e lv
al
or q ue
de s e e e n l
os dos byt
e s co-
rre s pondie nt
e s alv
e ct
or con
“DW $
xxxx“.
T
e nga pre s e nt
e q ue l
a I
RQ
por de f
e ct
o e s t
á act
iv
a e n e l
re s e t y de be de s h abil
it
ars e
con e l com ando m ov #2,
I
NTSCR. NUNCA de j
e l
os
v
e ct
ore s de l
a cl
av
e q ue no
us a e n $
FF
.
Alt
e ne r un código de
s e guridad de 64-bit
s , l
a m áxi-
m a cant
idad de com binacio-
ne s e s de 1.8×10^18. Es t
e
núm e ro s e obt
ie ne al
m ul
t
ipl
i-
car l
a cant
idad de com bina-
cione s de cada v
e ct
or por 4,
l
as cual
e s de pe nde n de s i s e
ut
il
iz an o pue de us ars e cual
-
q uie r v
al
or
, dado q ue e n e l
prim e r cas o l
a cant
idad de
com binacione s e s igual
al
t
a-
m año e n byt
e s de l
a FL
ASH
y e n e ls e gundo e s 65536
(t
odos l
os v
al
ore s pos ibl
e s
con 2 byt
e s ). Es t
a dif
e re ncia
e s m ás im port
ant
e e n l
os pro-
ce s adore s con m uy poca
FL
ASH . Ent
once s :
NCom bT
ot
al
= NCom bV
1 x
NCom bV
2 x Com bV
3 x
Com bV
4
Es t
e e s un núm e ro m uy gran-
de , por l
o cualpue de s upo-
ne rs e q ue e s m uy dif
ícil
rom -
pe r e s t
e código. El
punt
o cl
a-
v
e s e rá e nt
once s q ue t
an rá-
pido s e pue de probar una
por una h as t
a cubrir t
odas
l
as pos ibl
e s com binacione s .
L
a única f
orm a de probar u-
na cl
av
e e s l
ue go de un POR
o s e a, h ay q ue q uit
arl
e al
i-
m e nt
ación al m icrocont
rol
a-
dor y e s pe rar un t
ie m po an-
t
e s de cone ct
arl
o nue v
am e n-
t
e para probar ot
ra cl
av
e . El
e nv
ío de l
a cl
av
e t
am bién de -
m ora un t
ie m po, ya q ue de -
be e nv
iars e e n f
orm a s e rial
(e xce pt
o e n e l
m odo paral
e l
o
de lGP32) q ue a 9 600 bau-
dios e q uiv
al
e a 8.33 m S.
En e lm e j
or cas o t
o-
dos l
os v
e ct
ore s e s t
án l
ibre s :
NCom bT
ot
al
= 655364 = 1.8
×10^19
Pe or cas o de l68H C9 08GP-
32: NCom bT
ot
al
= 322564 =
1.1 ×10^18
Pe or cas o de l68H C9 08JK1:
NCom bT
ot
al
= 65536*15363
= 2.4 × 10^14 (ya q ue alno
t
e ne r PL
L uno de l
os
v
e ct
ore s s ie m pre e s t
á l
ibre ).
L
o cualt
raducido a t
ie m po
da (cons ide rando q ue cada
cl
av
e s e pue de probar e n 1
m il
is e gundo y e n l
a m it
ad de
l
as prue bas e ncue nt
ran e l
v
al
orcorre ct
o):
Me j
or cas o: 29 2 m il
l
one s de
años .
Pe or cas o de l68H C9 08GP-
32: 17 m il
l
one s de años .
Pe or cas o de l68H C9 08JK1:
3765 años .
//página 0x0B
Es t
e anál
is is e s v
ál
ido
dado q ue no s e conoce e l
re -
s ul
t
ado h as t
a no h abe r ingre -
s ado l
os 8 byt
e s . Si s e pudie -
ra s abe r s i cada byt
e e s co-
rre ct
o o no s in e s pe rar alf
i-
nal
, bas t
aría con probar 128
x 8 v
e ce s = 1024 prue bas y
obt
e ne r l
a cl
av
e corre ct
a e n
1 s e gundo!.
Siguie ndo con e l
e j
e m -
pl
o #4, e n l
a dire cción FF33
s e pue de v
e r l
a ins t
rucción
NOP ins e rt
ada para q ue s e
produz ca e lm is m o de l
ay an-
t
e cl
av
e corre ct
a e incorre ct
a
e n am bos l
az os , no pe rm i-
t
ie ndo inf
e rir de s de f
ue ra e l
re s ul
t
ado de l
t
e s t
e o. Sin e s t
a
ins t
rucción podría m e dirs e e l
t
ie m po de s de l
os byt
e s e nv
ia-
dos y e lBREAK q ue ge ne ra
e lproce s ador alf
inal
iz ar l
a
v
e rif
icación y obt
e ne r l
a cl
a-
v
e e n pocos s e gundos
En e l
l
is t
ado de l
a ROM pue -
de v
e rs e q ue e l
m odo paral
e -
l
o pe rm it
e ace l
e rar e l
ingre s o
de l
a cl
av
e v
acía (t
odos $
FF)
ponie ndo 8 re s is t
ore s de
“pul
l
-up”e n e lPORTA. Ut
il
i-
z ar e s t
e m odo para ingre s ar
ot
ra cl
av
e e s m uy com pl
ica-
do (aunq ue pos ibl
e ) dado
q ue e n l
a dire cción FF23 s e
l
e e PA7 para v
e r s i e s s e rie
o paral
e l
o y e n FF2B s e l
e e
e l prim e r v
al
or de s de e l
PORT
, no e xis t
ie ndo una re -
f
e re ncia de t
ie m po de s de e l
e xt
e rior q ue pe rm it
a s abe r
cuando cam biar e lv
al
or de l
PORTA. Una f
orm a pos ibl
e
e s m e diant
e un circuit
o de re -
s e t m uy pre cis o, s in us ar e l
PL
Ly de t
e rm inando e l
de l
ay
de t
odas l
as ins t
ruccione s
com pre ndidas e nt
re cada l
e c-
t
ura.
Una v
e z f
inal
iz ada l
a
cl
av
e , e l proce s ador e nv
ía
un BREAK y de s de al
l
í e n
m ás t
odos l
os com andos de -
be n e nv
iars e e n f
orm a s e rie .
Com o concl
us ión, po-
de m os de cir q ue e s t
e m ét
o-
do de prot
e cción de l
os da-
t
os e s m uy s e guro y pode -
m os e s t
ar t
ranq uil
os q ue
nue s t
ra inf
orm ación s ie m pre
v
a a e s t
ar s e gura de nt
ro de
un m icrocont
rol
ador Fre e s -
cal
e .
Dat
as h e e t de m icros 68H C-
9 08, not
as de apl
icación
Fre e s cal
e , not
a de apl
ica-
ción I
ng. Dubat
t
i e I
ng.
DiL
e l
l
a
//página 0x0C
//página 0x0E
m ódul
o PI
C Traine r18
e lcircuit
o de e s t
e m ódul
o t
am -
bién t
ie ne una gran s e ncil
l
e z .
H e m os col
ocado una s e rie de
cone ct
ore s I
DC10 (e n l
os bor-
de s de lPCB) q ue pe rm it
e n a
l
os m ódul
os pe rif
éricos acce de r
a cada pin de e nt
rada / s al
ida
de lm icrocont
rol
ador q ue ocupe
e l
z ócal
o ce nt
ral
de l
e nt
re nador
.
L
a al
im e nt
ación de lm ó-
dul
o s e h a re s ue l
t
o m e diant
e un
re gul
ador de v
ol
t
aj
e int
e grado
de l
a s e rie L
M78xx, concre t
a-
m e nt
e e lm ode l
o L
M7805, y u-
na borne ra de dos t
ornil
l
os pe r-
m it
e al
im e nt
ar a l
a pl
aca de s de
una f
ue nt
e e xt
e rna de corrie nt
e
cont
inua. Es t
a de be s e r capaz
de e nt
re gar una t
e ns ión de e n-
t
re 7.5 y 15V
, l
o m as e s t
abl
e po-
s ibl
e . Un diodo 1N4007 s e e n-
carga de prot
e ge r e lre s t
o de l
a
e t
apa de al
im e nt
ación de una
cone xión con l
a pol
aridad inv
e r-
t
ida, y conde ns ador e l
e ct
rol
ít
ico
de 470uF/
16Vf
il
t
ra e l
poco ripl
e
q ue pue da h abe r e s capado al
f
il
t
ro de l
a f
ue nt
e q ue e s t
e m os
e m pl
e ando.
Tal com o ocurre con
l
os m icrocont
rol
adore s de 40
pine s , l
a e m pre s a Microch ip
col
oca l
os pue rt
os de l
os m i-
cros de 18 pine s cas i s ie m pre
e n l
a m is m a pos ición. Es o
nos pe rm it
e dis e ñar una pl
a-
ca “univ
e rs al
” q ue pue da ut
il
i-
zars e con una gran v
arie dad
de m ode l
os . De h e ch o, no s o-
l
o podre m os h ace r e xpe rim e n-
t
os con l
os m uy popul
are s
“16F” y 16C”, s ino q ue t
am -
bién v
am os a pode r us ar un
bue n s urt
ido de ch ips de l
a
f
am il
ia “18F”. Sol
o de be m os
as e gurarnos , cons ul
t
ando l
a
h oj
a de dat
os de l ch ip e n
cue s t
ión, q ue l
os pine s de al
i-
m e nt
ación, os cil
ador
, e t
c., e s -
t
én e n una pos ición q ue l
os
h aga com pat
ibl
e s con l
a dis -
t
ribución de s e ñal
e s e m pl
e a-
da e n e l
e nt
re nador
.
Com o pue de v
e rs e e n e l
diagra-
m a q ue acom paña e s t
e art
ícul
o,
Se t
rat
a de ls e gundo m ódul
o de nue s t
ro e nt
re nador de s t
inado a al
be rgar un
m icrocont
rol
ador
. En e s t
e cas o, pue de n ut
il
iz ars e l
os PI
Cs de 18 pine s m ás
popul
are s , com o e l16F84A, e l16F88, 16F627A, 16F628A, 16F818A y m uch os
m ás . Su cons t
rucción no pre s e nt
a dif
icul
t
ade s , y s e guram e nt
e podrás apre nde r
m uch o s obre program ación de PI
Cs ut
il
iz ándol
o. ¡
Manos a l
o obra!
/
/por: Arie l
Pal
az z e s i /
/
arie l
pal
az z e s i@ gm ail
.com
//página 0x0F
El
re gul
ador de v
ol
t
aj
e
e s t
á dot
ado de l
os dos con-
de ns adore s de 0.1uF de ri-
gor
, y un diodo L
ED, e n s e rie
con un re s is t
or de 220V s e
e ncie nde cuando e lcircuit
o
e s t
á al
im e nt
ado, para q ue s e -
pam os q ue s e e ncue nt
ra e n
e s t
a s it
uación.
T
alcom o ocurría con
l
a pl
aca para m icrocont
rol
a-
dore s de 40 pine s , e n l
ugar
de ut
il
iz ar un cris t
al
com o os -
cil
ador de l
PI
C q ue e s t
á s ie n-
do e m pl
e ado e n e lm ódul
o,
h e m os col
ocado 3 de e l
l
os .
Una s e rie de j
um pe rs (ide nt
i-
f
icados com o JP4, JP5 y JP-
6) s e e ncargan de s e l
e ccio-
nar e lq ue s e corre s ponda
con l
a f
re cue ncia de t
rabaj
o
q ue re q uie ra nue s t
ro proye c-
t
o. L
os dos conde ns adore s
de 22pF com pl
e t
an e s t
a par-
t
e de l
circuit
o, y pare ce n f
un-
cionar bie n con l
as f
re cue n-
cias t
ípicas ut
il
iz adas . En
cas o de ut
il
iz ar PI
Cs q ue f
un-
cione n a m ás de 20MH z , e s
pos ibl
e q ue h aya q ue cam -
biarl
os por conde ns adore s
de 15pF o incl
us o al
go m e -
nos .
Aunq ue pare z ca ob-
v
io, t
e ne m os q ue re cordar al
l
e ct
or q ue no de be col
ocar
m ás de un j
um pe r a l
a v
e z ,
ya q ue e n e s e cas o e l
m icro-
cont
rol
adorno f
uncionará.
En cuant
o a l
os cris t
a-
l
e s , h e m os e l
e gido (com o
pue de v
e rs e e n e le s q ue m a
e l
éct
rico) v
al
ore s de 4MH z ,
8MH z y 20MH z , pe ro nada
im pide ut
il
iz ar ot
ros . Ell
e ct
or
pue de cam biarl
os a gus t
o.
En cas o de ut
il
iz ar al
-
gún m ode l
o de PI
C q ue dis -
ponga de os cil
ador int
e rno y
s e q uie ran ut
il
iz ar l
os pine s
15 y 16 de lm is m o (corre s -
pondie nt
e s , e n ge ne ral
, a A6
y A7) com o pine s de e nt
rada
/s al
ida, bas t
ará con no col
o-
car ninguno de l
os j
um pe rs
m e ncionados .
En e lcas o de conf
i-
gurar l
os pine s 15 y 16 com o
e nt
rada / s al
ida, e s t
os s e
com port
arán de l
a m is m a
m ane ra q ue e lpin 3, corre s -
pondie nt
e albit 4 de lPORT-
A. Es t
o h abil
it
a l
os L
EDs y
pul
s adore s incorporados e n
e lm ódul
o, pe rm it
ie ndo s u u-
s o com o f
orm a de ingre s ar(o
re pre s e nt
ar) dat
os a (o de )
nue s t
ro program a. L
os j
um -
pe rs JP1, JP2 y JP3 pe rm i-
t
e n s e l
e ccionar s i cone ct
a-
m os alPI
C e lL
ED o e lpul
-
s ador
.
En cas o de s e l
e ccio-
nar l
os pul
s adore s , de be m os
re cordar q ue e s t
os pone n e l
pin corre s pondie nt
e a 5Vcu-
ando s on pre s ionados . Mie n-
t
ras q ue e s t
án e n re pos o, l
as
e nt
radas s e m ant
ie ne n a
GND a t
rav
és de s e ndos re -
s is t
ore s de 10K.
L
os cone ct
ore s s i-
gue n l
as m is m as norm as
q ue e xpl
icam os e n e l
art
ícul
o
principalde nue s t
ra re v
is t
a
núm e ro 4, as í q ue no de be -
rías t
e ne r probl
e m as a l
a h o-
ra de de t
e rm inar l
a f
unción
de cada pin. Com o re gl
a ge -
ne ral
, re cue rda q ue de l
os
pine s e xt
e riore s de cada co-
ne ct
or s ol
o s e e m pl
e a uno
(+ V
) y l
os ot
ros cuat
ro e s t
án
s in cone ct
ar
. De l
o cinco int
e -
rior
, uno corre s ponde a GND
y l
os ot
ros 4 a dat
os . No e s
m al
a ide a t
e ne r a m ano e l
gráf
ico con l
a f
unción de ca-
da pin cuando de cidas h ace r
//página 0x10
//página 0x11
al
gún program a para cargar
e n e l
e nt
re nador
.
L
a única e xce pción, o
de s v
ío de l
o norm al
, q ue pue -
de s v
e r e n e ldiagram a de
l
os cone ct
ore s e s e n l
os pi-
ne s corre s pondie nt
e s a RB6
(CL
OCK) y RB7 (DATA), ya
q ue pos e e n un re s is t
or de
220 oh m s e n s e rie . Cum pl
e n
con l
a f
unción de pe rm it
irpro-
gram ar e lPI
C m e diant
e e l
cone ct
or I
CSP s in ne ce s idad
de re t
irar e l
cabl
e q ue cone c-
t
a e l e nt
re nador con e l
m ódul
o de t
urno. Por s upue s -
t
o, s i l
o de s e as pue de s re e m -
pl
az ar e s os dos re s is t
ore s
por s e ndos pue nt
e s , y a ot
ra
cos a. Sol
o de be rás q uit
ar e l
cabl
e pl
ano a l
a h ora de re -
program are l
PI
C.
Elpin 4, q ue corre s -
ponde alRESET (y albit 5
de l
PORTA) e n l
os m icrocon-
t
rol
adore s PI
C de 18 pine s
(alm e nos , e n l
os q ue s on
com pat
ibl
e s con e s t
e e nt
re -
nador), e s t
a unido a un pul
-
s ador a t
rav
és de un re s is t
or
de 470 oh m s y a + Vm e dian-
t
e ot
ro de 4.7K y un diodo
1N4148. Alpre s ionar e lpul
-
s ador
, e lm icrocont
rol
ador s e
re s e t
e a. Durant
e e lf
unciona-
m ie nt
o norm alde lprogram a,
e l
pin e s t
a a + V
. El
diodo im -
pide l
os probl
e m as q ue podrí-
an s urgir e nt
re l
as al
im e nt
a-
cione s de lm ódul
o y de lpro-
gram ador al
ut
il
iz ar e l
cone c-
t
orI
CSP
.
Si ya h as m ont
ado al
-
guno de nue s t
ros proye ct
os ,
no t
e ndrás ninguna dif
icul
t
ad
a l
a h ora de cons t
ruír t
u pro-
pio e nt
re nador
. De s carga e l
arch iv
o PDF corre s pondie nt
e
alPC de s de nue s t
ra W e b, y
m e diant
e l
a f
orm a q ue m ás
t
e gus t
e (pue de s us ar e l
“m é-
t
odo de l
a pl
anch a”e xpl
ica-
do e n l
a re v
is t
a núm e ro 1)
t
rans f
iére l
o a un t
roz o de
PCB v
irge n. L
ue go, albaño
de cl
oruro f
érrico; y por úl
t
i-
m o, una bue na l
im pie z a y
h ace s l
os aguj
e ros .
A l
a h ora de s ol
dar l
os
com pone nt
e s , com o s ie m -
pre , re s ul
t
a m ás s e ncil
l
o s i
prim e ro v
as col
ocando l
os
q ue s on m ás baj
os , com o l
os
pue nt
e s , diodos , z ócal
os y
re s is t
ore s . De j
a para e lf
inal
l
os cone ct
ore s , re gul
ador de
v
ol
t
aj
e y conde ns adore s . A-
s e gúrat
e de q ue , inv
ol
unt
aria-
m e nt
e , no h ace s un pue nt
e
e nt
re dos punt
os de l
circuit
o.
Pre s t
a e s pe cialat
e n-
ción a l
a h ora de s ol
dar l
os
com pone nt
e s q ue t
ie ne n “po-
l
aridad”
, com o l
os diodos ,
L
EDs y conde ns adore s e l
e c-
t
rol
ít
icos . T
am bién e s im por-
t
ant
e q ue col
oq ue s e lz ócal
o
de s t
inado alPI
C e n l
a dire -
cción corre ct
a, ya q ue de h a-
ce rl
o m alpue de s conf
undirt
e
cuando ins e rt
e s e lm icrocon-
t
rol
ador
, dañándol
o.
Una v
e z m ont
ado t
o-
do, s in col
ocar e lPI
C e n s u
l
ugar
, al
im e nt
a e l
circuit
o con
una t
e ns ión de e nt
re 7.5 y
12V
. El
L
ED “Pow e r”
de be ría
e nce nde rs e . Si e s as í, v
e ri-
f
ica con un m ul
t
ím e t
ro q ue l
a
t
e ns ión e nt
re l
os pine s 5
(GND) y 14 (V
cc) de l
z ócal
o
de lm icrocont
rol
ador s e a de
5V
. T
am bién pue de s v
e rif
icar
q ue e n l
os cone ct
ore s de e x-
pans ión e s t
e pre s e nt
e e s a
t
e ns ión. Si t
odo e s t
a bie n, ya
//página 0x12
t
ie ne s l
is t
o t
u e nt
re nador
. Ca-
s o cont
rario, re pas a l
as s ol
-
daduras y pos ición de l
os
com pone nt
e s .
H e m os m ont
ado ot
ra
pl
aca m uy im port
ant
e de nu-
e s t
ro e nt
re nador
. Exis t
e n u-
na gran cant
idad de proye c-
t
os q ue pue de n re s ol
v
e rs e
con PI
Cs cons ide rados “pe -
q ue ños ”o “m e dianos ”com o
l
os q ue s oport
a e s t
e m ódul
o,
as í q ue s e guram e nt
e podrás
pas ar m uch as h oras apre ndi-
e ndo con él
. Re cue rda q ue
para m e j
orar s us pos ibil
ida-
de s de e nt
rada /s al
ida, pue -
de s cons t
ruir e lm ódul
o de 8
e nt
radas / s al
idas publ
icado
e n e l
núm e ro ant
e rior
.
//página 0x13
Si bie n t
e óricam e nt
e e s
pos ibl
e cons t
ruir re s is t
ore s de
práct
icam e nt
e cual
q uie r v
al
or
,
por una cue s t
ión pract
ica s ol
o
s e l
as cons t
ruye de una s e rie
de v
al
ore s pe rf
e ct
am e nt
e nor-
m al
iz ados , y q ue com binados
com o v
e re m os m as ade l
ant
e ,
pe rm it
e n l
ograr cual
q uie r v
al
or
de re s is t
e ncia q ue ne ce s it
e m os
para nue s t
ro proye ct
o. Dich as
s e rie s de v
al
ore s s e e ncue nt
ran
agrupadas e n l
as l
l
am adas
“Fam il
ias E”
.
Exis t
e n v
arias f
am il
ias de
v
al
ore s pos ibl
e s , con nom bre s
com o E6, E12, E24, e t
c., donde
e l
núm e ro q ue acom paña a l
a E
re pre s e nt
a l
a cant
idad de v
al
o-
re s dif
e re nt
e s q ue com pone n l
a
f
am il
ia m e ncionada. A l
os v
al
o-
re s bas e s e l
os m ul
t
ipl
ica por
10, 100, 1.000, 10.000, 100.000
o 1.000.000 para obt
e ne r l
os
v
al
ore s de l
os re s is t
ore s con
re s is t
e ncias m ás al
t
as . En e l
Práct
icam e nt
e no e xis -
t
e n e s q ue m as e l
e ct
rónicos e n
l
os q ue no s e v
e an una o m ás
re s is t
e ncias . Es t
os com po-
ne nt
e s t
ie ne n com o f
unción
dis t
ribuir ade cuadam e nt
e l
as
t
e ns ione s y corrie nt
e s q ue cir-
cul
an por e lcircuit
o. Su f
un-
cionam ie nt
o s e bas a e n l
a
dif
icul
t
ad q ue of
re ce n alpas o
de l
a corrie nt
e e l
éct
rica al
gu-
nos m at
e rial
e s , ge ne ral
m e nt
e
con v
al
ore s de re s is t
iv
idad al
-
t
os .
Para de f
inir e lv
al
or de
un re s is t
or s e ut
il
iz a com o uni-
dad e lOh m , q ue s e re pre s e nt
a
por l
a l
e t
ra grie ga om e ga (Ω),
e n h onor a Ge org Sim on Oh m
(1789 -1854). Oh m f
ue un f
ís ico
y m at
e m át
ico al
e m án q ue apor-
t
ó a l
a t
e oría de l
a e l
e ct
ricidad
l
a L
e y q ue re l
aciona l
a int
e ns i-
dad de una corrie nt
e e l
éct
rica,
s u f
ue rz a e l
e ct
rom ot
riz y l
a re -
s is t
e ncia. En 1827 f
orm ul
ó l
a
l
e y, q ue l
l
e v
a s u nom bre , y q ue
e s t
abl
e ce q ue : U = Ix R.
Conocidos e n al
gunos país e s com o “re s is t
e ncias ”
, l
os m ode s t
os re s is t
ore s
f
orm an part
e de práct
icam e nt
e l
a t
ot
al
idad de nue s t
ros proye ct
os . Elcódigo de
col
ore s q ue s e e m pl
e a para de not
ar s u v
al
or e s una de l
as prim e ras cos as q ue
apre nde t
odo af
icionado a l
a e l
e ct
rónica. En e s t
e pe q ue ño art
ícul
o t
e cont
am os
t
odo l
o q ue ne ce s it
as s abe r para e m pl
e ar corre ct
am e nt
e e s t
e com pone nt
e e n t
us
circuit
os .
/
/por: Arie l
Pal
az z e s i /
/
arie l
pal
az z e s i@ gm ail
.com
re s is t
ore s
cuadro núm e ro 1 f
iguran l
os
v
al
ore s bas e de cada f
am il
ia
de re s is t
e ncias . L
as de m ás
s e rie s , com o l
a (2% de
t
ol
e rancia), y l
as m e nos ut
il
i-
z adas y agre gan
v
al
ore s int
e rm e dios a l
os
m e ncionados , y t
ol
e rancias
m ás pe q ue ñas .
Para no t
e ne r l
a ne ce -
s idad de e s cribir grande s
cant
idade s de ce ros ale x-
pre s ar v
al
ore s de re s is t
e n-
cias e l
e v
adas , s e ut
il
iz an l
a
l
e t
ra y , q ue de s ignan
f
act
ore s m ul
t
ipl
icat
iv
os de
1.000 y 1.000.000. Si a un
v
al
or cual
q uie ra de l
a t
abl
a
ant
e rior
, por e j
e m pl
o a 4,7 l
e
agre gam os l
a obt
e ne m os
4.7K q ue s ignif
ican 4700 Ω.
Si l
e añadim os l
a , nos q ue -
da 4.7M q ue indica 4.700.-
000Ω. Much as v
e ce s s e ut
i-
l
iz a l
a l
e t
ra e n l
ugar de l
a co-
m a, porl
o q ue 4.7K y 4K7 re -
pre s e nt
an e l
m is m o v
al
or
.
Cuando nos re f
e rim os
a l
a “t
ol
e rancia”
q ue t
ie ne un
re s is t
or
, e s t
am os h abl
ando
de l
a m áxim a de s v
iación de l
v
al
or t
e órico q ue pode m os
e s pe rar e ncont
rar al m e dir
s u v
al
or
. Por e j
e m pl
o, una re -
s is t
e ncia con un v
al
or de cl
a-
rado de 1KΩ y una t
ol
e ran-
cia de l
5% t
ie ne un v
al
or re al
com pre ndido e nt
re 9 50 Ω y
1050 Ω.
Fís icam e nt
e , l
as re s is -
t
e ncias m ás com une s cons is -
t
e n e n un pe q ue ño cil
indro
con dos t
e rm inal
e s , uno e n
cada e xt
re m o, con anil
l
os de
col
ore s s obre s u cue rpo q ue
re pre s e nt
a e lv
al
or e n oh m s .
Exis t
e n bás icam e nt
e dos t
i-
pos de códigos , uno ut
il
iz a
t
re s bandas y e lot
ro cinco.
En e lcódigo de cuat
ro ban-
das , l
os dos prim e ros anil
l
os
re pre s e nt
an l
os dígit
os q ue
f
orm an e l
v
al
or bas e de l
a re -
s is t
e ncia, e lt
e rce ro e lnúm e -
ro de ce ros q ue e s ne ce s ario
añadir
, y e l
cuart
o e l
v
al
or de
l
a t
ol
e rancia.
Por e j
e m pl
o, s i t
om a-
m os una re s is t
e ncia q ue t
ie -
ne una banda m arrón, una
roj
a, una naranj
a y ot
ra do-
rada, s u v
al
or s e rá 12000
oh m s , con e l5% de t
ol
e ran-
cia, dado q ue s e gún l
a t
abl
a
de col
ore s e lm arrón re pre -
s e nt
a e l1, e lroj
o un 2 y e l
naranj
a s ignif
ica q ue s e agre -
gan t
re s ce ros . L
as re s is t
e n-
cias con cinco bandas de co-
l
ore s s e l
e e n de l
a m is m a
m ane ra, pe ro t
e nie ndo e n cu-
e nt
a q ue l
as t
re s prim e ras
s on l
os dígit
os q ue f
orm an e l
v
al
or bas e , l
a cuart
a banda
l
a cant
idad de ce ros a agre -
gary l
a q uint
a l
a t
ol
e rancia.
Com o de cíam os an-
t
e s , a part
ir de l
os v
al
ore s
dis ponibl
e s e n cada s e rie de
re s is t
e ncias e s pos ibl
e obt
e -
ne r práct
icam e nt
e cual
q uie r
v
al
or q ue de s e e m os , s im pl
e -
m e nt
e com binándol
as de a
//página 0x14
E6 1.0, 1.5, 2.2, 3.3, 4.7, 6.8 T
ol
e rancia: 20%
E12 1.0, 1.2, 1.5, 1.8, 2.2, 2.7, 3.3, 3.9 ,
4.7, 5.6, 6.8, 8.2
T
ol
e rancia: 10%
E24 1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0,
2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9 , 4.3,
4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, 9 .1
T
ol
e rancia: 5%
dos o m as . Bás icam e nt
e h ay
dos m ane ras de h ace r e s t
o,
y s e de nom inan agrupación
e n s e rie y agrupación e n pa-
ral
e l
o.
L
a agrupación e n s e -
rie cons is t
e e n unir l
as re s is -
t
e ncias una a cont
inuación
de l
a ot
ra, com o s e v
e e n e l
e s q ue m a de l
a f
igura corre s -
pondie nt
e . De e s t
a m ane ra,
l
a corrie nt
e I q ue circul
a por
am bas e s l
a m is m a, m ie n-
t
ras q ue , cada re s is t
e ncia
pre s e nt
a una dif
e re ncia de
pot
e ncial dis t
int
a e nt
re s us
e xt
re m os , q ue de pe nde rá,
s e gún l
a l
e y de Oh m , de l
os
v
al
ore s de cada re s is t
e ncia.
No e s dif
ícilj
ugar m a-
t
e m át
icam e nt
e s um ando l
os
product
os parcial
e s de t
e n-
s ione s y corrie nt
e s para de -
m os t
rar q ue l
a re s is t
e ncia t
o-
t
al
de l
a agrupación de re s is -
t
e ncias e n s e rie e s igual
a l
a
s um a de l
as re s is t
e ncias in-
div
idual
e s .
En s e rie : R = R1+ R2+ R3+ … + Rn
En e l
cas o de l
a agru-
pación e n paral
e l
o, l
a cone -
xión s e e f
e ct
úa com o m ue s -
t
ra l
a f
igura s iguie nt
e , donde
s e v
e q ue l
os t
e rm inal
e s s e
une n e n dos punt
os com une s
l
l
am ados nodos . En e s t
e ca-
s o, por cada ram a, com pu-
e s t
a por una re s is t
e ncia, cir-
cul
a una corrie nt
e dif
e re nt
e ,
pe ro l
a t
e ns ión apl
icada a
t
odas e s l
a m is m a. Nue v
a-
m e nt
e , t
rabaj
ando m at
e m át
i-
cam e nt
e con l
as corrie nt
e s y
t
e ns ione s s e pue de de m os -
t
rar q ue l
a re s is t
e ncia e q uiv
a-
l
e nt
e de una as ociación e n
paral
e l
o e s igual
a l
a inv
e rs a
de l
a s um a de l
as inv
e rs as
de cada una de l
as re s is t
e n-
cias .
En paral
e l
o: 1/
R =
1R1+ 1/
R2+ 1/
R3+ ...+ 1/
Rn
H ay dos cas os part
icu-
l
are s q ue de be m os t
e ne r e n
cue nt
a. L
a re s is t
e ncia e q ui-
v
al
e nt
e a dos re s is t
ore s e n
paral
e l
o e s
;y s i t
odas l
as re s is t
e n-
cias s on igual
e s , .
Por s upue s t
o, nada
im pide as ociar re s is t
ore s de
m ane ras q ue s e an una com -
binación de l
as dos agrupa-
cione s v
is t
as . En e s os ca-
s os , s e dice q ue l
as re s is -
t
e ncias pre s e nt
an una as o-
ciación m ixt
a, y para cal
cul
ar
e lv
al
or de lre s is t
or e q uiv
a-
l
e nt
e h abrá q ue ir re s ol
-
v
ie ndo e lcircuit
o por part
e s ,
e n cada una de l
as cual
e s
ut
il
iz are m os al
guna de l
as
f
órm ul
as q ue v
im os , s e gún
s e a e l
cas o.
En e lcas o de lcircuit
o
de l
a f
igura 3, l
a re s is t
e ncia
t
ot
als e cal
cul
aría s um ando
e n prim e r l
ugar l
as agrupa-
cione s e n s e rie R1 y R2 por
un l
ado, y R3 y R4 por ot
ro,
con l
o q ue e lcircuit
o q ue -
daría com o una agrupación
e n paral
e l
o de cuat
ro re s is -
t
e ncias : R1+ R2, R3+ R4, R5
y R6. Ut
il
iz ando l
a f
órm ul
a
v
is t
a m ás arriba, pode m os
cal
cul
ar e l v
al
or de l
a re -
s is t
e ncia e q uiv
al
e nt
e de lcir-
cuit
o.
Ade m ás de l
as re s is -
t
e ncias f
ij
as q ue ya e s t
u-
diam os , e xis t
e n ot
ras cuyo
v
al
or pue de v
ariar
. Quiz ás
l
as m ás com une s de nt
ro de
e s t
e grupo s e an l
as l
l
am a-
das pot
e ncióm e t
ros o pre s e t
s
//página 0x15
q ue cons is t
e n e n una pis t
a
de m at
e rialre s is t
iv
o por l
a
q ue s e de s l
iz a un curs or ca-
paz de re corre rl
a de un e x-
t
re m o alot
ro als e r accio-
nado por un m ando e xt
e rno.
L
a re s is t
e ncia de ldis pos it
iv
o
s e t
om a e nt
re uno de l
os e x-
t
re m os y e l
curs or
, por l
o q ue
s u v
al
or v
aria de acue rdo a
l
a pos ición de e s t
e . En e l
ca-
s o de l
os pot
e ncióm e t
ros , e s -
t
án cons t
ruídas para q ue s u
v
al
or s e v
aríe con f
re cue n-
cia, y s e ut
il
iz an por e j
e m pl
o
para cont
rol
ar e lv
ol
um e n de
un am pl
if
icador o l
a l
um ino-
s idad de una l
ám para. En e l
cas o de l
os pre s e t
s , l
a f
un-
ción e s de aj
us t
e , y s e s u-
pone q ue s ol
o s e m odif
icara
s u v
al
or m uy de v
e z e n cu-
ando, por l
o q ue ge ne ral
m e n-
t
e no dis pone n de un m ando
s ino de un t
ornil
l
o o ranura
para s e r accionadas con un
de s t
ornil
l
ador
. L
a f
orm a e n
q ue v
aria l
a re s is t
e ncia a m e -
dida q ue de s l
iz am os e lcur-
s or pue de s e r l
ine al
o l
ogarít
-
m ica. En al
gunas apl
icacio-
ne s , com o e laudio, s e ut
i-
l
iz an pot
e ncióm e t
ros l
ogarít
-
m icos dado q ue s e aj
us t
an
m e j
or a l
as caract
e rís t
icas
de l
oído h um ano.
T
am bién e xis t
e n re s is -
t
e ncias para us os e s pe cial
e s
q ue v
arían s u v
al
or con l
a
t
e m pe rat
ura. Se f
abrican de
dos t
ipos , de pe ndie ndo s i s u
re s is t
e ncia aum e nt
a o dis m i-
nuye con l
a t
e m pe rat
ura. Re -
cibe n e lnom bre de C y
, s e gún t
e ngan un coe f
i-
cie nt
e ne gat
iv
o (s u v
al
or dis -
m inuye al
aum e nt
arl
a t
e m pe -
rat
ura) o pos it
iv
o de t
e m pe ra-
t
ura.
L
as (L
igh t De -
pe nde nt Re s is t
or
, o Re s is t
or
De pe ndie nt
e de l
a L
uz ) s on,
com o s u nom bre l
o indica, re -
s is t
ore s cuyo v
al
or v
aria de
acue rdo al
niv
e l
de l
uz al
q ue
e s t
án e xpue s t
as . L
os v
al
ore s
e xt
re m os q ue adopt
a una
L
DR cuando e s t
a e n t
ot
al
os -
curidad o e xpue s t
a a pl
e na
l
uz v
arían de un m ode l
o a o-
t
ro, y s e s it
úan e n e lrango
de l
os 50Ω a 1000Ω (1K)
cuando e s t
án il
um inadas con
l
uz s ol
ar y v
al
ore s com pre n-
didos e nt
re 50.000Ω (50K) y
y v
arios m e goh m ios (m il
l
o-
ne s de oh m s ) cuando e s t
á a
os curas .
Por úl
t
im o, alm om e n-
t
o de s e l
e ccionar una u ot
ra
re s is t
e ncia e n nue s t
ros pro-
ye ct
os de be m os cons ide rar
l
a pot
e ncia m áxim a para l
a
q ue f
ue cons t
ruída. En e f
e c-
t
o, l
a caída de t
e ns ión q ue
s e produce cuando l
a corri-
e nt
e at
rav
ie s a l
a re s is t
e ncia
s e t
rans f
orm a e n cal
or
, y e l
com pone nt
e e l
e gido de be
s e r capaz de s oport
arl
o s in
de s t
ruirs e . Para pot
e ncias
pe q ue ñas , de 1/
8 de W at
t a
1 W at
t s ue l
e n s e r f
abricadas
a part
ir de una barra de car-
bón, pe ro l
as q ue s on capa-
ce s de dis ipar pot
e ncias m a-
yore s s e cons t
ruye n arrol
l
an-
do un h il
o re s is t
iv
o s obre un
cil
indro m e t
ál
ico, t
odo cubie r-
t
o por un e s m al
t
e v
it
rif
icado.
Es t
e t
ipo de re s is t
e ncia pue -
de n l
l
e gar a dis ipar h as t
a
100W , y a m e nudo e s ne ce -
s ario al
gún t
ipo de m e canis -
m o para prov
e e r l
a v
e nt
il
a-
ción ade cuada.
//página 0x16
//página 0x17
ElPI
C16F628 cue nt
a con dos
pue rt
os A y B, al
gunos pine s de
e s t
os pue rt
os de e nt
rada/
s al
ida
s on m ul
t
ipl
e xados con una f
un-
ción al
t
e rnat
iv
a de l
os pe rif
é-
ricos de ldis pos it
iv
o. Cuando un
pe rif
érico e s act
iv
ado e lpin no
pue de s e r us ado para propós i-
t
os ge ne ral
e s de e nt
rada/
s al
ida.
ElPUERTO A e s un pu-
El
PI
C16F628A e s un m i-
crocont
rol
adorde 8 bit
s de Mi-
croch ip. Pe rt
e ne ce a l
a f
am il
ia
de rango m e dio, e s m uy e co-
nóm ico y dis pone de v
arios
pe rif
éricos int
e grados q ue
nos pe rm it
irán re al
izar una
gran v
arie dad de apl
icacio-
ne s . Cue nt
a con un s e t de
ins t
ruccione s re ducido, t
an
s ol
o 35, l
o q ue nos f
acil
it
ará
s u program ación.
Aq uí s e pre s e nt
a un t
ut
orialde lPI
C16F628A e n e lcuals e da una pe q ue ña
int
roducción al
m icrocont
rol
ador y l
ue go ire m os a l
o int
e re s ant
e , l
a program ación.
Se com e nz ará de s de ce ro h as t
a abarcar cada m ódul
o q ue t
ie ne , s ie m pre con un
e j
e m pl
o s e ncil
l
o de apl
icación. L
a ide a e s ir adq uirie ndo conce pt
os a m e dida q ue
l
os ut
il
iz are m os e n e lde s arrol
l
o de l
os e j
e m pl
os , de e s t
a m ane ra l
o q ue s e
pre s e nt
a t
e óricam e nt
e l
o as ociam os inm e diat
am e nt
e con l
a pract
ica.
/
/por: Al
e j
andro Cas anov
a /
/
inf
.pic.s uk y@ l
iv
e .com .ar
e l
PI
C16F628A e n as s e m bl
e r
prim e ra part
e
- Conj
unt
o re ducido de ins t
ruccione s (RI
SC).
- Os cil
adorint
e rno de 4MH z .
- Ope ra con una f
re cue ncia de re l
oje xt
e rna de h as t
a 20 MH z (cicl
o
de m áq uina de 200ns ).
- Me m oria de program a: 2048 l
ocacione s de 14 bit
s .
- Me m oria de dat
os : RAM de 224 byt
e s (8 bit
s porre gis t
ro).
- Me m oria EEPROM: 128 byt
e s (8 bit
s porre gis t
ro).
- St
ack de 8 niv
e l
e s .
- 16 T
e rm inal
e s de I
/
O q ue s oport
an corrie nt
e s de h as t
a 25 m A.
- 3 T
e m poriz adore s .
- Módul
o de com unicación s e rie (USART).
- Módul
o CCP(Capt
ura/
Com paración/
PW M).
- 2 com paradore s anal
ógicos , 1 re f
e re ncia de v
ol
t
aj
e program abl
e .
e rt
o de e nt
rada de 8 bit
s . T
o-
dos l
os pine s , e xce pt
o ,
pue de n s e r conf
igurados co-
m o e nt
rada o s al
ida con l
a
re s pe ct
iv
a conf
iguración de l
re gis t
ro TRI
SA. Elpin
e s t
a m ul
t
ipl
e xado con l
a e n-
t
rada de re l
oj y com o
s al
ida s e com port
a com o co-
l
e ct
or abie rt
o, por l
o t
ant
o de -
be m os pone r una re s is t
e ncia
pul
l
-up a V
dd. El
pin e s
un dis parador Sch m it
t s ol
o
de e nt
rada y no cue nt
a con
cont
rol
adore s de s al
ida, s e -
gún l
a conf
iguración pue de
s e r us ado com o (re -
s e t e xt
e rno), y ade m ás s irv
e
t
am bién para e nt
rar e n e l
m odo de program ación cuan-
do s e apl
ica una t
e ns ión
iguala V
pp (13,4V m ínim o).
L
os de m ás pine s de lpue rt
o
t
rabaj
an de e nt
rada com o
dis parador de Sch m it
t Tri-
gge r y com o s al
ida l
ógica
CMOS. L
os pine s
s irv
e n de e nt
rada para l
os
com paradore s anal
ógicos y
por de f
e ct
o v
ie ne n as ocia-
dos a e l
l
os , as í q ue para
us arl
os com o I
/
O digit
alde -
be n s e r pre v
iam e nt
e conf
igu-
rados . L
os pine s y
cuando no s e ut
il
iz a os ci-
l
ador e xt
e rno s e us an para
e nt
rada e xt
e rna de re l
oj y
s al
ida de os cil
ador
, de pe ndi-
e ndo l
a conf
iguración q ue s e
us e .
El e s un
pue rt
o bidire ccional de 8
bit
s , de l
cual
por s of
t
w are s e
pue de n h abil
it
ar re s is t
e ncias
de pul
l
-up int
e rnas . El
PUER-
TO B e s m ul
t
ipl
e xado con in-
t
e rrupcione s e xt
e rnas , t
al
e s
com o de t
e cción de f
l
anco
por , cam bio de niv
e l
por
a , m ódul
o ,
e lm ódul
o y e lre l
oj de
e nt
rada/
s al
ida . L
os de -
m ás pine s s on: , pin de
al
im e nt
ación pos it
iv
a (de 2 a
5,5 V
cc) y , pin de al
i-
m e nt
ación ne gat
iv
a.
L
a arq uit
e ct
ura q ue
ut
il
iz a e lPI
C e s l
a H arv
ard,
e s t
a dis pone de dos m e m o-
rias inde pe ndie nt
e s , una q ue
cont
ie ne s ol
o ins t
ruccione s
(m e m oria de program a) y l
a
ot
ra s ol
o cont
ie ne dat
os (m e -
m oria RAM). Am bas dis po-
ne n de s us re s pe ct
iv
os bu-
s e s de acce s o y e s pos ibl
e
re al
iz ar ope racione s de acce -
s o s im ul
t
áne am e nt
e e n am -
bas .
ElPI
C16F628A pos e e
un cont
ador de program a de
13 bit
s , capaz de dire ccionar
un e s pacio de m e m oria de
8Kx14. Sin e m bargo, única-
m e nt
e l
os prim e ros 2Kx14,
de s de 0000h h as t
a 07FFh ,
e s t
án im pl
e m e nt
ados . L
os
v
e ct
ore s de re s e t e int
e rrup-
ción e s t
án e n l
as dire ccione s
0000h y 0004h , re s pe ct
iv
a-
m e nt
e . L
a pil
a (s t
ack ) e s de
8 niv
e l
e s , l
o cual s ignif
ica
q ue pue de s oport
ar h as t
a 8
dire ccione s de re t
orno de
s ubrut
ina.
ElPI
C16F628A pos e e
un e s pacio de m e m oria RAM
//página 0x18
de dat
os de 512x8, div
idido
e n 4 bancos de 128 byt
e s ca-
da uno. Sin e m bargo, s ól
o
e s t
án im pl
e m e nt
ados 330 by-
t
e s , corre s pondie ndo 224 al
áre a de l
os re gis t
ros de pro-
pós it
o ge ne ral(GPR) y 36 al
áre a de l
os re gis t
ros de f
un-
ción e s pe cial
(SFR). L
os re s -
t
ant
e s 70 byt
e s im pl
e m e nt
a-
dos s on e s pe j
os de al
gunos
SFR de us o f
re cue nt
e , as í
com o de l
os úl
t
im os 16 GPR
de l
banco 0. Por e j
e m pl
o, l
as
pos icione s 0Bh , 8Bh , 10Bh y
18Bh corre s ponde n alre gis -
t
ro I
NTCON, de m odo q ue u-
na ope ración h e ch a e n cual
-
q uie ra de e l
l
os , s e re f
l
e j
a au-
t
om át
icam e nt
e e n l
os ot
ros .
Se dice , e nt
once s , q ue l
as
pos icione s 8Bh , 10Bh y
18Bh e s t
án m ape adas e n l
a
pos ición 0Bh . Es t
a caract
e -
rís t
ica agil
iz a e l
acce s o a e s -
t
os re gis t
ros , pue s t
o q ue no
s ie m pre e s ne ce s ario e s pe ci-
f
icar e lbanco donde s e e n-
cue nt
ran. L
a s e l
e cción de l
banco de ubicación de un
SFR o un GPR part
icul
ar s e
h ace m e diant
e l
os bit
s 6
(RP1) y 5 (RP0) de lre gis t
ro
STATUS.
ElPI
C16F628 h a s ido
cons t
ruído con caract
e rís t
i-
cas t
al
e s q ue s e pue de con-
f
igurar para f
uncionar e n m o-
dos de ope ración q ue no ne -
ce s it
an com pone nt
e s e xt
e r-
nos t
al
e s com o e lcircuit
o de
re l
oj o de re s e t
. Es t
o im pl
ica
q ue e s ne ce s ario conf
igurar
s u m odo de ope ración a t
ra-
v
és de una pal
abra de conf
i-
guración.
L
a pal
abra de conf
igu-
ración s e e ncue nt
ra m ape a-
da e n l
a dire cción 2007h de
l
a m e m oria de program a y
s ol
o pue de s e r acce s ada du-
rant
e l
a program ación de dis -
pos it
iv
o.
L
os m icrocont
rol
ado-
re s dis pone n de un pin de s t
i-
nado para e j
e cut
ar un RE-
SET e n e lcas o de una f
al
l
a
o cuando s e a ne ce s ario apl
i-
carl
e un RESET
. En e lcas o
de l de be e s t
ar
h abil
it
ado por f
us e .
Es t
a e nt
rada e s t
á ne gada,
porl
o cual
t
e ndre m os q ue co-
ne ct
arl
o a l
a al
im e nt
ación po-
s it
iv
a s i q ue re m os q ue
nue s t
ro PI
C f
uncione . Una
f
orm a de t
e ne r cont
rols obre
e l
RESET e s ut
il
iz ar e l
circui-
t
o de l
a f
igura #7.
//página 0x19
Bit
s de prot
e cción de código. L
os bit
s 13-10 e ncar-
gados de prot
e ge rl
a m e m oria de program a.
Bitde prot
e cción para código de dat
os .
1 = Prot
e cción de s h abil
it
ada de l
a m e m oria de dat
os .
0 = Prot
e cción h abil
it
ada e n l
a m e m oria de dat
os .
H abil
it
ación de l
a program ación porv
ol
t
aj
e baj
o.
1 = L
V
Ph abil
it
ado, l
a t
e rm inal
RB4/
PGM t
ie ne t
al
f
unción.
0 = L
V
P: de s h abil
it
ado, RB4/
PGM e s una t
e rm inal
I
/
O.
Bitde re s e tporv
ol
t
aj
e de al
im e nt
ación baj
o.
1 = Re s e tporBOD h abil
it
ado
0 = Re s e tporBOD de s h abil
it
ado
H abil
it
ación de l
t
e rm inal
de re s e t
.
1 = T
e rm inal
de re s e te n RA5.
0 = MCL
R cone ct
ado int
e rnam e nt
e a V
dd, RA5 e s un pin I
/
O.
Bitde h abil
it
ación de t
e m poriz adoral
e ne rgiz ar
.
1 = PW RTh abil
it
ado.
0 = PW RTde s h abil
it
ado.
Bit
s de h abil
it
ación de W at
ch -Dog.
1 = W DTh abil
it
ado.
0 = W DTde s h abil
it
ado.
Se l
e cción de l
t
ipo de os cil
ador
.
A cont
inuación v
am os
a de s arrol
l
ar nue s t
ro prim e r
program a. Es t
e act
iv
ará un
L
ED cone ct
ado a RB0 s ie m -
pre q ue e lint
e rrupt
or cone c-
t
ado a RA0 e s t
e ce rrado.
Para e l
l
o v
am os a ne ce s it
ar
e l
circuit
o de l
a f
igura #8.
En t
e ne m os co-
ne ct
ado un pul
s ador de f
or-
m a q ue cuando l
o pul
s e m os
s e int
roduz ca un ce ro l
ógico
e n e l
pin y cuando no l
o pul
-
s e m os s e int
roduz ca un uno
l
ógico. T
e ne m os un L
ED con
s u corre s pondie nt
e re s is t
e n-
cia l
im it
adora de corrie nt
e e n
e l
pin .
Prim e ro q ue nada de -
be m os e s pe cif
icar con q ue
m icrocont
rol
ador e s t
am os
t
rabaj
ando, e s t
o l
o re al
iz a-
m os e n l
as dos prim e ras l
í-
ne as :
;****Encabe z ado ****
l
is tp=16F628A
#incl
ude P16F628A.inc
En e l arch iv
o
s e e ncue nt
ran l
as
de f
inicione s de l
as dire ccio-
ne s de l
os re gis t
ros e s pe cíf
i-
cos , l
os bit
s ut
il
iz ados e n ca-
da re gis t
ro y l
os f
us ibl
e s de l
m icrocont
rol
ador
.
H ay cie rt
os as pe ct
os
de l PI
C q ue h an de s e r
act
iv
ados o de s act
iv
ados m e -
diant
e h ardw are a l
a h ora de
program arl
o. Es t
o q uie re de -
cir q ue no s e pue de n v
ol
v
e r
a cam biar h as t
a q ue e lch ip
no s e re program e de nue v
o.
En e s t
e e j
e m pl
o us am os , CP
de s h abil
it
ada, W at
ch dog apa-
gado, Bode n h abil
it
ado, Po-
w e r-on h abil
it
ado, Os cil
ador
int
e rno, CP de dat
a de s h abil
i-
t
ada, L
V
P de s h abil
it
ado y
MCL
R h abil
it
ado.
_ _ CONFI
G _ CP_ OFF&
_ W DT_ OFF& _ BODEN_ ON
& _ PW RTE_ ON &
_ I
NTOSC_ OSC_ NOCL
KOUT
& _ DATA_ CP_ OFF&
_ L
V
P_ OFF& _ MCL
RE_ ON
En e s t
e cas o s ol
o de -
f
inire m os bit
s , por e j
e m pl
o
L
ED y Pul
s ador
.
Para organiz ar nue s -
t
ro program a l
o e s t
ruct
urare -
m os de l
a s iguie nt
e m ane ra:
1- Niv
e l
2- Dire ct
iv
a
3- Ope randos
4- Com e nt
arios
//página 0x1A
Para l
a conf
iguración ne ce -
s it
am os l
os s iguie nt
e s re gis -
t
ros :
.
Por de f
e ct
o l
os pue rt
os q ue -
dan conf
igurados com o e n-
t
radas de dat
os y s i s e q uie -
re cam biar h ay q ue conf
igu-
rarl
os . Es t
o s e re al
iz a con
l
os re gis t
ros y ,
t
e nie ndo e n cue nt
a q ue s i s e
as igna un ce ro (0) a un pin,
q ue dará com o s al
ida y s i s e
as igna un uno (1), q ue dará
com o e nt
rada. Ade m ás e n
e s t
e m icrocont
rol
ador de be -
m os conf
igurar l
os pine s
a , q ue por de f
e ct
o
v
ie ne n as ociados a l
os com -
paradore s , e s t
o s e re al
iz a
con e l
re gis t
ro .
En nue s t
ro cas o s e
ne ce s it
a col
ocar igual
a 11111 (o s e pue de de j
ar
por de f
e ct
o), 111 e n
(para t
odos l
os pine s I
/
O digi-
t
al
e s ) y 11111110. A-
h ora bie n, cuando e lPI
C a-
rranca s e e ncue nt
ra e n e l
banco 0, y s e
e ncue nt
ran e n e lbanco 1,
e nt
once s de be m os cam biar
de banco. Es t
o s e re al
iz a
con e lbit de lre gis t
ro
. Si e s t
e s e pone un
ce ro a , e s t
are m os e n e l
banco 0. Si s e col
oca un u-
no, e s t
are m os e n e l
banco 1.
Es e lre gis t
ro m ás im -
port
ant
e q ue t
ie ne e lm icro-
cont
rol
ador y e s de nom inado
acum ul
ador
. Es t
e re gis t
ro al
-
m ace na t
e m poral
m e nt
e uno
de l
os dat
os q ue int
e rv
ie ne n
e n l
a ope ración de l
a
.
AL
U com o indica s u nom bre ,
re al
iz a l
as ope racione s arit
-
m ét
icas y l
ógicas pre v
is t
as
e n l
a col
e cción de ins t
ruccio-
ne s de l
m icrocont
rol
ador
.
Ya conf
igurado nue s -
//página 0x1B
;
****De f
inición de v
ariabl
e s ****
L
e d e q u 0 ;De f
inim os L
e d com o e l
bit0 de un re gis t
ro, e n e s t
e cas o PORTB.
Pul
s ador e q u 0 ;De f
inim os Pul
s adorcom o e l
bit0, e n e s t
e cas o s e rá para PORTA.
Figura 7. Circuit
o de re s e t
.
;
****V
e ct
orRe s e t****
Re s e t
org 0x00 ;Aq uí com ie nz a e l
m icro.-
got
o inicio ;Sal
t
o a inicio de m i program a.-
org 0x05 ;Orige n de l
código de program a.-
;
****Program a Principal
****
I
nicio
;
****Conf
iguración de pue rt
os ****
m ov
l
w b’00000111’ ;Conf
iguram os PORTA com o I
/
O Digit
al
.
m ov
w fCMCON ;Mov
e m os 111 a W , y W a CMCON.-
bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.-
;TRI
SA porde f
aul
te s t
a e n 11111111.-
m ov
l
w b’11111110’ ;Mov
e m os 11111110 a W .-
m ov
w fTRI
SB ;Mov
e m os W a TRI
SB.-
bcf STATUS,RP0 ;Pas o de l
Banco 1 al
Banco 0
bcf PORTB,L
e d ;Apago L
e d.-
t
ro PI
C, v
am os a re al
iz ar l
a
rut
ina q ue e j
e cut
ará. Aq uí s o-
l
am e nt
e e n un bucl
e inf
init
o
t
e s t
e am os cont
inuam e nt
e e l
e s t
ado de lpul
s ador
, y s e gún
s u e s t
ado s e e nce nde rá o a-
pagará e l
L
ED.
Cicl
o de m áq uina. Es
l
a unidad bás ica de t
ie m po
q ue ut
il
iz a e lm icrocont
rol
a-
dor y e q uiv
al
e a 4 cicl
os de
re l
oj
. Ós e a, s i t
e ne m os un
os cil
ador de 4 MH z , e lcicl
o
de re l
oj (T
os c) s e ria de 250-
ns y e l cicl
o de m áq uina
(T
cy) de 1 us .
//página 0x1C
;
****Cont
rol
de L
e d ****
Bucl
e
bt
f
s c PORTA,Pul
s ador ;Pre gunt
am os s i e s t
a e n 0 l
ógico.-
got
o Apagar ;Es t
a a 1 l
ógico, Apagam os L
e d.-
bs f PORTB,L
e d ;Es t
a a 0 l
ógico, Ence nde m os L
e d.-
got
o Bucl
e ;T
e s t
e am os nue v
am e nt
e l
a condición de l
Pul
s ador
.-
Apagar
bcf PORTB,L
e d ;
Apagam os L
e d.-
got
o Bucl
e ;T
e s t
e am os nue v
am e nt
e l
a condición de l
Pul
s ador
.-
e nd ;T
e rm inam os código.-
;****Encabe z ado ****
l
is tp=16F628A
#incl
ude P16F628A.inc
_ _ CONFI
G _ CP_ OFF& _ W DT_ OFF& _ BODEN_ ON & _ PW RTE_ ON &
_ I
NTOSC_ OSC_ NOCL
KOUT & _ DATA_ CP_ OFF& _ L
V
P_ OFF& _ MCL
RE_ ON
;
****De f
inición de v
ariabl
e s ****
L
e d e q u 0 ;De f
inim os L
e d com o e l
bitce ro de un re gis t
ro, e n e s t
e cas o
;PORTB.-
Pul
s ador e q u 0 ;De f
inim os Pul
s adorcom o e l
bit0, e n e s t
e cas o s e rá para PORTA
;
****V
e ct
orRe s e t****
Re s e t
org 0x00 ;Aq uí com ie nz a e l
m icro.-
got
o inicio ;Sal
t
o a inicio de m i program a.-
org 0x05 ;Orige n de l
código de program a.-
L
as ins t
ruccione s de l
m icrocont
rol
ador ne ce s it
an 1
cicl
o de m áq uina e xce pt
o al
-
gunas e xce pcione s , com o
s on l
os com andos q ue incl
u-
ye n s al
t
os (got
o, cal
l
, bt
f
s s ,
bt
f
s c, re t
urn, e t
c.) q ue ne ce -
s it
an dos cicl
os de m áq uina.
Para e xpl
icar com o s e
cal
cul
a e m pe z are m os con u-
na de 1 s ol
o cicl
o, ós e a:
Ent
re parént
e s is s e
m ue s t
ra e lnúm e ro de cicl
os
q ue de m ora cada ins t
ruc-
ción. De m ane ra q ue e lnú-
m e ro de cicl
os de ins t
rucción
T
s ub cons um idos por l
a ru-
t
ina, incl
uye ndo l
os 2 cicl
os
de l
a l
l
am ada (CAL
L
) s e rán:
Donde T
cy e s l
a duración e n
s e gundos de un cicl
o de ins -
t
rucción. Ut
il
iz ando un os cil
a-
dor de 4 MH z l
a m ayor dura-
ción pos ibl
e e s de 770us ,
con 0xXX = 0xFF
.
Para l
ograr de m oras
de m ayor duración de be n ut
i-
l
iz ars e l
az os anidados , poni-
e ndo un l
az o de de m ora de n-
t
ro de ot
ro. V
e am os e le j
e m -
pl
o de l
a página s iguie nt
e pa-
ra pode rcom pre nde rl
o:
//página 0x1D
;
****Program a Principal
****
I
nicio
;
****Conf
iguración de pue rt
os ****
m ov
l
w b’00000111’ ;Conf
iguram os PORTA com o I
/
O Digit
al
.
m ov
w fCMCON ;Mov
e m os 111 a W , y W a CMCON.-
bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.-
;TRI
SA porde f
aul
te s t
a e n 11111111.-
m ov
l
w b’11111110’ ;Mov
e m os 11111110 a W .-
m ov
w fTRI
SB ;Mov
e m os W a TRI
SB.-
bcf STATUS,RP0 ;Pas o de l
Banco 1 al
Banco 0
bcf PORTB,L
e d ;Apago L
e d.-
;
****Cont
rol
de L
e d ****
Bucl
e
bt
f
s c PORTA,Pul
s ador ;Pre gunt
am os s i e s t
a e n 0 l
ógico.-
got
o Apagar ;Es t
a a 1 l
ógico, Apagam os L
e d.-
bs f PORTB,L
e d ;Es t
a a 0 l
ógico, Ence nde m os L
e d.-
got
o Bucl
e ;T
e s t
e am os nue v
am e nt
e l
a condición de l
Pul
s ador
.-
Apagar
bcf PORTB,L
e d ;Apagam os L
e d.-
got
o Bucl
e ;T
e s t
e am os nue v
am e nt
e l
a condición de l
Pul
s ador
.-
e nd ;T
e rm inam os Código.-
De m ora_ xxus
m ov
l
w 0xXX ;Cargam os v
al
orXX q ue cont
rol
a duración (1)
m ov
w fCont
ador ;I
niciam os Cont
ador(1)
Re pe t
icion
De cf
s z Cont
ador ;De cre m e nt
a cont
adory s i e s ce ro s al
e (1 s i no s al
e , 2 s i s al
e )
got
o Re pe t
icion ;No e s 0, re pe t
im os (2)
re t
urn ;Re gre s am os de l
a s ubrut
ina (2)
En e s t
e e j
e m pl
o s e a-
pl
icará l
a rut
ina de de m ora.
Se h ará t
it
il
ar un L
ED cone c-
t
ado a RB0 s ie m pre q ue e l
in-
t
e rrupt
or cone ct
ado a RA0
e s t
e ce rrado. El
h ardw are ne -
ce s ario e s idént
ico al
de l
pri-
m e re j
e m pl
o.
//página 0x1E
De m ora_ xx
m ov
l
w 0xXX ;(1)
m ov
w fCont
ador1 ;(1)
Re pe t
icion1
m ov
l
w 0xYY ;(1)
m ov
w fCont
ador2 ;(1)
Re pe t
icion2
de cf
s z Cont
ador2,1 ;(1 s i no s al
e , 2 s i s al
e )
got
o Re pe t
icion2 ;(2)
de cf
s z Cont
ador1,1 ;(1 s i no s al
e , 2 s i s al
e )
got
o Re pe t
icion1 ;(2)
re t
urn ;(2)
L
a duración de e s t
a rut
ina e n
cicl
os de re l
oj e s t
á dada por
l
a s iguie nt
e f
órm ul
a, y de be -
rá s e r:
Ts ub = 2 + 1 + 1 + (0xXX)*[1
+ 1 + (0xYY - 1)*(1 + 2) + 2 +
1 + 2]+ [1 + 1 + (0xYY -
1)*(1 + 2) + 2 + 2 + 2]cicl
os
L
o cuals e pue de s im pl
if
icar
com o s igue :
[b]
Ts ub = [0xXX*((0xYY -
1)*3 + 7) + 5]Tcy[/
b]
En e s t
e cas o, para os cil
ador
de 4MH z e lm áxim o q ue s e
pue de cons e guir e s de apro-
xim adam e nt
e 19 6m S.
;****Encabe z ado ****
l
is tp=16F628A
#incl
ude P16F628A.inc
_ _ CONFI
G _ CP_ OFF& _ W DT_ OFF& _ BODEN_ ON & _ PW RTE_ ON &
_ I
NTOSC_ OSC_ NOCL
KOUT & _ DATA_ CP_ OFF& _ L
V
P_ OFF& _ MCL
RE_ ON
;
****De f
inición de v
ariabl
e s ****
Cont
ador1 e q u 0x20 ;Se l
e ccionam os pos ición e n l
a m e m oria RAM (GPR) para guardar
;re gis t
ro ut
il
iz ado para de m ora.-
Cont
ador2 e q u 0x21 ;Re gis t
ro ut
il
iz ado e n de m ora.-
L
e d e q u 0 ;De f
inim os L
e d com o e l
bitce ro de un re gis t
ro, e n e s t
e cas o
PORTB.-
Pul
s ador e q u 0 ;De f
inim os Pul
s adorcom o e l
bit0, e n e s t
e cas o s e ra para PORTA
;
****V
e ct
orRe s e t****
Re s e t
org 0x00 ;Aq uí com ie nz a e l
m icro.-
got
o inicio ;Sal
t
o a inicio de m i program a.-
org 0x05 ;Orige n de l
código de program a.-
;
****Program a Principal
****
I
nicio
;
****Conf
iguración de pue rt
os ****
m ov
l
w b’00000111’ ;Conf
iguram os PORTA com o I
/
O Digit
al
.
m ov
w fCMCON ;Mov
e m os 111 a W , y W a CMCON.-
El
PC, dire ccionam ie n-
t
o de lprogram a: e s pe cif
ica
l
a dire cción de l
a ins t
rucción
q ue s e e j
e cut
ará. Cons t
a de
13bit
s , con l
o q ue e s pos ibl
e
dire ccionar h as t
a 8K pal
a-
bras , pe ro e n e lPI
C16F628
s ol
o s e im pl
e m e nt
a 2k .
L
a part
e al
t
a de lcon-
t
ador de program a ( ) no
s e pue de acce de r dire ct
a-
m e nt
e , e l
l
a de be cargars e
de s de l
os 5bit
s m ás baj
os de l
re gis t
ro l
l
am ado
(dire cción 0x0A).
En l
a cre ación de t
a-
bl
as , l
a pos ición a l
e e r de l
a
m is m a s e re al
iz a con e l
con-
t
rolde lre gis t
ro . Es t
e
re gis t
ro e s de 8bit
s , por l
o
q ue dire cciona s ol
o 256 po-
s icione s , por e l
l
o s e de be t
e -
ne r e n cue nt
a: l
a pos ición de
l
a t
abl
a e n l
a m e m oria de
program a, y e lt
am año de l
a
t
abl
a, s i nue s t
ra t
abl
a t
ie ne
m ás de 255 pos icione s , s i o
s i de be m os m ane j
ar l
os bit
s
m ás s ignif
icat
iv
os de PC [PC-
L
ATCH ].
Para de v
ol
v
e r e lv
al
or
dire ccionado s e ut
il
iz a ,
és t
a ins t
rucción de v
ue l
v
e un
v
al
or e n e l
acum ul
ador al
re -
t
ornar de una s ubrut
ina. L
a
cre ación de l
a t
abl
a s e h ará
de l
a s iguie nt
e f
orm a:
T
abl
a
addw fPCL
,f
re t
l
w V
al
or0
re t
l
w V
al
or1
re t
l
w V
al
or2
//página 0x1F
bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.-
;TRI
SA porde f
aul
te s t
a e n 11111111.-
m ov
l
w b’11111110’ ;Mov
e m os 11111110 a W .-
m ov
w fTRI
SB ;Mov
e m os W a TRI
SB.-
bcf STATUS,RP0 ;Pas o de l
Banco 1 al
Banco 0
bcf PORTB,L
e d ;Apago L
e d.-
;
****Cont
rol
de L
e d ****
Bucl
e bt
f
s c PORTA,Pul
s ador ;Pre gunt
am os s i e s t
a e n 0 l
ógico.-
got
o Apagar ;Es t
a a 1 l
ógico, Apagam os L
e d.-
bs f PORTB,L
e d ;Es t
a a 0 l
ógico, Ence nde m os L
e d.-
cal
l De m ora_ 150m s ;Mant
e ne m os pre ndido 150 m il
is e gundos
bcf PORTB,L
e d ;Apagam os L
e d
cal
l De m ora_ 150m s ;Apagam os durant
e 150 m s , Ya re al
iz am os un t
it
il
o.-
got
o Bucl
e ;T
e s t
e am os nue v
am e nt
e l
a condición de l
Pul
s ador
Apagar bcf PORTB,L
e d ;
Apagam os L
e d.-
got
o Bucl
e ;T
e s t
e am os nue v
am e nt
e l
a condicion de l
Pul
s ador
.-
;
****De m ora ****
De m ora_ 150m s
m ov
l
w 0xFF ;
m ov
w fCont
ador1 ;I
niciam os cont
ador1.-
Re pe t
icion1
m ov
l
w 0xC3 ;
m ov
w fCont
ador2 ;I
niciam os cont
ador2
Re pe t
icion2
de cf
s z Cont
ador2,1 ;De cre m e nt
a Cont
ador2 y s i e s 0 s al
e .-
got
o Re pe t
icion2 ;Si no e s 0 re pe t
im os cicl
o.-
de cf
s z Cont
ador1,1 ;De cre m e nt
a Cont
ador1.-
got
o Re pe t
icion1 ;Si no e s ce ro re pe t
im os cicl
o.-
re t
urn ;Re gre s a de l
a s ubrut
ina.-
e nd ;T
e rm inam os código.
Donde V
al
or0, V
al
or1, V
al
or-
2, ..., e t
c. s on l
os v
al
ore s
q ue q ue re m os al
m ace nar e n
l
a t
abl
a.
L
a e s t
rat
e gia a s e guir
para cons ul
t
ar al
gún v
al
or de
l
a t
abl
a e s cargar e n e la-
cum ul
ador (W ) l
a dire cción
de l
a t
abl
a donde s e e ncue n-
t
ra e l
v
al
or q ue q uie re s l
e e r y
de s pués l
l
am ar a l
a s ubru-
t
ina TABL
A (con un CAL
L
).
Adv
e rt
e ncia: l
a carga de W
no pue de s upe rar e lnúm e ro
de v
al
ore s de l
a t
abl
a, s ino
s e e s t
ará e j
e cut
ando una ins -
t
rucción e rróne a prov
ocando
un m al f
uncionam ie nt
o de l
program a.
Para apl
icar e lus o de
l
as t
abl
as v
am os a h ace r un
e j
e m pl
o donde s e cont
rol
e
un dis pl
ay de 7 s e gm e nt
os .
Un dis pl
ay e s una col
e cción
de L
EDs ubicados de f
orm a
e s t
rat
égica. Si s e l
os agrupa
unie ndo s us cát
odos s e rá de
, o bie n agru-
pando s us ánodos , un dis -
pl
ay de .
Por ot
ro l
ado e s t
os
L
EDs pue de n s e r f
abricados
e n f
orm a de punt
os o s e g-
m e nt
os , t
al
e s as í q ue s e e n-
cue nt
ran dis pl
ay de 7 s e g-
m e nt
os com o l
os de l
a f
igura
#9 :
Elprogram a q ue re al
i-
z are m os l
e e rá l
a cant
idad de
v
e ce s q ue s e act
iv
a un pul
s a-
dor y m os t
rare m os e l
re s ul
t
a-
do. Cone ct
are m os e ldis pl
ay
e n f
orm a dire ct
a, e s de cir co-
ne ct
ando e lpue rt
o B de lm i-
crocont
rol
ador a l
os pine s
de l
dis pl
ay, y l
ue go e nce nde r
cada uno de l
os s e gm e nt
os
de ldis pl
ay para v
is ual
iz ar e l
v
al
or corre s pondie nt
e . Para
e l
l
o cre are m os una t
abl
a q ue
cont
e nga l
os dis t
int
os códi-
gos para e lnúm e ro q ue ne -
ce s it
e m os v
is ual
iz ar
. Es ob-
v
io q ue con un s ol
o dis pl
ay
s ol
am e nt
e podre m os cont
ar
de 0 a 9 .
Una m ane ra m ás có-
m oda de e s cribir l
a t
abl
a de
ins t
ruccione s pue de
l
ogrars e us ando l
a dire ct
iv
a
(De f
ine T
abl
e ) de l
e ns am -
bl
ador
, l
a cualnos pe rm it
e
de f
inir una t
abl
a de dat
os
q ue s e rá s us t
it
uida por una
l
is t
a de ins t
ruccione s
; (cont
inua e n l
a página
0x22)...
//página 0x20
;****Encabe z ado ****
l
is tp=16F628A
#incl
ude P16F628A.inc
_ _ CONFI
G _ CP_ OFF & _ W DT_ OFF & _ BODEN_ ON & _ PW RTE_ ON &
_ I
NTOSC_ OSC_ NOCL
KOUT & _ DATA_ CP_ OFF& _ L
V
P_ OFF& _ MCL
RE_ ON
;
****De f
inición de v
ariabl
e s ****
Cont
ador e q u 0x20 ;Re gis t
ro para al
m ace narcont
e o
Cont
ador1 e q u 0x21 ;Re gis t
ro ut
il
iz ado e n de m ora.-
Cont
ador2 e q u 0x22 ;Re gis t
ro ut
il
iz ado e n de m ora.-
Pul
s ador e q u 7 ;De f
inim os Pul
s adorcom o e l
bit7, e n e s t
e cas o s e rá
;PORTB.-
;
****I
nicio de l
Micro ****
Re s e torg 0x00 ;Aq uí com ie nz a e l
m icro.-
got
o I
nicio ;Sal
t
o a inicio de m i program a.-
;
****T
abl
a de conv
e rs ión BCD a 7 Se gm e nt
os ****
;Se col
oca al
inicio para as e gurarubicación e n Página.-
org 0x05 ;Orige n de l
código de t
abl
a.-
BCD7SEG: ;re t
l
w b'gf
e dcba' para dis pl
ay cát
odo com ún
addw fPCL
,1 ;Se incre m e nt
a e l
cont
adorde l
program a.-
re t
l
w b'0111111' ;0
re t
l
w b'0000110' ;1
re t
l
w b'1011011' ;2
re t
l
w b'1001111' ;3
re t
l
w b'1100110' ;4
re t
l
w b'1101101' ;5
re t
l
w b'1111101' ;6
re t
l
w b'0000111' ;7
re t
l
w b'1111111' ;8
re t
l
w b'1101111' ;9
cl
rf Cont
ador ;Si l
l
e ga 10, s e re s e t
e a cont
ador
re t
l
w b'0111111' ;0
;
****Program a principal
****
;
****Conf
iguración de pue rt
os ****
I
nicio bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.-
m ov
l
w b'10000000' ;RB7 com o e nt
rada y l
os de m ás com o s al
ida.-
m ov
w fTRI
SB
bcf STATUS,RP0 ;Pas o de l
Banco 1 al
Banco 0
m ov
l
w b'0111111' ;Com ie nz a e n ce ro.-
m ov
w fPORTB
cl
rf Cont
ador
;
****T
e s t
e o de Pul
s ador****
T
e s t
e o
bt
f
s c PORTB,Pul
s ador ;T
e s t
e am os s i e s t
a a 0 l
ógico.-
got
o T
e s t
e o ;No, s e guim os t
e s t
e ando.-
//página 0x21
cal
l De m ora_ 20m s ;El
im inam os Ef
e ct
o re bot
e
bt
f
s c PORTB,Pul
s ador ;T
e s t
e am os nue v
am e nt
e .-
got
o T
e s t
e o ;Fal
s a Al
arm a, s e guim os t
e s t
e ando.-
incf Cont
ador
,1 ;Se h a pul
s ado, incre m e nt
am os cont
ador
.-
m ov
f
w Cont
ador ;pas am os cont
adora W
cal
l BCD7SEG ;L
l
am am os t
abl
a.-
m ov
w fPORTB ;Cargam os v
al
orre cibido porT
abl
a e n PORTB
bt
f
s c PORTB,Pul
s ador ;Es pe ram os a q ue s e s ue l
t
e e l
pul
s ador-**-
got
o $
-1 ;No, PCL- 1, --> bt
f
s s PORTA,Pul
s ador
.-
cal
l De m ora_ 20m s ;El
im inam os e f
e ct
o re bot
e .-
bt
f
s c PORTB,Pul
s ador ;T
e s t
e am os nue v
am e nt
e .-
got
o $
-4 ;No, Fal
s a al
arm a, v
ol
v
e m os a t
e s t
e ara q ue s e s ue l
t
e (**).-
got
o T
e s t
e o ;Si, T
e s t
e am os nue v
am e nt
e .-
;
****De m ora ****
De m ora_ 20m s
m ov
l
w 0xFF ;
m ov
w fCont
ador1 ;I
niciam os cont
ador1.-
Re pe t
icion1
m ov
l
w 0x19 ;
m ov
w fCont
ador2 ;I
niciam os cont
ador2.-
Re pe t
icion2
de cf
s z Cont
ador2,1 ;De cre m e nt
a Cont
ador2 y s i e s 0 s al
e .-
got
o Re pe t
icion2 ;Si no e s 0 re pe t
im os cicl
o.-
de cf
s z Cont
ador1,1 ;De cre m e nt
a Cont
ador1.-
got
o Re pe t
icion1 ;Si no e s ce ro re pe t
im os cicl
o.-
re t
urn ;Re gre s a de l
a s ubrut
ina.-
e nd
//página 0x22
as í, l
a t
abl
a ant
e rior pue de
q ue darcom o s igue :
En e l
m om e nt
o de pre -
s ionar un bot
ón pul
s ador o
cual
q uie r conm ut
ador e l
e ct
ro-
m e cánico e s ine v
it
abl
e q ue
s e produz ca un pe q ue ño ar-
co e l
éct
rico durant
e e lbre v
e
ins t
ant
e e n q ue l
as pl
acas
de lcont
act
o s e aproxim an o
s e al
e j
an de s us punt
os de
cone xión.
L
a duración de pe nde
de l
a cal
idad de l
os s w it
ch e s
y l
a v
e l
ocidad de acciona-
m ie nt
o, pe ro no dura m ás de
20m S. Se guim os e n e l
próxi-
m o núm e ro...
BCD7SEG: ;re t
l
w b'gf
e dcba' para dis pl
ay
;cát
odo com ún.-
addw fPCL
,1 ;I
ncre m e nt
a e l
cont
adorde l
program a.-
DT 0x3F
, 0x06, 0x5B, 0x4F
, 0x66, 0x6D, 0x7D, 0x07, 0xFF
,
0x6F
cl
rf Cont
ador
re t
l
w 0x3F
//página 0x24
s u propio nom bre indica: Pul
s e
W idt
h Modul
at
ion, q ue dich o pa-
ra e nt
e nde rnos s ignif
ica
.
Un s e rv
o e s un m ot
or
cont
rol
ado por una e l
e ct
rónica
q ue l
e e e l y q ue s e e n-
carga de m ov
e r alm ot
or de -
pe ndie ndo de l
o q ue h a l
e ído. El
s e rv
o, o m e j
or dich o l
a e l
e ct
ró-
nica de ls e rv
o col
oca alm ot
or
e n cada pos ición de pe ndie ndo
de lt
ie m po e n q ue e lpul
s o q ue
l
e inye ct
am os pe rm ane ce e n al
-
t
o. Si e lt
ie m po q ue dura pul
s o
e n e s t
ado al
t
o e s de e xact
am e n-
t
e 1.5m S, e nt
once s e ls e rv
o s e
col
oca e n e lce nt
ro de s u re co-
rrido. Si e lpul
s o dura e xact
a-
m e nt
e 0.5m S e l
s e rv
o re t
roce de
de s de e lpunt
o m e dio unos 9 0º
y s e col
oca e n s u e xt
re m o iz -
q uie rdo;y s i, por úl
t
im o, e l
pul
s o
dura e xact
am e nt
e 2.5m S e l
s e r-
v
o av
anz a de s de e lpunt
o m e -
dio unos 9 0º y s e col
oca e n s u
e xt
re m o de re ch o. A l
a re l
ación
e nt
re e lt
ie m po e n q ue pe rm a-
ne ce e n al
t
o y baj
o un pul
s o l
e
Ell
e nguaj
e C e s e lq ue
us o por de f
e ct
o para e l9 0%
de m is program as . Elq ue v
a-
m os a de s arrol
l
ar e s uno de
l
os e j
e m pl
os de cóm o h ace r
cos as con e s t
e idiom a q ue
pue de n e ncont
rar e n m i pági-
na W e b. H e us ado e l PCW
PI
CC de CCS (v
.3.242). Pe ro
com o de cía Jack ElDe s t
ripa-
dor: ¡
V
ayam os porpart
e s !
Y para e m pe z ar v
e re m os
un poco de t
e oría, q ue a ningu-
no de nos ot
ros nos v
a a v
e nir
m al
. Un s e rv
om ot
or e s un ca-
ch arro, e nt
re ot
ros m uch os , q ue
pue de m ane j
ars e inye ct
ándol
e
una s e ñal
PW M.
Si m e pre gunt
áis q ué e s
e s t
o, os re s pondo q ue “
e s m é-
t
odo de cont
rolq ue cons is t
e e n
e nv
iar un t
re n de pul
s os , cada
uno de e l
l
os con un pe riodo de
t
ie m po e n al
t
o, a 5V
, y ot
ro e n
baj
o, a 0V
;s e parados cada uno
de ls iguie nt
e un t
ie m po cons -
t
ant
e y q ue pode m os v
ariarl
e l
a
re s pe ct
iv
as duracione s q ue pe r-
m ane ce e n al
t
o y baj
o”, o com o
Es m uy probabl
e q ue e n al
gún m om e nt
o s e t
e h aya ocurrido q ue no de be ría s e r
m uy com pl
icado cont
rol
ar l
os m ov
im ie nt
os de un pe q ue ño s e rv
om ot
or de s de e l
orde nador
. Y de h e ch o, no l
o e s . En e s t
e art
icul
o Die go, con s u e s t
il
o am e no y
s e ncil
l
o, nos e xpl
ica com o h ace rl
o.
/
/por: Die go Márq ue z García-Cue rv
o /
/
die go@ ucont
rol
.com .ar
cont
rol
ars e rv
os de s de e l
PC
l
l
am am os Dut
y Cycl
e .
Con duracione s int
e r-
m e dias de lt
ie m po e n q ue
pe rm ane ce e lpul
s o e n al
t
o,
o s e a: con dis t
int
os Dut
y Cy-
cl
e , e ls e rv
o s e pos iciona e n
punt
os int
e rm e dios de s u re -
corrido. Para q ue e ls e rv
o
re s ponda corre ct
am e nt
e de -
be n l
l
e garl
e l
os pul
s os con u-
na pe riodicidad (o f
re cue n-
cia) , uno t
ras o-
t
ro, s e parados 20m S cada u-
no de l s iguie nt
e . Ade m ás ,
cada f
l
anco de s ubida de be
e s t
ar s e parado de ls iguie nt
e
f
l
anco de s ubida l
os m is m os
20m S;por l
o t
ant
o cada cicl
o
al
t
o-baj
o dura s ie m pre e xac-
t
am e nt
e 20m S y l
o q ue v
a-
riam os e s l
a re l
ación e nt
re e l
t
ie m po q ue e s t
á e n al
t
o y e n
baj
o.
De cir q ue l
os pul
s os
e s t
án s e parados unos de o-
t
ros 20m S e s e xact
am e nt
e l
o
m is m o q ue de cir q ue s e e n-
v
ían con una
, ya q ue 50H z s on 50
pul
s os por s e gundo y por l
o
t
ant
o 1000m S (q ue t
ie ne un
s e gundo) div
idido e nt
re 50
s on e xact
am e nt
e e s o: 20m S.
En e lf
ondo t
odo e s t
e
as unt
o no e s dis t
int
o de e n-
ce nde r y apagar nue s t
ro f
a-
m os o L
ED, q ue e s al
go por
l
o q ue e m pe z am os t
odos
cuando com e nz am os a t
ras -
t
e ar con l
os PI
C's , pe ro con-
t
rol
ando m uy e xact
am e nt
e
l
os t
ie m pos durant
e l
os q ue
pe rm ane ce e nce ndido y apa-
gado. Es t
o pode m os v
e rl
o
m ás f
ácily cl
aro e n l
a f
igura
#1:
Ah ora l
o q ue t
e ne m os
q ue h ace r e s s abe r cóm o po-
de m os cont
rol
ar e s t
os t
ie m -
pos e n nue s t
ro , para po-
ne r e n al
t
o (dis parar e lpul
-
s o) y e n baj
o (apagarl
o) s igui-
e ndo l
a t
abl
a de t
ie m pos de s -
crit
a m ás arriba.
Para e l
l
o v
oy a e ch ar
m ano de ls ocorrido
de lPI
C q ue nos v
a a s e rv
ir
de re l
ojpara s abe r cuándo y
durant
e cuánt
o t
ie m po t
e ngo
q ue t
e ne r m i pul
s o e n al
t
o.
Com o s oy e lm ás l
is t
o de l
a
cl
as e h e e l
e gido un div
is or
, o
Pre e s cal
e r
, de lTI
MER0 de
1:16 (m as ade l
ant
e os con-
t
aré e lpor q ué de e s t
e di-
v
is or). ElTI
MER0 f
uncionan-
do a 1:16 h ace s al
t
ar l
a
, t
am bién
conocida com o , cada
4.09 6m S.
Es t
o e s l
o m is m o q ue
de cir q ue TI
MER0 t
arda
4.09 6m S e n cont
ar de s de 0
a 255 y q ue all
l
e gar a 255
pas ar de nue v
o a 0 h ace s al
-
t
ar l
a RTCC. Cada pas o de
cont
ador de lTI
MER0, a l
o
q ue v
am os a l
l
am ar un
, t
arda 4.09 6 /256 =
0.016m S. Es t
o m e da una
paut
a bas t
ant
e f
ácilde cal
-
cul
ar q ue cons is t
e e n q ue ca-
da 5 RTCC com pl
e t
as t
e ngo
5 * 4.09 6 = 20.48m S q ue e s
un poco m ás de l
o q ue ne ce -
s it
o, q ue s on 20m S e xact
os .
Es t
o l
o pode m os con-
s e guir cont
ando
, a 4.09 6m S cada
una, y
. No pode m os h a-
ce r q ue l
a RTCC s e acabe
ant
e s de l
a cue nt
a, pe ro s i
q ue pode m os , y e s l
o q ue v
a-
m os a h ace r
, q ue
: e s t
o s e e xpl
ica
porq ue 30 * 0.016 = 0.48m S
m e nos q ue v
a cont
ar e s t
a
úl
t
im a RTCC alh abe r e m pe -
z ado de s de un v
al
or de 30
e n l
ugar de 0, l
ue go 4.09 6 -
0.48 = 3.616m S para l
a úl
t
i-
m a RTCC.
t
e ngo
cuat
ro RTCC's com pl
e t
as a
4.09 6m S y una capada a
//página 0x25
3.616 l
ue go 4 * 4.09 6 +
3.616 = 20m S. L
o q ue re al
-
m e nt
e v
oy a h ace r e s cont
ar
1 RTC com pl
e t
a, 2 RTCC
com pl
e t
as , 3 RTCC com pl
e -
t
as , 4 RTCC com pl
e t
as y
pongo e l
cont
ador de TI
MER-
0 a 30, 5 RTCC com pl
e t
as
l
ue go ya h an pas ado 20m S
e xact
am e nt
e .
A e s t
as 5 RTCC's l
e s
l
l
am o q ue s ol
o
v
oy a act
iv
ar cuando s e com -
pl
e t
e n l
as 5 RTCC's (4 com -
pl
e t
as y ot
ra m as incom pl
e -
t
a).
Ade m ás , s abie ndo
q ue cada t
ick de re l
oj ocupa
0.016m S pode m os t
raducir
l
os t
ie m pos de anch os de
pul
s os de s crit
os ant
e riorm e n-
t
e e n t
ick s de re l
oj
: as í
s on l
o m is m o q ue e s -
pe rar de re l
oj
,
e q uiv
al
e n a
de re l
oj y s on
de re l
oj
. (Re cue rda
q ue un t
ick de re l
oj e s e l
t
ie m po q ue t
arda TI
MER0 e n
cont
ar e xact
am e nt
e 1, o s e a
0.016m S).
L
a im age n ant
e rior po-
de m os ah ora conv
e rt
irl
a e n
l
a f
igura #2 e n l
as q ue h e -
m os
.
Com o v
e m os e n e l
nue v
o cronogram a: cada v
e z
q ue s e produce un
, de 4 RTC's y pico a
l
a q ue l
l
am am os ,
pone m os e n al
t
o e l
PI
N de l
a
s e ñal
de l
s e rv
o, de be m os re -
cordar q ue e s t
o s ie m pre v
a a
ocurrir e n e l
t
ráns it
o de l
con-
t
ador TI
MER0 e nt
re l
os v
al
o-
re s de 255 y 0, por l
o q ue
.
Ah ora e nt
once s s ol
o
de be m os e s pe rar e lnúm e ro
s uf
icie nt
e de t
ick s para v
ol
-
v
e ra pone rnue s t
ro a ba-
j
o. Si de s e am os q ue e l
s e rv
o
s e pos icione e n s u ce nt
ro de -
be m os m ant
e ne r e l e n
al
t
o durant
e 9 3 t
ick s de TI
-
MER0 o, l
o q ue e s l
o m is m o,
e s pe rar 1.5 m S para baj
ar e l
pul
s o.
L
a s e cue ncia q ue da
ah ora de l
a s iguie nt
e m ane ra:
- RTCC corre al
ocadam e nt
e ,
una t
ras ot
ra, de dicándos e
e xcl
us iv
am e nt
e a cont
ar cu-
ant
as de e l
l
as h an pas ado, s i
e s l
a cuart
a pone Tim e r0 a
30 para q ue l
a q uint
a s e a
m ás cort
a, s i e s l
a q uint
a po-
ne e n al
t
o f
l
agRTCC para l
o
q ue s e a ne ce s ario y com ie n-
z a de nue v
o.
- En e l
program a principal
de -
t
e ct
am os q ue f
l
agRTCC s e
h a act
iv
ado as í q ue l
o de s ac-
t
iv
am os y pone m os e n al
t
o e l
PI
N y m arcam os , con f
l
ag-
SERV
O1, q ue acabam os de
act
iv
arl
o.
- A cont
inuación, y s ie m pre
q ue f
l
agSERV
O1 e s t
é act
i-
v
ado, com probam os e lv
al
or
de TI
MER0 q ue s i e s m ayor
q ue e l q ue de s e am os , e n
nue s t
ro cas o 9 3, y cuando l
o
al
cance m os pone m os a baj
o
e l
PI
N y l
o m arcam os de s ac-
t
iv
ando f
l
agSERV
O1. H e m os
acabado.
Cada 20m S act
iv
a-
m os e lpul
s o, y t
rans curridos
1.5m S l
o de s act
iv
am os , q ue
e s e xact
am e nt
e l
o q ue q ue -
ríam os h ace r
.
El v
al
or de TI
MER0
con e l
q ue com param os para
cont
rol
ar l
a duración de cada
pul
s o e s t
á guardado e n
t
SERV
O1, q ue inicial
m e nt
e
//página 0x26
cargam os con e lnúm e ro de
t
ick s ne ce s arios para col
ocar
e ls e rv
o e n s u punt
o m e dio,
, y
q ue pode m os cam biar diná-
m icam e nt
e m e diant
e l
a re -
ce pción de com andos a t
ra-
v
és de l
a RS232.
De e s t
a f
orm a con l
os
com andos po-
de m os cam biar e lv
al
or de
a
,
y
re s pe ct
iv
am e nt
e ; y
con l
os com andos "
+ " y "
-"
v
am os incre m e nt
ando o de -
cre m e nt
ando s u v
al
or
. Con
"
r" l
e pe dim os alPI
C q ue
nos e nv
íe s u v
al
oract
ual
.
Ah ora s ol
o nos q ue -
daría im pl
e m e nt
ar t
odo e s t
o
e n un program a e n C q ue
q ue da de l
a s iguie nt
e f
orm a:
//página 0x27
/
/s e rv
o_ pw m _ 232
/
/Ej
e m pl
o con un s e rv
o FUTABA S3003
/
/Al
im e nt
ación y pul
s os a 5V
/
/Cuadro de Tie m pos :
/
/Pe riodo 20 m s (Fre cue ncia 50 H z )
/
/Anch o Pul
s o m inim o 0.5 m s
/
/Anch o pul
s o m e dio 1.5 m s
/
/Anch o pul
s o m axim o 2.5 m s
/
/TMR0 a 1:16 -> 1 RTCC cada 4.09 6 m s
/
/-> 1 Tick cada 0.09 6 /256 = 0.016 m s
/
/-> 20 m s = (4 x RTCC com pl
e t
as ) + (1 *RTCC - 30 t
ick s )
/
/Anch o Pul
s o m inim o 0.5 m s -> 31 t
ick s de TMR0
/
/Anch o pul
s o m e dio 1.5 m s -> 9 3 t
ick s de TMR0
/
/Anch o pul
s o m axim o 2.5 m s -> 155 t
ick s de TMR0
#incl
ude <16f
876a.h >
#f
us e s XT
,NOW DT
,NOPROTECT
,NOL
V
P
,PUT
,BROW NOUT
#us e de l
ay(cl
ock =4000000)
#us e s t
andard_ io(b)
#us e rs 232(baud=9 600, xm it
=PI
N_ C6, rcv
=PI
N_ C7)
#de f
ine PI
N_ SERV
O1 PI
N_ B0
cons tintAJUSTE_ FI
NO_ DE_ RTCC = 30;
cons tintt
ick s _ PUL
SO_ MI
NI
MO = 31;
cons tintt
ick s _ PUL
SO_ MEDI
O = 9 3;
cons tintt
ick s _ PUL
SO_ MAXI
MO = 155;
int
1 f
l
agRTCC = 0;
intcont
RTCC = 0;
int
1 f
l
agSERV
O1 = 0;
intt
SERV
O1 = t
ick s _ PUL
SO_ MEDI
O;
ch arKe ypre s s =0x00;
v
oid e co_ s e rv
os (v
oid);
v
oid aj
us t
a_ s e rv
o(v
oid);
#int
_ rda
v
oid rda_ is r() {
Ke ypre s s =0x00;
if
(k bh it
()){
Ke ypre s s =ge t
c();
}
}
#int
_ RTCC
RTCC_ is r(){
+ + cont
RTCC;
if
(cont
RTCC==4){
//página 0x28
//página 0x29
s e t
_ TI
MER0(AJUSTE_ FI
NO_ DE_ RTCC);
}
if
(cont
RTCC==5){
f
l
agRTCC=1;
cont
RTCC=0x00;
}
}
v
oid m ain() {
intV
al
TI
MER0;
s e t
up_ count
e rs (RTCC_ I
NTERNAL
,RTCC_ DI
V
_ 16);
e nabl
e _ int
e rrupt
s (int
_ rda);
e nabl
e _ int
e rrupt
s (gl
obal
);
print
f
("
rnSERV
O Com m ande rrnrn");
e co_ s e rv
os ();
s e t
_ TI
MER0(0);
e nabl
e _ int
e rrupt
s (I
NT_ RTCC);
do {
/
/DI
SPARO DELPUL
SO PW M
if
(f
l
agRTCC==1){
f
l
agRTCC=0;
out
put
_ h igh (PI
N_ SERV
O1);
f
l
agSERV
O1=1;
}
/
/CONTROLDE ANCH O DELPUL
SO PW M
if
(f
l
agSERV
O1==1){
v
al
TI
MER0 = ge t
_ TI
MER0();
if
(v
al
TI
MER0>t
SERV
O1){
f
l
agSERV
O1=0;
out
put
_ l
ow (PI
N_ SERV
O1);
}
}
/
/CONTROLDESDE L
A RS-232
if
(Ke ypre s s !=0x00){
aj
us t
a_ s e rv
o();
Ke ypre s s =0x00;
}
}w h il
e (TRUE);
}
v
oid aj
us t
a_ s e rv
o(v
oid){
s w it
ch (Ke ypre s s ){
/
/Pe riodos Pre f
ij
ados
cas e '1': t
SERV
O1=t
ick s _ PUL
SO_ MI
NI
MO;
bre ak ;
cas e '2': t
SERV
O1=t
ick s _ PUL
SO_ MEDI
O;
bre ak ;
Com o podéis v
e r e n
e lcom e nt
ario inicialde lcó-
digo, t
odo e s t
o e s t
á m ont
ado
para l
a f
am il
ia de s e rv
os
com pat
ibl
e s
q ue s on de l
os m ás us ados
por l
os af
icionados alradio-
cont
rol
.
Para aj
us t
ar e s t
e có-
digo a ot
ros s e rv
os s ol
o h ay
q ue cal
cul
ar e lPre e s cal
e r y
l
os t
ick s ne ce s arios para a-
j
us t
ars e a l
as caract
e rís t
icas
de és t
e . H ay s e rv
os q ue f
un-
cionan a 400H z e n l
ugar de
50H z y con anch os de pul
s o
l
ige ram e nt
e dis t
int
os a l
os ut
i-
l
iz ados aq uí. Es norm alan-
ch os de pul
s o e n l
os e xt
re -
m os de 1.00 y 2.00m S re s -
pe ct
iv
am e nt
e . Elpunt
o m e -
dio e n 1.5m S e s m uy com ún.
Ot
ro corol
ario de e s t
e
e j
e m pl
it
o e s t
riba e n l
a pos i-
bil
idad de m ane j
ar v
arios s e r-
v
os . Ut
il
iz ando l
a m is m a e s -
t
ruct
ura de y
pode m os h abil
it
ar
e lcont
rolindis t
int
o de t
ant
os
s e rv
os com o de s e e m os , t
e ni-
e ndo as í y
, y
..., e t
c. cont
rol
an-
do cada uno de e l
l
os de f
or-
m a abs ol
ut
am e nt
e s im il
ar
.
//página 0x2A
cas e '3': t
SERV
O1=t
ick s _ PUL
SO_ MAXI
MO;
bre ak ;
/
/I
nc De c Pe riodo
cas e '+ ': if
(+ + t
SERV
O1>t
ick s _ PUL
SO_ MAXI
MO){
t
SERV
O1=t
ick s _ PUL
SO_ MAXI
MO;
}
bre ak ;
cas e '-': if
(--t
SERV
O1<t
ick s _ PUL
SO_ MI
NI
MO){
t
SERV
O1=t
ick s _ PUL
SO_ MI
NI
MO;
}
bre ak ;
/
/Dam e Pe riodo act
ual
cas e 'r': e co_ s e rv
os ();
bre ak ;
}
}
v
oid e co_ s e rv
os (v
oid){
print
f
("
S=% urn"
,t
SERV
O1);
}
//página 0x2C
de s arrol
l
o. En l
a f
igura #2 po-
de m os v
e r dich o m e nú y uno de
l
os m ódul
os : 8 L
EDs con s al
i-
das conf
igurabl
e a dif
e re nt
e s
pue rt
os , l
a opción "
Al
w ays On
T
op" e s út
il
cuando s e nos l
l
e na
l
a pant
al
l
a de v
e nt
anas y q ue re -
m os q ue e s t
é s ie m pre v
is ibl
e .
Para l
a cre ación de un
m ódul
o e xt
e rno para PSI
DE e s
ne ce s ario com pre nde r al
gunos
conce pt
os de ut
il
iz ación de ob-
j
e t
os de s de .
Es una pl
at
af
orm a de
Micros of
t im pl
e m e nt
ado de s de
W indow s 9 x com o una f
orm a de
l
ograr l
a com unicación, cre ación
y de s t
rucción de obj
e t
os q ue
re s ide n e n dif
e re nt
e s cont
e xt
os
de e j
e cución (e nt
re dif
e re nt
e s a-
pl
icacione s y/
o s is t
e m as ).
ElPI
C SI
MUL
ATOR I
DE
(PSI
DE) e s una s ue rt
e de s ui-
t
e de de s arrol
l
o para l
a s im u-
l
ación de un m icrocont
rol
a-
dor re alcon m úl
t
ipl
e s h e rra-
m ie nt
as int
e rnas y e xt
e rnas
l
l
am adas m ódul
os para l
a
prue ba de l
os dif
e re nt
e s dis -
pos it
iv
os con l
os q ue s e co-
m unica e lm icro. Para re al
izar
l
a s im ul
ación, e l
PSI
DE re cre a
l
a m e m oria de program a, re -
gis t
ros , m e m oria EEPROM,
pue rt
os , e t
c., h acie ndo pos i-
bl
e l
a cons t
rucción de nue s -
t
ros proye ct
os e n f
orm a v
ir-
t
ualy s e gura ant
e s de l
an-
zarnos a cons t
ruir e l h ard-
w are .
Baj
o e lm e nú de l
PSI
DE s e l
is t
an t
odos l
os m ó-
dul
os de l
a s uit
e . Para l
a re al
iz a-
ción de m ódul
os propios e s ne -
ce s ario ut
il
iz ar l
a opción
para s ubs cribir
nue s t
ro m ódul
o ale nt
orno de
Es t
a guía e s t
á de s t
inada a program adore s principiant
e s y/
o av
anz ados q ue
de s e an cre ar m ódul
os e xt
e rnos als im ul
ador de PI
C de V
l
adim ir Sos o, e lPI
C
SI
MUL
ATOR I
DE.
/
/por: Se rgio L
uis Scarnat
t
o /
/
s e rgiol
s @ k e k o.com .ar
addons e n PI
C s im ul
at
orI
DE
L
os com pone nt
e s de
COM s e program an e n cual
-
q uie r t
ipo de l
e nguaj
e s ie m -
pre q ue ut
il
ice l
os s e rv
icios y
re q ue rim ie nt
os de COM, q ue
s on bas t
ant
e s .
Much os program ado-
re s de V
is ualBas ic 6, por e -
j
e m pl
o, conoce n m uy s upe rf
i-
cial
m e nt
e l
os conce pt
os de
COM, dado q ue l
a com pl
e -
j
idad e s t
á ocul
t
a e n l
a ps e u-
do m áq uina v
irt
ual
.
Con e l
t
ie m po l
l
e gó Mi-
cros of
t.NET y s e im pus o co-
m o un e s t
ándar para l
a cre a-
ción, com unicación, de s t
ru-
cción y not
if
icación de obj
e -
t
os re de f
inie ndo v
arios de e s -
t
os conce pt
os .
Cuando s e cons t
ruye
un obj
e t
o COM l
o q ue s e e s -
t
á h acie ndo e s de f
inie ndo u-
na int
e rf
ace , al
go as í com o
e lprot
ot
ipo de una f
unción
e n C, y s e l
a re gis t
ra e n un
cat
ál
ogo (e n e s t
e cas o e lre -
gis t
ro de W indow s ).
Para l
ograr l
a com uni-
cación e nt
re un obj
e t
o .NET
y un obj
e t
o COM e s ne ce s a-
rio cre ar una e nv
ol
t
ura (W ra-
ppe r e n ingl
és ) q ue re al
iz a
l
as conv
e rs ione s ne ce s arias
e n l
os t
ipos de dat
os de C# y
l
os de f
inidos por e l obj
e t
o
COM.
Es t
a e nv
ol
t
ura o w ra-
ppe r s e e ncarga ade m ás de
proce s ar l
os t
e m as de m ane -
j
o de t
ie m po de v
ida, punt
e -
ros a e s t
ruct
uras y f
uncione s
de l
obj
e t
o COM.
Cuando un cl
ie nt
e
COM l
l
am a a un obj
e t
o .NET
,
e lCL
R (Com m on L
e nguage
Runt
im e ) cre a e lobj
e t
o m a-
ne j
ado y un CCW (COM Ca-
l
l
abl
e W rappe r) para e lob-
j
e t
o. Dado q ue no e s pos ibl
e
para un cl
ie nt
e COM h ace r
una re f
e re ncia dire ct
a de un
obj
e t
o .NET
, de be n us ar e s t
e
CCW com o un proxy al
obj
e -
t
o m ane j
ado.
Cre am os un nue v
o
proye ct
o e n y
abrim os e larch iv
o As s e m -
bl
yI
nf
o.cs . V
e re m os q ue e l
arch iv
o cont
ie ne l
a s iguie nt
e
l
íne a:
/
/Se t
t
ing Com V
is ibl
e t
o f
al
s e
m ak e s t
h e t
ype s in t
h is a-
s s e m bl
y not v
is ibl
e t
o COM
com pone nt
s . I
f you ne e d t
o
acce s s a t
ype in t
h is as s e m -
bl
y f
rom COM, s e t t
h e Com -
V
is ibl
e at
t
ribut
e t
o t
rue on
t
h att
ype .
[as s e m bl
y:
Com V
is ibl
e (f
al
s e )]
Cam biam os por
y de e s t
a m ane ra t
odas
l
as cl
as e s públ
icas de nue s -
t
ro proye ct
os s e v
an a v
e rco-
m o obj
e t
os COM.
L
ue go podríam os cre -
arpore j
e m pl
o una nue v
a cl
a-
s e l
l
am ada "
Se rv
e r"
.
L
os at
ribut
os de e s t
a
cl
as e indican q ue s e de s e a
ge ne rar e n f
orm a t
rans pare n-
t
e l
as int
e rf
ace s q ue im pl
e -
//página 0x2D
m e nt
an (v
e r Aut
o-
m at
ion e n l
a MSDN), ya q ue
V
is ualBas ic 6 (l
e nguaj
e e n
e lq ue e s t
á program ado e l
PSI
DE) no pue de e nt
e nde r
l
as int
e f
ace s s im pl
e s
.
Se gún e l
aut
or de l
PS-
I
DE, e le nt
orno nos e nv
iará
t
re s e v
e nt
os a nue s t
ra cl
as e :
obj
e ct
init
(): I
nv
ocado por e l
PSI
DE cuando s e inicia l
a s i-
m ul
ación. L
o podre m os ut
il
i-
z ar para inicial
iz ar e le s t
ado
int
e rno de nue s t
ro m ódul
o.
obj
e ct
re f
re s h (): I
nv
ocado l
u-
e go de cada ins t
rucción s i-
m ul
ada.
obj
e ct
t
e rm (): I
nv
ocado an-
t
e s de q ue PSI
DE e l
im ine e l
m ódul
o de l
a m e m oria. Us a-
do norm al
m e nt
e para ce rrar
re curs os ut
il
iz ados .
Dado q ue C# e s un
l
e nguaj
e cas e -s e ns it
iv
e (dif
e -
re ncia m inús cul
as y m ayús -
cul
as ) e s im port
ant
e not
ar
q ue l
os m ét
odos s e de be n
e s cribir e n t
odos m inús cul
as .
Alcre ar un nue v
o f
or-
m ul
ario o pant
al
l
a principal
e n agre gam os l
a s i-
guie nt
e re f
e re ncia alproye c-
t
o. Alcre ar e s t
a re f
e re ncia a
l
os s e rv
icios de l PSI
DE e l
V
is ual
St
udio nos e s t
á cre an-
do por de t
rás l
a (w ra-
ppe r de lcl
ie nt
e .NET alob-
j
e t
o COM).
L
ue go m odif
icam os e l
código de lf
orm ul
ario agre -
gando l
a re f
e re ncia a l
os s e r-
v
icios de PSI
DE y
.
L
a v
ariabl
e
cont
e ndrá l
a ins t
ancia alob-
j
e t
o COM de l
os s e rv
icios de l
PSI
DE. Marcam os l
a cl
as e
de l
f
orm ul
ario com o Com V
is i-
bl
e (f
al
s e ) para no publ
icar
cl
as e s q ue no s on ne ce s a-
rias ni út
il
e s para e lPSI
DE.
L
ue go e n e l
cons t
ruct
orl
e da-
m os ins t
ancia a l
a v
ariabl
e
:
publ
ic MSCKe yboard() /
/
<--
cons t
ruct
or
{
I
nit
ial
iz e Com pone nt
();
_ s e rv
e r= ne w s e rv
e r();
}
//página 0x2E
us ing Sys t
e m .Runt
im e .I
nt
e ropSe rv
ice s ;
nam e s pace pics im t
e s t
{
[Cl
as s I
nt
e rf
ace (Cl
as s I
nt
e rf
ace Type .Aut
oDis pat
ch )]
[ProgI
d("
PI
CSim T
e s t
.Se rv
e r"
)]
[Guid("
F
A08D8C2-3616-483c-8B21-B7C72D6B5E7D"
)]
publ
ic cl
as s Se rv
e r
{
}
}
us ing pic18s im ul
at
oride ;
us ing Sys t
e m .Runt
im e .I
nt
e ropSe rv
ice s ;
nam e s pace pics im t
e s t
{
[Com V
is ibl
e (f
al
s e )]
publ
ic part
ial
cl
as s MSCKe yboard : Form
{
priv
at
e s e rv
e r_ s e rv
e r;
Abrim os e lobj
e ct bro-
w s e r y s e l
e ccionam os l
a l
i-
bre ría
, y l
ue go nav
e gam os
h as t
a l
a cl
as e y
nos m os t
rará q ue t
ie ne l
os s i-
guie nt
e s m ét
odos públ
icos y
dis ponibl
e s para us ar e int
e -
ract
uarcon PSI
DE.
L
os m ét
odos s on m uy
s e ncil
l
os de e nt
e nde r
, por e -
j
e m pl
o:
St
ring ge t
pic() nos de v
ue l
v
e
e n una cade na e l
nom bre de l
m icrocont
rol
ador q ue s e l
e -
ccionam os e n PI
C Sim ul
at
or
I
DE.
Ut
il
iz ando po-
dre m os acce de r alv
al
or ac-
t
ual
de un de t
e rm inado pue r-
t
o q ue l
e pas e m os com o re f
e -
re ncia (ut
il
iz ando l
a dire cción
de m e m oria q ue f
igura e n l
a
h oj
a de dat
os de lm icrocon-
t
rol
ador s e l
e ccionado). Por e -
j
e m pl
o:
/
/l
e e e l
portB
intport
b = s .ge t
re g(0xF81);
Cre ar un nue v
o pro-
ye ct
o l
l
am ado
y conf
igurarl
o. Cre ar un
nue v
o f
orm ul
ario l
l
am ado
y conf
igurarl
o. A-
rras t
rar un obj
e t
o cont
rolt
ipo
"
Pane l
" de s de l
a T
ool
box al
f
orm ul
ario. Cam biar e lback -
col
or de lpane la W h it
e . Y
por úl
t
im o agre gar al
f
orm ul
a-
rio l
a "
cl
as e s e rv
e r"
.
//página 0x2F
publ
ic v
oid Re f
re s h Dat
a()
{
intl
e ds t
at
e = s .ge t
re g(0xF81) & 0x01; /
/l
e e RB0
if(l
e ds t
at
e == 1)
pane l
1.Back Col
or= Col
or
.Re d;
e l
s e
pane l
1.Back Col
or= Col
or
.W h it
e ;
}
us ing Sys t
e m .Runt
im e .I
nt
e ropSe rv
ice s ;
nam e s pace L
e dT
e s t
Modul
e
{
[Cl
as s I
nt
e rf
ace (Cl
as s I
nt
e rf
ace Type .Aut
oDis pat
ch )]
[ProgI
d("
PI
CSim T
e s t
.Se rv
e r"
)]
[Guid("
F
A08D8C2-3616-483c-8B21-B7C72D6B5E7D"
)]
publ
ic cl
as s Se rv
e r
{
[Com V
is ibl
e (f
al
s e )]
priv
at
e L
e dT
e s tl
e dT
e s t
;
publ
ic Se rv
e r()
{
l
e dT
e s t= ne w L
e dT
e s t
();
l
e dT
e s t
.Sh ow ();
}
publ
ic v
oid obj
e ct
re f
re s h ()
{
l
e dT
e s t
.Re f
re s h Dat
a();
}
}
}
//página 0x31
f
unciona m uy bie n a 9 600 bau-
dios , y pos ibl
e m e nt
e s irv
a para
v
e l
ocidade s m ayore s .
En cas o de e m pl
e ar e s t
e
circuit
o com o part
e de un pro-
ye ct
o m ayor
, pue de cone ct
ars e
e l
pin corre s pondie nt
e a + Vcon
l
a l
ine a DTR de un pue rt
o RS-
232, q ue al
e s t
ar e n al
t
o propor-
cionará l
a al
im e nt
ación ne ce s a-
ria al
pe q ue ño conv
e rs or
.
Com o s ie m pre , h e m os
cre ado un pe q ue ño PCB (por
s us s igl
as e n ingl
és , Print
e d
Circuit
o Board) para q ue no
h aya dif
icul
t
ade s a l
a h ora de
"
f
abricar" e l
conv
e rs or
. El
dis e ño
de lm is m o pue de v
e rs e e n l
a
f
igura #2.
Para l
l
e v
ar a cabo e l
m is m o bas t
a con s ol
darl
os com -
pone nt
e s s obre e l
PCB, ut
il
iz an-
do com o guía l
a f
igura #3.
Bás icam e nt
e , e lcircui-
t
o e s un f
ot
ot
rans is t
or inf
ra-
rroj
o cuya s al
ida s e am pl
if
ica
e inv
ie rt
e para conv
e rt
ir l
os
pul
s os l
um inos os q ue re cibe
e n niv
e l
e s de t
e ns ión com pat
i-
bl
e s con l
os niv
e l
e s TTL
, con
l
os cual
e s t
rabaj
an m uch os
circuit
os int
e grados q ue nor-
m al
m e nt
e ut
il
izam os e n nue s -
t
ros proye ct
os .
Se h an e l
e gido com po-
ne nt
e s m uy com une s , por l
o
q ue no s e rá com pl
icado cons e -
guir t
odo l
o ne ce s ario para
t
e ne r e l
m ont
aj
e f
uncionando e n
una h ora o poco m ás .
Com o pue de v
e rs e e n l
a
f
igura #1, s ol
o s e dis pone de un
cone ct
or de t
re s pine s . Elpin
s upe rior e s e lq ue s e e ncarga
de proporcionar l
os 5V de corri-
e nt
e cont
inúa q ue ne ce s it
a e l
circuit
o para f
uncionar
. El
pin in-
f
e rior corre s ponde a GND. Y e l
pin ce nt
rale s e lq ue e nt
re ga l
a
s e ñale q uiv
al
e nt
e a l
a re cibida
por e lf
ot
ot
rans is t
or
. Elcircuit
o
Es t
e s e ncil
l
o circuit
o e s t
a pe ns ado para f
orm ar part
e de un proye ct
o m ayor
. Se
t
rat
a de un s im pl
e conv
e rs or de s e ñal
e s inf
rarroj
as a niv
e l
e s de t
e ns ión TTL
.
Pue de s e r e m pl
e ado, por e j
e m pl
o, para com unicar un dis pos it
iv
o port
át
ilcom o
una PAL
M con un m icrocont
rol
ador o incl
us o con un orde nador h ogare ño. L
as
apl
icacione s : un s inf
ín. ¡
Manos a l
a obra!
/
/por: Arie l
Pal
az z e s i /
/
arie l
pal
az z e s i@ gm ail
.com
conv
e rs orI
rDA a TTL
L
a l
is t
a de com pone n-
t
e s ne ce s arios para e s t
e pro-
ye ct
o no podría s e r m as cor-
t
a:
2 re s is t
ore s de 1K, 1/
8W
2 re s is t
ore s de 27K, 1/
8W
1 capacit
orce rám ico de 22nF
2 t
rans is t
ore s BC548B
1 cone ct
orde t
re s pine s
1 f
ot
ot
rans is t
or BPW 40 (o s i-
m il
ar)
Re cue rde n q ue cual
-
q uie r cons ul
t
a s obre e lf
un-
cionam ie nt
o o arm ado de e s -
t
e circuit
o l
a pue de n h ace r
e n e l . ¡
H as t
a
l
a próxim a!
//página 0x32
//página 0x33
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf
uControl Nº _ 05-.pdf

Más contenido relacionado

Similar a uControl Nº _ 05-.pdf

Revista digital riesgo y seguridad
Revista digital riesgo y seguridadRevista digital riesgo y seguridad
Revista digital riesgo y seguridadJoaquinAlejandroRodr
 
Proyecto Tesina Uso de las Tic's para el aprendizaje de Redes de Computadoras
Proyecto Tesina Uso de las Tic's para el aprendizaje de Redes de ComputadorasProyecto Tesina Uso de las Tic's para el aprendizaje de Redes de Computadoras
Proyecto Tesina Uso de las Tic's para el aprendizaje de Redes de Computadorascalvarez1
 
Nueva Ley De Ciencia Y Tecnologia1
Nueva Ley De Ciencia Y Tecnologia1Nueva Ley De Ciencia Y Tecnologia1
Nueva Ley De Ciencia Y Tecnologia1gpmeneses27
 
Plataformas de vídeo y gestores de imagenes
Plataformas de vídeo y gestores de imagenesPlataformas de vídeo y gestores de imagenes
Plataformas de vídeo y gestores de imagenesPaulandrea22
 
Ensamble De Una Computadora
Ensamble De Una ComputadoraEnsamble De Una Computadora
Ensamble De Una Computadoraleidyuly
 
Diccionario informatico
Diccionario informaticoDiccionario informatico
Diccionario informaticozamir199023
 
Open sourse
Open sourseOpen sourse
Open sourseJhema CH
 
Community Manager: la profesión de moda
Community Manager: la profesión de modaCommunity Manager: la profesión de moda
Community Manager: la profesión de modaIsabel Canyamas
 
Web 2.0
Web 2.0Web 2.0
Web 2.0Nelly
 
Web Quest Del Riachuelo2
Web Quest Del Riachuelo2Web Quest Del Riachuelo2
Web Quest Del Riachuelo2amidalax
 

Similar a uControl Nº _ 05-.pdf (20)

Revista digital riesgo y seguridad
Revista digital riesgo y seguridadRevista digital riesgo y seguridad
Revista digital riesgo y seguridad
 
Sneh riego por goteo
Sneh   riego por goteoSneh   riego por goteo
Sneh riego por goteo
 
Upb easy comunication
Upb easy comunicationUpb easy comunication
Upb easy comunication
 
Easy Comunication
Easy ComunicationEasy Comunication
Easy Comunication
 
Easy Comunication
Easy ComunicationEasy Comunication
Easy Comunication
 
Proyecto Tesina Uso de las Tic's para el aprendizaje de Redes de Computadoras
Proyecto Tesina Uso de las Tic's para el aprendizaje de Redes de ComputadorasProyecto Tesina Uso de las Tic's para el aprendizaje de Redes de Computadoras
Proyecto Tesina Uso de las Tic's para el aprendizaje de Redes de Computadoras
 
Nueva Ley De Ciencia Y Tecnologia1
Nueva Ley De Ciencia Y Tecnologia1Nueva Ley De Ciencia Y Tecnologia1
Nueva Ley De Ciencia Y Tecnologia1
 
Moodleubifer
MoodleubiferMoodleubifer
Moodleubifer
 
Plataformas de vídeo y gestores de imagenes
Plataformas de vídeo y gestores de imagenesPlataformas de vídeo y gestores de imagenes
Plataformas de vídeo y gestores de imagenes
 
La Computadora
La ComputadoraLa Computadora
La Computadora
 
Ensamble De Una Computadora
Ensamble De Una ComputadoraEnsamble De Una Computadora
Ensamble De Una Computadora
 
Diccionario informatico
Diccionario informaticoDiccionario informatico
Diccionario informatico
 
Open sourse
Open sourseOpen sourse
Open sourse
 
Nicolas Rama
Nicolas RamaNicolas Rama
Nicolas Rama
 
Community Manager: la profesión de moda
Community Manager: la profesión de modaCommunity Manager: la profesión de moda
Community Manager: la profesión de moda
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Aprendizaje en linea
Aprendizaje en lineaAprendizaje en linea
Aprendizaje en linea
 
Web Quest Del Riachuelo2
Web Quest Del Riachuelo2Web Quest Del Riachuelo2
Web Quest Del Riachuelo2
 
Fepade 18 Mayo
Fepade 18 MayoFepade 18 Mayo
Fepade 18 Mayo
 
Fepade 18 Mayo
Fepade 18 MayoFepade 18 Mayo
Fepade 18 Mayo
 

Más de electronicoelectroni (9)

uControl Nº _ 08-.pdf
uControl Nº _ 08-.pdfuControl Nº _ 08-.pdf
uControl Nº _ 08-.pdf
 
uControl Nº _ 10-.pdf
uControl Nº _ 10-.pdfuControl Nº _ 10-.pdf
uControl Nº _ 10-.pdf
 
uControl Nº _ 09-.pdf
uControl Nº _ 09-.pdfuControl Nº _ 09-.pdf
uControl Nº _ 09-.pdf
 
uControl Nº _ 01-.pdf
uControl Nº _ 01-.pdfuControl Nº _ 01-.pdf
uControl Nº _ 01-.pdf
 
uControl Nº _ 07-.pdf
uControl Nº _ 07-.pdfuControl Nº _ 07-.pdf
uControl Nº _ 07-.pdf
 
uControl Nº _ 02-.pdf
uControl Nº _ 02-.pdfuControl Nº _ 02-.pdf
uControl Nº _ 02-.pdf
 
uControl Nº _ 04-.pdf
uControl Nº _ 04-.pdfuControl Nº _ 04-.pdf
uControl Nº _ 04-.pdf
 
uControl Nº _ 03-.pdf
uControl Nº _ 03-.pdfuControl Nº _ 03-.pdf
uControl Nº _ 03-.pdf
 
uControl Nº _ 01-.pdf
uControl Nº _ 01-.pdfuControl Nº _ 01-.pdf
uControl Nº _ 01-.pdf
 

Último

La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfelabarbosa396
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptxRosiClaros
 
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.pptALEJANDRAKATHERINESA
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptCARLOSAXELVENTURAVID
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añosMaraPazCrdenas
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .MiliMili32
 
El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.SEAT
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf socialesJhonathanRodriguez10
 
Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxErandiCamperoBojorge
 
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdfgeraldoquispehuaman
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosDebora Gomez Bertoli
 

Último (11)

La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdf
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
 
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.ppt
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .
 
El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
 
Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptx
 
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
 

uControl Nº _ 05-.pdf

  • 1. Nos iniciam os e n l a ut il iz ación de e s t e l e nguaj e para aprov e ch aral m áxim o l os re curs os de l m icro Program ación de un m ódul o e xt e rno para PI C Sim ul at orI DE Se guim os program ando PI Cs e n l e nguaj e BASI C Tut orial de m ane j o de un s e rv om ot or de s de una com put adora ¿Cóm o prot e ge rnue s t ro código? ¿Qué pos ibil idade s e xis t e n de e v it are l e s pionaj e indus t rial ? L l e gó e l " día D"a l os EE.UU. Un orde nadorl e ge ndario Módul o para e l e nt re nadorde PI Cs
  • 2. h t t p://w w w . are acapacit acion. com . ar
  • 3. .s t af f .indice núm e ro = 5;año = 2; Dire cción, Re dacción y Corre cción: Arie l Pal azze s i Arge nt ina arie l pal az z e s i@ gm ail .com w w w .ucont rol .com .ar Dis e ño y Diagram ación: L ucas Mart ín Tre s e r Arge nt ina l m t re s e r@ gm ail .com Cons e j o Edit orial : Mario Sacco Arge nt ina s e rv ice .s e rv is ys t e m @ gm ail .com Maxim il iano Mart ín Sim onazzi Arge nt ina m axis im onaz z i@ gm ail .com Al e j andro Cas anov a Arge nt ina inf .pic.s uk y@ l iv e .com .ar Es paña die go@ ucont rol .com .ar Arge nt ina s e rgiol s @ k e k o.com .ar Arge nt ina ge rre ul a@ yah oo.com .ar De s carga Grat uit a. Es t e cont e nido s e rige porl a l ice ncia de Cre at iv e Com m ons “ L ice ncia Cre at iv e Com m ons At ribución-No Com e rcial -Sin Obras De riv adas 3.0” PI C bas ic (iv ) 0x05 Se guridad e n m icros Fre e s cal e 0x09 Módul o PI C Traine r18 0x0E Re s is t ore s 0x13 PI C16F628A e n as s e m bl e r(i) 0x17 Cont rol ando s e rv os de s de e l PC 0x24 Addon para PI C Sim ul at orI DE 0x2C Conv e rs orI rDA a TTL 0x31 El apagón anal ógico 0x34 1ºCongre s o v irt ual de m icros 0x39 Com m odore Am iga 0x3C
  • 4. //página 0x04 L ue go de cas i un año s in publ icars e , nue v am e nt e t ie ne s e n t us m anos un núm e ro de l a . V arios m ot iv os im pidie ron q ue pudiés e m os cum pl ir e n t ie m po y f orm a con e ll anz am ie nt o de és t e , e l q uint o núm e ro de nue s t ra publ icación. En e s os m e s e s s e h an s um ando una bue na cant idad de col aboradore s , y h e m os re cibido ce nt e nare s de corre os pre gunt ando “¿cuándo v ue l v e a apare ce r un num e ro de l a re v is t a? ” Bie n, l a re s pue s t a ya l a conoce s : a m e diados de j unio de 2009 . Fue ron m uch os m e s e s de e s pe ra, pe ro cre e m os q ue no h abrá s ido e n v ano. A l os ant igüos col aboradore s s e h an s um ando nue v os , h e m os cam biado un poco e l dis e ño de l a re v is t a, e s t am os ut il iz ando ot ro s of t w are para l a e dición de e s t e docum e nt o, pe ro e n e lf ondo, t odo s igue igual : int e nt am os m os t rar , de f orm a cl ara y orde nada, com o pue de h ace rs e al go int e re s ant e y út il con un puñado de com pone nt e s e l e ct rónicos . I gualq ue e n l a “prim e ra época”de l a Re v is t a uCont rol , h e m os h e ch o l o pos ibl e para s at is f ace r a t odos l os l e ct ore s pot e ncial e s . T e ne m os m ont aj e s com pl e t os , t ut orial e s s obre l e nguaj e s de program ación de m icrocont rol adore s , al guna q ue ot ra e xpl icación s obre e l f uncionam ie nt o de l os com pone nt e s q ue ut il iz am os e n nue s t ros proye ct os y -alf inalde l a re v is t a- un poco de h is t oria. De h e ch o, a part ir de e s t e núm e ro com e nz arán a apare ce r una s e rie de art ícul os s obre program ación de PI Cs e n e ns am bl ador (de lingl és as s e m bl e r), al go q ue m uch os h abían re cl am ado ins is t e nt e m e nt e . A l argo de e s t e t ie m po h e m os cre ado un f oro, e l , al cuals e h an s um ado m as de 1200 am igos de l a e l e ct rónica. En élh ay m at e rial com o para l l e nar v arios núm e ros de l a re v is t a, y cada día s e s um a m ás ge nt e con proye ct os m uy int e re s ant e s para com part irl os con l a com unidad. De al guna m ane ra, e l l os s on l os due ños de uCont rol , y a e l l os e s a q uie n t ie ne s q ue agrade ce rl e e l cont ar con e s t e pe q ue ño “PDF” cada dos m e s e s . L a Re v is t a uCont rol t ie ne un l ugar propio de nt ro de l Foro. L a ide a e s q ue -l ue go de l e e r e s t e e j e m pl ar- pue das opinar al l í y cont arnos q ue t e h a pare cido, q ue cos as t e gus t aron y cual e s no, q ue t e m as cre e s q ue h abría q ue agre gar , cual e s q uit ar , e t c. En de f init iv a, part icipar act iv am e nt e e n e l cont e nido y e l f orm at o de l a re v is t a, incl us o aport ando t us propios t rabaj os , proye ct os o t ut orial e s para q ue s e an incl uidos e n núm e ros v e nide ros . De nue s t ra part e int e nt are m os h ace r l o pos ibl e para s at is f ace r s us pe didos . Por l o pront o, l a Re v is t a uCont rol e s t á nue v am e nt e v iv a, y ah ora pue de s part icipar act iv am e nt e de e l l a. Nos v e m os de nt ro de un par de m e s e s . Foro uCont rol : h t t p:/ / w w w .ucont rol .com .ar/ f oros m f / inde x.ph p .e dit orial
  • 5. PI C bas ic cuart a part e Cont inuam os con nue s t ro curs il l o de program ación de m icrocont rol adore s e n l e nguaj e PI C BASI C de lPI C SI MUL ATOR I DE. En e s t a e nt re ga v e re m os com o e m pl e are s t e l e nguaj e para e s cribire n dis pl ays L CD al f anum éricos . / /por: Arie l Pal az z e s i / / arie l pal az z e s i@ gm ail .com A grande s ras gos , y a pe s ar de l a s im pl icidad q ue brinda e ldis pone r de un m is - m o int e grado e s pe cial izado e n cas i t odos l os m ode l os de dis pl ays al f anum éricos (con- cre t am e nt e , e lbe ne m érit o H I - TACH I H D44780), e le nv ío de caract e re s a una de e s t as pan- t al l as de un m icrocont rol ador e s una t are a re l at iv am e nt e com pl e j a. Es t o s e de be a q ue e s ne ce s ario re s pe t ar prot oco- l os de inicial ización y t ie m pos a raj at abl a, s o pe na de no ob- t e ne r e l re s ul t ado de s e ado. Todo e s t o h ace bas t ant e t e - dios a s u program ación e n as s e m bl e r . Pe ro af ort unadam e nt e e l dial e ct o de BASI C q ue e s t am os apre ndie ndo a ut il iz ar dis pone de un j ue go de ins t ruccione s e s - pe cial e s para m ane j ar dis pl ays . De h e ch o, y com o v e re m os a cont inuación, pode m os e s cribir e n e s t os dis pl ays e n dos m odos dif e re nt e s : e n m odo “8 bit s ” y e n m odo " 4 bit s " . Com o e s l ógico, l as ins t ruccione s de al t o niv e l de BASI C nos e v it an t oda l a com pl e j idad y cant idad de ins t ru- ccione s q ue t an bie n dom inan l os bue nos program adore s e n a- s s e m bl e r . Elm ane j o de l os L CD e n PI C BASI C s e h ace m e diant e e l us o de v arias s e nt e ncias de l t ipo “DEFI NE” . Bás icam e nt e , e s - t as ins t ruccione s s e e ncargan de e s pe cif icar alcom pil ador a q ue pine s de lm icrocont rol ador h e m os cone ct ado cada uno de l os pine s de lL CD y e n q ue f or- m at o de dat os de s e am os m ane - j arl os . L a f orm a ge nérica de l a ins t rucción DEFI NE e s l a s i- guie nt e : DEFI NE parám e t ro = v al or Donde “parám e t ro”e s e lnom - bre de l parám e t ro al q ue l e q ue - re m os as ignar e l “v al or” . Exis t e n //página 0x05
  • 6. //página 0x06 una bue na cant idad de e s t os parám e t ros , cada uno con u- na f unción de t e rm inada. L os dis ponibl e s para e lm ane j o de L CD al f anum éricos s on l os s iguie nt e s : De f ine e lnúm e - ro de bit s de l a int e rf az de dat os . Se pue de n as ignar v a- l ore s de 4 u 8, s ie ndo 4 e l v a- l orporde f e ct o. De f ine a q ue pue rt o de lPI C t e ne m os co- ne ct ado e lport de dat os de l L CD. L os v al ore s pe rm it idos s on PORTA, PORTB, PORT- C, e t c. Por de f e ct o s e as um e PORTB. De f ine cual e s e l prim e r pin de lpue rt o q ue u- s am os para e nv iar l os dat os alL CD cuando s e l e cciona- m os un bus de 4 bit s . Sol o pue de s e r e l0 (para l os pi- ne s e l 0, 1, 2 y 3) o 4 (para u- s ar l os pine s 4, 5, 6 y 7). Por de f e ct o s e as um e “4” , y e s t a ins t rucción s e ignora para L CD_ BI TS = 8. De f ine a q ue pue rt o de lPI C t e ne m os co- ne ct ado e lpin RS de lL CD. L os v al ore s pe rm it idos s on PORTA, PORTB, PORTC, e t c. Por de f e ct o s e as um e PORTB. De f ine a q ue pin de lpue rt o t e ne m os co- ne ct ado e lpin RS de lL CD. Porde f e ct o s e as um e “3” . De f ine a q ue pue rt o de lPI C t e ne m os co- ne ct ado e lpin E de lL CD. L os v al ore s pe rm it idos s on PORTA, PORTB, PORTC, e t c. Por de f e ct o s e as um e PORTB. De f ine a q ue pin de l pue rt o t e ne m os cone ct a- do e lpin E de lL CD. Por de f e ct o s e as um e “2” . De f ine a q ue pue rt o de lPI C t e ne m os co- ne ct ado e lpin RW de lL CD. L os v al ore s pe rm it idos s on 0, PORTA, PORTB, PORTC, e t c. Por de f e ct o s e as um e “0” , q ue s ignif ica “no us am os e l pin RW ” . De f ine a q ue pin de lpue rt o t e ne m os co- ne ct ado e lpin RW de lL CD. Por de f e ct o s e as um e “0” , q ue s ignif ica “no us am os e l pin RW ” . De f ine cuant os m icros e gundos de - m ora l a e s crit ura de un co- m ando e n e ldis pl ay. Por de - f e ct o, e s t e v al or e s de 5000. L a m ayoría de l os L CD f uncionan bie n con un v al or de 200 o incl us o m e nor , as í q ue conv ie ne cons ul t ar s u h oj a de dat os para col ocar e l v al or corre ct o y h ace r m ás rápidos nue s t ros program as . De f ine cuan- t os m icros e gundos de m ora l a e s crit ura de un dat o e n e l L CD. Por de f e ct o, e s t e v al or e s de 100. De f ine cuan- t os m icros e gundos de m ora l a inicial iz ación de l a e l e ct róni- ca de lL CD. Por de f e ct o, e s - t e v al ore s de 100. PI C BASI C de l PI C SI MUL ATOR I DE dis pone t am bién de una s e rie de ins t ruccione s q ue pe rm it e n e le nv ío de com andos e ins - t ruccione s al dis pl ay. L a prim e ra de e l l as e s L CDI NI T , de s t inada a inicia- l iz ar l a e l e ct rónica a bordo de ldis pl ay. Com o e s l ógico, e s t a e s l a ins t rucción q ue de - be ut il iz ars e ant e s de e nv iar cual q uie r com ando o dat o al L CD. L a f orm a de e s t a ins - t rucción e s l a s iguie nt e : L CDI NI T n Donde “n”e s e lt ipo de cur- s or q ue q ue re m os q ue m ue s - t re e ldis pl ay. Env iar un “0” h ará q ue e l curs or pe rm ane z - ca ocul t o, un “1” s ignif ica q ue e l curs or parpade ará, un “2”nos m os t rará un curs or s ubrayado, y un “3” nos pre - s e nt ará un curs or s ubrayado y parpade ando.
  • 7. L a s iguie nt e ins t ru- cción de e s t e grupo e s L CD- CMDOUT . Es t a s e e ncarga de e nv iar com andos de con- t rolalL CD. Se e m pl e a de l a s iguie nt e m ane ra: L CDCMDOUT com ando Donde “com ando”pue de s e r al guno de l os s iguie nt e s : Borra com pl e t a- m e nt e e l cont e nido de l a pan- t al l a de l L CD. L l e v a e lcurs or a l a prim e ra pos ición de lpri- m e rre ngl ón de l L CD. L l e v a e l cur- s or a l a prim e ra pos ición de l s e gundo re ngl ón de l L CD. Mue v e e lcurs or u- na pos ición a l a iz q uie rda de l a act ual . Mue v e e lcurs or una pos ición a l a de re ch a de l a act ual . De s pl az a e l cont e nido de lL CD una pos i- ción a l a iz q uie rda. De s pl az a e l cont e nido de lL CD una pos i- ción a l a de re ch a. Borra l a pri- m e ra l íne a de l L CD. Borra l a s e - gunda l íne a de l L CD. Col oca e l curs or e n l a pos ición “x”de l prim e r re ngl ón de lL CD. “x” pue de t e ne r cual q uie r v al or e nt re 1 y 40 Col oca e l curs or e n l a pos ición “x”de l s e gundo re ngl ón de l L CD. “X” pue de t e ne r cual q uie r v a- l ore nt re 1 y 40. L CDOUT e nv ía dat os aldis pl ay. Por “dat os ” e nt e n- de m os caract e re s q ue e l m ó- dul o L CD pue de m os t rar e n s u pant al l a. Si s on caract e - re s s ue l t os o cade nas de t e x- t o (incl uidos s ím bol os e s pe - cial e s y dígit os ), s im pl e m e n- t e l os pone m os e nt re com i- l l as a cont inuación de lco- m ando. Si l os q ue s e t rat a de m os t rar e s e lcont e nido de una v ariabl e , s e de be e s - cribir e lnom bre de l a v aria- bl e (pre ce dida por “#” ) a con- t inuación de lcom ando. Si s e ne ce s it an im prim ir v arias v a- riabl e s , s im pl e m e nt e s e s e - para e l nom bre de una y ot ra m e diant e una “com a” . A cont inuación v e re - m os un par de e j e m pl os de cóm o s e ut il iz an t odas e s t as ins t ruccione s . Elprim e ro de e l l os s e e ncarga de m os t rar un t e xt o parpade ando e n l a //página 0x07
  • 8. //página 0x08 prim e ra l íne a de ldis pl ay. Es un bue n e j e rcicio re corre r e l código e xpue s t o m ie nt ras s e int e nt a de ducir com o e s t á co- ne ct ado e l L CD al PI C m iran- do l as ins t ruccione s “DEFI - NE”de lprincipio de lprogra- m a. En e ls e gundo e j e m - pl o s e m ue s t ra com o im pri- m ire l cont e nido de una v aria- bl e (“A” ) e n e lL CD. Concre - t am e nt e , s e m ue s t ra un t e xt o e n e lprim e r re ngl ón, m ie n- t ras q ue e n e ls e gundo s e cue nt an l os núm e ros de l 65535 al 0. Com o h e m os v is t o, ut il iz ar un dis pl ay de e s t e t ipo de s de PI C BASI C e s una t are a m uy s e ncil l a, y alal cance de t o- dos l os l e ct ore s de uCont rol . En l a s iguie nt e e nt re - ga de e s t e t ut orialv e re m os com o ut il iz ar l os “h e rm anos m ayore s ”de e s t os L CD: l os dis pl ays gráf icos o GL CD, de 128x64 punt os . ¡ H as t a l a próxim a! DEFI NE L CD_ BI TS = 8 DEFI NE L CD_ DREG = PORTB DEFI NE L CD_ DBI T = 0 DEFI NE L CD_ RSREG = PORTD DEFI NE L CD_ RSBI T = 1 DEFI NE L CD_ EREG = PORTD DEFI NE L CD_ EBI T = 3 DEFI NE L CD_ RW REG = PORTD DEFI NE L CD_ RW BI T = 2 ' L CDI NI T 0 ‘inicial iz o e l L CD s in curs or . ' l oop: L CDOUT " w w w .uCont rol .com "‘Mue s t ra e l t e xt o… W AI TMS 1000 ‘Es pe ro un s e gundo L CDCMDOUT L cdCl e ar‘Borro e l dis pl ay W AI TMS 1000 ‘Es pe ro un s e gundo GOTO l oop ‘V ue l v o a l oop: para re pe t irinde f inidam e nt e . DEFI NE L CD_ BI TS = 8 DEFI NE L CD_ DREG = PORTB DEFI NE L CD_ DBI T = 0 DEFI NE L CD_ RSREG = PORTD DEFI NE L CD_ RSBI T = 1 DEFI NE L CD_ EREG = PORTD DEFI NE L CD_ EBI T = 3 DEFI NE L CD_ RW REG = PORTD DEFI NE L CD_ RW BI T = 2 ' DI M A AS W ORD A = 65535 ' L CDI NI T 3 ‘Curs orparpade ando W AI TMS 1000 ' l oop: L CDOUT " ¡ Es t oy cont ando!” ‘T e xt o de l prim e rre ngl ón L CDCMDOUT L cdL ine 2H om e ‘Pas o al Se gundo re ngl ón L CDOUT #A ‘Mue s t ro e l v al orde A A = A - 1 W AI TMS 250 L CDCMDOUT L cdCl e ar‘L im pio de l dis pl ay GOTO l oop
  • 9. s e guridad e n m icros f re e s cal e T odos l os q ue t rabaj am os con m icros de s de m uch o t ie m po s ie m pre t uv im os un gran probl e m a y e ra e lh e ch o de q ue cual q uie ra podia cl onar nue s t ro f irm w are . En e s t e art ícul o v e re m os com o l a e m pre s a Fre e s cal e nos brinda una s ol ución m uy práct ica. / /por: Maxim il iano Mart ín Sim onaz z i / / m axis im onaz z i@ gm ail .com cl av e , s i e s t a e s e rrone a, s e pe rm it e e lingre s o alm odo m o- nit or pe ro s ol o s e pue de re al iz ar un borrado t ot al de l a Fl as h y s i s e int e nt a l e e r e l cont e nido, s ie m pre v am os a obt e ne r com o re s ul t ado $ AD. Por e lcont rario, s i l a cl av e e s corre ct a, podre - m os v e r , grabar y borrar t odo e l bl oq ue de m e m oria Fl as h . Para v e rif icar s i e lcódigo ingre s ado e s e lcorre ct o, s ol o bas t a con dirigirnos a v e rif icar e l bit6 de l a dire cción de m e m oria RAM $ 40, s i e s t a s e t e ado (o s e a t ie ne un v al or 1) e nt once s e lcódigo f ue ingre s ado corre ct am e nt e y po- de m os acce de ra l a Fl as h . A cont inuación e xpl icare de una m ane ra s e ncil l a com o u- t il iz ar e s t e m ét odo y e v al uare - m os q ue t an s e gura e s e s t a pro- t e cción. Para al m ace nar l a cl av e s e ut il iz an 8 pos icione s de m e - m oria, y e s as s on de s de FFF6 a FFFD. Es t as dire ccione s coinci- de n con l os 4 v e ct ore s ant e rio- re s al re s e t . De pe nde de l a f am i- Te ne r s e guridad e n un m icrocont rol ador s ie m pre f ue al go bas t ant e com pl e j o. Elú- nico punt o a f av or q ue t e nia e l dis e ñador e s q ue e l q ue co- piaba e lf irm w are s ol o s e l l e - v aba e lcódigo m áq uina (t am - bién conocido com o arch iv o h e x) y e s o h acia q ue e lcódi- go s e a cas i im pos ibl e de m o- dif icar . Sin e m bargo Fre e s cal e pe ns o un poco e n nos ot ros y nos e nt re gó un bue n s is t e m a de s e guridad q ue pe rm it e prot e ge r l os dat os grabados e n l a m e m o- ria f l as h con una cont ras e ña de 8 byt e s (no e s de m as iado pe ro nos da una prot e cción de 64 bit s cas i irrom pibl e por m ét odos conv e ncional e s ). Es t a cl av e s e de be int ro- ducir cada v e z q ue s e q uie ra in- gre s ar e n e lm odo m onit or l ue - go de un POR (Pow e r On Re - s e t ). Elm odo m onit or e s e lq ue nos pe rm it e v e r y m odif icar e l cont e nido de l a m e m oria f l as h . Una v e z q ue s e ch e q ue a l a //página 0x09
  • 10. //página 0x0A l ia e s t os pue de n e s t ar im pl e - m e nt ados o no. Para t om ar un e j e m pl o: 68H C9 08GP32: FFF6/ FFF7 = V e ct or CH 0 t im e r1 FFF8/ FFF9 = V e ct orPL L FFF A/ FFFB = V e ct orI RQ FFFC/ FFFD = V e ct orSW 1 68H C9 08JL 3: FFF6/ FFF7 = V e ct or CH 0 t im e r FFF8/ FFF9 = L ibre FFF A/ FFFB = V e ct orI RQ FFFC/ FFFD = V e ct orSW 1 Pe ro, ¿por q ué us ar l os v e ct ore s com o cl av e ?Es - t a ide a s urge de cons ide rar q ue , dif ícil m e nt e , dos progra- m as coincidan e n t odos l os v e ct ore s , por e nde , no h ay q ue de s t inar 8 byt e s e s pe cíf i- cos para l a prot e cción. Pe ro e s t o t ie ne un e f e ct o s e cunda- rio y e s q ue a m e dida q ue e l program a s e m odif ica, l os v e ct ore s pue de n cam biar de pos ición, y por l o t ant o t am - bién l a cl av e . Para cada uno de l os 4 v e c- t ore s e xis t e n dos opcione s : Si ut il iz a e l v e ct or , e lv al or de be e s t ar de nt ro de lrango de l a m e - m oria FL ASH y apunt aral có- digo de l a int e rrupción corre s - pondie nt e . Es t o re s t ringe e l rango de v al ore s pos ibl e s y pe rm it e a un at acant e barre r un m e nor núm e ro de pos ibil i- dade s para de s cubrir l a cl a- v e corre ct a. L o m e j or e n e s t e cas o e s no de j ar t odos l os v e ct ore s e n v al ore s m uy pró- xim os , s ino dis t ribuirl os a l o l argo de t oda l a FL ASH . Es t o pue de re al iz ars e m e z cl ando l as rut inas a l o l argo de l pro- gram a (s i t ie ne l a FL ASH m uy com prom e t ida de e s pa- cio) o f orz ando pos icione s “raras ” m e diant e e lcom ando “ORG”e n l ugare s v acíos de l a FL ASH . Si t ie ne l a pre - caución de de s h abil it ar l a caus a de int e rrupción o e l proce s ador no l a im pl e m e n- t a, pue de pone r e lv al or q ue de s e e e n l os dos byt e s co- rre s pondie nt e s alv e ct or con “DW $ xxxx“. T e nga pre s e nt e q ue l a I RQ por de f e ct o e s t á act iv a e n e l re s e t y de be de s h abil it ars e con e l com ando m ov #2, I NTSCR. NUNCA de j e l os v e ct ore s de l a cl av e q ue no us a e n $ FF .
  • 11. Alt e ne r un código de s e guridad de 64-bit s , l a m áxi- m a cant idad de com binacio- ne s e s de 1.8×10^18. Es t e núm e ro s e obt ie ne al m ul t ipl i- car l a cant idad de com bina- cione s de cada v e ct or por 4, l as cual e s de pe nde n de s i s e ut il iz an o pue de us ars e cual - q uie r v al or , dado q ue e n e l prim e r cas o l a cant idad de com binacione s e s igual al t a- m año e n byt e s de l a FL ASH y e n e ls e gundo e s 65536 (t odos l os v al ore s pos ibl e s con 2 byt e s ). Es t a dif e re ncia e s m ás im port ant e e n l os pro- ce s adore s con m uy poca FL ASH . Ent once s : NCom bT ot al = NCom bV 1 x NCom bV 2 x Com bV 3 x Com bV 4 Es t e e s un núm e ro m uy gran- de , por l o cualpue de s upo- ne rs e q ue e s m uy dif ícil rom - pe r e s t e código. El punt o cl a- v e s e rá e nt once s q ue t an rá- pido s e pue de probar una por una h as t a cubrir t odas l as pos ibl e s com binacione s . L a única f orm a de probar u- na cl av e e s l ue go de un POR o s e a, h ay q ue q uit arl e al i- m e nt ación al m icrocont rol a- dor y e s pe rar un t ie m po an- t e s de cone ct arl o nue v am e n- t e para probar ot ra cl av e . El e nv ío de l a cl av e t am bién de - m ora un t ie m po, ya q ue de - be e nv iars e e n f orm a s e rial (e xce pt o e n e l m odo paral e l o de lGP32) q ue a 9 600 bau- dios e q uiv al e a 8.33 m S. En e lm e j or cas o t o- dos l os v e ct ore s e s t án l ibre s : NCom bT ot al = 655364 = 1.8 ×10^19 Pe or cas o de l68H C9 08GP- 32: NCom bT ot al = 322564 = 1.1 ×10^18 Pe or cas o de l68H C9 08JK1: NCom bT ot al = 65536*15363 = 2.4 × 10^14 (ya q ue alno t e ne r PL L uno de l os v e ct ore s s ie m pre e s t á l ibre ). L o cualt raducido a t ie m po da (cons ide rando q ue cada cl av e s e pue de probar e n 1 m il is e gundo y e n l a m it ad de l as prue bas e ncue nt ran e l v al orcorre ct o): Me j or cas o: 29 2 m il l one s de años . Pe or cas o de l68H C9 08GP- 32: 17 m il l one s de años . Pe or cas o de l68H C9 08JK1: 3765 años . //página 0x0B
  • 12. Es t e anál is is e s v ál ido dado q ue no s e conoce e l re - s ul t ado h as t a no h abe r ingre - s ado l os 8 byt e s . Si s e pudie - ra s abe r s i cada byt e e s co- rre ct o o no s in e s pe rar alf i- nal , bas t aría con probar 128 x 8 v e ce s = 1024 prue bas y obt e ne r l a cl av e corre ct a e n 1 s e gundo!. Siguie ndo con e l e j e m - pl o #4, e n l a dire cción FF33 s e pue de v e r l a ins t rucción NOP ins e rt ada para q ue s e produz ca e lm is m o de l ay an- t e cl av e corre ct a e incorre ct a e n am bos l az os , no pe rm i- t ie ndo inf e rir de s de f ue ra e l re s ul t ado de l t e s t e o. Sin e s t a ins t rucción podría m e dirs e e l t ie m po de s de l os byt e s e nv ia- dos y e lBREAK q ue ge ne ra e lproce s ador alf inal iz ar l a v e rif icación y obt e ne r l a cl a- v e e n pocos s e gundos En e l l is t ado de l a ROM pue - de v e rs e q ue e l m odo paral e - l o pe rm it e ace l e rar e l ingre s o de l a cl av e v acía (t odos $ FF) ponie ndo 8 re s is t ore s de “pul l -up”e n e lPORTA. Ut il i- z ar e s t e m odo para ingre s ar ot ra cl av e e s m uy com pl ica- do (aunq ue pos ibl e ) dado q ue e n l a dire cción FF23 s e l e e PA7 para v e r s i e s s e rie o paral e l o y e n FF2B s e l e e e l prim e r v al or de s de e l PORT , no e xis t ie ndo una re - f e re ncia de t ie m po de s de e l e xt e rior q ue pe rm it a s abe r cuando cam biar e lv al or de l PORTA. Una f orm a pos ibl e e s m e diant e un circuit o de re - s e t m uy pre cis o, s in us ar e l PL Ly de t e rm inando e l de l ay de t odas l as ins t ruccione s com pre ndidas e nt re cada l e c- t ura. Una v e z f inal iz ada l a cl av e , e l proce s ador e nv ía un BREAK y de s de al l í e n m ás t odos l os com andos de - be n e nv iars e e n f orm a s e rie . Com o concl us ión, po- de m os de cir q ue e s t e m ét o- do de prot e cción de l os da- t os e s m uy s e guro y pode - m os e s t ar t ranq uil os q ue nue s t ra inf orm ación s ie m pre v a a e s t ar s e gura de nt ro de un m icrocont rol ador Fre e s - cal e . Dat as h e e t de m icros 68H C- 9 08, not as de apl icación Fre e s cal e , not a de apl ica- ción I ng. Dubat t i e I ng. DiL e l l a //página 0x0C
  • 13.
  • 14. //página 0x0E m ódul o PI C Traine r18 e lcircuit o de e s t e m ódul o t am - bién t ie ne una gran s e ncil l e z . H e m os col ocado una s e rie de cone ct ore s I DC10 (e n l os bor- de s de lPCB) q ue pe rm it e n a l os m ódul os pe rif éricos acce de r a cada pin de e nt rada / s al ida de lm icrocont rol ador q ue ocupe e l z ócal o ce nt ral de l e nt re nador . L a al im e nt ación de lm ó- dul o s e h a re s ue l t o m e diant e un re gul ador de v ol t aj e int e grado de l a s e rie L M78xx, concre t a- m e nt e e lm ode l o L M7805, y u- na borne ra de dos t ornil l os pe r- m it e al im e nt ar a l a pl aca de s de una f ue nt e e xt e rna de corrie nt e cont inua. Es t a de be s e r capaz de e nt re gar una t e ns ión de e n- t re 7.5 y 15V , l o m as e s t abl e po- s ibl e . Un diodo 1N4007 s e e n- carga de prot e ge r e lre s t o de l a e t apa de al im e nt ación de una cone xión con l a pol aridad inv e r- t ida, y conde ns ador e l e ct rol ít ico de 470uF/ 16Vf il t ra e l poco ripl e q ue pue da h abe r e s capado al f il t ro de l a f ue nt e q ue e s t e m os e m pl e ando. Tal com o ocurre con l os m icrocont rol adore s de 40 pine s , l a e m pre s a Microch ip col oca l os pue rt os de l os m i- cros de 18 pine s cas i s ie m pre e n l a m is m a pos ición. Es o nos pe rm it e dis e ñar una pl a- ca “univ e rs al ” q ue pue da ut il i- zars e con una gran v arie dad de m ode l os . De h e ch o, no s o- l o podre m os h ace r e xpe rim e n- t os con l os m uy popul are s “16F” y 16C”, s ino q ue t am - bién v am os a pode r us ar un bue n s urt ido de ch ips de l a f am il ia “18F”. Sol o de be m os as e gurarnos , cons ul t ando l a h oj a de dat os de l ch ip e n cue s t ión, q ue l os pine s de al i- m e nt ación, os cil ador , e t c., e s - t én e n una pos ición q ue l os h aga com pat ibl e s con l a dis - t ribución de s e ñal e s e m pl e a- da e n e l e nt re nador . Com o pue de v e rs e e n e l diagra- m a q ue acom paña e s t e art ícul o, Se t rat a de ls e gundo m ódul o de nue s t ro e nt re nador de s t inado a al be rgar un m icrocont rol ador . En e s t e cas o, pue de n ut il iz ars e l os PI Cs de 18 pine s m ás popul are s , com o e l16F84A, e l16F88, 16F627A, 16F628A, 16F818A y m uch os m ás . Su cons t rucción no pre s e nt a dif icul t ade s , y s e guram e nt e podrás apre nde r m uch o s obre program ación de PI Cs ut il iz ándol o. ¡ Manos a l o obra! / /por: Arie l Pal az z e s i / / arie l pal az z e s i@ gm ail .com
  • 16. El re gul ador de v ol t aj e e s t á dot ado de l os dos con- de ns adore s de 0.1uF de ri- gor , y un diodo L ED, e n s e rie con un re s is t or de 220V s e e ncie nde cuando e lcircuit o e s t á al im e nt ado, para q ue s e - pam os q ue s e e ncue nt ra e n e s t a s it uación. T alcom o ocurría con l a pl aca para m icrocont rol a- dore s de 40 pine s , e n l ugar de ut il iz ar un cris t al com o os - cil ador de l PI C q ue e s t á s ie n- do e m pl e ado e n e lm ódul o, h e m os col ocado 3 de e l l os . Una s e rie de j um pe rs (ide nt i- f icados com o JP4, JP5 y JP- 6) s e e ncargan de s e l e ccio- nar e lq ue s e corre s ponda con l a f re cue ncia de t rabaj o q ue re q uie ra nue s t ro proye c- t o. L os dos conde ns adore s de 22pF com pl e t an e s t a par- t e de l circuit o, y pare ce n f un- cionar bie n con l as f re cue n- cias t ípicas ut il iz adas . En cas o de ut il iz ar PI Cs q ue f un- cione n a m ás de 20MH z , e s pos ibl e q ue h aya q ue cam - biarl os por conde ns adore s de 15pF o incl us o al go m e - nos . Aunq ue pare z ca ob- v io, t e ne m os q ue re cordar al l e ct or q ue no de be col ocar m ás de un j um pe r a l a v e z , ya q ue e n e s e cas o e l m icro- cont rol adorno f uncionará. En cuant o a l os cris t a- l e s , h e m os e l e gido (com o pue de v e rs e e n e le s q ue m a e l éct rico) v al ore s de 4MH z , 8MH z y 20MH z , pe ro nada im pide ut il iz ar ot ros . Ell e ct or pue de cam biarl os a gus t o. En cas o de ut il iz ar al - gún m ode l o de PI C q ue dis - ponga de os cil ador int e rno y s e q uie ran ut il iz ar l os pine s 15 y 16 de lm is m o (corre s - pondie nt e s , e n ge ne ral , a A6 y A7) com o pine s de e nt rada /s al ida, bas t ará con no col o- car ninguno de l os j um pe rs m e ncionados . En e lcas o de conf i- gurar l os pine s 15 y 16 com o e nt rada / s al ida, e s t os s e com port arán de l a m is m a m ane ra q ue e lpin 3, corre s - pondie nt e albit 4 de lPORT- A. Es t o h abil it a l os L EDs y pul s adore s incorporados e n e lm ódul o, pe rm it ie ndo s u u- s o com o f orm a de ingre s ar(o re pre s e nt ar) dat os a (o de ) nue s t ro program a. L os j um - pe rs JP1, JP2 y JP3 pe rm i- t e n s e l e ccionar s i cone ct a- m os alPI C e lL ED o e lpul - s ador . En cas o de s e l e ccio- nar l os pul s adore s , de be m os re cordar q ue e s t os pone n e l pin corre s pondie nt e a 5Vcu- ando s on pre s ionados . Mie n- t ras q ue e s t án e n re pos o, l as e nt radas s e m ant ie ne n a GND a t rav és de s e ndos re - s is t ore s de 10K. L os cone ct ore s s i- gue n l as m is m as norm as q ue e xpl icam os e n e l art ícul o principalde nue s t ra re v is t a núm e ro 4, as í q ue no de be - rías t e ne r probl e m as a l a h o- ra de de t e rm inar l a f unción de cada pin. Com o re gl a ge - ne ral , re cue rda q ue de l os pine s e xt e riore s de cada co- ne ct or s ol o s e e m pl e a uno (+ V ) y l os ot ros cuat ro e s t án s in cone ct ar . De l o cinco int e - rior , uno corre s ponde a GND y l os ot ros 4 a dat os . No e s m al a ide a t e ne r a m ano e l gráf ico con l a f unción de ca- da pin cuando de cidas h ace r //página 0x10
  • 17. //página 0x11 al gún program a para cargar e n e l e nt re nador . L a única e xce pción, o de s v ío de l o norm al , q ue pue - de s v e r e n e ldiagram a de l os cone ct ore s e s e n l os pi- ne s corre s pondie nt e s a RB6 (CL OCK) y RB7 (DATA), ya q ue pos e e n un re s is t or de 220 oh m s e n s e rie . Cum pl e n con l a f unción de pe rm it irpro- gram ar e lPI C m e diant e e l cone ct or I CSP s in ne ce s idad de re t irar e l cabl e q ue cone c- t a e l e nt re nador con e l m ódul o de t urno. Por s upue s - t o, s i l o de s e as pue de s re e m - pl az ar e s os dos re s is t ore s por s e ndos pue nt e s , y a ot ra cos a. Sol o de be rás q uit ar e l cabl e pl ano a l a h ora de re - program are l PI C. Elpin 4, q ue corre s - ponde alRESET (y albit 5 de l PORTA) e n l os m icrocon- t rol adore s PI C de 18 pine s (alm e nos , e n l os q ue s on com pat ibl e s con e s t e e nt re - nador), e s t a unido a un pul - s ador a t rav és de un re s is t or de 470 oh m s y a + Vm e dian- t e ot ro de 4.7K y un diodo 1N4148. Alpre s ionar e lpul - s ador , e lm icrocont rol ador s e re s e t e a. Durant e e lf unciona- m ie nt o norm alde lprogram a, e l pin e s t a a + V . El diodo im - pide l os probl e m as q ue podrí- an s urgir e nt re l as al im e nt a- cione s de lm ódul o y de lpro- gram ador al ut il iz ar e l cone c- t orI CSP . Si ya h as m ont ado al - guno de nue s t ros proye ct os , no t e ndrás ninguna dif icul t ad a l a h ora de cons t ruír t u pro- pio e nt re nador . De s carga e l arch iv o PDF corre s pondie nt e alPC de s de nue s t ra W e b, y m e diant e l a f orm a q ue m ás t e gus t e (pue de s us ar e l “m é- t odo de l a pl anch a”e xpl ica- do e n l a re v is t a núm e ro 1) t rans f iére l o a un t roz o de PCB v irge n. L ue go, albaño de cl oruro f érrico; y por úl t i- m o, una bue na l im pie z a y h ace s l os aguj e ros . A l a h ora de s ol dar l os com pone nt e s , com o s ie m - pre , re s ul t a m ás s e ncil l o s i prim e ro v as col ocando l os q ue s on m ás baj os , com o l os pue nt e s , diodos , z ócal os y re s is t ore s . De j a para e lf inal l os cone ct ore s , re gul ador de v ol t aj e y conde ns adore s . A- s e gúrat e de q ue , inv ol unt aria- m e nt e , no h ace s un pue nt e e nt re dos punt os de l circuit o. Pre s t a e s pe cialat e n- ción a l a h ora de s ol dar l os com pone nt e s q ue t ie ne n “po- l aridad” , com o l os diodos , L EDs y conde ns adore s e l e c- t rol ít icos . T am bién e s im por- t ant e q ue col oq ue s e lz ócal o de s t inado alPI C e n l a dire - cción corre ct a, ya q ue de h a- ce rl o m alpue de s conf undirt e cuando ins e rt e s e lm icrocon- t rol ador , dañándol o. Una v e z m ont ado t o- do, s in col ocar e lPI C e n s u l ugar , al im e nt a e l circuit o con una t e ns ión de e nt re 7.5 y 12V . El L ED “Pow e r” de be ría e nce nde rs e . Si e s as í, v e ri- f ica con un m ul t ím e t ro q ue l a t e ns ión e nt re l os pine s 5 (GND) y 14 (V cc) de l z ócal o de lm icrocont rol ador s e a de 5V . T am bién pue de s v e rif icar q ue e n l os cone ct ore s de e x- pans ión e s t e pre s e nt e e s a t e ns ión. Si t odo e s t a bie n, ya
  • 18. //página 0x12 t ie ne s l is t o t u e nt re nador . Ca- s o cont rario, re pas a l as s ol - daduras y pos ición de l os com pone nt e s . H e m os m ont ado ot ra pl aca m uy im port ant e de nu- e s t ro e nt re nador . Exis t e n u- na gran cant idad de proye c- t os q ue pue de n re s ol v e rs e con PI Cs cons ide rados “pe - q ue ños ”o “m e dianos ”com o l os q ue s oport a e s t e m ódul o, as í q ue s e guram e nt e podrás pas ar m uch as h oras apre ndi- e ndo con él . Re cue rda q ue para m e j orar s us pos ibil ida- de s de e nt rada /s al ida, pue - de s cons t ruir e lm ódul o de 8 e nt radas / s al idas publ icado e n e l núm e ro ant e rior .
  • 19. //página 0x13 Si bie n t e óricam e nt e e s pos ibl e cons t ruir re s is t ore s de práct icam e nt e cual q uie r v al or , por una cue s t ión pract ica s ol o s e l as cons t ruye de una s e rie de v al ore s pe rf e ct am e nt e nor- m al iz ados , y q ue com binados com o v e re m os m as ade l ant e , pe rm it e n l ograr cual q uie r v al or de re s is t e ncia q ue ne ce s it e m os para nue s t ro proye ct o. Dich as s e rie s de v al ore s s e e ncue nt ran agrupadas e n l as l l am adas “Fam il ias E” . Exis t e n v arias f am il ias de v al ore s pos ibl e s , con nom bre s com o E6, E12, E24, e t c., donde e l núm e ro q ue acom paña a l a E re pre s e nt a l a cant idad de v al o- re s dif e re nt e s q ue com pone n l a f am il ia m e ncionada. A l os v al o- re s bas e s e l os m ul t ipl ica por 10, 100, 1.000, 10.000, 100.000 o 1.000.000 para obt e ne r l os v al ore s de l os re s is t ore s con re s is t e ncias m ás al t as . En e l Práct icam e nt e no e xis - t e n e s q ue m as e l e ct rónicos e n l os q ue no s e v e an una o m ás re s is t e ncias . Es t os com po- ne nt e s t ie ne n com o f unción dis t ribuir ade cuadam e nt e l as t e ns ione s y corrie nt e s q ue cir- cul an por e lcircuit o. Su f un- cionam ie nt o s e bas a e n l a dif icul t ad q ue of re ce n alpas o de l a corrie nt e e l éct rica al gu- nos m at e rial e s , ge ne ral m e nt e con v al ore s de re s is t iv idad al - t os . Para de f inir e lv al or de un re s is t or s e ut il iz a com o uni- dad e lOh m , q ue s e re pre s e nt a por l a l e t ra grie ga om e ga (Ω), e n h onor a Ge org Sim on Oh m (1789 -1854). Oh m f ue un f ís ico y m at e m át ico al e m án q ue apor- t ó a l a t e oría de l a e l e ct ricidad l a L e y q ue re l aciona l a int e ns i- dad de una corrie nt e e l éct rica, s u f ue rz a e l e ct rom ot riz y l a re - s is t e ncia. En 1827 f orm ul ó l a l e y, q ue l l e v a s u nom bre , y q ue e s t abl e ce q ue : U = Ix R. Conocidos e n al gunos país e s com o “re s is t e ncias ” , l os m ode s t os re s is t ore s f orm an part e de práct icam e nt e l a t ot al idad de nue s t ros proye ct os . Elcódigo de col ore s q ue s e e m pl e a para de not ar s u v al or e s una de l as prim e ras cos as q ue apre nde t odo af icionado a l a e l e ct rónica. En e s t e pe q ue ño art ícul o t e cont am os t odo l o q ue ne ce s it as s abe r para e m pl e ar corre ct am e nt e e s t e com pone nt e e n t us circuit os . / /por: Arie l Pal az z e s i / / arie l pal az z e s i@ gm ail .com re s is t ore s
  • 20. cuadro núm e ro 1 f iguran l os v al ore s bas e de cada f am il ia de re s is t e ncias . L as de m ás s e rie s , com o l a (2% de t ol e rancia), y l as m e nos ut il i- z adas y agre gan v al ore s int e rm e dios a l os m e ncionados , y t ol e rancias m ás pe q ue ñas . Para no t e ne r l a ne ce - s idad de e s cribir grande s cant idade s de ce ros ale x- pre s ar v al ore s de re s is t e n- cias e l e v adas , s e ut il iz an l a l e t ra y , q ue de s ignan f act ore s m ul t ipl icat iv os de 1.000 y 1.000.000. Si a un v al or cual q uie ra de l a t abl a ant e rior , por e j e m pl o a 4,7 l e agre gam os l a obt e ne m os 4.7K q ue s ignif ican 4700 Ω. Si l e añadim os l a , nos q ue - da 4.7M q ue indica 4.700.- 000Ω. Much as v e ce s s e ut i- l iz a l a l e t ra e n l ugar de l a co- m a, porl o q ue 4.7K y 4K7 re - pre s e nt an e l m is m o v al or . Cuando nos re f e rim os a l a “t ol e rancia” q ue t ie ne un re s is t or , e s t am os h abl ando de l a m áxim a de s v iación de l v al or t e órico q ue pode m os e s pe rar e ncont rar al m e dir s u v al or . Por e j e m pl o, una re - s is t e ncia con un v al or de cl a- rado de 1KΩ y una t ol e ran- cia de l 5% t ie ne un v al or re al com pre ndido e nt re 9 50 Ω y 1050 Ω. Fís icam e nt e , l as re s is - t e ncias m ás com une s cons is - t e n e n un pe q ue ño cil indro con dos t e rm inal e s , uno e n cada e xt re m o, con anil l os de col ore s s obre s u cue rpo q ue re pre s e nt a e lv al or e n oh m s . Exis t e n bás icam e nt e dos t i- pos de códigos , uno ut il iz a t re s bandas y e lot ro cinco. En e lcódigo de cuat ro ban- das , l os dos prim e ros anil l os re pre s e nt an l os dígit os q ue f orm an e l v al or bas e de l a re - s is t e ncia, e lt e rce ro e lnúm e - ro de ce ros q ue e s ne ce s ario añadir , y e l cuart o e l v al or de l a t ol e rancia. Por e j e m pl o, s i t om a- m os una re s is t e ncia q ue t ie - ne una banda m arrón, una roj a, una naranj a y ot ra do- rada, s u v al or s e rá 12000 oh m s , con e l5% de t ol e ran- cia, dado q ue s e gún l a t abl a de col ore s e lm arrón re pre - s e nt a e l1, e lroj o un 2 y e l naranj a s ignif ica q ue s e agre - gan t re s ce ros . L as re s is t e n- cias con cinco bandas de co- l ore s s e l e e n de l a m is m a m ane ra, pe ro t e nie ndo e n cu- e nt a q ue l as t re s prim e ras s on l os dígit os q ue f orm an e l v al or bas e , l a cuart a banda l a cant idad de ce ros a agre - gary l a q uint a l a t ol e rancia. Com o de cíam os an- t e s , a part ir de l os v al ore s dis ponibl e s e n cada s e rie de re s is t e ncias e s pos ibl e obt e - ne r práct icam e nt e cual q uie r v al or q ue de s e e m os , s im pl e - m e nt e com binándol as de a //página 0x14 E6 1.0, 1.5, 2.2, 3.3, 4.7, 6.8 T ol e rancia: 20% E12 1.0, 1.2, 1.5, 1.8, 2.2, 2.7, 3.3, 3.9 , 4.7, 5.6, 6.8, 8.2 T ol e rancia: 10% E24 1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9 , 4.3, 4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, 9 .1 T ol e rancia: 5%
  • 21. dos o m as . Bás icam e nt e h ay dos m ane ras de h ace r e s t o, y s e de nom inan agrupación e n s e rie y agrupación e n pa- ral e l o. L a agrupación e n s e - rie cons is t e e n unir l as re s is - t e ncias una a cont inuación de l a ot ra, com o s e v e e n e l e s q ue m a de l a f igura corre s - pondie nt e . De e s t a m ane ra, l a corrie nt e I q ue circul a por am bas e s l a m is m a, m ie n- t ras q ue , cada re s is t e ncia pre s e nt a una dif e re ncia de pot e ncial dis t int a e nt re s us e xt re m os , q ue de pe nde rá, s e gún l a l e y de Oh m , de l os v al ore s de cada re s is t e ncia. No e s dif ícilj ugar m a- t e m át icam e nt e s um ando l os product os parcial e s de t e n- s ione s y corrie nt e s para de - m os t rar q ue l a re s is t e ncia t o- t al de l a agrupación de re s is - t e ncias e n s e rie e s igual a l a s um a de l as re s is t e ncias in- div idual e s . En s e rie : R = R1+ R2+ R3+ … + Rn En e l cas o de l a agru- pación e n paral e l o, l a cone - xión s e e f e ct úa com o m ue s - t ra l a f igura s iguie nt e , donde s e v e q ue l os t e rm inal e s s e une n e n dos punt os com une s l l am ados nodos . En e s t e ca- s o, por cada ram a, com pu- e s t a por una re s is t e ncia, cir- cul a una corrie nt e dif e re nt e , pe ro l a t e ns ión apl icada a t odas e s l a m is m a. Nue v a- m e nt e , t rabaj ando m at e m át i- cam e nt e con l as corrie nt e s y t e ns ione s s e pue de de m os - t rar q ue l a re s is t e ncia e q uiv a- l e nt e de una as ociación e n paral e l o e s igual a l a inv e rs a de l a s um a de l as inv e rs as de cada una de l as re s is t e n- cias . En paral e l o: 1/ R = 1R1+ 1/ R2+ 1/ R3+ ...+ 1/ Rn H ay dos cas os part icu- l are s q ue de be m os t e ne r e n cue nt a. L a re s is t e ncia e q ui- v al e nt e a dos re s is t ore s e n paral e l o e s ;y s i t odas l as re s is t e n- cias s on igual e s , . Por s upue s t o, nada im pide as ociar re s is t ore s de m ane ras q ue s e an una com - binación de l as dos agrupa- cione s v is t as . En e s os ca- s os , s e dice q ue l as re s is - t e ncias pre s e nt an una as o- ciación m ixt a, y para cal cul ar e lv al or de lre s is t or e q uiv a- l e nt e h abrá q ue ir re s ol - v ie ndo e lcircuit o por part e s , e n cada una de l as cual e s ut il iz are m os al guna de l as f órm ul as q ue v im os , s e gún s e a e l cas o. En e lcas o de lcircuit o de l a f igura 3, l a re s is t e ncia t ot als e cal cul aría s um ando e n prim e r l ugar l as agrupa- cione s e n s e rie R1 y R2 por un l ado, y R3 y R4 por ot ro, con l o q ue e lcircuit o q ue - daría com o una agrupación e n paral e l o de cuat ro re s is - t e ncias : R1+ R2, R3+ R4, R5 y R6. Ut il iz ando l a f órm ul a v is t a m ás arriba, pode m os cal cul ar e l v al or de l a re - s is t e ncia e q uiv al e nt e de lcir- cuit o. Ade m ás de l as re s is - t e ncias f ij as q ue ya e s t u- diam os , e xis t e n ot ras cuyo v al or pue de v ariar . Quiz ás l as m ás com une s de nt ro de e s t e grupo s e an l as l l am a- das pot e ncióm e t ros o pre s e t s //página 0x15
  • 22. q ue cons is t e n e n una pis t a de m at e rialre s is t iv o por l a q ue s e de s l iz a un curs or ca- paz de re corre rl a de un e x- t re m o alot ro als e r accio- nado por un m ando e xt e rno. L a re s is t e ncia de ldis pos it iv o s e t om a e nt re uno de l os e x- t re m os y e l curs or , por l o q ue s u v al or v aria de acue rdo a l a pos ición de e s t e . En e l ca- s o de l os pot e ncióm e t ros , e s - t án cons t ruídas para q ue s u v al or s e v aríe con f re cue n- cia, y s e ut il iz an por e j e m pl o para cont rol ar e lv ol um e n de un am pl if icador o l a l um ino- s idad de una l ám para. En e l cas o de l os pre s e t s , l a f un- ción e s de aj us t e , y s e s u- pone q ue s ol o s e m odif icara s u v al or m uy de v e z e n cu- ando, por l o q ue ge ne ral m e n- t e no dis pone n de un m ando s ino de un t ornil l o o ranura para s e r accionadas con un de s t ornil l ador . L a f orm a e n q ue v aria l a re s is t e ncia a m e - dida q ue de s l iz am os e lcur- s or pue de s e r l ine al o l ogarít - m ica. En al gunas apl icacio- ne s , com o e laudio, s e ut i- l iz an pot e ncióm e t ros l ogarít - m icos dado q ue s e aj us t an m e j or a l as caract e rís t icas de l oído h um ano. T am bién e xis t e n re s is - t e ncias para us os e s pe cial e s q ue v arían s u v al or con l a t e m pe rat ura. Se f abrican de dos t ipos , de pe ndie ndo s i s u re s is t e ncia aum e nt a o dis m i- nuye con l a t e m pe rat ura. Re - cibe n e lnom bre de C y , s e gún t e ngan un coe f i- cie nt e ne gat iv o (s u v al or dis - m inuye al aum e nt arl a t e m pe - rat ura) o pos it iv o de t e m pe ra- t ura. L as (L igh t De - pe nde nt Re s is t or , o Re s is t or De pe ndie nt e de l a L uz ) s on, com o s u nom bre l o indica, re - s is t ore s cuyo v al or v aria de acue rdo al niv e l de l uz al q ue e s t án e xpue s t as . L os v al ore s e xt re m os q ue adopt a una L DR cuando e s t a e n t ot al os - curidad o e xpue s t a a pl e na l uz v arían de un m ode l o a o- t ro, y s e s it úan e n e lrango de l os 50Ω a 1000Ω (1K) cuando e s t án il um inadas con l uz s ol ar y v al ore s com pre n- didos e nt re 50.000Ω (50K) y y v arios m e goh m ios (m il l o- ne s de oh m s ) cuando e s t á a os curas . Por úl t im o, alm om e n- t o de s e l e ccionar una u ot ra re s is t e ncia e n nue s t ros pro- ye ct os de be m os cons ide rar l a pot e ncia m áxim a para l a q ue f ue cons t ruída. En e f e c- t o, l a caída de t e ns ión q ue s e produce cuando l a corri- e nt e at rav ie s a l a re s is t e ncia s e t rans f orm a e n cal or , y e l com pone nt e e l e gido de be s e r capaz de s oport arl o s in de s t ruirs e . Para pot e ncias pe q ue ñas , de 1/ 8 de W at t a 1 W at t s ue l e n s e r f abricadas a part ir de una barra de car- bón, pe ro l as q ue s on capa- ce s de dis ipar pot e ncias m a- yore s s e cons t ruye n arrol l an- do un h il o re s is t iv o s obre un cil indro m e t ál ico, t odo cubie r- t o por un e s m al t e v it rif icado. Es t e t ipo de re s is t e ncia pue - de n l l e gar a dis ipar h as t a 100W , y a m e nudo e s ne ce - s ario al gún t ipo de m e canis - m o para prov e e r l a v e nt il a- ción ade cuada. //página 0x16
  • 23. //página 0x17 ElPI C16F628 cue nt a con dos pue rt os A y B, al gunos pine s de e s t os pue rt os de e nt rada/ s al ida s on m ul t ipl e xados con una f un- ción al t e rnat iv a de l os pe rif é- ricos de ldis pos it iv o. Cuando un pe rif érico e s act iv ado e lpin no pue de s e r us ado para propós i- t os ge ne ral e s de e nt rada/ s al ida. ElPUERTO A e s un pu- El PI C16F628A e s un m i- crocont rol adorde 8 bit s de Mi- croch ip. Pe rt e ne ce a l a f am il ia de rango m e dio, e s m uy e co- nóm ico y dis pone de v arios pe rif éricos int e grados q ue nos pe rm it irán re al izar una gran v arie dad de apl icacio- ne s . Cue nt a con un s e t de ins t ruccione s re ducido, t an s ol o 35, l o q ue nos f acil it ará s u program ación. Aq uí s e pre s e nt a un t ut orialde lPI C16F628A e n e lcuals e da una pe q ue ña int roducción al m icrocont rol ador y l ue go ire m os a l o int e re s ant e , l a program ación. Se com e nz ará de s de ce ro h as t a abarcar cada m ódul o q ue t ie ne , s ie m pre con un e j e m pl o s e ncil l o de apl icación. L a ide a e s ir adq uirie ndo conce pt os a m e dida q ue l os ut il iz are m os e n e lde s arrol l o de l os e j e m pl os , de e s t a m ane ra l o q ue s e pre s e nt a t e óricam e nt e l o as ociam os inm e diat am e nt e con l a pract ica. / /por: Al e j andro Cas anov a / / inf .pic.s uk y@ l iv e .com .ar e l PI C16F628A e n as s e m bl e r prim e ra part e - Conj unt o re ducido de ins t ruccione s (RI SC). - Os cil adorint e rno de 4MH z . - Ope ra con una f re cue ncia de re l oje xt e rna de h as t a 20 MH z (cicl o de m áq uina de 200ns ). - Me m oria de program a: 2048 l ocacione s de 14 bit s . - Me m oria de dat os : RAM de 224 byt e s (8 bit s porre gis t ro). - Me m oria EEPROM: 128 byt e s (8 bit s porre gis t ro). - St ack de 8 niv e l e s . - 16 T e rm inal e s de I / O q ue s oport an corrie nt e s de h as t a 25 m A. - 3 T e m poriz adore s . - Módul o de com unicación s e rie (USART). - Módul o CCP(Capt ura/ Com paración/ PW M). - 2 com paradore s anal ógicos , 1 re f e re ncia de v ol t aj e program abl e .
  • 24. e rt o de e nt rada de 8 bit s . T o- dos l os pine s , e xce pt o , pue de n s e r conf igurados co- m o e nt rada o s al ida con l a re s pe ct iv a conf iguración de l re gis t ro TRI SA. Elpin e s t a m ul t ipl e xado con l a e n- t rada de re l oj y com o s al ida s e com port a com o co- l e ct or abie rt o, por l o t ant o de - be m os pone r una re s is t e ncia pul l -up a V dd. El pin e s un dis parador Sch m it t s ol o de e nt rada y no cue nt a con cont rol adore s de s al ida, s e - gún l a conf iguración pue de s e r us ado com o (re - s e t e xt e rno), y ade m ás s irv e t am bién para e nt rar e n e l m odo de program ación cuan- do s e apl ica una t e ns ión iguala V pp (13,4V m ínim o). L os de m ás pine s de lpue rt o t rabaj an de e nt rada com o dis parador de Sch m it t Tri- gge r y com o s al ida l ógica CMOS. L os pine s s irv e n de e nt rada para l os com paradore s anal ógicos y por de f e ct o v ie ne n as ocia- dos a e l l os , as í q ue para us arl os com o I / O digit alde - be n s e r pre v iam e nt e conf igu- rados . L os pine s y cuando no s e ut il iz a os ci- l ador e xt e rno s e us an para e nt rada e xt e rna de re l oj y s al ida de os cil ador , de pe ndi- e ndo l a conf iguración q ue s e us e . El e s un pue rt o bidire ccional de 8 bit s , de l cual por s of t w are s e pue de n h abil it ar re s is t e ncias de pul l -up int e rnas . El PUER- TO B e s m ul t ipl e xado con in- t e rrupcione s e xt e rnas , t al e s com o de t e cción de f l anco por , cam bio de niv e l por a , m ódul o , e lm ódul o y e lre l oj de e nt rada/ s al ida . L os de - m ás pine s s on: , pin de al im e nt ación pos it iv a (de 2 a 5,5 V cc) y , pin de al i- m e nt ación ne gat iv a. L a arq uit e ct ura q ue ut il iz a e lPI C e s l a H arv ard, e s t a dis pone de dos m e m o- rias inde pe ndie nt e s , una q ue cont ie ne s ol o ins t ruccione s (m e m oria de program a) y l a ot ra s ol o cont ie ne dat os (m e - m oria RAM). Am bas dis po- ne n de s us re s pe ct iv os bu- s e s de acce s o y e s pos ibl e re al iz ar ope racione s de acce - s o s im ul t áne am e nt e e n am - bas . ElPI C16F628A pos e e un cont ador de program a de 13 bit s , capaz de dire ccionar un e s pacio de m e m oria de 8Kx14. Sin e m bargo, única- m e nt e l os prim e ros 2Kx14, de s de 0000h h as t a 07FFh , e s t án im pl e m e nt ados . L os v e ct ore s de re s e t e int e rrup- ción e s t án e n l as dire ccione s 0000h y 0004h , re s pe ct iv a- m e nt e . L a pil a (s t ack ) e s de 8 niv e l e s , l o cual s ignif ica q ue pue de s oport ar h as t a 8 dire ccione s de re t orno de s ubrut ina. ElPI C16F628A pos e e un e s pacio de m e m oria RAM //página 0x18
  • 25. de dat os de 512x8, div idido e n 4 bancos de 128 byt e s ca- da uno. Sin e m bargo, s ól o e s t án im pl e m e nt ados 330 by- t e s , corre s pondie ndo 224 al áre a de l os re gis t ros de pro- pós it o ge ne ral(GPR) y 36 al áre a de l os re gis t ros de f un- ción e s pe cial (SFR). L os re s - t ant e s 70 byt e s im pl e m e nt a- dos s on e s pe j os de al gunos SFR de us o f re cue nt e , as í com o de l os úl t im os 16 GPR de l banco 0. Por e j e m pl o, l as pos icione s 0Bh , 8Bh , 10Bh y 18Bh corre s ponde n alre gis - t ro I NTCON, de m odo q ue u- na ope ración h e ch a e n cual - q uie ra de e l l os , s e re f l e j a au- t om át icam e nt e e n l os ot ros . Se dice , e nt once s , q ue l as pos icione s 8Bh , 10Bh y 18Bh e s t án m ape adas e n l a pos ición 0Bh . Es t a caract e - rís t ica agil iz a e l acce s o a e s - t os re gis t ros , pue s t o q ue no s ie m pre e s ne ce s ario e s pe ci- f icar e lbanco donde s e e n- cue nt ran. L a s e l e cción de l banco de ubicación de un SFR o un GPR part icul ar s e h ace m e diant e l os bit s 6 (RP1) y 5 (RP0) de lre gis t ro STATUS. ElPI C16F628 h a s ido cons t ruído con caract e rís t i- cas t al e s q ue s e pue de con- f igurar para f uncionar e n m o- dos de ope ración q ue no ne - ce s it an com pone nt e s e xt e r- nos t al e s com o e lcircuit o de re l oj o de re s e t . Es t o im pl ica q ue e s ne ce s ario conf igurar s u m odo de ope ración a t ra- v és de una pal abra de conf i- guración. L a pal abra de conf igu- ración s e e ncue nt ra m ape a- da e n l a dire cción 2007h de l a m e m oria de program a y s ol o pue de s e r acce s ada du- rant e l a program ación de dis - pos it iv o. L os m icrocont rol ado- re s dis pone n de un pin de s t i- nado para e j e cut ar un RE- SET e n e lcas o de una f al l a o cuando s e a ne ce s ario apl i- carl e un RESET . En e lcas o de l de be e s t ar h abil it ado por f us e . Es t a e nt rada e s t á ne gada, porl o cual t e ndre m os q ue co- ne ct arl o a l a al im e nt ación po- s it iv a s i q ue re m os q ue nue s t ro PI C f uncione . Una f orm a de t e ne r cont rols obre e l RESET e s ut il iz ar e l circui- t o de l a f igura #7. //página 0x19 Bit s de prot e cción de código. L os bit s 13-10 e ncar- gados de prot e ge rl a m e m oria de program a. Bitde prot e cción para código de dat os . 1 = Prot e cción de s h abil it ada de l a m e m oria de dat os . 0 = Prot e cción h abil it ada e n l a m e m oria de dat os . H abil it ación de l a program ación porv ol t aj e baj o. 1 = L V Ph abil it ado, l a t e rm inal RB4/ PGM t ie ne t al f unción. 0 = L V P: de s h abil it ado, RB4/ PGM e s una t e rm inal I / O. Bitde re s e tporv ol t aj e de al im e nt ación baj o. 1 = Re s e tporBOD h abil it ado 0 = Re s e tporBOD de s h abil it ado H abil it ación de l t e rm inal de re s e t . 1 = T e rm inal de re s e te n RA5. 0 = MCL R cone ct ado int e rnam e nt e a V dd, RA5 e s un pin I / O. Bitde h abil it ación de t e m poriz adoral e ne rgiz ar . 1 = PW RTh abil it ado. 0 = PW RTde s h abil it ado. Bit s de h abil it ación de W at ch -Dog. 1 = W DTh abil it ado. 0 = W DTde s h abil it ado. Se l e cción de l t ipo de os cil ador .
  • 26. A cont inuación v am os a de s arrol l ar nue s t ro prim e r program a. Es t e act iv ará un L ED cone ct ado a RB0 s ie m - pre q ue e lint e rrupt or cone c- t ado a RA0 e s t e ce rrado. Para e l l o v am os a ne ce s it ar e l circuit o de l a f igura #8. En t e ne m os co- ne ct ado un pul s ador de f or- m a q ue cuando l o pul s e m os s e int roduz ca un ce ro l ógico e n e l pin y cuando no l o pul - s e m os s e int roduz ca un uno l ógico. T e ne m os un L ED con s u corre s pondie nt e re s is t e n- cia l im it adora de corrie nt e e n e l pin . Prim e ro q ue nada de - be m os e s pe cif icar con q ue m icrocont rol ador e s t am os t rabaj ando, e s t o l o re al iz a- m os e n l as dos prim e ras l í- ne as : ;****Encabe z ado **** l is tp=16F628A #incl ude P16F628A.inc En e l arch iv o s e e ncue nt ran l as de f inicione s de l as dire ccio- ne s de l os re gis t ros e s pe cíf i- cos , l os bit s ut il iz ados e n ca- da re gis t ro y l os f us ibl e s de l m icrocont rol ador . H ay cie rt os as pe ct os de l PI C q ue h an de s e r act iv ados o de s act iv ados m e - diant e h ardw are a l a h ora de program arl o. Es t o q uie re de - cir q ue no s e pue de n v ol v e r a cam biar h as t a q ue e lch ip no s e re program e de nue v o. En e s t e e j e m pl o us am os , CP de s h abil it ada, W at ch dog apa- gado, Bode n h abil it ado, Po- w e r-on h abil it ado, Os cil ador int e rno, CP de dat a de s h abil i- t ada, L V P de s h abil it ado y MCL R h abil it ado. _ _ CONFI G _ CP_ OFF& _ W DT_ OFF& _ BODEN_ ON & _ PW RTE_ ON & _ I NTOSC_ OSC_ NOCL KOUT & _ DATA_ CP_ OFF& _ L V P_ OFF& _ MCL RE_ ON En e s t e cas o s ol o de - f inire m os bit s , por e j e m pl o L ED y Pul s ador . Para organiz ar nue s - t ro program a l o e s t ruct urare - m os de l a s iguie nt e m ane ra: 1- Niv e l 2- Dire ct iv a 3- Ope randos 4- Com e nt arios //página 0x1A
  • 27. Para l a conf iguración ne ce - s it am os l os s iguie nt e s re gis - t ros : . Por de f e ct o l os pue rt os q ue - dan conf igurados com o e n- t radas de dat os y s i s e q uie - re cam biar h ay q ue conf igu- rarl os . Es t o s e re al iz a con l os re gis t ros y , t e nie ndo e n cue nt a q ue s i s e as igna un ce ro (0) a un pin, q ue dará com o s al ida y s i s e as igna un uno (1), q ue dará com o e nt rada. Ade m ás e n e s t e m icrocont rol ador de be - m os conf igurar l os pine s a , q ue por de f e ct o v ie ne n as ociados a l os com - paradore s , e s t o s e re al iz a con e l re gis t ro . En nue s t ro cas o s e ne ce s it a col ocar igual a 11111 (o s e pue de de j ar por de f e ct o), 111 e n (para t odos l os pine s I / O digi- t al e s ) y 11111110. A- h ora bie n, cuando e lPI C a- rranca s e e ncue nt ra e n e l banco 0, y s e e ncue nt ran e n e lbanco 1, e nt once s de be m os cam biar de banco. Es t o s e re al iz a con e lbit de lre gis t ro . Si e s t e s e pone un ce ro a , e s t are m os e n e l banco 0. Si s e col oca un u- no, e s t are m os e n e l banco 1. Es e lre gis t ro m ás im - port ant e q ue t ie ne e lm icro- cont rol ador y e s de nom inado acum ul ador . Es t e re gis t ro al - m ace na t e m poral m e nt e uno de l os dat os q ue int e rv ie ne n e n l a ope ración de l a . AL U com o indica s u nom bre , re al iz a l as ope racione s arit - m ét icas y l ógicas pre v is t as e n l a col e cción de ins t ruccio- ne s de l m icrocont rol ador . Ya conf igurado nue s - //página 0x1B ; ****De f inición de v ariabl e s **** L e d e q u 0 ;De f inim os L e d com o e l bit0 de un re gis t ro, e n e s t e cas o PORTB. Pul s ador e q u 0 ;De f inim os Pul s adorcom o e l bit0, e n e s t e cas o s e rá para PORTA. Figura 7. Circuit o de re s e t . ; ****V e ct orRe s e t**** Re s e t org 0x00 ;Aq uí com ie nz a e l m icro.- got o inicio ;Sal t o a inicio de m i program a.- org 0x05 ;Orige n de l código de program a.- ; ****Program a Principal **** I nicio ; ****Conf iguración de pue rt os **** m ov l w b’00000111’ ;Conf iguram os PORTA com o I / O Digit al . m ov w fCMCON ;Mov e m os 111 a W , y W a CMCON.- bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.- ;TRI SA porde f aul te s t a e n 11111111.- m ov l w b’11111110’ ;Mov e m os 11111110 a W .- m ov w fTRI SB ;Mov e m os W a TRI SB.- bcf STATUS,RP0 ;Pas o de l Banco 1 al Banco 0 bcf PORTB,L e d ;Apago L e d.-
  • 28. t ro PI C, v am os a re al iz ar l a rut ina q ue e j e cut ará. Aq uí s o- l am e nt e e n un bucl e inf init o t e s t e am os cont inuam e nt e e l e s t ado de lpul s ador , y s e gún s u e s t ado s e e nce nde rá o a- pagará e l L ED. Cicl o de m áq uina. Es l a unidad bás ica de t ie m po q ue ut il iz a e lm icrocont rol a- dor y e q uiv al e a 4 cicl os de re l oj . Ós e a, s i t e ne m os un os cil ador de 4 MH z , e lcicl o de re l oj (T os c) s e ria de 250- ns y e l cicl o de m áq uina (T cy) de 1 us . //página 0x1C ; ****Cont rol de L e d **** Bucl e bt f s c PORTA,Pul s ador ;Pre gunt am os s i e s t a e n 0 l ógico.- got o Apagar ;Es t a a 1 l ógico, Apagam os L e d.- bs f PORTB,L e d ;Es t a a 0 l ógico, Ence nde m os L e d.- got o Bucl e ;T e s t e am os nue v am e nt e l a condición de l Pul s ador .- Apagar bcf PORTB,L e d ; Apagam os L e d.- got o Bucl e ;T e s t e am os nue v am e nt e l a condición de l Pul s ador .- e nd ;T e rm inam os código.- ;****Encabe z ado **** l is tp=16F628A #incl ude P16F628A.inc _ _ CONFI G _ CP_ OFF& _ W DT_ OFF& _ BODEN_ ON & _ PW RTE_ ON & _ I NTOSC_ OSC_ NOCL KOUT & _ DATA_ CP_ OFF& _ L V P_ OFF& _ MCL RE_ ON ; ****De f inición de v ariabl e s **** L e d e q u 0 ;De f inim os L e d com o e l bitce ro de un re gis t ro, e n e s t e cas o ;PORTB.- Pul s ador e q u 0 ;De f inim os Pul s adorcom o e l bit0, e n e s t e cas o s e rá para PORTA ; ****V e ct orRe s e t**** Re s e t org 0x00 ;Aq uí com ie nz a e l m icro.- got o inicio ;Sal t o a inicio de m i program a.- org 0x05 ;Orige n de l código de program a.-
  • 29. L as ins t ruccione s de l m icrocont rol ador ne ce s it an 1 cicl o de m áq uina e xce pt o al - gunas e xce pcione s , com o s on l os com andos q ue incl u- ye n s al t os (got o, cal l , bt f s s , bt f s c, re t urn, e t c.) q ue ne ce - s it an dos cicl os de m áq uina. Para e xpl icar com o s e cal cul a e m pe z are m os con u- na de 1 s ol o cicl o, ós e a: Ent re parént e s is s e m ue s t ra e lnúm e ro de cicl os q ue de m ora cada ins t ruc- ción. De m ane ra q ue e lnú- m e ro de cicl os de ins t rucción T s ub cons um idos por l a ru- t ina, incl uye ndo l os 2 cicl os de l a l l am ada (CAL L ) s e rán: Donde T cy e s l a duración e n s e gundos de un cicl o de ins - t rucción. Ut il iz ando un os cil a- dor de 4 MH z l a m ayor dura- ción pos ibl e e s de 770us , con 0xXX = 0xFF . Para l ograr de m oras de m ayor duración de be n ut i- l iz ars e l az os anidados , poni- e ndo un l az o de de m ora de n- t ro de ot ro. V e am os e le j e m - pl o de l a página s iguie nt e pa- ra pode rcom pre nde rl o: //página 0x1D ; ****Program a Principal **** I nicio ; ****Conf iguración de pue rt os **** m ov l w b’00000111’ ;Conf iguram os PORTA com o I / O Digit al . m ov w fCMCON ;Mov e m os 111 a W , y W a CMCON.- bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.- ;TRI SA porde f aul te s t a e n 11111111.- m ov l w b’11111110’ ;Mov e m os 11111110 a W .- m ov w fTRI SB ;Mov e m os W a TRI SB.- bcf STATUS,RP0 ;Pas o de l Banco 1 al Banco 0 bcf PORTB,L e d ;Apago L e d.- ; ****Cont rol de L e d **** Bucl e bt f s c PORTA,Pul s ador ;Pre gunt am os s i e s t a e n 0 l ógico.- got o Apagar ;Es t a a 1 l ógico, Apagam os L e d.- bs f PORTB,L e d ;Es t a a 0 l ógico, Ence nde m os L e d.- got o Bucl e ;T e s t e am os nue v am e nt e l a condición de l Pul s ador .- Apagar bcf PORTB,L e d ;Apagam os L e d.- got o Bucl e ;T e s t e am os nue v am e nt e l a condición de l Pul s ador .- e nd ;T e rm inam os Código.- De m ora_ xxus m ov l w 0xXX ;Cargam os v al orXX q ue cont rol a duración (1) m ov w fCont ador ;I niciam os Cont ador(1) Re pe t icion De cf s z Cont ador ;De cre m e nt a cont adory s i e s ce ro s al e (1 s i no s al e , 2 s i s al e ) got o Re pe t icion ;No e s 0, re pe t im os (2) re t urn ;Re gre s am os de l a s ubrut ina (2)
  • 30. En e s t e e j e m pl o s e a- pl icará l a rut ina de de m ora. Se h ará t it il ar un L ED cone c- t ado a RB0 s ie m pre q ue e l in- t e rrupt or cone ct ado a RA0 e s t e ce rrado. El h ardw are ne - ce s ario e s idént ico al de l pri- m e re j e m pl o. //página 0x1E De m ora_ xx m ov l w 0xXX ;(1) m ov w fCont ador1 ;(1) Re pe t icion1 m ov l w 0xYY ;(1) m ov w fCont ador2 ;(1) Re pe t icion2 de cf s z Cont ador2,1 ;(1 s i no s al e , 2 s i s al e ) got o Re pe t icion2 ;(2) de cf s z Cont ador1,1 ;(1 s i no s al e , 2 s i s al e ) got o Re pe t icion1 ;(2) re t urn ;(2) L a duración de e s t a rut ina e n cicl os de re l oj e s t á dada por l a s iguie nt e f órm ul a, y de be - rá s e r: Ts ub = 2 + 1 + 1 + (0xXX)*[1 + 1 + (0xYY - 1)*(1 + 2) + 2 + 1 + 2]+ [1 + 1 + (0xYY - 1)*(1 + 2) + 2 + 2 + 2]cicl os L o cuals e pue de s im pl if icar com o s igue : [b] Ts ub = [0xXX*((0xYY - 1)*3 + 7) + 5]Tcy[/ b] En e s t e cas o, para os cil ador de 4MH z e lm áxim o q ue s e pue de cons e guir e s de apro- xim adam e nt e 19 6m S. ;****Encabe z ado **** l is tp=16F628A #incl ude P16F628A.inc _ _ CONFI G _ CP_ OFF& _ W DT_ OFF& _ BODEN_ ON & _ PW RTE_ ON & _ I NTOSC_ OSC_ NOCL KOUT & _ DATA_ CP_ OFF& _ L V P_ OFF& _ MCL RE_ ON ; ****De f inición de v ariabl e s **** Cont ador1 e q u 0x20 ;Se l e ccionam os pos ición e n l a m e m oria RAM (GPR) para guardar ;re gis t ro ut il iz ado para de m ora.- Cont ador2 e q u 0x21 ;Re gis t ro ut il iz ado e n de m ora.- L e d e q u 0 ;De f inim os L e d com o e l bitce ro de un re gis t ro, e n e s t e cas o PORTB.- Pul s ador e q u 0 ;De f inim os Pul s adorcom o e l bit0, e n e s t e cas o s e ra para PORTA ; ****V e ct orRe s e t**** Re s e t org 0x00 ;Aq uí com ie nz a e l m icro.- got o inicio ;Sal t o a inicio de m i program a.- org 0x05 ;Orige n de l código de program a.- ; ****Program a Principal **** I nicio ; ****Conf iguración de pue rt os **** m ov l w b’00000111’ ;Conf iguram os PORTA com o I / O Digit al . m ov w fCMCON ;Mov e m os 111 a W , y W a CMCON.-
  • 31. El PC, dire ccionam ie n- t o de lprogram a: e s pe cif ica l a dire cción de l a ins t rucción q ue s e e j e cut ará. Cons t a de 13bit s , con l o q ue e s pos ibl e dire ccionar h as t a 8K pal a- bras , pe ro e n e lPI C16F628 s ol o s e im pl e m e nt a 2k . L a part e al t a de lcon- t ador de program a ( ) no s e pue de acce de r dire ct a- m e nt e , e l l a de be cargars e de s de l os 5bit s m ás baj os de l re gis t ro l l am ado (dire cción 0x0A). En l a cre ación de t a- bl as , l a pos ición a l e e r de l a m is m a s e re al iz a con e l con- t rolde lre gis t ro . Es t e re gis t ro e s de 8bit s , por l o q ue dire cciona s ol o 256 po- s icione s , por e l l o s e de be t e - ne r e n cue nt a: l a pos ición de l a t abl a e n l a m e m oria de program a, y e lt am año de l a t abl a, s i nue s t ra t abl a t ie ne m ás de 255 pos icione s , s i o s i de be m os m ane j ar l os bit s m ás s ignif icat iv os de PC [PC- L ATCH ]. Para de v ol v e r e lv al or dire ccionado s e ut il iz a , és t a ins t rucción de v ue l v e un v al or e n e l acum ul ador al re - t ornar de una s ubrut ina. L a cre ación de l a t abl a s e h ará de l a s iguie nt e f orm a: T abl a addw fPCL ,f re t l w V al or0 re t l w V al or1 re t l w V al or2 //página 0x1F bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.- ;TRI SA porde f aul te s t a e n 11111111.- m ov l w b’11111110’ ;Mov e m os 11111110 a W .- m ov w fTRI SB ;Mov e m os W a TRI SB.- bcf STATUS,RP0 ;Pas o de l Banco 1 al Banco 0 bcf PORTB,L e d ;Apago L e d.- ; ****Cont rol de L e d **** Bucl e bt f s c PORTA,Pul s ador ;Pre gunt am os s i e s t a e n 0 l ógico.- got o Apagar ;Es t a a 1 l ógico, Apagam os L e d.- bs f PORTB,L e d ;Es t a a 0 l ógico, Ence nde m os L e d.- cal l De m ora_ 150m s ;Mant e ne m os pre ndido 150 m il is e gundos bcf PORTB,L e d ;Apagam os L e d cal l De m ora_ 150m s ;Apagam os durant e 150 m s , Ya re al iz am os un t it il o.- got o Bucl e ;T e s t e am os nue v am e nt e l a condición de l Pul s ador Apagar bcf PORTB,L e d ; Apagam os L e d.- got o Bucl e ;T e s t e am os nue v am e nt e l a condicion de l Pul s ador .- ; ****De m ora **** De m ora_ 150m s m ov l w 0xFF ; m ov w fCont ador1 ;I niciam os cont ador1.- Re pe t icion1 m ov l w 0xC3 ; m ov w fCont ador2 ;I niciam os cont ador2 Re pe t icion2 de cf s z Cont ador2,1 ;De cre m e nt a Cont ador2 y s i e s 0 s al e .- got o Re pe t icion2 ;Si no e s 0 re pe t im os cicl o.- de cf s z Cont ador1,1 ;De cre m e nt a Cont ador1.- got o Re pe t icion1 ;Si no e s ce ro re pe t im os cicl o.- re t urn ;Re gre s a de l a s ubrut ina.- e nd ;T e rm inam os código.
  • 32. Donde V al or0, V al or1, V al or- 2, ..., e t c. s on l os v al ore s q ue q ue re m os al m ace nar e n l a t abl a. L a e s t rat e gia a s e guir para cons ul t ar al gún v al or de l a t abl a e s cargar e n e la- cum ul ador (W ) l a dire cción de l a t abl a donde s e e ncue n- t ra e l v al or q ue q uie re s l e e r y de s pués l l am ar a l a s ubru- t ina TABL A (con un CAL L ). Adv e rt e ncia: l a carga de W no pue de s upe rar e lnúm e ro de v al ore s de l a t abl a, s ino s e e s t ará e j e cut ando una ins - t rucción e rróne a prov ocando un m al f uncionam ie nt o de l program a. Para apl icar e lus o de l as t abl as v am os a h ace r un e j e m pl o donde s e cont rol e un dis pl ay de 7 s e gm e nt os . Un dis pl ay e s una col e cción de L EDs ubicados de f orm a e s t rat égica. Si s e l os agrupa unie ndo s us cát odos s e rá de , o bie n agru- pando s us ánodos , un dis - pl ay de . Por ot ro l ado e s t os L EDs pue de n s e r f abricados e n f orm a de punt os o s e g- m e nt os , t al e s as í q ue s e e n- cue nt ran dis pl ay de 7 s e g- m e nt os com o l os de l a f igura #9 : Elprogram a q ue re al i- z are m os l e e rá l a cant idad de v e ce s q ue s e act iv a un pul s a- dor y m os t rare m os e l re s ul t a- do. Cone ct are m os e ldis pl ay e n f orm a dire ct a, e s de cir co- ne ct ando e lpue rt o B de lm i- crocont rol ador a l os pine s de l dis pl ay, y l ue go e nce nde r cada uno de l os s e gm e nt os de ldis pl ay para v is ual iz ar e l v al or corre s pondie nt e . Para e l l o cre are m os una t abl a q ue cont e nga l os dis t int os códi- gos para e lnúm e ro q ue ne - ce s it e m os v is ual iz ar . Es ob- v io q ue con un s ol o dis pl ay s ol am e nt e podre m os cont ar de 0 a 9 . Una m ane ra m ás có- m oda de e s cribir l a t abl a de ins t ruccione s pue de l ogrars e us ando l a dire ct iv a (De f ine T abl e ) de l e ns am - bl ador , l a cualnos pe rm it e de f inir una t abl a de dat os q ue s e rá s us t it uida por una l is t a de ins t ruccione s ; (cont inua e n l a página 0x22)... //página 0x20
  • 33. ;****Encabe z ado **** l is tp=16F628A #incl ude P16F628A.inc _ _ CONFI G _ CP_ OFF & _ W DT_ OFF & _ BODEN_ ON & _ PW RTE_ ON & _ I NTOSC_ OSC_ NOCL KOUT & _ DATA_ CP_ OFF& _ L V P_ OFF& _ MCL RE_ ON ; ****De f inición de v ariabl e s **** Cont ador e q u 0x20 ;Re gis t ro para al m ace narcont e o Cont ador1 e q u 0x21 ;Re gis t ro ut il iz ado e n de m ora.- Cont ador2 e q u 0x22 ;Re gis t ro ut il iz ado e n de m ora.- Pul s ador e q u 7 ;De f inim os Pul s adorcom o e l bit7, e n e s t e cas o s e rá ;PORTB.- ; ****I nicio de l Micro **** Re s e torg 0x00 ;Aq uí com ie nz a e l m icro.- got o I nicio ;Sal t o a inicio de m i program a.- ; ****T abl a de conv e rs ión BCD a 7 Se gm e nt os **** ;Se col oca al inicio para as e gurarubicación e n Página.- org 0x05 ;Orige n de l código de t abl a.- BCD7SEG: ;re t l w b'gf e dcba' para dis pl ay cát odo com ún addw fPCL ,1 ;Se incre m e nt a e l cont adorde l program a.- re t l w b'0111111' ;0 re t l w b'0000110' ;1 re t l w b'1011011' ;2 re t l w b'1001111' ;3 re t l w b'1100110' ;4 re t l w b'1101101' ;5 re t l w b'1111101' ;6 re t l w b'0000111' ;7 re t l w b'1111111' ;8 re t l w b'1101111' ;9 cl rf Cont ador ;Si l l e ga 10, s e re s e t e a cont ador re t l w b'0111111' ;0 ; ****Program a principal **** ; ****Conf iguración de pue rt os **** I nicio bs f STATUS,RP0 ;Pas am os de Banco 0 a Banco 1.- m ov l w b'10000000' ;RB7 com o e nt rada y l os de m ás com o s al ida.- m ov w fTRI SB bcf STATUS,RP0 ;Pas o de l Banco 1 al Banco 0 m ov l w b'0111111' ;Com ie nz a e n ce ro.- m ov w fPORTB cl rf Cont ador ; ****T e s t e o de Pul s ador**** T e s t e o bt f s c PORTB,Pul s ador ;T e s t e am os s i e s t a a 0 l ógico.- got o T e s t e o ;No, s e guim os t e s t e ando.- //página 0x21
  • 34. cal l De m ora_ 20m s ;El im inam os Ef e ct o re bot e bt f s c PORTB,Pul s ador ;T e s t e am os nue v am e nt e .- got o T e s t e o ;Fal s a Al arm a, s e guim os t e s t e ando.- incf Cont ador ,1 ;Se h a pul s ado, incre m e nt am os cont ador .- m ov f w Cont ador ;pas am os cont adora W cal l BCD7SEG ;L l am am os t abl a.- m ov w fPORTB ;Cargam os v al orre cibido porT abl a e n PORTB bt f s c PORTB,Pul s ador ;Es pe ram os a q ue s e s ue l t e e l pul s ador-**- got o $ -1 ;No, PCL- 1, --> bt f s s PORTA,Pul s ador .- cal l De m ora_ 20m s ;El im inam os e f e ct o re bot e .- bt f s c PORTB,Pul s ador ;T e s t e am os nue v am e nt e .- got o $ -4 ;No, Fal s a al arm a, v ol v e m os a t e s t e ara q ue s e s ue l t e (**).- got o T e s t e o ;Si, T e s t e am os nue v am e nt e .- ; ****De m ora **** De m ora_ 20m s m ov l w 0xFF ; m ov w fCont ador1 ;I niciam os cont ador1.- Re pe t icion1 m ov l w 0x19 ; m ov w fCont ador2 ;I niciam os cont ador2.- Re pe t icion2 de cf s z Cont ador2,1 ;De cre m e nt a Cont ador2 y s i e s 0 s al e .- got o Re pe t icion2 ;Si no e s 0 re pe t im os cicl o.- de cf s z Cont ador1,1 ;De cre m e nt a Cont ador1.- got o Re pe t icion1 ;Si no e s ce ro re pe t im os cicl o.- re t urn ;Re gre s a de l a s ubrut ina.- e nd //página 0x22 as í, l a t abl a ant e rior pue de q ue darcom o s igue : En e l m om e nt o de pre - s ionar un bot ón pul s ador o cual q uie r conm ut ador e l e ct ro- m e cánico e s ine v it abl e q ue s e produz ca un pe q ue ño ar- co e l éct rico durant e e lbre v e ins t ant e e n q ue l as pl acas de lcont act o s e aproxim an o s e al e j an de s us punt os de cone xión. L a duración de pe nde de l a cal idad de l os s w it ch e s y l a v e l ocidad de acciona- m ie nt o, pe ro no dura m ás de 20m S. Se guim os e n e l próxi- m o núm e ro... BCD7SEG: ;re t l w b'gf e dcba' para dis pl ay ;cát odo com ún.- addw fPCL ,1 ;I ncre m e nt a e l cont adorde l program a.- DT 0x3F , 0x06, 0x5B, 0x4F , 0x66, 0x6D, 0x7D, 0x07, 0xFF , 0x6F cl rf Cont ador re t l w 0x3F
  • 35.
  • 36. //página 0x24 s u propio nom bre indica: Pul s e W idt h Modul at ion, q ue dich o pa- ra e nt e nde rnos s ignif ica . Un s e rv o e s un m ot or cont rol ado por una e l e ct rónica q ue l e e e l y q ue s e e n- carga de m ov e r alm ot or de - pe ndie ndo de l o q ue h a l e ído. El s e rv o, o m e j or dich o l a e l e ct ró- nica de ls e rv o col oca alm ot or e n cada pos ición de pe ndie ndo de lt ie m po e n q ue e lpul s o q ue l e inye ct am os pe rm ane ce e n al - t o. Si e lt ie m po q ue dura pul s o e n e s t ado al t o e s de e xact am e n- t e 1.5m S, e nt once s e ls e rv o s e col oca e n e lce nt ro de s u re co- rrido. Si e lpul s o dura e xact a- m e nt e 0.5m S e l s e rv o re t roce de de s de e lpunt o m e dio unos 9 0º y s e col oca e n s u e xt re m o iz - q uie rdo;y s i, por úl t im o, e l pul s o dura e xact am e nt e 2.5m S e l s e r- v o av anz a de s de e lpunt o m e - dio unos 9 0º y s e col oca e n s u e xt re m o de re ch o. A l a re l ación e nt re e lt ie m po e n q ue pe rm a- ne ce e n al t o y baj o un pul s o l e Ell e nguaj e C e s e lq ue us o por de f e ct o para e l9 0% de m is program as . Elq ue v a- m os a de s arrol l ar e s uno de l os e j e m pl os de cóm o h ace r cos as con e s t e idiom a q ue pue de n e ncont rar e n m i pági- na W e b. H e us ado e l PCW PI CC de CCS (v .3.242). Pe ro com o de cía Jack ElDe s t ripa- dor: ¡ V ayam os porpart e s ! Y para e m pe z ar v e re m os un poco de t e oría, q ue a ningu- no de nos ot ros nos v a a v e nir m al . Un s e rv om ot or e s un ca- ch arro, e nt re ot ros m uch os , q ue pue de m ane j ars e inye ct ándol e una s e ñal PW M. Si m e pre gunt áis q ué e s e s t o, os re s pondo q ue “ e s m é- t odo de cont rolq ue cons is t e e n e nv iar un t re n de pul s os , cada uno de e l l os con un pe riodo de t ie m po e n al t o, a 5V , y ot ro e n baj o, a 0V ;s e parados cada uno de ls iguie nt e un t ie m po cons - t ant e y q ue pode m os v ariarl e l a re s pe ct iv as duracione s q ue pe r- m ane ce e n al t o y baj o”, o com o Es m uy probabl e q ue e n al gún m om e nt o s e t e h aya ocurrido q ue no de be ría s e r m uy com pl icado cont rol ar l os m ov im ie nt os de un pe q ue ño s e rv om ot or de s de e l orde nador . Y de h e ch o, no l o e s . En e s t e art icul o Die go, con s u e s t il o am e no y s e ncil l o, nos e xpl ica com o h ace rl o. / /por: Die go Márq ue z García-Cue rv o / / die go@ ucont rol .com .ar cont rol ars e rv os de s de e l PC
  • 37. l l am am os Dut y Cycl e . Con duracione s int e r- m e dias de lt ie m po e n q ue pe rm ane ce e lpul s o e n al t o, o s e a: con dis t int os Dut y Cy- cl e , e ls e rv o s e pos iciona e n punt os int e rm e dios de s u re - corrido. Para q ue e ls e rv o re s ponda corre ct am e nt e de - be n l l e garl e l os pul s os con u- na pe riodicidad (o f re cue n- cia) , uno t ras o- t ro, s e parados 20m S cada u- no de l s iguie nt e . Ade m ás , cada f l anco de s ubida de be e s t ar s e parado de ls iguie nt e f l anco de s ubida l os m is m os 20m S;por l o t ant o cada cicl o al t o-baj o dura s ie m pre e xac- t am e nt e 20m S y l o q ue v a- riam os e s l a re l ación e nt re e l t ie m po q ue e s t á e n al t o y e n baj o. De cir q ue l os pul s os e s t án s e parados unos de o- t ros 20m S e s e xact am e nt e l o m is m o q ue de cir q ue s e e n- v ían con una , ya q ue 50H z s on 50 pul s os por s e gundo y por l o t ant o 1000m S (q ue t ie ne un s e gundo) div idido e nt re 50 s on e xact am e nt e e s o: 20m S. En e lf ondo t odo e s t e as unt o no e s dis t int o de e n- ce nde r y apagar nue s t ro f a- m os o L ED, q ue e s al go por l o q ue e m pe z am os t odos cuando com e nz am os a t ras - t e ar con l os PI C's , pe ro con- t rol ando m uy e xact am e nt e l os t ie m pos durant e l os q ue pe rm ane ce e nce ndido y apa- gado. Es t o pode m os v e rl o m ás f ácily cl aro e n l a f igura #1: Ah ora l o q ue t e ne m os q ue h ace r e s s abe r cóm o po- de m os cont rol ar e s t os t ie m - pos e n nue s t ro , para po- ne r e n al t o (dis parar e lpul - s o) y e n baj o (apagarl o) s igui- e ndo l a t abl a de t ie m pos de s - crit a m ás arriba. Para e l l o v oy a e ch ar m ano de ls ocorrido de lPI C q ue nos v a a s e rv ir de re l ojpara s abe r cuándo y durant e cuánt o t ie m po t e ngo q ue t e ne r m i pul s o e n al t o. Com o s oy e lm ás l is t o de l a cl as e h e e l e gido un div is or , o Pre e s cal e r , de lTI MER0 de 1:16 (m as ade l ant e os con- t aré e lpor q ué de e s t e di- v is or). ElTI MER0 f uncionan- do a 1:16 h ace s al t ar l a , t am bién conocida com o , cada 4.09 6m S. Es t o e s l o m is m o q ue de cir q ue TI MER0 t arda 4.09 6m S e n cont ar de s de 0 a 255 y q ue all l e gar a 255 pas ar de nue v o a 0 h ace s al - t ar l a RTCC. Cada pas o de cont ador de lTI MER0, a l o q ue v am os a l l am ar un , t arda 4.09 6 /256 = 0.016m S. Es t o m e da una paut a bas t ant e f ácilde cal - cul ar q ue cons is t e e n q ue ca- da 5 RTCC com pl e t as t e ngo 5 * 4.09 6 = 20.48m S q ue e s un poco m ás de l o q ue ne ce - s it o, q ue s on 20m S e xact os . Es t o l o pode m os con- s e guir cont ando , a 4.09 6m S cada una, y . No pode m os h a- ce r q ue l a RTCC s e acabe ant e s de l a cue nt a, pe ro s i q ue pode m os , y e s l o q ue v a- m os a h ace r , q ue : e s t o s e e xpl ica porq ue 30 * 0.016 = 0.48m S m e nos q ue v a cont ar e s t a úl t im a RTCC alh abe r e m pe - z ado de s de un v al or de 30 e n l ugar de 0, l ue go 4.09 6 - 0.48 = 3.616m S para l a úl t i- m a RTCC. t e ngo cuat ro RTCC's com pl e t as a 4.09 6m S y una capada a //página 0x25
  • 38. 3.616 l ue go 4 * 4.09 6 + 3.616 = 20m S. L o q ue re al - m e nt e v oy a h ace r e s cont ar 1 RTC com pl e t a, 2 RTCC com pl e t as , 3 RTCC com pl e - t as , 4 RTCC com pl e t as y pongo e l cont ador de TI MER- 0 a 30, 5 RTCC com pl e t as l ue go ya h an pas ado 20m S e xact am e nt e . A e s t as 5 RTCC's l e s l l am o q ue s ol o v oy a act iv ar cuando s e com - pl e t e n l as 5 RTCC's (4 com - pl e t as y ot ra m as incom pl e - t a). Ade m ás , s abie ndo q ue cada t ick de re l oj ocupa 0.016m S pode m os t raducir l os t ie m pos de anch os de pul s os de s crit os ant e riorm e n- t e e n t ick s de re l oj : as í s on l o m is m o q ue e s - pe rar de re l oj , e q uiv al e n a de re l oj y s on de re l oj . (Re cue rda q ue un t ick de re l oj e s e l t ie m po q ue t arda TI MER0 e n cont ar e xact am e nt e 1, o s e a 0.016m S). L a im age n ant e rior po- de m os ah ora conv e rt irl a e n l a f igura #2 e n l as q ue h e - m os . Com o v e m os e n e l nue v o cronogram a: cada v e z q ue s e produce un , de 4 RTC's y pico a l a q ue l l am am os , pone m os e n al t o e l PI N de l a s e ñal de l s e rv o, de be m os re - cordar q ue e s t o s ie m pre v a a ocurrir e n e l t ráns it o de l con- t ador TI MER0 e nt re l os v al o- re s de 255 y 0, por l o q ue . Ah ora e nt once s s ol o de be m os e s pe rar e lnúm e ro s uf icie nt e de t ick s para v ol - v e ra pone rnue s t ro a ba- j o. Si de s e am os q ue e l s e rv o s e pos icione e n s u ce nt ro de - be m os m ant e ne r e l e n al t o durant e 9 3 t ick s de TI - MER0 o, l o q ue e s l o m is m o, e s pe rar 1.5 m S para baj ar e l pul s o. L a s e cue ncia q ue da ah ora de l a s iguie nt e m ane ra: - RTCC corre al ocadam e nt e , una t ras ot ra, de dicándos e e xcl us iv am e nt e a cont ar cu- ant as de e l l as h an pas ado, s i e s l a cuart a pone Tim e r0 a 30 para q ue l a q uint a s e a m ás cort a, s i e s l a q uint a po- ne e n al t o f l agRTCC para l o q ue s e a ne ce s ario y com ie n- z a de nue v o. - En e l program a principal de - t e ct am os q ue f l agRTCC s e h a act iv ado as í q ue l o de s ac- t iv am os y pone m os e n al t o e l PI N y m arcam os , con f l ag- SERV O1, q ue acabam os de act iv arl o. - A cont inuación, y s ie m pre q ue f l agSERV O1 e s t é act i- v ado, com probam os e lv al or de TI MER0 q ue s i e s m ayor q ue e l q ue de s e am os , e n nue s t ro cas o 9 3, y cuando l o al cance m os pone m os a baj o e l PI N y l o m arcam os de s ac- t iv ando f l agSERV O1. H e m os acabado. Cada 20m S act iv a- m os e lpul s o, y t rans curridos 1.5m S l o de s act iv am os , q ue e s e xact am e nt e l o q ue q ue - ríam os h ace r . El v al or de TI MER0 con e l q ue com param os para cont rol ar l a duración de cada pul s o e s t á guardado e n t SERV O1, q ue inicial m e nt e //página 0x26
  • 39. cargam os con e lnúm e ro de t ick s ne ce s arios para col ocar e ls e rv o e n s u punt o m e dio, , y q ue pode m os cam biar diná- m icam e nt e m e diant e l a re - ce pción de com andos a t ra- v és de l a RS232. De e s t a f orm a con l os com andos po- de m os cam biar e lv al or de a , y re s pe ct iv am e nt e ; y con l os com andos " + " y " -" v am os incre m e nt ando o de - cre m e nt ando s u v al or . Con " r" l e pe dim os alPI C q ue nos e nv íe s u v al oract ual . Ah ora s ol o nos q ue - daría im pl e m e nt ar t odo e s t o e n un program a e n C q ue q ue da de l a s iguie nt e f orm a: //página 0x27
  • 40. / /s e rv o_ pw m _ 232 / /Ej e m pl o con un s e rv o FUTABA S3003 / /Al im e nt ación y pul s os a 5V / /Cuadro de Tie m pos : / /Pe riodo 20 m s (Fre cue ncia 50 H z ) / /Anch o Pul s o m inim o 0.5 m s / /Anch o pul s o m e dio 1.5 m s / /Anch o pul s o m axim o 2.5 m s / /TMR0 a 1:16 -> 1 RTCC cada 4.09 6 m s / /-> 1 Tick cada 0.09 6 /256 = 0.016 m s / /-> 20 m s = (4 x RTCC com pl e t as ) + (1 *RTCC - 30 t ick s ) / /Anch o Pul s o m inim o 0.5 m s -> 31 t ick s de TMR0 / /Anch o pul s o m e dio 1.5 m s -> 9 3 t ick s de TMR0 / /Anch o pul s o m axim o 2.5 m s -> 155 t ick s de TMR0 #incl ude <16f 876a.h > #f us e s XT ,NOW DT ,NOPROTECT ,NOL V P ,PUT ,BROW NOUT #us e de l ay(cl ock =4000000) #us e s t andard_ io(b) #us e rs 232(baud=9 600, xm it =PI N_ C6, rcv =PI N_ C7) #de f ine PI N_ SERV O1 PI N_ B0 cons tintAJUSTE_ FI NO_ DE_ RTCC = 30; cons tintt ick s _ PUL SO_ MI NI MO = 31; cons tintt ick s _ PUL SO_ MEDI O = 9 3; cons tintt ick s _ PUL SO_ MAXI MO = 155; int 1 f l agRTCC = 0; intcont RTCC = 0; int 1 f l agSERV O1 = 0; intt SERV O1 = t ick s _ PUL SO_ MEDI O; ch arKe ypre s s =0x00; v oid e co_ s e rv os (v oid); v oid aj us t a_ s e rv o(v oid); #int _ rda v oid rda_ is r() { Ke ypre s s =0x00; if (k bh it ()){ Ke ypre s s =ge t c(); } } #int _ RTCC RTCC_ is r(){ + + cont RTCC; if (cont RTCC==4){ //página 0x28
  • 41. //página 0x29 s e t _ TI MER0(AJUSTE_ FI NO_ DE_ RTCC); } if (cont RTCC==5){ f l agRTCC=1; cont RTCC=0x00; } } v oid m ain() { intV al TI MER0; s e t up_ count e rs (RTCC_ I NTERNAL ,RTCC_ DI V _ 16); e nabl e _ int e rrupt s (int _ rda); e nabl e _ int e rrupt s (gl obal ); print f (" rnSERV O Com m ande rrnrn"); e co_ s e rv os (); s e t _ TI MER0(0); e nabl e _ int e rrupt s (I NT_ RTCC); do { / /DI SPARO DELPUL SO PW M if (f l agRTCC==1){ f l agRTCC=0; out put _ h igh (PI N_ SERV O1); f l agSERV O1=1; } / /CONTROLDE ANCH O DELPUL SO PW M if (f l agSERV O1==1){ v al TI MER0 = ge t _ TI MER0(); if (v al TI MER0>t SERV O1){ f l agSERV O1=0; out put _ l ow (PI N_ SERV O1); } } / /CONTROLDESDE L A RS-232 if (Ke ypre s s !=0x00){ aj us t a_ s e rv o(); Ke ypre s s =0x00; } }w h il e (TRUE); } v oid aj us t a_ s e rv o(v oid){ s w it ch (Ke ypre s s ){ / /Pe riodos Pre f ij ados cas e '1': t SERV O1=t ick s _ PUL SO_ MI NI MO; bre ak ; cas e '2': t SERV O1=t ick s _ PUL SO_ MEDI O; bre ak ;
  • 42. Com o podéis v e r e n e lcom e nt ario inicialde lcó- digo, t odo e s t o e s t á m ont ado para l a f am il ia de s e rv os com pat ibl e s q ue s on de l os m ás us ados por l os af icionados alradio- cont rol . Para aj us t ar e s t e có- digo a ot ros s e rv os s ol o h ay q ue cal cul ar e lPre e s cal e r y l os t ick s ne ce s arios para a- j us t ars e a l as caract e rís t icas de és t e . H ay s e rv os q ue f un- cionan a 400H z e n l ugar de 50H z y con anch os de pul s o l ige ram e nt e dis t int os a l os ut i- l iz ados aq uí. Es norm alan- ch os de pul s o e n l os e xt re - m os de 1.00 y 2.00m S re s - pe ct iv am e nt e . Elpunt o m e - dio e n 1.5m S e s m uy com ún. Ot ro corol ario de e s t e e j e m pl it o e s t riba e n l a pos i- bil idad de m ane j ar v arios s e r- v os . Ut il iz ando l a m is m a e s - t ruct ura de y pode m os h abil it ar e lcont rolindis t int o de t ant os s e rv os com o de s e e m os , t e ni- e ndo as í y , y ..., e t c. cont rol an- do cada uno de e l l os de f or- m a abs ol ut am e nt e s im il ar . //página 0x2A cas e '3': t SERV O1=t ick s _ PUL SO_ MAXI MO; bre ak ; / /I nc De c Pe riodo cas e '+ ': if (+ + t SERV O1>t ick s _ PUL SO_ MAXI MO){ t SERV O1=t ick s _ PUL SO_ MAXI MO; } bre ak ; cas e '-': if (--t SERV O1<t ick s _ PUL SO_ MI NI MO){ t SERV O1=t ick s _ PUL SO_ MI NI MO; } bre ak ; / /Dam e Pe riodo act ual cas e 'r': e co_ s e rv os (); bre ak ; } } v oid e co_ s e rv os (v oid){ print f (" S=% urn" ,t SERV O1); }
  • 43.
  • 44. //página 0x2C de s arrol l o. En l a f igura #2 po- de m os v e r dich o m e nú y uno de l os m ódul os : 8 L EDs con s al i- das conf igurabl e a dif e re nt e s pue rt os , l a opción " Al w ays On T op" e s út il cuando s e nos l l e na l a pant al l a de v e nt anas y q ue re - m os q ue e s t é s ie m pre v is ibl e . Para l a cre ación de un m ódul o e xt e rno para PSI DE e s ne ce s ario com pre nde r al gunos conce pt os de ut il iz ación de ob- j e t os de s de . Es una pl at af orm a de Micros of t im pl e m e nt ado de s de W indow s 9 x com o una f orm a de l ograr l a com unicación, cre ación y de s t rucción de obj e t os q ue re s ide n e n dif e re nt e s cont e xt os de e j e cución (e nt re dif e re nt e s a- pl icacione s y/ o s is t e m as ). ElPI C SI MUL ATOR I DE (PSI DE) e s una s ue rt e de s ui- t e de de s arrol l o para l a s im u- l ación de un m icrocont rol a- dor re alcon m úl t ipl e s h e rra- m ie nt as int e rnas y e xt e rnas l l am adas m ódul os para l a prue ba de l os dif e re nt e s dis - pos it iv os con l os q ue s e co- m unica e lm icro. Para re al izar l a s im ul ación, e l PSI DE re cre a l a m e m oria de program a, re - gis t ros , m e m oria EEPROM, pue rt os , e t c., h acie ndo pos i- bl e l a cons t rucción de nue s - t ros proye ct os e n f orm a v ir- t ualy s e gura ant e s de l an- zarnos a cons t ruir e l h ard- w are . Baj o e lm e nú de l PSI DE s e l is t an t odos l os m ó- dul os de l a s uit e . Para l a re al iz a- ción de m ódul os propios e s ne - ce s ario ut il iz ar l a opción para s ubs cribir nue s t ro m ódul o ale nt orno de Es t a guía e s t á de s t inada a program adore s principiant e s y/ o av anz ados q ue de s e an cre ar m ódul os e xt e rnos als im ul ador de PI C de V l adim ir Sos o, e lPI C SI MUL ATOR I DE. / /por: Se rgio L uis Scarnat t o / / s e rgiol s @ k e k o.com .ar addons e n PI C s im ul at orI DE
  • 45. L os com pone nt e s de COM s e program an e n cual - q uie r t ipo de l e nguaj e s ie m - pre q ue ut il ice l os s e rv icios y re q ue rim ie nt os de COM, q ue s on bas t ant e s . Much os program ado- re s de V is ualBas ic 6, por e - j e m pl o, conoce n m uy s upe rf i- cial m e nt e l os conce pt os de COM, dado q ue l a com pl e - j idad e s t á ocul t a e n l a ps e u- do m áq uina v irt ual . Con e l t ie m po l l e gó Mi- cros of t.NET y s e im pus o co- m o un e s t ándar para l a cre a- ción, com unicación, de s t ru- cción y not if icación de obj e - t os re de f inie ndo v arios de e s - t os conce pt os . Cuando s e cons t ruye un obj e t o COM l o q ue s e e s - t á h acie ndo e s de f inie ndo u- na int e rf ace , al go as í com o e lprot ot ipo de una f unción e n C, y s e l a re gis t ra e n un cat ál ogo (e n e s t e cas o e lre - gis t ro de W indow s ). Para l ograr l a com uni- cación e nt re un obj e t o .NET y un obj e t o COM e s ne ce s a- rio cre ar una e nv ol t ura (W ra- ppe r e n ingl és ) q ue re al iz a l as conv e rs ione s ne ce s arias e n l os t ipos de dat os de C# y l os de f inidos por e l obj e t o COM. Es t a e nv ol t ura o w ra- ppe r s e e ncarga ade m ás de proce s ar l os t e m as de m ane - j o de t ie m po de v ida, punt e - ros a e s t ruct uras y f uncione s de l obj e t o COM. Cuando un cl ie nt e COM l l am a a un obj e t o .NET , e lCL R (Com m on L e nguage Runt im e ) cre a e lobj e t o m a- ne j ado y un CCW (COM Ca- l l abl e W rappe r) para e lob- j e t o. Dado q ue no e s pos ibl e para un cl ie nt e COM h ace r una re f e re ncia dire ct a de un obj e t o .NET , de be n us ar e s t e CCW com o un proxy al obj e - t o m ane j ado. Cre am os un nue v o proye ct o e n y abrim os e larch iv o As s e m - bl yI nf o.cs . V e re m os q ue e l arch iv o cont ie ne l a s iguie nt e l íne a: / /Se t t ing Com V is ibl e t o f al s e m ak e s t h e t ype s in t h is a- s s e m bl y not v is ibl e t o COM com pone nt s . I f you ne e d t o acce s s a t ype in t h is as s e m - bl y f rom COM, s e t t h e Com - V is ibl e at t ribut e t o t rue on t h att ype . [as s e m bl y: Com V is ibl e (f al s e )] Cam biam os por y de e s t a m ane ra t odas l as cl as e s públ icas de nue s - t ro proye ct os s e v an a v e rco- m o obj e t os COM. L ue go podríam os cre - arpore j e m pl o una nue v a cl a- s e l l am ada " Se rv e r" . L os at ribut os de e s t a cl as e indican q ue s e de s e a ge ne rar e n f orm a t rans pare n- t e l as int e rf ace s q ue im pl e - //página 0x2D
  • 46. m e nt an (v e r Aut o- m at ion e n l a MSDN), ya q ue V is ualBas ic 6 (l e nguaj e e n e lq ue e s t á program ado e l PSI DE) no pue de e nt e nde r l as int e f ace s s im pl e s . Se gún e l aut or de l PS- I DE, e le nt orno nos e nv iará t re s e v e nt os a nue s t ra cl as e : obj e ct init (): I nv ocado por e l PSI DE cuando s e inicia l a s i- m ul ación. L o podre m os ut il i- z ar para inicial iz ar e le s t ado int e rno de nue s t ro m ódul o. obj e ct re f re s h (): I nv ocado l u- e go de cada ins t rucción s i- m ul ada. obj e ct t e rm (): I nv ocado an- t e s de q ue PSI DE e l im ine e l m ódul o de l a m e m oria. Us a- do norm al m e nt e para ce rrar re curs os ut il iz ados . Dado q ue C# e s un l e nguaj e cas e -s e ns it iv e (dif e - re ncia m inús cul as y m ayús - cul as ) e s im port ant e not ar q ue l os m ét odos s e de be n e s cribir e n t odos m inús cul as . Alcre ar un nue v o f or- m ul ario o pant al l a principal e n agre gam os l a s i- guie nt e re f e re ncia alproye c- t o. Alcre ar e s t a re f e re ncia a l os s e rv icios de l PSI DE e l V is ual St udio nos e s t á cre an- do por de t rás l a (w ra- ppe r de lcl ie nt e .NET alob- j e t o COM). L ue go m odif icam os e l código de lf orm ul ario agre - gando l a re f e re ncia a l os s e r- v icios de PSI DE y . L a v ariabl e cont e ndrá l a ins t ancia alob- j e t o COM de l os s e rv icios de l PSI DE. Marcam os l a cl as e de l f orm ul ario com o Com V is i- bl e (f al s e ) para no publ icar cl as e s q ue no s on ne ce s a- rias ni út il e s para e lPSI DE. L ue go e n e l cons t ruct orl e da- m os ins t ancia a l a v ariabl e : publ ic MSCKe yboard() / / <-- cons t ruct or { I nit ial iz e Com pone nt (); _ s e rv e r= ne w s e rv e r(); } //página 0x2E us ing Sys t e m .Runt im e .I nt e ropSe rv ice s ; nam e s pace pics im t e s t { [Cl as s I nt e rf ace (Cl as s I nt e rf ace Type .Aut oDis pat ch )] [ProgI d(" PI CSim T e s t .Se rv e r" )] [Guid(" F A08D8C2-3616-483c-8B21-B7C72D6B5E7D" )] publ ic cl as s Se rv e r { } } us ing pic18s im ul at oride ; us ing Sys t e m .Runt im e .I nt e ropSe rv ice s ; nam e s pace pics im t e s t { [Com V is ibl e (f al s e )] publ ic part ial cl as s MSCKe yboard : Form { priv at e s e rv e r_ s e rv e r;
  • 47. Abrim os e lobj e ct bro- w s e r y s e l e ccionam os l a l i- bre ría , y l ue go nav e gam os h as t a l a cl as e y nos m os t rará q ue t ie ne l os s i- guie nt e s m ét odos públ icos y dis ponibl e s para us ar e int e - ract uarcon PSI DE. L os m ét odos s on m uy s e ncil l os de e nt e nde r , por e - j e m pl o: St ring ge t pic() nos de v ue l v e e n una cade na e l nom bre de l m icrocont rol ador q ue s e l e - ccionam os e n PI C Sim ul at or I DE. Ut il iz ando po- dre m os acce de r alv al or ac- t ual de un de t e rm inado pue r- t o q ue l e pas e m os com o re f e - re ncia (ut il iz ando l a dire cción de m e m oria q ue f igura e n l a h oj a de dat os de lm icrocon- t rol ador s e l e ccionado). Por e - j e m pl o: / /l e e e l portB intport b = s .ge t re g(0xF81); Cre ar un nue v o pro- ye ct o l l am ado y conf igurarl o. Cre ar un nue v o f orm ul ario l l am ado y conf igurarl o. A- rras t rar un obj e t o cont rolt ipo " Pane l " de s de l a T ool box al f orm ul ario. Cam biar e lback - col or de lpane la W h it e . Y por úl t im o agre gar al f orm ul a- rio l a " cl as e s e rv e r" . //página 0x2F publ ic v oid Re f re s h Dat a() { intl e ds t at e = s .ge t re g(0xF81) & 0x01; / /l e e RB0 if(l e ds t at e == 1) pane l 1.Back Col or= Col or .Re d; e l s e pane l 1.Back Col or= Col or .W h it e ; } us ing Sys t e m .Runt im e .I nt e ropSe rv ice s ; nam e s pace L e dT e s t Modul e { [Cl as s I nt e rf ace (Cl as s I nt e rf ace Type .Aut oDis pat ch )] [ProgI d(" PI CSim T e s t .Se rv e r" )] [Guid(" F A08D8C2-3616-483c-8B21-B7C72D6B5E7D" )] publ ic cl as s Se rv e r { [Com V is ibl e (f al s e )] priv at e L e dT e s tl e dT e s t ; publ ic Se rv e r() { l e dT e s t= ne w L e dT e s t (); l e dT e s t .Sh ow (); } publ ic v oid obj e ct re f re s h () { l e dT e s t .Re f re s h Dat a(); } } }
  • 48.
  • 49. //página 0x31 f unciona m uy bie n a 9 600 bau- dios , y pos ibl e m e nt e s irv a para v e l ocidade s m ayore s . En cas o de e m pl e ar e s t e circuit o com o part e de un pro- ye ct o m ayor , pue de cone ct ars e e l pin corre s pondie nt e a + Vcon l a l ine a DTR de un pue rt o RS- 232, q ue al e s t ar e n al t o propor- cionará l a al im e nt ación ne ce s a- ria al pe q ue ño conv e rs or . Com o s ie m pre , h e m os cre ado un pe q ue ño PCB (por s us s igl as e n ingl és , Print e d Circuit o Board) para q ue no h aya dif icul t ade s a l a h ora de " f abricar" e l conv e rs or . El dis e ño de lm is m o pue de v e rs e e n l a f igura #2. Para l l e v ar a cabo e l m is m o bas t a con s ol darl os com - pone nt e s s obre e l PCB, ut il iz an- do com o guía l a f igura #3. Bás icam e nt e , e lcircui- t o e s un f ot ot rans is t or inf ra- rroj o cuya s al ida s e am pl if ica e inv ie rt e para conv e rt ir l os pul s os l um inos os q ue re cibe e n niv e l e s de t e ns ión com pat i- bl e s con l os niv e l e s TTL , con l os cual e s t rabaj an m uch os circuit os int e grados q ue nor- m al m e nt e ut il izam os e n nue s - t ros proye ct os . Se h an e l e gido com po- ne nt e s m uy com une s , por l o q ue no s e rá com pl icado cons e - guir t odo l o ne ce s ario para t e ne r e l m ont aj e f uncionando e n una h ora o poco m ás . Com o pue de v e rs e e n l a f igura #1, s ol o s e dis pone de un cone ct or de t re s pine s . Elpin s upe rior e s e lq ue s e e ncarga de proporcionar l os 5V de corri- e nt e cont inúa q ue ne ce s it a e l circuit o para f uncionar . El pin in- f e rior corre s ponde a GND. Y e l pin ce nt rale s e lq ue e nt re ga l a s e ñale q uiv al e nt e a l a re cibida por e lf ot ot rans is t or . Elcircuit o Es t e s e ncil l o circuit o e s t a pe ns ado para f orm ar part e de un proye ct o m ayor . Se t rat a de un s im pl e conv e rs or de s e ñal e s inf rarroj as a niv e l e s de t e ns ión TTL . Pue de s e r e m pl e ado, por e j e m pl o, para com unicar un dis pos it iv o port át ilcom o una PAL M con un m icrocont rol ador o incl us o con un orde nador h ogare ño. L as apl icacione s : un s inf ín. ¡ Manos a l a obra! / /por: Arie l Pal az z e s i / / arie l pal az z e s i@ gm ail .com conv e rs orI rDA a TTL
  • 50. L a l is t a de com pone n- t e s ne ce s arios para e s t e pro- ye ct o no podría s e r m as cor- t a: 2 re s is t ore s de 1K, 1/ 8W 2 re s is t ore s de 27K, 1/ 8W 1 capacit orce rám ico de 22nF 2 t rans is t ore s BC548B 1 cone ct orde t re s pine s 1 f ot ot rans is t or BPW 40 (o s i- m il ar) Re cue rde n q ue cual - q uie r cons ul t a s obre e lf un- cionam ie nt o o arm ado de e s - t e circuit o l a pue de n h ace r e n e l . ¡ H as t a l a próxim a! //página 0x32