Pic18f4550 en Español
Pic18f4550 en Español
Pic18f4550 en Español
-
28-Pin PDIP, SOIC
MCLRNPP/REJ-
AAO/ANO-
RA1/AN1-
o
'
2
3
- ,.
",.
- AB7/KBl3/PGO
- AB61KBl21PGC
- RB51K811/PGM
AA2/AN2NREF·ICVREF - •5 "'o
25 - AB4/AN11/KBIO
AA31AN3NREF+ -
RA41T0CKI/C10UTIRCV - 6 "' "'
� "
23
- AB31AN9.'CCP2'11NPO
- RB2/AN8/INT2NMO
--
AA51AN4/SSIHLVDIN/C20UT- 7 ��
NN
22 - AB1/AN10/INT1/SCK/SCL
==
OSC1/CLKI-
vss-
'
9
ro
00
e:: e:: "
20
- ABOIAN12JINTO/FLTO/SOIISOA
-voo
-vss
OSC21CLKOIRA6 -
ACotT10SO/T13CKI -
"ta "" - AC7/RXIOT/SOO
RC1fT10SllCCP2'1lJUOE -
RC2/CCP1 - ta "
te
- AC61TXICK
- RCSID+NP
v=-
" " - AC4/DNM
40-Pin PDIP
MCLRNPP/RE3 ______.. (
AAO/ANO -[ 2
o
'
<:» ... p ------- R87/K8131PGD
39 J - AB6/KB12/PGC
RA1/AN1 -[ 3 38 - R85/KBIIIPGM
RA2/AN2NREF·/CVAEF - [
•5 37 - RB4/AN11/KBIO/CSSPP
RA31AN3111FIEF+ ---:
RA-4/TOCKI/ClOUT/RCV - ¡ 6
36
,.. p -
35
J- RB3/AN9/CCP2'1)NPQ
RB2/AN8/INT2NMO
AA5/AN4/SSIHLVOIN/C20UT -( 7 - R811AN10/INT1/SCK.ISCL
-e
:! " ==--
REOIAN5/CK1SPP
' "'o 33 - ABOIAN12/INTO/FLTOISOI/SDA
AE1/Aflt6/CK2SPP 9
to "':¡��"'� 32 -voo
RE2/AN7/0ESPP -
voo-
vss-c ta
"
JO
J-vss
J - R07/SPP7/P10
00 29 - RD6JSPP6/P1C
a: a:
�¡ ""rs
OSC1/CLKI - ( 28 - ROS/SPPSIP16
OSC2/CLKOIRA6 27 - R04/SPP4
RCOIT10SO/T13CKI - 26 ] - RC71RXIOTISDO
RC1/T10SVCCf>2C')llJOE -[ te 25 ] - RC61TX/CK
vose -[ "
RC21CCP1/P1A - (
" - RCSIO+NP
�¡ ts"
23 - RC4.ID-NM
ROO/SPPO 22 .- A031SPP3
R01/SPP1 - 20
" P- RD2/SPP2
1
Documento creado por Slalen para Electronics Strange World
44-Pin TQFP
RC7/RXIOT/SOO - - NC/ICRSf<21f1CVpp(2)
RD4/SPP4 - - RCCVT10SOIT13CKI
RDSISPP5'P 1 B - - OSC,,CU<"""
RD61SPP6/P1C
RD71SPP71P1D
-
- PIC18F4455 _,"
- OSC1/CUCI
-,oo
RBO/AN12/INTM'LTO/SDI/SDA
'"-
vce -
-
PIC18F4550 -
-
RE2/AN7/0ESPP
AE1/AN&'CK2SPP
AB1/AN1MNT1/SCKISCL - - REG'AN�lSPP
RB2/AN8/INT2NMO - - FV&'NMISSIHLVDIN/C20UT
RB31AN9JCCP:zl'fNPO - - AM/TOCKI/CIOUT/RCV
;��;�í!!!l!::.;i;i¡q�
.
RC7/RXIOTISOO - ' • 33 - OSC2/CUCOIRA6
RD41SPP4 -
_,"
.. - OSC1/CUCI
"2928 _,"
RDSl'SPP5'P 1 B - 2 "
RD61SPP6/P1C -
a "
R07/SPP7/P10 - s PIC18F4455 - veo
'"-
voe -
6
8r
PIC18F4550
"
,.
- vce
RE21AN7!0ESPP
RE 1/AN61CK2SPP
veo - es REOIAN5/QS1SPP
RBO/AN12/INTOiflTO'SOI/SDA - 9
RB1/AN1MNT1/$CK/$CL -
RB2/AN8/INT2/VMO - "
��!.���'.!?��;;;�23
11
" RA5'AN4/SSM..VDINIC20UT
RA4/TOCKI/C10UTIRCV
2
Datasheet de la familia PIC18F2455/2550/4455/4550
3
Documento creado por Slalen para Electronics Strange World
---
"
' '
r-r-ru.Lsa ""'""'
RA1/AN1
RA2JAN2NREf·/CVAEF
R.o\:vAN3/VREF•
RMITOCKLIC 1 OUTIRCV
RASl��N,C20.JT
OSC2JCU<OIRA6
RBO'AN121M1l'1'1.TO'SelWSOA.
RB 1/AN1l)'INT11SCKJSCl
R821AN&INT2NMO
RWAN9o'CCl'al1fNPO
� e� }---------+¡ �
!�::::�:::,["""�-
AB41AN11/KBIO
R65r1<611/PGM
ln11ruclion Bu• <18> .,.,...,...., AB&'l(Bl2/PGC
RB7A<Bl:wGD
"
,_,
lnstruetion Sla1a Machlne
Control Slgn&II
"""'"
RCt'VT10SOIT13CKI
.......... ,c,,c,:,,
RC1/T10SlfCCP'i')llJOE
---·
cecre 1n1e,nal
""'' """°""'
Osc,11.a1or
.....
511111-up Tome
""""""'
--·
INTRC
Olal!a1or RC7/RX/OT/SDO
T10$1
T10SO w, ....
- .._
�·)
.""'""'
Fai-Sa!e
vce.vss Cloclc t.lonltor
use V011age
Aegulalor
Timer1 Tirner3
Nole 1: RE311 molbple•G<I Wllh MCLR and 19 onty available w11et1 � MCLR Aellell •• OISabltd.
2: ose 1/CLKI arid OSC2/CU<O llfl only avallable In Hled oecolator modes and whlln lhese plns are no1 b&,ng used as dlg'181 VO. Re!«
IO Sec!lon 2.0 "Oaclllator Conllgu .. 1ion1" to, 8ddltional int«mat,on
3. RB3 il 1he aneroate pin lor CCP2 m.,11ip4e,1r,g.
4
Datasheet de la familia PIC18F2455/2550/4455/4550
." '-
Dalll Bus<8>
Table Poinlet"21>
'"''"',-.
1
• ' º''"*" ,-.
,-. "'"""
RA11AN1
•
inc:.'dec IDgic
.._,
AA2/ANVVAU./CV,it:F
,-. RA.31AN3NAEF•
,-.
" ,.
--
,CU.TU ,CU,T>o RA4/TOCl<I/C10UT/RCV
,-.
••
!
I PCU PCH I PCL """"'"""'
T,, � - RA51��
OSC2JCU<OIRA6
----
Program Coun1er
-,
'•
/ Dala Aoüess.<12>
eoere
31 Level Staclc
' t,, t '.
ese•
R80'AN12!HTOR.lll'SOIISOA
Address LalCh ,-. RB 1/ANIOl1NT1/SCl</SCL
,-.
""' �
•
STl<PTR RB2JAN8/INT2NMO
(2�1<byles) FSR1 ,-. RB3JANWCCp-¿.•1NPO
,-.
� "" "
RB41AN111KBIOICSSPP
"'"""" ,-.
· -- *
RB511<Bl1/PGM
,-. RB6/!<;Bl2/PGC
--•
• RB71KBl31PGD
...... '°""�
-
lnstrucllon Bus c16> 1 "'""" RCOIT10SO'TIX:1<1
,-. RC1fT1�•>,voe
,-
•
RC21CCP1/P1A
1
" ,-
,-. "''"'"""'
,e"'"""'
li'
RCS/0•/VP
,-.
lns1ruc1ion Slaie Mao;:t,lne ,-. RC7/RXIDT/SOO
...... """"
,-...
8�8Mu
·,-�-
voc.vss a
0---+ Oscila!Of lo[,
;;i . ....
,-.
RDOISPPO"RD4/SPP4
-·-
osc1111
-=· ""'
- '
AD5/SPP5/P18
oses" ,- AD61SPP6/P1C
MRC
�
[)do"'
,-
••
SUlr1·up Tlmeo AD7/SPP7/P1D
Oteil,,lo,
'
T10SI
-
-
¡�g.¡
Osc:ila!Of \ AlÚ<e> I
ICPGd3) �
w, ....
&-
t•
'°"",-
ICPG!fll �
AEQIAN!>C1<1SPP
1CPQAT5'3)[8)-t,
I
Fa.Sar. AE11AN61C1<2SPP
Clock MonlOr ,- AE2/AN71QESPP
ICRS'f0) 8)-t, BandGap
...
Reterence �E,l('l
t.i;i..Rll) 0---+ use Voltage I
A�alOI
"""
HLVD
1,
º'"
"""'" TI�· I Tme<1 I Timer2 r...o
. •
I""""""' ECCPl cesa MSS, I EUSART 1.�1 usa
Nole 1: RE3 ia múliple•ed wlth MCLR and is only available when lhe MCLR Resets a,e disabled.
ª"'
"a: OSC1/CLl<I and OSC:VCLl<O are only availilble"' se!eci 0$0lal0f mode5 and when lhese pons
to Secllon 2.0 "Osdllator Con1!9u .. 1lon1" to, ad<lrtK)nal ,nformatJDn
These pins are only available on ••·pin
nol t>e1ng us«I asdogllal 1/(). Atifer
TOFP packa¡¡es under cer1air1 cond,tioos Aefer ID Seclion 25.9 ""Spedal ICPORT Features
(Deslgnated Package• Only)" lor addlbOnal irdormabon
5
Documento creado por Slalen para Electronics Strange World
Pin
Number Pin Buffer
Pin Name Oescrlptlon
POIP, Type Type
SOIC
6
Datasheet de la familia PIC18F2455/2550/4455/4550
Pla
Number Pin Buffer
Pin Name Description
PDIP, Type Type
SOIC
POATB is a eccecucner 110 port. PORTB can be software
programmed lor interna! weak pull·ups on all lnputs.
ABOJAN12/INTOJFLTO/ 21
$01/SDA
ABO l/0 TIL D191tal 1/0.
AN12 1 Analog Analog input 12.
INTO 1 ST Externa! ,nterrupt O.
FLTO 1 ST PWM Fault input (CCP1 module).
SDI 1 ST SPI data in.
SDA vo ST t2C' .. data 110.
AB 1/AN 1 OIINT1/SCK/ 22
SCL
RB1 l/0 TIL Digital 1/0.
AN10 1 Analog Analog input 1 O
INT1 1 ST E:,:lernal inlerrupl 1.
SCK vo ST Synchrooous serial clock 1nput/output for SPI mode.
SCL vo ST Syochrooous serial clock input/output for 12C moda.
AB2JAN8/INT2NMO 23
RB2 vo TIL Digital 1/0.
AN8 1 Analog Analog input 8.
INT2 1 ST Extemal interrupt 2.
VMO o - Externa! USB transceiver VMO output.
RB3/AN9/CCP2NP0 24
RB3 vo TIL Digital 110.
AN9 1 Analog Analog input 9.
cceeoi vo ST Capture 2 input/Compare 2 output/PWM 2 output.
VPO o - E:w:temal USB «anscewer VPO output.
AB4/AN11/KBIO 25
RB4 vo TIL Digital 1/0.
AN11 1 Analog Analog input 11.
KBIO 1 TIL lnterrupt·oo·change p,n.
ABS/KBI 1/PGM 26
RBS vo TIL Digital 1/0.
KBl1 1 TIL lnterrupt-on-change pm.
PGM vo ST Low-Voltage ICSP'" Programming enable pin.
AB6/KBl2/PGC 27
RB6 vo TIL Digital 1/0.
KBl2 1 TTL lnterrupt-oo-change p,n.
PGC vo ST ln·Circuit Debugger and ICSP programm1ng clock pin
AB7/KBl3/PGD 28
RB7 vo TIL Digital 1/0.
KBl3 1 TIL tnterrupt-on-change p,n.
PGD vo ST ln·Circuit Debugger and ICSP programming data pin.
7
Documento creado por Slalen para Electronics Strange World
Pla
Number Pla Buffer
Pin Name Descrlptlon
PDIP, Type Type
SOIC
PORTC is a bidirectional VO port.
RCO/T10SOIT13CKI 11
RCO 110 ST Digital UO.
rroso o - Timer1 osc,llator outpul.
T13CKI 1 ST Timer1mmer3 externa! clock input.
RC1fT10SI/CCP2/UOE 12
RC1 110 ST Digital UO.
T10SI 1 CMOS Timerl oscdlator input.
ccP2<2l 110 ST Capture 2 input/Compare 2 outputlPWM 2 output.
UOE - - Extemal USB transceiver OE output.
RC2/CCPI 13
RC2 110 ST Digital UO.
CCP1 110 ST Capture 1 input/Compare 1 outpuUPWM 1 output.
RC4JD.NM 15
RC4 1 TTL Digital input.
O· 110 - USB d1fferential minus lme (input/output).
VM 1 TTL Extemal USB transceiver VM input.
RCS/D+NP 16
RCS 1 TTL Dlg1tat mput.
O+ 1/0 - USB differential plus line (input/output).
VP o TTL fatemal USB transoewer VP mput.
AC6/TX/CK 17
RC6 1/0 ST Digital VO.
TX o - EUSART asynchrooous nansrmt
CK 1/0 ST EUSART synchrooous dock (see RXIDn.
RC7/RXIDT/SDO 18
RC7 110 ST Digital UO.
RX 1 ST EUSART asynchronous receive.
DT 1/0 ST EUSAAT synchronous data (see TX/CK).
SDO o - SPI data out.
RE3 - - - See MCLRNPP/RE3 pin.
vusa 14 o - Interna! USB 3.3V voltage regulator.
Vss 8. 19 p - Ground reference lor logic and 1/0 pins.
voo 20 p - Positive supply lor logic and UO pins.
8
Datasheet de la familia PIC18F2455/2550/4455/4550
9
Documento creado por Slalen para Electronics Strange World
10
Datasheet de la familia PIC18F2455/2550/4455/4550
RC7
AX "º
1
ST
ST
Digital 110.
EUSART asynchronous receive.
DT
SDO "ºo ST
-
EUSART synchronous data (see TX/CK).
SPI data out.
11
Documento creado por Slalen para Electronics Strange World
12
Datasheet de la familia PIC18F2455/2550/4455/4550
13
Documento creado por Slalen para Electronics Strange World
PIC18F245512550/4455/4550
--------------------------------------,
PLLOIV
.. ""
use Clock Source
u
., uo
•i
USBOIV
., '"
.,
• •3
100 �
Oll �
•"" .,
Sleep:
º"
.
FSEN
' º"
000
HSPLL, ECPLL usa
XTPLL, ECPIO Peripheral
CP DIV
., f-----10
CPUDIV
Pnma,y
cece
.-
10LEN
c,u
FOSC3FOSCO
Penph&rals
�
,�...
T10SC ""
TlOSCEN
°"'�"' OSCCON<6.4>
------·
ln11mal Qsc,llat0<
1n1tm111
o,c111111or
-�
Block
�
f-c8cMc,c,- FOSC3:FOSCO OSCCON<l'O>
INTRC (INTOSCJ
14
Datasheet de la familia PIC18F2455/2550/4455/4550
15
Documento creado por Slalen para Electronics Strange World
16
Datasheet de la familia PIC18F2455/2550/4455/4550
17
Documento creado por Slalen para Electronics Strange World
OSC2--�
oscuarcr
Dosc1 anct
'---©---,Prescaler
veo SYSCLK
X
18
Datasheet de la familia PIC18F2455/2550/4455/4550
19
Documento creado por Slalen para Electronics Strange World
20
Datasheet de la familia PIC18F2455/2550/4455/4550
21
Documento creado por Slalen para Electronics Strange World
22
Datasheet de la familia PIC18F2455/2550/4455/4550
Los osciladores secundarios son las fuentes externas que no se conectan en los
pines OSC1 u OSC2. Estas fuentes pueden seguir funcionando incluso cuando el
microcontrolador se pone en modo “control de energía”.
Los micros PIC18F2455/PIC18F2550/PIC18F4455/PIC18F4550 ofrecen el
Timer1 como oscilador secundario. Este oscilador es, a menudo, el temporizador base
en las aplicaciones basadas en tiempo real en todos los modos de “control de energía”.
Más comúnmente, se conecta un XTAL de 32,768kHz en los pines
RC0/T1OSO/TI3CKI y RC1/T10SI/UOE* junto con un condensador e cada pin a masa.
El bloque interno de oscilación se puede usar como reloj en los modos “control
de energía”. La fuente INTRC se utiliza en varias opciones especiales como el perro
guardián o el monitor del reloj de seguridad.
23
Documento creado por Slalen para Electronics Strange World
cambia la señal de reloj. La longitud de esta pausa es la suma de dos ciclos del reloj
antiguo mas de tres a cuatro ciclos del reloj nuevo. Esta formula indica cuando el reloj
nuevo se hace estable.
24
Datasheet de la familia PIC18F2455/2550/4455/4550
25
Documento creado por Slalen para Electronics Strange World
26
Datasheet de la familia PIC18F2455/2550/4455/4550
27
Documento creado por Slalen para Electronics Strange World
28
Datasheet de la familia PIC18F2455/2550/4455/4550
T10SI
OSC1 ..f\.I\.J"\.j"\L��c'
' 3
Pfogram
cecmer
T10SI
ose,
��
PLL Clock
2 n-t n: :
Outpu1
: : C1ock<2> : :
• ·-Transit,on-. '
CPU Clock
Perlpheral
º"'"
Program
cccraer • ••
t j
scs r seso orts Changad OSTS bit Se!
29
Documento creado por Slalen para Electronics Strange World
ceu
C0<•
Penpheral
ceee
Pmgram
Counter
nerosc
º' 02 03 01 .•••••••• · •• ;02103104101102¡0,
: . . ' .
Mulbplexe,
ose,
PLLC!odl
°"""
CPU Clock
e,,,,.«
Program
•
! !
SCS1:SCSO blUi Cha1'96(1 OSTS l>!1 Sal
30
Datasheet de la familia PIC18F2455/2550/4455/4550
��::::�'s:::::::¡:::::'::::::::::::::::::::::::},�c[•c!!:• ::::::::'.::::'.::::::'.::::;::::'.:::::':::::'.::::::;::::
CPU Clock
Periphelal • J
º""".
Program
.;_
cccme- •
¡ ¡
Wake Event OSTS bit Set
31
Documento creado por Slalen para Electronics Strange World
32
Datasheet de la familia PIC18F2455/2550/4455/4550
º' º' 03 01 · - - - - - - - · - - - - - - - - - - - - - - - - - - - - - - - - - · •
ose,
CPU Clocil
Penpheral
CO<>
Program
Coun1er
.,
FIGURA 3-8: TIEMPO DE TRANSICIÓN EL REINICIO DEL MODO IDLE AL
RUN
01 . - - --- - - - - ----- - - - - .... - - ..... - - . -1 02 03
+
Wake Event
33
Documento creado por Slalen para Electronics Strange World
34
Datasheet de la familia PIC18F2455/2550/4455/4550
35
Documento creado por Slalen para Electronics Strange World
4.0 RESET
Los dispositivos PIC18F2455/2550/4455/4550 distinguen entre las distintas
clases de reset:
a) Reset por fallo de energía (POR)
b) Reset por MCLR* durante la operación normal
c) Reset de MCLR* durante modos ahorro de energía
d) Reset por el perro guardián (WDT) (durante ejecución)
e) Reset por cese de energía (BOR)
f) Instrucción RESET
g) Reset por desbordamiento la Pila
h) Reset por vaciado de la Pila
Esta sección discute los resets generados por MCLR*, POR y BOR y cubre la
operación de los varios contadores de tiempo inicio.
Voo
Brown-out L-----<r-,
Aeset
BOA EN l.----------J s
-----,
1024 Cycles
Chip_Aeset
1 o-Bot Aipple Counter R o'----
L---------- EnablePWAT
Enable osrer
36
Datasheet de la familia PIC18F2455/2550/4455/4550
37
Documento creado por Slalen para Electronics Strange World
38
Datasheet de la familia PIC18F2455/2550/4455/4550
39
Documento creado por Slalen para Electronics Strange World
40
Datasheet de la familia PIC18F2455/2550/4455/4550
41
Documento creado por Slalen para Electronics Strange World
PC<20:0>
1f
.�.
CALL, RCALL, Rm.lRN, Rm.lRN. 21
l!KTFIE, RKnM. CALl,ll,
ADDUWK, stlBULlfK SUSUWK -0,
---"su-,-,",",--,. -,--� Slack Level I
,
On·Chip
Program MemOfY On·Chip
Program Memory
5 FFFh
6 OOOh
•
Je-
7FFFh
8000h
?�
a•
¡
Reed -o'
o
Read ·o·
1 FFFFFh 1FFFFFh
200000h 200000 -
42
Datasheet de la familia PIC18F2455/2550/4455/4550
43
Documento creado por Slalen para Electronics Strange World
El stack pointer se inicializa con ‘00000’ después de cada reset. No hay RAM
asociado a la localización que corresponde con un valor del stack pointer de ‘00000’;
esto sólo es un valor de reset. Los bits de estado indican si la pila está llena, ha
desbordado o tiene está vacía y tiene que devolver una dirección (underflow).
11111
11110
'rcp-ct-stack Reglsters 11101 Stack Pointer
I
TOSU
OOh I
TOSH
1 1Ah I
TOSL
34h I ... •••
� -
-
•
•
•
STKPTR<4:0>
1000101
00011 J
'---�� Top·of-Stack 001A34h 000 l O .....--------
OOOD58h 0000 l
00000
44
Datasheet de la familia PIC18F2455/2550/4455/4550
45
Documento creado por Slalen para Electronics Strange World
eliminados y se almacenarán los de la alta. En estos casos, el usuario debe almacenar los
datos de los registros en memoria.
Si las interrupciones de alta prioridad no se utilizan, todas las interrupciones
pueden utilizar la pila almacenamiento rápido para volver de la interrupción. Si no se
utilizan las interrupciones, la pila de almacenamiento rápido se puede usar para
restaurar los registros ESTADO, WREG y BSR al final de una llamada de un
subprograma. Para utilizar la pila de almacenamiento rápido en una llamada de un
subprograma, hay que usar una instrucción CALL LABEL, FAST donde LABEL es el
nombre de la subrutina se debe utilizar para guardar los registros de ESTADO, WREG
y BSR en la pila de almacenamiento rápido. Para restaurar estos registros hay que
utilizar una instrucción RETURN, FAST.
46
Datasheet de la familia PIC18F2455/2550/4455/4550
OSC1
01
02
03
04
PC
OSC2/CLKO
(RC mode)
Ex&Cute INST (PC- 2)
Fe1ch INST (PC) Ex!ICU1e INST (PC) 1
Fetch INST PC + 2l Execute INST 1PC + 2
Fetch INST PC + 4
47
Documento creado por Slalen para Electronics Strange World
Program Memory
Byte tccanons --+
LSB-- l LSB-- O
'
OOOOOOh
000002h
000004h
000006h
Instructcn 1: MOVLW OSSh OFh 55h 000008h
Instrucnon 2: GOTO 0006h EFh 03h OOOOOAh
FOh OOh OOOOOCh
rosuucnon 3: MOVFF 123h, 456h C1h 23h OOOOOEh
F4h 56h 000010h
000012h
000014h
48
Datasheet de la familia PIC18F2455/2550/4455/4550
49
Documento creado por Slalen para Electronics Strange World
OOh OOOh
: 0000 Access RAM 05Fh
BankO - - - - 060h
FFh GPA OFFh
OOh 100h
: 0001
Bank 1 GPA
FFh 1FFh
: 0010 OOh 200h
Bank2 GPA
FFh 2FFh
: 0011 OOh 300h
Bank 3 GPA
FFh 3FFh
OOh 400h
"'0100 Bank4 GPA<1l
FFh 4FFh
: 0101 OOh SOOh
Bank 5 GPA<1l
FFh SFFh
: 0110 OOh 600h
Bank6 GPA<1l
Access Bank
FFh 6FFh
: 0111 OOh 700h OOh
Bank 7 GPA<1l Access RAM Low
- - - - SFh
FFh 7FFh Access RAM H1gh 60n
OOh 800h (SFRs) FFh
: 1000
Bank 8
Unused
to Read as OOh
: 1110
Bank 14
FF h EFFh
00 h Unused FOOh
= 1111 - - - - FSFh
Bank 15
SFA F60h
FF h FFFh
Cuando a=0:
Se ignora el BSR y usamos el acceso al banco.
Los primeros 96bytes de la RAM son de propósito general (del banco 0)
Los 160bytes restantes son registros de funciones especiales (banco 15)
Cuando a=1:
El BSR especifica el banco usado en la instrucción.
50
Datasheet de la familia PIC18F2455/2550/4455/4550
51
Documento creado por Slalen para Electronics Strange World
T-� ----·· :
OOh
Bank 1
Selecrl2) h F Fh
OOh
Bank Bank 2
h F Fh�-----�
OOh
Bank 3
through
� Bank 13 '
F Fh
EOO h
OOh
Bank 14
FOO h FFh
OOh
Bank 15
FF Fh FFh
52
Datasheet de la familia PIC18F2455/2550/4455/4550
-
TABLA 5-1: MAPA DE LOS REGISTROS DE FUNCION ESPECÍFICA
.... ·� ...,... -·'""···
··=� ·�
Adck•••
-·-
-
A<ld'ff• Add•••I
�
..
rose
�
""" "''"" CcPFUH
'"" ""' IPR1
="
UEP15
"�" '
POS�'I CCPAll UEP1•
·=·
� = "�
·- -
'"" -"
POSTDEC2i1l CCP1CON PI El UEP13
·-
roe =
""' ·=" '""
PRE�') CCPR2H UEP12
··--
� = ""'
'"" '""' """' '"" TRISEtJJ
-
ECCPIAS
--
'""
"� """"' "'"'
"""
"""""
�"""" """
"� '"""'
TRISB
""' ""' UEP3
"'""'" ""''"
"""'"' "' " "°'"'" '" "
'""'
"""' '" ' -•
TRISA
m
' UEP1
-·-
"� '"" ""'" ""' """"" ""' -"
"'" -"•
""' "'"'
'""" """
· -
<M
" "''" "''º
IN()FQl'l TMAIH
"'"
"�
POSnte:oC'I
"'
"� ""'" "'
"�" ""º "'" "' """"'
=
··""'-- ""'"'"""'-· ··'""--
POSTDE001l
""'" TXREG LATE<SJ
""' ·- ··---
rece ™�
""'
""'
PREINC(i('I
'"' TXSTA
"'' LAT�"l
'º"' ""
Pluswol11
·= ......
· -
�ra
""' -··
<CM
'""'"
"""" �"
UEIR
""' ""
-·""'--
""' "'""" " ""
"'" -·
""'
EEOATA
· -
"Th 1NOF1l'l ,CTh SSPSTAT •• Th EE�1l ,OTh
" "Th UFRMH
_,.
. -"
-"
""'
"�
POSTOEC111l
""""' •••"
'"" -,
-� ·-
PREINC1(11 PORTE $PPEP$1"l
•
""' '"" ""' ·= "''-
""'
Pll.lSWIC11 SPPCFG<JJ
53
Documento creado por Slalen para Electronics Strange World
54
Datasheet de la familia PIC18F2455/2550/4455/4550
55
Documento creado por Slalen para Electronics Strange World
56
Datasheet de la familia PIC18F2455/2550/4455/4550
¡
ADDWF, INDFl, 1 BankO
100 h
Bank 1
200 h
Bank2
300 h
FSA1H:FSA1L
7 O 7 O
[x[x[x[x[,[,[,[o[ [ ,[ ,[ o[o[,[,[o[o[ Bank3
:
e through
Bank 13
h
Bank 14
FOO h
Bank 15
FFF h
Data Memory
57
Documento creado por Slalen para Electronics Strange World
registro FSRnH. Por otra parte, los resultados de estas operaciones no cambian el valor
de los flags del registro ESTADO (Ej., Z, N, OV, etc.).
El registro PLUSW se puede utilizar para implementar una forma de
direccionamiento indexado en la memoria de datos. Manipulando el valor del registro,
los usuarios pueden conseguir direcciones fijando el puntero de direcciones. En algunos
casos, esto se puede utilizar para poner un control estructurado del programa, por
ejemplo pilas del software, dentro de la memoria de datos.
58
Datasheet de la familia PIC18F2455/2550/4455/4550
59
Documento creado por Slalen para Electronics Strange World
,� "'u�r-
instrucción se ejecuta en el modo
directo forzado. Se interpreta ‘f’ como
un localización en el acceso a RAM
entre 060h y 0FFh. Éste es igual que el
;� -. , �
SFRs o las localizaciones F60h a 0FFh
.....
/
s.nl< 1
direccionamiento.
Cuando a=0 y f=5Fh: La
=� ·
instrucción se ejecuta en el Modo
indexado por literal compensado. ‘f’ se
interpreta como compensación del valor OOlOOl"° ffffHH
de dirección en FSR2. Los dos se suman
para obtener la dirección objetivo para '� BM>k1 ,-------::·":::;;1
, � l
·�
la instrucción. La dirección puede estar FSA2H FSR2L
=� �·
donde ‘k’ es lo mismo que ‘f’.
lm""
ooml
Cuando a = 1 (cualquier valor
�-'.:::=-�-=:=,.__ ,
---·
de f): La instrucción se ejecuta en el
modo directo (también conocido como
'�
..,.,.,., 1
1,1••,,,.,.,,, -,J:"'"'"''
Modo largo directo). Se interpreta la ‘f’
' ., e. .. ,.
como localización en uno de los 16
bancos de la memoria de datos. El
banco se elige con el registro BSR. La
dirección puede estar en cualquier
·�
FOOh -15
FFFn,LC�;:;.,.¡¡;_,; ;
banco implementado en la memoria de
datos.
60
Datasheet de la familia PIC18F2455/2550/4455/4550
61
Documento creado por Slalen para Electronics Strange World
62
Datasheet de la familia PIC18F2455/2550/4455/4550
Program Memory
Holding Reg1sters
Table Pom1er<1) Table Latch (8·b1t)
63
Documento creado por Slalen para Electronics Strange World
64
Datasheet de la familia PIC18F2455/2550/4455/4550
65
Documento creado por Slalen para Electronics Strange World
TABLE ERASE
TBLPTR<21 :6>
Program Memory
?
7
1
TBLPTR • xxxxxl TBLPTR •
11nstruction Register
FETCH TABLAT
(IR) TBLRD Read Reg,ster 1
66
Datasheet de la familia PIC18F2455/2550/4455/4550
67
Documento creado por Slalen para Electronics Strange World
68
Datasheet de la familia PIC18F2455/2550/4455/4550
final de la actualización de los 32 registros, el registro EECON1 debe estar escrito para
comenzar la operación de programación con una escritura larga.
Se necesita la escritura larga para programar la flash interna. Se para la
ejecución de instrucciones mientras dure la escritura larga. La escritura larga finalizará
con el contador interno de programación.
El contador de tiempo de la EEPROM controla el tiempo de escritura. Las
tensiones de escritura/borrado las genera el chip con una bomba de carga, ajustada para
funcionar sobre la gama de la tensión del dispositivo.
Nota: El valor prefijado de los registros bloqueados en un reset y antes de una
operación de escritura es FFh. Al escribir FFh en un registro de este tipo, no modifica
ese byte. Esto significa que los bytes individuales de memoria de programa se pueden
modificar, siempre que el cambio no sea modificar un bit de ‘0’ a ‘1’. Al modificar
bytes individuales, no es necesario cargar los 32 registros antes de ejecutar una
operación de escritura.
•••
• • • 8
•••
Program Memory
69
Documento creado por Slalen para Electronics Strange World
READ_BLOCK
TBLRD*+ ;leer en TABLAT, e incrementar
MOVF TABLAT, W ;coger datos
MOVWF POSTINC0 ;guardar datos
DECFSZ COUNTER ;¿correcto?
BRA READ_BLOCK ;repetir
MODIFY_WORD
MOVLW DATA_ADDR_HIGH ;Puntero al
buffer
MOVWF FSR0H
MOVLW DATA_ADDR_LOW
MOVWF FSR0L
MOVLW NEW_DATA_LOW ;Actualizar buffer
MOVLW NEW_DATA_HIGH
MOVWF INDF0
ERASE_BLOCK
MOVLW CODE_ADDR_UPPER ;Cargar TBLPTR con la dirección base
MOVWF TBLPTRU ;del bloque de memoria
MOVLW CODE_ADDR_HIGH
MOVWF TBLPTRH
MOVLW CODE_ADDR_LOW
MOVWF TBLPTRL
BSF EECON1, EEPGD ;Puntero a la Flash
BCF EECON1, CFGS ;acceso a la Flash
BSF EECON1, WREN ;activar la escritura en memoria
BSF EECON1, FREE ;Activar la operación de borrado de fila
BCF INTCON, GIE ;desactiva interrupciones
MOVLW 55h
MOVWF EECON2 ;escribe 55h
MOVLW 0AAh
MOVWF EECON2 ;escribe 0AAh
BSF EECON1, WR ;comienzo del borrado (CPU parada)
BSF INTCON, GIE ; reactivae interrupciones
TBLRD*- ;decrmeto después de leer
MOVLW BUFFER_ADDR_HIGH ;puntero al buffer
MOVWF FSR0H
MOVLW BUFFER_ADDR_LOW
MOVWF FSR0L
MOVLW D’2’
70
Datasheet de la familia PIC18F2455/2550/4455/4550
MOVWF COUNTER1
WRITE_BUFFER_BACK
MOVLW D’32’ ;nº de bytes en los registros bloqueados
MOVWF COUNTER
WRITE_BYTE_TO_HREGS
MOVF POSTINC0, W ;coger el byte bajo del buffer
MOVWF TABLAT ;llevar dato al lacht de tabla
TBLWT+* ;escribir dato (escritura corta)
DECFSZ COUNTER ;repetir hasta que el buffer se llene
BRA WRITE_WORD_TO_HREGS
PROGRAM_MEMORY
BSF EECON1, EEPGD ;Puntero a la memoria flash
BCF EECON1, CFGS ;Acceso a la memoria flash
BSF EECON1, WREN ;Activar escritura en memoria
BCF INTCON, GIE ;Desactivar interrupciones
MOVLW 55h
MOVWF EECON2 ;Escribir 55h
MOVLW 0AAh
MOVWF EECON2 ;Escribir 0AAh
BSF EECON1, WR ;Comienzo del programa
DECFSZ COUNTER1
BRA WRITE_BUFFER_BACK
BSF INTCON, GIE ;Activa las interrupciones
BCF EECON1, WREN ;Desactiva la escritura en memoria
71
Documento creado por Slalen para Electronics Strange World
72
Datasheet de la familia PIC18F2455/2550/4455/4550
73
Documento creado por Slalen para Electronics Strange World
74
Datasheet de la familia PIC18F2455/2550/4455/4550
75
Documento creado por Slalen para Electronics Strange World
76
Datasheet de la familia PIC18F2455/2550/4455/4550
77
Documento creado por Slalen para Electronics Strange World
78
Datasheet de la familia PIC18F2455/2550/4455/4550
79
Documento creado por Slalen para Electronics Strange World
9.0 INTERRUPCIONES
Los dispositivos PIC18F2455/2550/4455/4550 tienen fuentes múltiples de
interrupción y una prioridad de interrupción que permite que cada fuente de interrupción
se le asigne un nivel prioritario o un nivel bajo de prioridad. El puntero de alta prioridad
está en 000008h y el puntero de interrupción de baja prioridad está en 000018h. Los
acontecimientos prioritarios de interrupción pararán cualquier interrupción de prioridad
baja que pueda estar en marcha.
Hay diez registros que se utilizan para controlar las operaciones de interrupción.
Estos registros son:
• RCON
• INTCON
• INTCON2
• INTCON3
• PIR1, PIR2
• PIE1, PIE2
• IPR1, IPR2
Cada fuente de interrupción tiene tres bits para controlar su operación. Las
funciones de estos bits son:
• Flag para indicar que ha ocurrido una interrupción
• El bit que permite la ejecución de programa en la dirección del puntero
de interrupción cuando se activa el flag
• El bit de prioridad para seleccionar alta o baja prioridad
Las características de prioridad de las interrupciones se determinan activando el
bit IPEN (RCON<7>). Cuando se permite la prioridad de las interrupciones, hay dos
bits que permiten las interrupciones globalmente. Activando el bit GIEH (INTCON<7>)
se permiten todas las interrupciones que tengan el bit de prioridad activo (prioritario).
Seteando el bit GIEL (INTCON<6>) permite todas las interrupciones que tengan el bit
de prioridad borrado (prioridad baja). Cuando el flag de interrupción, el bit de permiso y
el bit de las interrupciones globales están activos, el programa saltará inmediatamente a
la dirección 000008h ó 000018h, dependiendo del bit de prioridad. Las interrupciones
individuales pueden desactivarse con su correspondiente bit de permiso.
Cuando el bit IPEN está borrado (estado por defecto), las características de
prioridad de las interrupciones están desactivadas y las interrupciones son compatibles
con los dispositivos de alcance medio de PICmicro®. En el modo de compatibilidad, los
bits de prioridad de las interrupciones para cada fuente no tienen ningún efecto.
INTCON<6> es el bit PEIE el cuál permite/inhabilita todas las fuentes periféricas de
interrupción. INTCON<7> es el bit GIE que permite/inhabilita todas las fuentes de
interrupción. Todas las interrupciones saltan a la dirección 000008h en modo de
compatibilidad.
Cuando se responde una interrupción, el bit de permiso de las interrupciones
globales está borrado para inhabilitar las otras. Si el bit IPEN está reseteado, éste es el
bit GIE. Si se utilizan los niveles de prioridad de interrupción, éste será el bit GIEH o
GIEL. Las fuentes de interrupción prioritarias pueden interrumpir una interrupción de
baja prioridad. Las interrupciones de prioridad bajas no se procesan mientras que las
interrupciones prioritarias estén en marcha.
La dirección de retorno se pone en la pila y el PC se carga con la dirección del
puntero de interrupción (000008h ó 000018h). Una vez en la rutina de la interrupción,
las fuentes de interrupción se pueden determinar interrogando los flags de interrupción.
80
Datasheet de la familia PIC18F2455/2550/4455/4550
Los flags de interrupción se tienen que despejar por software antes de volver a permitir
las interrupciones para evitar interrupciones recurrentes.
La “instrucción para volver de la interrupción”, RETFIE, devuelve de la rutina
de interrupción y activa el bit GIE (GIEH o GIEL si se utilizan los niveles de prioridad)
que vuelve a permitir las interrupciones.
Para los acontecimientos externos de interrupción, tales como los pines INT o la
interrupción por cambio de la entrada PORTB, el estado latente de la interrupción es de
tres a cuatro ciclos de instrucción. El exacto el estado latente es igual para instrucciones
de uno o dos ciclos. Los flags individuales de interrupción se activan sin importar el
estado de su bit de permiso correspondiente o el bit GIE.
Nota: No utilizar la instrucción MOVFF para modificar registros de control de
interrupción mientras que se permita cualquier interrupción. Al hacerlo puede provocar
un comportamiento errático del microcontrolador.
81
Documento creado por Slalen para Electronics Strange World
TMROIF
TMflOIE
™�'
RSIF
sae
m"""
�
,INTOIF
INT11F
INTHE
INT11P
INT:?IF
INT2�
INT2�
GIE/GIEH
,�,
TMA11F
TMA11E
D----1
TMR11P
o - "-"9r.. lrQ<,upll
o
W...upl 10 CPU
TMROIF -10 loc.lion
-==�[==>----� º"�
TMROIE
TMROIP
=:1�:
"'"
TMRIIP
o ¡¡;;¡rnJr
INT:!IF
INT2lE
'''"'
82
Datasheet de la familia PIC18F2455/2550/4455/4550
83
Documento creado por Slalen para Electronics Strange World
84
Datasheet de la familia PIC18F2455/2550/4455/4550
85
Documento creado por Slalen para Electronics Strange World
86
Datasheet de la familia PIC18F2455/2550/4455/4550
87
Documento creado por Slalen para Electronics Strange World
88
Datasheet de la familia PIC18F2455/2550/4455/4550
89
Documento creado por Slalen para Electronics Strange World
90
Datasheet de la familia PIC18F2455/2550/4455/4550
91
Documento creado por Slalen para Electronics Strange World
92
Datasheet de la familia PIC18F2455/2550/4455/4550
ROLAT
....
oaia
o o
WRLAT l/0 p¡n(l)
�PORT e,._
Data Latch
o o
WRTRIS e,"""\_
TRIS Lalch
'"""
Bulle,
RO TRIS
o o
EN
ROPORT
Nota 1: Los puertos de E/S tienen un diodo de protección para VDD y VSS.
93
Documento creado por Slalen para Electronics Strange World
94
Datasheet de la familia PIC18F2455/2550/4455/4550
95
Documento creado por Slalen para Electronics Strange World
96
Datasheet de la familia PIC18F2455/2550/4455/4550
97
Documento creado por Slalen para Electronics Strange World
x salida salida digital Salida serie de datos para operaciones ICSP e ICD.(3)
PGD
Buffer de
x entrada Entrada serie de datos para operaciones ICSP e ICD.(3)
entrada Schmitt
Nota 1: Configuración en el POR determinada por el bit PBADEN. Los pines
se configuran como entradas analógicas cuando el bit PBADAN está activo y entradas
digitales cuando está borrado.
2: Selección de pin alternativo de CCP2 cuando CCP2MX = 0. La
selección natural es RC1.
3: Todas las funciones de los pines están desactivadas cuando ICSP o
ICD se activan.
4: Sólo en los dispositivos de 40/44-pines.
98
Datasheet de la familia PIC18F2455/2550/4455/4550
99
Documento creado por Slalen para Electronics Strange World
100
Datasheet de la familia PIC18F2455/2550/4455/4550
RC5/D+/V —(2) S transmisor USB Línea de salida del bus USB diferencial positivo USB (transmisor interno).
P D+ (2) Línea de entrada del bus USB diferencial positivo USB (transmisor
— E transmisor USB
interno).
Buffer de
VP —(2) E Entrada del USB VP externo.
entrada TTL
0 S salida digital LATC<6> salida de datos.
RC6 Buffer de
1 E PORTC<6> entrada de datos.
entrada Schmitt
Salida de transmisión serie asíncrona (módulo EUSART); tiene prioridad
RC6/TX/C TX 0 S salida digital
sobre el puerto de datos. El usuario tiene que configurarla como salid.
K
Salida de transmisión serie síncrona (módulo EUSART); tiene prioridad
0 S salida digital
sobre el puerto de datos.
CK
Buffer de
1 E Entrada del reloj serie síncrono (Módulo EUSART).
entrada Schmitt
0 S salida digital PORTC<7> salida de datos
RC7 Buffer de
1 E PORT<7> entrada de datos
entrada Schmitt
Buffer de
RX 1 E Entrada de datos del receptor serie asíncrono (módulo EUSART).
entrada Schmitt
RC7/RX/D
Salida serie de datos síncrona (modulo EUSART); tiene prioridad sobre
T/ SDO 1 S salida digital
SPI y el puerto de datos.
DT
Buffer de Entrada de datos serie síncrona (módulo EUSART). El usuario tiene que
1 E
entrada Schmitt configurarla como entr.
Salida de datos SPI (módulo MSSP); tiene prioridad sobre el puerto de
SDO 0 S salida digital
datos.
101
Documento creado por Slalen para Electronics Strange World
Nota 1: Asignación del pin por defecto. La asignación del pin alternativa es
RB3 (cuando CCP2MX = 0).
2: RC4 y RC5 no tienen bits correspondientes de TRISC. En el modo de
puertos estos pines son sólo entradas. La dirección de los datos del USB se determina
por la configuración del USB.
3: Solamente dispositivos de 40/44pines.
102
Datasheet de la familia PIC18F2455/2550/4455/4550
103
Documento creado por Slalen para Electronics Strange World
104
Datasheet de la familia PIC18F2455/2550/4455/4550
El registro del latch de datos (LATE) sólo es memoria mapeada. Las operaciones
de lectura-modificación-escritura en el registro LATE lee y escribe el valor del latch de
salida del PORTE.
El cuarto pin PORTE (MCLR*/VPP/RE3) sólo es un pin de entrada. Su
operación se controlada con el bit de configuración MCLRE. Cuando se selecciona
como puerto (MCLRE = 0), funciona como una entrada digital; como tal, no tiene bits
TRIS o LAT asociados. Si no, funciona como entrada Master Clear del dispositivo. En
cualquier configuración, RE3 también funciona como entrada de tensión de
programación.
Nota: En un reset de subida de tensión, se activa RE3 como una entrada digital
solamente si la función de Master Clear está desactivada.
105
Documento creado por Slalen para Electronics Strange World
106
Datasheet de la familia PIC18F2455/2550/4455/4550
107
Documento creado por Slalen para Electronics Strange World
Fosd o
T�
P�1emmable
PreSCl:llef
o
ln!e1nal
Sync Wílh
º"""'
f--.i=���JTMROL
set
TMROIF
onOverllow
108
Datasheet de la familia PIC18F2455/2550/4455/4550
Foso o
T�
Progranvnat>le
lnt,n\ill
Sync IYllh
Clocks
f---[���=r::; �i;:J
TMAOL TMSO
H hB •
ser
TMAOIF
000.. ....
TOSE
F'r,scaler ' (2 Tcv Oelay) '
TOCS-----' 3 AeadTMAOL
TOPS2.TOPSO -------'
Writ,TMROl.
es,
e
' TMAOH
11.3 PRESCALER
Estos micros disponen de un contador de 8bit como prescaler para el módulo
Timer0. El prescaler no se puede leer o escribir directamente; su valor se fija con los
bits PSA y T0PS2:T0PS0 (T0CON<3: 0>), los cuáles determinan el divisor del
prescaler y la asignación del prescaler.
Borrar el bit PSA asigna el prescaler al Módulo Timer0. Cuando se activa, los
valores del prescaler van de 1:2 a 1:256, con incrementos de potencias de 2.
Cuando está activo el módulo Timer0, todas las instrucciones que escriben en él
(ej., CLRF TMR0, MOVWF, TMR0, BSF TMR0, etc.) se borra el prescaler.
Nota: Al escribir el TMR0 cuando el prescaler está asignado al Timer0 lo
despejará pero no cambiará su asignación.
109
Documento creado por Slalen para Electronics Strange World
110
Datasheet de la familia PIC18F2455/2550/4455/4550
111
Documento creado por Slalen para Electronics Strange World
"-"'
'"""'
e.e
,. 2. o
""""'
"""'
o
2
Sleep 1'1)U1
T10SCENIII TMRlCS--�
T1CKPSl:T1CKPSO ---------"
T1SYNC -------------------------�
TMA10N------------------------_J
ClearTMA1
(CCP Spec&al Evffl Tngger)
TMA1l
TMA1
H' B e '"��
TMR11F
112
Datasheet de la familia PIC18F2455/2550/4455/4550
Presca�r Synchronlze
Fosc/4 1. 2 4 8 f Detect o
lnlemal
o
º"" 2
T10SCENl1l TMR1CS------'
T1CKPSl:T1CKPSO ---------�
T1SYNC
TMR1QN---------------------------'
C�ar TMR1
(CCP 5pee¡¡,.1
-;;;;;;;;;;;;;;-----!=2™�'�'�'=1���;�
fvent Tngoer)
113
Documento creado por Slalen para Electronics Strange World
O XTAL
32.768 kHz
T1050
C2
33pF
114
Datasheet de la familia PIC18F2455/2550/4455/4550
>-y-() OSC1
o
,-I..-{) OSC2
>-y-() RCO
o
,-I..-{) RC1
o RC2
115
Documento creado por Slalen para Electronics Strange World
116
Datasheet de la familia PIC18F2455/2550/4455/4550
117
Documento creado por Slalen para Electronics Strange World
4
T20UTPS3:T20UTPSO .;,_ .¡ 1:1 to 1:16
f.------ Set TMR21F
Postscaler
2
T2CKPS1:T2CKPSO -.;,__� --------t--------TMR2 Output
.- {10 PWM or MSSP)
TMR2/PR2
8 8
8
lntemal Data Bus
118
Datasheet de la familia PIC18F2455/2550/4455/4550
119
Documento creado por Slalen para Electronics Strange World
120
Datasheet de la familia PIC18F2455/2550/4455/4550
""'"
lnternal
ceee o
t. 2. 4, 8 f Oetoct o
T10SI a
Sleep lnl)l.lt
T10SCEN'1l ruRJCS n-o
T3CKPS1.T3CKPSO
r.as,NC
º"""
™"'°"
""
CCP1/CCP2 Special Evenl Trwer ClearTMA3
™'"
TMA3
CCP1/CCP2 Select trom T3CON<6,3> H h B te TMA31F
on Ove<llow
121
Documento creado por Slalen para Electronics Strange World
t'
Fose,, f Detecl
lntemal l. 2. "· 8
T10SI -_
""" º
Sleep 1npu1
T10SCENl1) TMRJC,S---_J
T3CKPS1·T3CKPSO
T3SYNC -------------------------�
'"""'" --------------------::::::::::::::::::::::::::::::::::::::'._�
CCP1/CCP2
CCP1/CCP2 Special
SeleC1 Ev&nt Trig8ef
trom T3CON<6.3> :=[:::>---"""'-"'""l{=��=r:;;��;J
122
Datasheet de la familia PIC18F2455/2550/4455/4550
123
Documento creado por Slalen para Electronics Strange World
124
Datasheet de la familia PIC18F2455/2550/4455/4550
125
Documento creado por Slalen para Electronics Strange World
126
Datasheet de la familia PIC18F2455/2550/4455/4550
CCP1 pm
T3CCP2
'""'
EM""
Prescalef
+ 1,4, 16
J, .. 1
Eóge Oelect
TMR1
T3CCP2 Era""
TMR1l
CCP1CON<3:0,. Se1 CCP21F
01:04
CCP2CON<3 0>
T3CCP1 TMR3H TMR3l
T3CCP2
TMR3
CCP2pm EM""
Prescaler
+ 1, 4, 16
J, .. 1 CCPR2H CCPR2l
Eóge De1ect
™"'
Enable
T3CCP2
TMR1H TMR1l
T3CCP1
127
Documento creado por Slalen para Electronics Strange World
TRIS
' Outp<Jt Enable
CCP1CON<3:0,.
TMRIL
ll��'.:�;:!:;;':"';:c:'��' ����-l�
�
T3CCP2
5etCCP21F CCP2 pin
TRIS
CCPR2H CCPR2L ' Qu1put Enable
CCP2CON<3 0>
128
Datasheet de la familia PIC18F2455/2550/4455/4550
129
Documento creado por Slalen para Electronics Strange World
Comparator
TMR2 (Note 1)
s
COmparator COrresponding
Clear Timer. TRIS bt
CCPx pin and
latch D.C
PR2
DutyCycle
TMR2" PR2
ECUACIÓN 15-1:
Periodo _ PWM = [( PR 2) + 1] • 4 • TOSC • (Valor _ del _ presaler _ de _ TMR 2)
La frecuencia de PWM se define como 1/[período de PWM].
Cuando TMR2 es igual a PR2, ocurren los tres acontecimientos siguientes en el
siguiente ciclo de incremento:
• TMR2 se borra
• Se activa el pin CCPx (excepción: si el duty cicle de PWM=0%, el pin
CCPx no se activa)
• El duty cicle de PWM se asigna de CCPRxL a CCPRxH
130
Datasheet de la familia PIC18F2455/2550/4455/4550
ECUACIÓN 15-2:
Duty _ Cicle _ PWM = (CCPRXL : CCPXCON < 5 : 4 >) • TOSC • (Valor _ del _ prescaler _ TMR 2)
CCPRxL y CCPxCON<5:4> se pueden escribir en cualquier momento, pero el
valor del duty cicle no se grabará en CCPRxH hasta después de que se igualen PR2 y
TMR2 (es decir, se complete el período). En modo PWM, CCPRxH es un registro
inalterable.
El registro CCPRxH y un latch interno de 2bits se utilizan como buffer doble del
ciclo de trabajo de PWM. El buffer doble es esencial en los problemas técnicos del
PWM.
Cuando se igualan los 2bits del latch de TMR2 y CCPRxH, se concatenan con
un reloj interno de 2bits Q o 2bits del prescaler de TMR2, el pin de CCPx se borra.
La máxima resolución de PWM (bits) para una frecuencia PWM dada se calcula
con la ecuación:
ECUACIÓN 15-3:
FOSC
log( )
FPWM
Resolución_máxima_PWM = bits
log(2)
Nota: Si el valor del ciclo de trabajo de PWM es mayor que el periodo, el pin
CCPx no se borrará.
131
Documento creado por Slalen para Electronics Strange World
132
Datasheet de la familia PIC18F2455/2550/4455/4550
133
Documento creado por Slalen para Electronics Strange World
134
Datasheet de la familia PIC18F2455/2550/4455/4550
135
Documento creado por Slalen para Electronics Strange World
TRISD<4>
CCPR1H (Stave)
p,e
"' TRISD<5>
t:omparator R o Ou!P,.,1
COntroller
etc e,c
TMR2 (Note 1)
s TAISD<6>
P,O P,O
ComparatOI
creer Timor, TAIS0<7>
set CCP1 pin alld
PR2
mtch o.e.
ECCP1DEL
Nota 1: el valor de 8bits de Timer2 se concatena con los 2bits del reloj interno Q
o 2bits del prescaler, para crear los 10bit del tiempo base
ECUACIÓN 16-1:
Periodo _ PWM = [( PR 2) + 1] • TOSC • (Valor _ del _ presaler _ de _ TMR 2)
La frecuencia de PWM se define como 1/[período de PWM].
Cuando TMR2 es igual a PR2, ocurren los tres acontecimientos siguientes en el
siguiente ciclo de incremento:
• TMR2 se borra
• Se activa el pin CCP1 (excepción: si el duty cicle de PWM=0%, el pin
CCP1 no se activa)
• El duty cicle de PWM se asigna de CCPR1L a CCPR1H
Nota: Los postscalers Timer2 no se utilizan para calcular la frecuencia de PWM.
El postscaler se podía utilizar para tener una frecuencia de salida diferente.
ECUACIÓN 16-2:
Duty _ Cicle _ PWM = (CCPR1L : CCP1CON < 5 : 4 >) • TOSC • (Valor _ del _ prescaler _ TMR 2)
CCPR1L y CCP1CON<5:4> se pueden escribir en cualquier momento, pero el
valor del duty cicle no se grabará en CCPR1H hasta después de que se igualen PR2 y
TMR2 (es decir, se complete el período). En modo PWM, CCPR1H es un registro
inalterable.
136
Datasheet de la familia PIC18F2455/2550/4455/4550
ECUACIÓN 16-3:
FOSC
log( )
FPWM
Re solición _ máxima _ PWM = bits
log(2)
Nota: Si el valor del ciclo de trabajo de PWM es mayor que el periodo, el pin
CCPx no se borrará.
-
ALTO)
o
CCPICON
<7:6:,,
SIGNAL .� cyc•
º"'
PR2 + 1
; Period
re (Hatt-Bndge) P1 0 Modulated
P1A Active
(Full·Bndge. P1 B 1n;,cti11e
cr Fo1Ward)
P1C lnactive
P1 O Modulated
P1A Inactiva
(Full-Bndge, P1 9 Modulated
ii
Reverse)
P1C Active
P10 Inactiva
137
Documento creado por Slalen para Electronics Strange World
P1A Modulated
:0e1ay Dela y
ic (Hall-Bridge) PlB Modulated
PIA Active
PID Modulated
PI A lnactive
PlD Inactiva
138
Datasheet de la familia PIC18F2455/2550/4455/4550
PIC18FX455JX550
FET
=-. v•
Driver
PIA
FET
Driver
P1B
•
V
V-
Ha1f-8ridge Output Oriving a Full·Bridge Circuit
v,
PIC18FX455JX550
FET
Driver
P1A 1--'--,
FET
Driver
p1 B t-,-----1
V-
139
Documento creado por Slalen para Electronics Strange World
P1A(2)
Outy Cycle
P1B(2)
P1C(21
P1D(2)
': (1)
(1):
Reverse Mode
Period
Duty Cycle
P1A(2l
P10(2l
P1c(21
P1D(21
: ,, ) ',(1)
Nota 1: En este momento el registro TMR2 es igual al registro PR2
2: Las salidas se muestran en activo-alto
PIC18FX455/XSSO
FET OA �---'------, OC FET
Driver Driver
P1A
Lood
P1B
FET FET
Driver
P1C
OB
ªº
V·
P10
140
Datasheet de la familia PIC18F2455/2550/4455/4550
P1A (Active-H1gh)
P1B (Active-H1gh)
:--oc�
P1C (Act1ve·H1gh)
:--oc---:
Nota 1: el bit de dirección del registro de control CCP1 (CCP1CON<7>) se
escribe en cualquier momento del ciclo PWM.
2: Cuando se cambian las direcciones, las señales P1A y P1C cambian
antes del final del ciclo PWM en intervalos de 4TOSC, 16TOSC o 64TOSC, dependiendo
del valor del prescaler de Timer2. Las señales de modulación de P1B y P1D están
inactivas.
141
Documento creado por Slalen para Electronics Strange World
p19(l)
Potennat
-�------.;¡-------" ; �H- t = loFF, - toN(2, 3)
Shoot·Through Currentf11
142
Datasheet de la familia PIC18F2455/2550/4455/4550
143
Documento creado por Slalen para Electronics Strange World
144
Datasheet de la familia PIC18F2455/2550/4455/4550
Shutdown Event
ECCPASE bit
1 ¡-oead-nm:J
.---outy Cycle Outy cvcre ,
'nme
Outy Cycle
Shutdown Event
t
ECCPASE
Cleared by Firmware
145
Documento creado por Slalen para Electronics Strange World
146
Datasheet de la familia PIC18F2455/2550/4455/4550
147
Documento creado por Slalen para Electronics Strange World
3.3V Regulator
1 ,
____ Externa! 3.3V
I
VREGEN- EN • VUSB
Supply(3) :
1
Optional
1
' Externa!
Pull·ups(1)
FSEN
1
� 1
UPUEN
lnternal Pull·up: 1 ' (Full .. .. '
(Low ,
: :
1
rs
UTROIS - 1 , Spood) · Spood)I
----·
�� ----'----- • <: "
Transcelver
1 use Bus
u se Clock lrom the
Oscillator Module <J
(>I 1 --'¡!
1 .._ UOE
1
�-� ''"""
-,,}
UOE Transcelver
use Control a� .......
Configura!ion . •-® vM11> '--------• use Bus
� '
vpl'I ' �
� RcvP> : ...... [> • 9'
use ->0 VMQ(1) ' '
SIE
->0 vpo(1) • - - - - - - - - •
148
Datasheet de la familia PIC18F2455/2550/4455/4550
149
Documento creado por Slalen para Electronics Strange World
dependiendo del valor de este bit. Activar este bit antes de un IDLEIF dará lugar a
comportamiento imprevisible del bus.
Nota: Cuando esté en el modo de suspensión, el bus del dispositivo USB se
limita al 500µA de corriente. Ésta es la corriente completa cedida por el dispositivo
PIC y su circuito de soporte. Hay que tener cuidado de ceder la corriente mínima
cuando el dispositivo entre en el modo de suspensión.
150
Datasheet de la familia PIC18F2455/2550/4455/4550
151
Documento creado por Slalen para Electronics Strange World
152
Datasheet de la familia PIC18F2455/2550/4455/4550
153
Documento creado por Slalen para Electronics Strange World
. !�
1 SkQ
D,
D·
154
Datasheet de la familia PIC18F2455/2550/4455/4550
[
l
.
4· byte FIFO Clearing TRNIF
fo r USTAT Advances FIFO
1
Data Bus
·�
155
Documento creado por Slalen para Electronics Strange World
156
Datasheet de la familia PIC18F2455/2550/4455/4550
157
Documento creado por Slalen para Electronics Strange World
158
Datasheet de la familia PIC18F2455/2550/4455/4550
500h • 1
53Fh
159
Documento creado por Slalen para Electronics Strange World
160
Datasheet de la familia PIC18F2455/2550/4455/4550
161
Documento creado por Slalen para Electronics Strange World
162
Datasheet de la familia PIC18F2455/2550/4455/4550
163
Documento creado por Slalen para Electronics Strange World
164
Datasheet de la familia PIC18F2455/2550/4455/4550
--
eutters on EPO OUT
--
except EPO
--
"""" '""""' """" > EPOOUT Even"""" EPO OUT E ven
) Descriplor "'"' EPOOUT
Descnptor
-- ----
EPOIN EPOOUTOdd
.._.
� EPOOUTOdd EPO IN
Descnptor
EPI OUT EPO IN Even EPI OUT Even
> EPO IN )
"'"""' DeSCfll)tor
EPI IN
> EPI OUT ,._.
EPO IN Odd EPI OUT Odd
--
Descriptor
- --
EPI OUT Even EPI INEven
� : >EPI IN �
Desc:nptor Descnptor
-. ..
� EPI OUT Oód EP1 INOdd
47Fl'I
EPIS IN
�
:º ""'"""" Descriptor
--·
}EPISIN EPt IN Even
""'
.......
EPI INOód
••
��}""'"""'
O.•RAM
4F71'1 I= Descrip1or
Ava<!abkt
"
oeta RAM
4FFhoL--� 4FF1'1L--- 4FFh L--�
,
165
Documento creado por Slalen para Electronics Strange World
Endpoint Modo 0(No Ping- Modo 1(Ping-Pong en Modo 2(Ping-Pong en todos Modo 3(Ping-Pong en
Pong) EP0 OUT) EPs) todos EPs, excepto EP0)
166
Datasheet de la familia PIC18F2455/2550/4455/4550
SOFIF
SOFIE
BTSEF
BTSEE TRNIF USBIF
TRNIE
BTOEF
BTOEE
IDLEIF
DFNSEF IDLEIE
DFNBEE UEAAIF
CRC16EF UERRIE
CRC16EE
CRCSEF STALLIF
STALLIE
CACSEE
PIDEF
PIDEE
:O ACTVIF
ACTVIE
UASTIF
URSTIE
167
Documento creado por Slalen para Electronics Strange World
F,om Hosl
,e,
F1om Host ToHost
T1111nsaciion '--_,---'
Transaction
"°"""''
168
Datasheet de la familia PIC18F2455/2550/4455/4550
169
Documento creado por Slalen para Electronics Strange World
170
Datasheet de la familia PIC18F2455/2550/4455/4550
171
Documento creado por Slalen para Electronics Strange World
172
Datasheet de la familia PIC18F2455/2550/4455/4550
vss
VSELF---l----.1---1"--.I Vss
-sv
Nota: Los usuarios deben tener presente los límites de energía del USB. Según
la especificación del USB 2.0, no puede exceder 100mA en un dispositivo de baja
potencia ó 500mA en uno de alta.
173
Documento creado por Slalen para Electronics Strange World
17.8 OSCILADOR
El módulo USB necesita una señal específica de reloj. En operaciones full-
speed, el reloj tiene que ser de 48MHz. El microcontrolador y los periféricos no tienen
porque tener la misma frecuencia de reloj o la misma fuente.
174
Datasheet de la familia PIC18F2455/2550/4455/4550
Device
Conhguration
Interface Interface
1 1
1 1 1 1 1
17.9.2 FRAMES
La información que se comunica en el bus se agrupa en ranuras de 1ms,
designadas frames. Cada frame puede contener muchas transacciones a varios
dispositivos y Endpoints.
175
Documento creado por Slalen para Electronics Strange World
17.9.3 TRANSFERENCIAS
Hay cuatro tipos de transferencias definidas en las especificaciones del USB.
• Síncrona: Este tipo proporciona un método de transferencia para
cantidades de datos grandes (hasta 923 bytes) con la entrega puntual
asegurada; sin embargo, la integridad de los datos no se asegura. Es
bueno en aplicaciones donde los datos son pequeños y la pérdida no es
crítica, por ejemplo audio.
• Bulk: Este método de transferencia permite grande cantidades de datos
que se transferirán asegurando la integridad de los datos; sin embargo, la
puntualidad de la entrega no se asegura.
• Interrupción: Este tipo de transferencia prevé la entrega puntual
asegurada para bloques pequeños de datos, se asegura la integridad de los
datos.
• Control: Este tipo prevé la disposición de dispositivo control.
Mientras que los dispositivos “full-speed” soportan todos los tipos de
transferencia, los dispositivos “de poca velocidad” se limitan a las transferencias
interrupción y control.
17.9.4 ENERGÍA
La energía se puede obtener del USB. Las especificaciones del USB definen los
requisitos de energía del bus. Los dispositivos pueden ser self-powered o alimentados
por bus. Los dispositivos Self-powered consiguen energía de una fuente externa,
mientras que los dispositivos alimentados por bus utilizan la energía del bus.
La especificación del USB limita la energía tomada del bus. Cada dispositivo se
asegura 90mA y 5V (una unidad de carga). La energía adicional puede solicitarse, hasta
un máximo de 500mA. Observar que ceder más energía que la de una unidad de carga
es una petición y el anfitrión o el hub no tiene que proporcionarla obligatoriamente. Así,
un dispositivo capaz de consumir más de una unidad de carga debe ser capaz de
mantener una configuración de baja potencia de una unidad carga o menos, en caso de
necesidad.
La especificación del USB también define un modo de reposo. En esta situación,
la corriente se debe limitar a 500µA, sobre 1 segundo. Un dispositivo se debe incorporar
al estado de reposo después de 3ms de inactividad (es decir, ningún símbolo SOF en
3ms). El entrar el dispositivo en el modo reposo debe caer la consumición actual en los
10ms siguientes. Asimismo, al señalar un reinicio, el dispositivo debe señalarlo en los
10ms cediendo corriente.
176
Datasheet de la familia PIC18F2455/2550/4455/4550
17.9.5 ENUMERACIÓN
Cuando el dispositivo se une al bus, el anfitrión crea un proceso de enumeración
en un intento por identificar el dispositivo. Esencialmente, el anfitrión interroga al
dispositivo, recopila información tal como el consumo de energía, tarifas y tamaños de
los datos, protocolo y otra información descriptiva, que contienen los descriptores. El
proceso de enumeración sería:
1. Reset del USB: Resetear el dispositivo. Así, el dispositivo no se
configura y no tiene una dirección (dirección 0).
2. Conseguir el descriptor del dispositivo: El anfitrión solicita una pequeña
parte del descriptor del dispositivo.
3. Reset del USB: Resetear el dispositivo otra vez.
4. Fijar la dirección: El anfitrión asigna una dirección al dispositivo.
5. Conseguir el descriptor del dispositivo: El anfitrión recupera el descriptor
del dispositivo, recolectando la información, por ejemplo fabricante, tipo
de dispositivo, control máximo del tamaño de los paquetes.
6. Conseguir los descriptores de configuración.
7. Conseguir cualquier otro descriptor.
8. Fijar una configuración.
El proceso exacto de enumeración depende del anfitrión.
17.9.6 DESCRIPTORES
Hay ocho estándares del descriptor de cuál cinco son los más importantes para
este dispositivo.
177
Documento creado por Slalen para Electronics Strange World
178
Datasheet de la familia PIC18F2455/2550/4455/4550
179
Documento creado por Slalen para Electronics Strange World
180
Datasheet de la familia PIC18F2455/2550/4455/4550
181
Documento creado por Slalen para Electronics Strange World
Fosc/4
OESPP
CSSPP
CK1SPP
CK2SPP
+
Wnte Address
+
Write Data
+
Read Data
MOVWF SPPBPS MOVWF SPPOATA MOVF SPPOATA, W
USBClock
OESPP
CSSPP
CKtSPP
CK2SPP
USB Cloclt
OESPP
CSSPP
CK1SPP
CK2SPP
182
Datasheet de la familia PIC18F2455/2550/4455/4550
Endpoint
Address
Byte O
1
Byte 1
1
Byte 2
1
Byte 3
1 · · · 1
·�00 I · ..
18.3 SITEMA PARA EL CONTROL DEL MICROCONTROLADOR
El SPP puede actuar como puerto paralelo del microcontrolador. En este modo,
el registro SPPEPS proporciona el estado y la dirección de control de escritura. Los
datos se escriben y se leen en el registro SPPDATA. Cuando el SPP lo gobierna el
microcontrolador, el reloj del SPP lo controla el reloj de instrucción (FOSC/4). Los pasos
siguientes se requieren para configurar el SPP para operación del microcontrolador:
1. Configurar el SPP según lo deseado, incluyendo estados de espera y
relojes.
2. Borrar el bit SPPOWN.
3. Activar SPPEN para permitir el módulo.
183
Documento creado por Slalen para Electronics Strange World
184
Datasheet de la familia PIC18F2455/2550/4455/4550
185
Documento creado por Slalen para Electronics Strange World
186
Datasheet de la familia PIC18F2455/2550/4455/4550
0000(1) A A A A A A A A A A A A A
0001 A A A A A A A A A A A A A
0010 A A A A A A A A A A A A A
0011 D A A A A A A A A A A A A
0100 D D A A A A A A A A A A A
0101 D D D A A A A A A A A A A
0110 D D D D A A A A A A A A A
(1)
0111 D D D D D A A A A A A A A
1000 D D D D D D A A A A A A A
1001 D D D D D D D A A A A A A
1010 D D D D D D D D A A A A A
1011 D D D D D D D D D A A A A
1100 D D D D D D D D D D A A A
1101 D D D D D D D D D D D A A
1110 D D D D D D D D D D D D A
1111 D D D D D D D D D D D D D
A= Entrada analógica
D= E/S digital
Nota 1: El valor de POR de los bits PCFG depende del valor del bit de
configuración PBADEN. Cuando PBADEN=1, PCFG<3: 0>=0000; cuando
PBADEN=0, PCFG<3: 0>=0111.
2: AN5 con AN7 están disponibles solamente en los dispositivos
40/44pines.
187
Documento creado por Slalen para Electronics Strange World
188
Datasheet de la familia PIC18F2455/2550/4455/4550
CHS3:CHSO
...... LJ.1.1 - - - ..
' "---- 11 O O : K":?1
�AN12
"- 1 O 11 :
""1
�AN11
"- 1010 :
�AN10
""1
"- 1001 :
""1
�AN9
o "----U----------:---
1 O O O '. K":?1
AN8
"- 0111 :
�
""1
AN?f1l
"- 0110 :
�AN6{1)
""1
"- 0101 :
�ANsC1l
""1
I Voltage 1
o'Ox
·
L __L_
.JI
vSs<2>
Nota 1: Los canales de 5 a 7 no están disponibles en los dispositivos de
28pines.
2: Los pines de E/S tienen un diodo de protección a VDD y VSS.
El valor en los registros ADRESH:ADRESL no se modifica con un POR. Los
registros ADRESH:ADRESL contendrán datos desconocidos después de un POR.
Después de que el módulo A/D se haya configurado según lo deseado, el canal
seleccionado debe adquirir antes de que comience la conversión. Los canales de entrada
analógica deben tener sus bits TRIS correspondientes seleccionados como entrada.
Después de esta adquisición el tiempo ha transcurrido, la conversión A/D puede
comenzar. Se puede programar un periodo de adquisición para que ocurra entre activar
el bit GO/DONE* y el comienzo real de la conversión.
Hay que seguir los siguientes pasos para realizar la conversión A/D:
1. Configurar el módulo A/D:
• Configura los pines analógicos, referencia de tensión y entrada-
salida digital (ADCON1)
• Seleccionar el canal A/D de entrada (ADCON0)
• Seleccionar el tiempo de adquisición A/D (ADCON2)
• Seleccionar el reloj e la conversión A/D (ADCON2)
• Cambiar el módulo A/D (ADCON0)
189
Documento creado por Slalen para Electronics Strange World
3Ffh
3FEh
"""' • • • • • •
0
J
0
J
0
J
0
J
0
J
0
J
• • • •
0
J
0
J
0
J
0
J
iss
so s N
� " " �
�
Analog Input VOltage
·-
FIGURA 21-3: MODELO DE ENTRADA ANALÓGICA
Voo
Sampling
\JT •0.6\J
-
Legend: CPlN ,. Input Capacitance
v, = Threshold Voltage 6V
,. Leakage Current at the pin due to 5V
IL.EAKAGE ,v
Re
various junctions
,. lnterconnect Aesistance ,.,
3V
SS = Sampling Swllch
CHOO.D • Samplelhold Capacitaoce (from OAC) 2 3 •
Rss ,. Sampling Switch Aesistance Samphng Swilch (kO)
190
Datasheet de la familia PIC18F2455/2550/4455/4550
191
Documento creado por Slalen para Electronics Strange World
192
Datasheet de la familia PIC18F2455/2550/4455/4550
193
Documento creado por Slalen para Electronics Strange World
Nota 1: Al leer el registro PORT, todos los pines configurados como canales
de entrada analógica se leerán como borrado (un nivel bajo). Los pines configurados
como entrada digital convertirán como entradas analógicas. Los niveles analógicos de la
entrada digital estarán bien convertidos.
2: Los niveles analógicos en cualquier pin definido como entrada digital
puede causar al buffer de entrada digital que consuma una corriente fuera de los límites
de la especificación de dispositivo.
3: El bit PBADEN en el registro de configuración 3H configura los pines
de PORTB a resetar como pines analógicos o digitales dependiendo de como estén los
bits PCFG0 de ADCON1 después el reset.
21.7 DESCARGA
La fase de descarga se utiliza para inicializar el valor de la matriz del
condensador. La matriz se descarga antes de cada muestra. Esta característica ayuda a
optimizar la ganancia unitaria del amplificador como el circuito siempre carga la matriz
del condensador, más bien que cargar/descarga se basa en la medida de valores
anteriores.
i j b9 bB b7 b6 b5 b4 b3 b2 b1 bO i
j Conversion starts Discharge
194
Datasheet de la familia PIC18F2455/2550/4455/4550
2 3 4 2 3 4 5 6 7 8 9 10 11 TA01
Automa!ic
Acqclemon
b9 b8 b7 b6 b5 b4 b3 b2 bl bO
t
Discharge
Conversron starts
Time (Holding capacnor rs disconnected)
195
Documento creado por Slalen para Electronics Strange World
196
Datasheet de la familia PIC18F2455/2550/4455/4550
197
Documento creado por Slalen para Electronics Strange World
� � , RA1/AN1 _Q_
RA1/AN1 -
RA2/AN21 A v- + C2 011 (Aead 1$ 'O') RA2/AN21 o 011 (Read as 'o')
VREF-ICVAEF VREF./CVREF-
RA5/AN4/SSIHLV01N/C20UT"
Two Common Relerence Compart1lora Two Common Relerence Comparalors with Oulputs
,�
CM2:CMO • 100 CM2:CMO • 101
RA4fTOCKVC100U0T0"0+-----
1 �
ac,
AA1/AN1 ' C20UT RA1/AN1 �-
' -+��
RA2/AN2/_Q_
VREF-/CVREF RA21AN21 .a, C20UT
VREF·/CVREF
RA5/AN4/SSIHLVD!NIC20UT'
One lndependent Comparator wlth Output Four lnputs Mulllplexed to Two Comparatora
CM2:CMO • 001 CM2:CMO • 110
RAOIANO �
C10UT AA31AN31 ...,G"
o-á'é"�·e.e.
GIS• l
•
---""-+
C10UT
VREF+
RA4/TOCKIICIOUT"/RCV
AA1/AN1 _Q_
RA2/AN21 o
-
- �
w--
v...
+
C2 Ott (Read as 'O')
C20UT
A= Analog Input, port reads zeros always O= Q,gital Input CIS (CMC0N<3>) is the ccecerercr Input Sw�ch
' Setting the TRISA<5 4> bits WIII disable the cornpara1or outputs by conl,gunng me pins as mputs
198
Datasheet de la familia PIC18F2455/2550/4455/4550
VlN+ ----¡•
Outpot
VJN·
:::;-_- �- l__;__
- _;_:___-:----�
Output _I i i i
22.3 REFERENCIA DEL COMPARADOR
Dependiendo del modo de funcionamiento del comparador, se puede utilizar
cualquier referencia externa o interna de tensión. La señal analógica presente en VIN- se
compara con la señal en VIN+ y la salida digital del comparador se ajusta
consecuentemente.
199
Documento creado por Slalen para Electronics Strange World
Port pms
To RA4 or
RA5pm
.,________, o Bus
CxlNV Data
ReadCMCON
EN
o
CL
o--p- ''°"'
ser
CMIF
bit
Re set º'""
Comparator
200
Datasheet de la familia PIC18F2455/2550/4455/4550
201
Documento creado por Slalen para Electronics Strange World
VT = 0.6V RIC
Rs <:10k
�.i\jlfl,�-f),(1...--....----+--------<,-----'VV\�----· Comparator
AIN Input
CPIN ILEAKAGE
5 pF VT = 0.6V ±500 nA
vss
202
Datasheet de la familia PIC18F2455/2550/4455/4550
203
Documento creado por Slalen para Electronics Strange World
-�
CVAE
"
"
CVR3.CVRO
"
"
16 Sleps "
"
"
"
...
-·-
CVRR
CVASS• l
l CVRSS•O
204
Datasheet de la familia PIC18F2455/2550/4455/4550
CVAEF
R(I)
Module .
Vottage
Reference
RA2 i�: CVAEF Output
Output _.._
I
1
lmpedance
205
Documento creado por Slalen para Electronics Strange World
206
Datasheet de la familia PIC18F2455/2550/4455/4550
207
Documento creado por Slalen para Electronics Strange World
24.1 OPERACIÓN
Cuando se permite el módulo HLVD, un comparador usa una tensión de
referencia interna generada como puntote ajuste. El punto de ajuste se compara con el
punto de cambio, donde cada nodo en el divisor de la resistencia representa la tensión
del punto de cambio. “La tensión del punto de cambio” es el nivel de tensión en el cual
el dispositivo detecta un acontecimiento de subida o bajada de tensión, dependiendo de
la configuración del módulo. Cuando la fuente de tensión es igual al punto de cambio, la
tensión que llega a la matriz de resistencias es igual a la tensión de referencia interna
generada por el módulo de tensión de referencia. El comparador entonces genera una
señal de interrupción activando el bit HLVDIF.
La tensión del punto de cambio es programable por software a cualquiera de los
16 valores. El punto de cambio se selecciona programando los bits HLVDL3:HLVDL0
(HLVDCON<3: 0>).
El módulo HLVD tiene una característica adicional que permite al usuario
proveer la tensión de cambio al módulo mediante una fuente externa. Se permite este
modo cuando los bits, HLVDL3:HLVDL0, se fijan a ‘1111’. En este estado, la entrada
del comparador se multiplexa con la entrada del pin externa, HLVDIN. Esto da a los
usuarios flexibilidad porque permite que configuren la interrupción del detector de
alta/baja tensión para que ocurra en la gama de tensión en funcionamiento.
..
• ..
.
1
�
1 �
1
�
'-1.,
A�
-
1 1 ,
1
1
1
1
7
1
1
V
1
1 HLVDEN-rl
1
1 7
1
1 Interna• Vottage
\ Relerence
BOA EN 1
1 1.2V Typlcal
208
Datasheet de la familia PIC18F2455/2550/4455/4550
209
Documento creado por Slalen para Electronics Strange World
voc /r-�
- - - - - - - "O- - - - - - - - - V- - - - - - - - - - - VHLVD
'
HLVDIF a
lRVST - _l'cc�T�"�
' '�'�'cc;[--------------i-------
T
lnlernal Reference rs stable
HLVDIF cieerec 1n software
CASE 2:
VDD
·---------\------------/-------------- VHLVD
HLVDIF '
'
Enable HLVD 1
'1-
IRVST TIRVST
Voo
. --� - - - --- - -A- - - - -- - - - - . V,c,o
HLVDIF �
IRVST ----------"cccT�"�'�'c'
' cc,Í------------r-------
t
Interna! aeierence is stable
HLVDIF cleared in soltware
CASE 2:
Voo
----------¡------------\:_------------- VHLVO
1
HLVDIF
Enable HLVD
1-
IRVST TIRVST
210
Datasheet de la familia PIC18F2455/2550/4455/4550
211
Documento creado por Slalen para Electronics Strange World
212
Datasheet de la familia PIC18F2455/2550/4455/4550
213
Documento creado por Slalen para Electronics Strange World
214
Datasheet de la familia PIC18F2455/2550/4455/4550
215
Documento creado por Slalen para Electronics Strange World
216
Datasheet de la familia PIC18F2455/2550/4455/4550
217
Documento creado por Slalen para Electronics Strange World
218
Datasheet de la familia PIC18F2455/2550/4455/4550
219
Documento creado por Slalen para Electronics Strange World
220
Datasheet de la familia PIC18F2455/2550/4455/4550
221
Documento creado por Slalen para Electronics Strange World
222
Datasheet de la familia PIC18F2455/2550/4455/4550
223
Documento creado por Slalen para Electronics Strange World
INTRC Control
WOTCounter
Wake-up lrom
Power·Managed
Modes
Change on IRCF bits
CLRWOT -;:cf"=J.----J._-·I Programmable Postscaler l..+:'[=)--•
1 _l'R�o�se!!_ •
WDT
Aeset
Al Device Resets
,----'º' º' º' e.,,�',,""
· '>,.'--�r
·
WOT
WOTPS<3:0> --------,''-----_J
SLEEP _j
224
Datasheet de la familia PIC18F2455/2550/4455/4550
INTOSC
º' º' 03 01 · - - - - - - -
Muttiple�er
ose,
CPU Clock
Peripheral
"""'
Program PC+2 ¡ PC +4 � PC+6
Coun1er
t
Wake trom lnterrupt Evem
1
OSTSblt set
225
Documento creado por Slalen para Electronics Strange World
226
Datasheet de la familia PIC18F2455/2550/4455/4550
INTRC
So urce
(32µs) 488 Hz
(2 048 ms) �-----
Clock
Pauure
Detectad
227
Documento creado por Slalen para Electronics Strange World
Oevice -�Osc1llator
Clock , : Failure
Output
CM Output
(0)
Failure?
OSCFIF "[".l----
Detect&d
t
CM Test
t
CM Tes,
t
CM Tes,
228
Datasheet de la familia PIC18F2455/2550/4455/4550
Unimplemented Unimplemented
Aead 'o's Read 'o's (Unimplemented Memory Space)
1FFFFFh
229
Documento creado por Slalen para Electronics Strange World
002000h
WRTl, EBTR 1 = 11
003FFFh
004000h
230
Datasheet de la familia PIC18F2455/2550/4455/4550
OOOOOOh
WRTS, EBTRS = 11
0007FFh
OOOBOOh
WRT2, EBTR2 = 11
OOSFFFh
006000h
WRT3, EBTR3 = 11
007FFFh
WRTO, ESTRO = 1 o
PC = 001FFEh TBLRD* 001FFFh
002000h
WATt, EBTA 1 = 11
003FFFh
004000h
WRT2, ESTR2 = 11
OOSFFFh
006000h
WRT3, ESTR3 = 11
007FFFh
231
Documento creado por Slalen para Electronics Strange World
232
Datasheet de la familia PIC18F2455/2550/4455/4550
233
Documento creado por Slalen para Electronics Strange World
234