Documente Academic
Documente Profesional
Documente Cultură
Comenzando con la
Arquitectura Y Perifricos de
Lnea Base en Assembler
105 ASP
Slide 1
Entienda la arquitectura
q
de los
Microcontroladores PIC Lnea Base
- Sepa programar los perifricos de la familia de
Lnea Base
105 ASP
Slide 2
Puertos I/O
Timer 0
Conversor ADC
Comparador
105 ASP
Slide 3
Introduccin a los
Microcontroladores PIC
Lnea Base
105 ASP
Slide 4
Motor de funcionamiento
del Microcontrolador
DATA
MEMORY
No Volatil
Working
Contiene las
instrucciones
del Programa
que le dice
a la CPU
que hacer
STATUS
OPTION
CPU
V l il
Volatil
Contiene
d t de
datos
d
control dde
las
instrucciones
105 ASP
Slide 5
Memoria de Programa
105 ASP
Slide 6
Organizacin de la Memoria de
g
Programa
Almacena las instrucciones de
su cdigo
Dice a la CPU que hacer
Page 0
Memoria de Programa
Dividida en Pginas
Page 1
La cantidad de memoria de
programa depende del
dispositivo
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 7
Opcode 0 0 0 0 1 0 1 0 1
105 ASP
Slide 8
Contador de Programa
Program Counter
9
0 0 0 0 0 0 0 1
0 1
0 1
0
PCL
z
10-bit PC
z
z
z
Program
Memory
105 ASP
Slide 9
PA0
TO
PD
PA0: Bit de p
preseleccin
de Pgina de Programa
Program Memory
PA0 = 0
PAGE0
G
PA0 = 1
PAGE1
PA0 = 1
z
DC
PA0 = 0
z
105 ASP
Slide 10
STATUS
PA0
Opcode
p
0 0 0 0 1 0 1 0 1
PA0
0 0 0 0 0 0 1 0 1 1
Direccin Efectiva
Contador de Programa
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 11
El Registro STATUS
105 ASP
Slide 12
Registro Status
STATUS
GPWUF CWUF
PA0
TO
PD
DC
Carry/borrow
((C)) of arithmetic/logic
Zeroybit ((Z):
) result
g operation
p
is zero
z Contiene:
Suma:
Indica
el1)
resultado excede 255 (28 1)
i.e.
1
1 cuando
= 0 (Z =
value into
a register (Z = 1)
Rotar Aritmtico
azero
la derecha
o izquierda:
Bits del move
estado
125
+ 140
=d
265
(C
= lsb
1)b del
M
Mueve
C
d
dentro
t
del
l
msb
b
o
l
d l registro
i t
El estado de RESET
125 + 125 = 250 (C = 0)
Rotate
Rotate
Right
Left
Seleccin de Pgina de Memoria de
Programa
C
1 el SLEEP
0
Flags
para
despertar
desde
Resta: Indica cuando hay un resultado negativo
125 - 140 = -15 C
1(C C
0
0= 0)C
1
1
0
125 - 120 = 5 MSB
(C = 1)
105 ASP
C
0
1
C
1
0
C
0
1
C
0
1
C
1
0
LSB
Slide 13
Memoria de Datos
105 ASP
Slide 14
Agrupados en
BANCOS
SFR
Contiene
Registros de
Funciones
Especiales (SFR)
Registros de
Propsitos Generales
(GPR)
105 ASP
GPR
Slide 15
00
01
02
03
04
05
06
07
El nmero de SFRs es
especfico del dispositivo
105 ASP
08
09
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
CM1CON0
ADCON0
ADRES
Slide 16
Almacenan Datos
C t l la
Controlan
l
informacin de un
comando de las
i t
instrucciones
i
SFRs
Almacenan variables
definidas por el
Usuario
Direccionamiento
Di
i
i
seleccionable
El nmero de GPRs
es especfico del
device
G
GPR
105 ASP
Slide 17
z
z
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
Los registros de
memoria de ciertos
datos son accedidos
desde cualquier BANCO
Otros No lo son
Es mostrada la Memoria
de Datos del PIC12F510
El nmero
de Bancos
y accsibilidad a los
registros vara con el
Dispositivo
Bank 0
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
CM1CON0
ADCON0
ADRES
GPR1
GPR2
GPR3
GPR4
GPR5
GPR6
Bank 1
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
CM1CON0
ADCON0
ADRES
GPR1
GPR2
GPR3
GPR4
GPR5
GPR6
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
PIC12F510
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 18
OPCODE
OPCODE
12
OPERAND
6 5 4
105 ASP
Slide 19
Registro FSR
001
01
00
1
OPERANDO
Bits selectores de
BANCO
105 ASP
Slide 20
09
0A
10
1F
BANK 0
BANK 1
105 ASP
BANK2
BANK 3
0
101
0
1
Slide 21
El Set de Instrucciones
de la Linea Base
105 ASP
Slide 22
addwf
f,d
Add W and f
bcf
f,b
Bit Clear f
andwf
f,d
AND W with f
bsf
f,b
Bit Set f
clrf
Clear f
btfsc
f,b
clrw
Clear W
btfss
f,b
comf
f,d
Complement f
decf
f,d
Decrement f
andlw
decfsz
f,d
Decrement f, Skip if 0
call
Call subroutine
incf
f,d
Increment f
clrwdt
incfsz
f,d
Increment f, Skip if 0
goto
Go to address
iorwf
f,d
Inclusive OR W with f
iorlw
movf
f,d
Move f
movlw
Move literal to W
movwf
Move W to f
option
nop
No Operation
retlw
rlf
f,d
sleep
rrf
f,d
tris
subwf
f,d
Subtract W from f
xorlw
swapf
f,d
Swap nibbles in f
xorwf
f,d
Exclusive OR W with f
105 ASP
Slide 23
El Registro de Trabajo W
z
Instruccin de 2 Operandos
z un operando es tpicamente el registro W (Trabajo)
z el otro operando se encuentra en un registro del archivo (en
Memoria de datos) o en una constante inmediata
105 ASP
Slide 24
Operan
p
sobre el Registro
g
o Byte
y entero
z
z
z
z
z
addwf
operacin
GPIO, F
Archivo a
direccionar
0x06h (01102)
0 1 1 1 1 0 1 0 0 1 1 0
d = 0 destino es W
d = 1 destino es f
destino
105 ASP
Slide 25
bcf
operacin
GPIO, 3
Registro a
Direccionar
0x06h (01102)
Numero bit
0 1 0 0 0 1 1 0 0 1 1 0
Nmero de Bit
105 ASP
Slide 26
Instruccin Literal:
Cdigo OP
movlw
0xFF
1 1 0 0
Instrucciones
de control:
1 1 1 1 1 1 1 1
SLEEP CLRWDT,
SLEEP,
CLRWDT GOTO,
GOTO CALL,
CALL RETLW
Cdigo OP
1 1 0 0 0 0 1 0 1 0 1 1
Direccin de Memoria
105 ASP
Los bits de la p
paginacin
g
vienen del STATUS
Slide 27
Addressing Modes
105 ASP
Slide 28
Modos de direccionamiento
z
<direccin de dato>
IIndirectamente
di
usando
d ell Registro
R i
Selector
S l
de
d
Archivos (FSR) como un puntero
ejemplo:
movlw
movwf
clrf
<direccin de dato>
FSR;Puntero para <direccin de dato>
INDF ;Borra <direccin de dato>
;apuntado por el FSR
105 ASP
Slide 29
Modos de Direccionamiento
z
Direccionamiento Directo:
El Banco es Seleccionado
usando FSR<5>
Registro
R
i t
(FSR)
Instruccin de 12-bit
Cdigo OP
001
01
01
0
0
1
Selecciona el BANCO
Selecciona
la Localizacin
La Direccin de la
Memoria de datos esta
incluida en la instruccin
de la Memoria de
Programa
00
0F
10
BANCO 0
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
BANCO 1
Slide 30
Modos de Direccionamiento
z
Direccioonamiento directo:
Direccin de la Memoria
de Datos incluida en la
instruccin de la Memoria
de Programa
El BANCO es
seleccionado usando
FSR<5>
0001
1
01
01
0
Selecciona Banco
Selecciona
Localizacin
00
Direccionamiento
Indirecto:
La direccin de la
Memoria de Datos es
escrita dentro del File
Registro Selector de
Archivos (FSR)
0F
10
La direccin es accedida
via el registro INDF
BANK0
105 ASP
BANK1
Slide 31
Pipelining de Instrucciones
MAIN
MOVLW
MOVWF
z GOTO
BSF
0x03
;mover 0x03 (00000011) a Wreg
GPIO
;mover valor
l
en Wreg
W
dentro
d t
del
d l GPIO
Label_1 ;saltar a la etiqueta llamada Label_1
GPIO, 1
de instruccin (TCY) = FOSC/4 = TOSC
Ciclo
x4
Label_1
;Codigo
en otra parte
memoria
z Bsqueda de una
Instruccin
= 1enTCY
<codigo>
z Ejecucin de una Instruccin = 1 TCY
TOSC
z Pipelining
pTCY1 g =TCY2
Ejecucin
j
q
Simultneos
TCY3 / Bsqueda
TCY4
TCY5
TCY6
Busqueda
Busqueda/Ejecucin
= 1TCY
Ejecucin
MOVLW
0x03 MOVLW
0x03
Bsqueda
Ejecucin
Saltos MOVWF
de
Programa
= 2 TCY
GPIO MOVWF
GPIO
Bsqueda
GOTO
SUB_1
Ejecucin
GOTO SUB_1
Bsqueda
q
BSF
105 ASP
GPIO,1
FLUSH
BSF
GPIO,1
Bsqueda
Ejecucin
Label_1
Label_1
Slide 32
Instruccin GOTO
STATUS
7
PA0
11 10 9
Cdigo
g
0 0 0 0 1 0 1 0 1
Contador de
0 0 0 0 0 0 1 0 1 1 Programa 10
Bit
9-bits de instruccin
= 512 Direcciones de
Localizaciones
29
105 ASP
Slide 33
STATUS
7
11 10 9
CALL
Contador de
0 0 0 0 0 0 1 0 1 1 Programa de
Siempre clearedo
con la ejecucin
j
del CALL
POP
P
PUSH
Empuja al STACK
Solozlas
primeras 256
mueve el valor del
direcciones
PC sobresobre
el tope
deldada
l page
la
dnivel
d pueden
d
ser accedidas
usando
z Clears bit 8 of the
PC
un CALL
8-bits de la instruccin
28 = 256 Direcciones
PA0
0 del S
STATUS
US
Determina la Pgina
0 0 0 0 1 0 1 1
Opcode
PA0
10--Bit
10
2 Level
STACK
RETLW
Recuperar
p
STACK
z
mueve el PC desde
el Tope del nivel
105 ASP
Slide 34
Caractersticas
Especiales de la CPU
105 ASP
Slide 35
Osciladores
105 ASP
Slide 36
Low
LP
XT
INTOSC
RC
0 - 200 kHz
0 4 MHz
Up to 8 MHz
Up to 8 MHz
105 ASP
Slide 37
Oscilador Interno
z
105 ASP
Slide 38
bit 0
105 ASP
Slide 39
01FFh
0200h
OSCCAL
es cargado en
ORG
0x3FF
k
lamovlw
direccin
0000h
PAGE0
PAGE1
comienza a ejecutarse
enORG
0001h 0x000
movwf
OSCCAL ;actualiza el
;registro con el valor de cal de fabrica
<Application Code>
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 40
Reset
105 ASP
Slide 41
RESET
z
Despertar
p
desde SLEEP sobre Cambio en el
Comparador
105 ASP
Slide 42
CPU
EXECUTING
RESET
CODE
V = VDD
SS
R
GP3/MCLR/VPP
VSS
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 43
WDT
0 1
1
0 0
1 1
0 1
0 1
0 0
1 0
1
STATUS Register
1
0
TO
CPU
EXECUTING
RESETCODE
105 ASP
Slide 44
Comando CLRWDT
z
z
z
Programa de
Aplicacin
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 45
0 0 1
1
0 1
0
PSA
PS<2:0>
Free-Running
Oscillator
El Perodo
del WDT
WDT
puede
Prescalerdesde
used ~18ms
configurarse
aby
~2.3
3 segu
segundos
dos
Timer0
WDTWDT
isTime-Out
not scaled
(Postscaler
Output)
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
PS<2:0>
WDT RATE
000
1:1
001
1:2
010
1:4
011
1:8
100
1:16
101
1:32
110
1:64
111
1:128
Slide 46
Secuencia Power Up
Alimentacin
Ali
t i
a VDD
VDD suficiente para realizar
Power On Reset (POR)
VDD
Internal
POR
CPU
ahora
POR
Iniciacomienza
el Device
Reset
Timer operation
(DRT)
normal
MCLR
DRT
Device
Period RESET Timer
perodo de tiempo
p permite
p
al oscilador estabilizarse
El p
DRT
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 47
SLEEP
105 ASP
Slide 48
SLEEP
z
NORMAL
MODO
SLEEP
MODE
Down
(STATUS<PD>)
BATTERY
LIFE
POWER
CONSUMPTION
105 ASP
Slide 49
105 ASP
Slide 50
PA0
TO
PD
DC
Contiene:
105 ASP
Slide 51
Testear PD y TO
para inicializar cualquier
registro
Inicializar prioridad de
perifricos para priorizar
el Chekeo de los bits
GPWUF y CWUF
MCLR reset detemina si
no ha ocurrido el RESET
S
por otro evento
PD = 1?
Do POR
RSR
TO = 0?
Do WDT
D
RSR
INITIALIZE
PERIPHERALS
GPWUF = 1?
Do GPWUF
G
RSR
CWUF = 1?
Do CWUF
RSR
Do MCLR
sub_routine
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 52
Programacin Serie
En Circuito (ICSP)
En-Circuito
105 ASP
Slide 53
VDD
VSS
GP1/ICSPDAT
GND
DATA
GP1/ICSPCLK
CLK
GP3/MCLR/VPP
Conector de
Seales Externo
105 ASP
Slide 54
Directiva __CONFIG
105 ASP
Slide 55
Bits de Configuracin
z
Directiva __CONFIG
z
S t los
Seta
l bits
bit de
d configuracin
fi
i del
d l procesador
d
firmware
__CONFIG porexpr
Nota: config is precedido
dos caracteres guion bajo.
example:
__CONFIG
105 ASP
Slide 56
Definiciones de la directiva de
configuracin
La directiva de configuracin son definidas en el archivo inc para
cada dispositivo,
p
, el cual se encuentra en:
C:\Program Files\Microchip\MPASM Suite\
El Archivo
P12F509.inc
contiene:
;=====================================
; Configuration Bits
;=====================================
_MCLRE_ON
EQU
H'0FFF'
_MCLRE_OFF
EQU
H'0FEF'
_CP_ON
EQU
H'0FF7'
_CP_OFF
EQU
H'0FFF'
_WDT_ON
EQU
H'0FFF'
_WDT_OFF
EQU
H'0FFB'
_LP_OSC
EQU
H'0FFC'
_XT_OSC
XT OSC
EQU
H'0FFD'
H 0FFD
_IntRC_OSC
EQU
H'0FFE'
_ExtRC_OSC
EQU
H'0FFF'
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 57
Puertos I/O
105 ASP
Slide 58
PIC12F510
Tiene
un registtro
de the
Puerto
de Propsito
General Input/Output
PORT
names
are not
same
for all Baseline
PICs !
(GPIO)
PortesName
Configuration
GP3
solo entrada
GPIO
TRISGPIO
PORTA
TRISA
T
Tres
ofde
fd llos pines
i
GPIO GP<2:0>
GP<2 0> sonPORTx
configurables
fi
bl TRISx
como di
digitales
it l o
analgicos
VDD TRISGPIO
VSS
El nombre de los Puertos I/O y los registros de configuracin
el Datasheet !
dependen
del dispositivo. CheckearGP0/AN0/C1IN+
GP5/OSC1/CLKIN
GPIO
GP4/OSC2
GP1/AN1/C1INGP2/AN2/T0CKI/C1OUT
GP3/MCLR/VPP
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 59
105 ASP
Slide 60
GPIO
GP5
GP4
GP3
GP2
GP1
GP0
Configures
Data Data
Direction (write only)
Always Input
TRISGPIO
TRISGP5 TRISGP4
105 ASP
Slide 61
bit 7 y 6 (GP
bits
(GP<7:6>)
7 6 ) estan
t sin
i iimplementar
l
t y se leen
l
como 0s
0
GPIO
GP5 GP4 GP3 GP2 GP1 GP0
7
GP5
GP0
GP4
GP1
GP3
GP2
input
only
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 62
1 0
1 1
0
1
0
1
0
1
0
Working Register
0
1
movlw
TRIS
0 0
0
1 1
1
1
0
0
1
1
0
b 00111111
b00111111
GPIO
movlw
TRIS
b 00000000
b00000000
GPIO
movlw
l
TRIS
b10101010
GPIO
105 ASP
OUTPUT
GP5
INPUT
INPUT
GP0
OUTPUT
OUTPUT
INPUT
GP4
GP1
INPUT
OUTPUT
GP3
INPUT
GP2
INPUT
OUTPUT
Slide 63
105 ASP
Slide 64
CM1CON0
0
C1ON
ADCON0
GP0/AN0/C1IN+
0 0
ANS<1:0>
GP1/AN1/C1INGP2/AN2/T0CKI/C1OUT
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 65
0
1
GPPU
VDD
GP<2:0> deben
configurarse como
entradas
GP0/AN0/C1IN+
GP0/AN0/C1IN
VDD
GP1/AN1/C1IN-
VDD
GP2/AN2/T0CKI/C1OUT
105 ASP
Slide 66
OPTION
RESETS/WAKES
PIC from
Clear GPWU in
SLEEP
mode
OPTION
Read
current
z GPIO
must
be read
GP 2 0 values
GP<2:0>
l
0
GPWU
prior to
p
SLEEP instruction
(General Purpose
W k
Wake-up)
)
STATUS
latches
current value on pins
Issue SLEEP
instruction
GPWUF
(General Purpose
Wake-up
p Flag)
g)
Low-Power
RESET
Mode
GPIO
1
0
1
1
configured
as input
7
values
l
latched
l t h d
for reference
Slide 67
Instrucciones lectura-Modifica-Escribe
para Bit
GPIO
00010000
00010001
00000000
CPU
MODIFY
WRITE
READ
VGP4 pin
GP4
LATCH
D
Q
1
0
TRISGP4
CONFIGURED
AS OUTPUT
GPIO pin
values
00010000
00000000
00010001
GP4
pin
HIGH (1)
LOW (1)
Clear
C
Set
ea G
GPIO
G
GPIO
OObit
bbit
bt t04
DATA BUS
Read GP4
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 68
SFRs
0
Realice cualesquiera
cambios de un solo
bit Shadow Register
Copiar el valor en
el registro PORT
GPRs
INDF
TMR0
PCL
STATUS
FSR
OSCCAL
0 0 GPIO
1000
CM1CON0
ADCON0
ADRES
user_reg
0000
10000
shadow register
g
definido por usuario
105 ASP
Slide 69
Timer0
105 ASP
Slide 70
Timer0 Revisin
z
z
VSS
TMR0
GP5/OSC1/CLKIN
GP4/OSC2
GP3/MCLR/VPP
2007 Microchip Technology Incorporated. All Rights Reserved.
GP0/AN0/C1IN+
PRESCALER
TCY or
C1OUT
GP1/AN1/C1INGP2/AN2/T0CKI/C1OUT
105 ASP
Slide 71
Timer0 Aplicaciones
z
U ti
Un
timer
z
z
Temporiza eventos
Implementare un clock
Start
Timing
Contador de Eventos
z
Stop
Timing
Cuenta un evento
TMR0
0 0 0 0 0 1
0 0
1 0
1
105 ASP
Slide 72
PSA
PS2
PS1
PS0
Configura
g
el Timer
BIT
FUNCTION
T0CS
T0SE
PSA
PS<2:0>
105 ASP
Slide 73
PS2
PS1
PS0
Wreg
;Load desired value into Wreg using inline assembly then issue
;OPTION instruction to load OPTION register
movlw
OPTION
105 ASP
Slide 74
8-bit
8 bit timer/counter register
Contiene el conteo o el valor del Tiempo del TMR0
CM1CON0
C1T0CS
105 ASP
Slide 75
FOSC/4
8
not scaled
RC5/T0CKI
Comparator output
Comparator
or T0CKI pin
Output
p (C1OUT)
(
)
TMR0
prescaler
scaled
T0SE
C1T0CS
BIT VALUE
T0CS
PS<2:0>
PSA
OPTION
CM1CON0
1 1
0
Sync
0
1
0 1
0
0 1
1
C1T0CS
T0SEPSA
T0CS
PS<2:0>
Timer0 RATE
000
1:2
The Prescaler
increases
on T0CKI
001
1:4 pin
the clockSignal
source
period
010
1:8
011
1:16
100
1 32
1:32
105 ASP
1:256
Slide 76
TMR0
T0CKI
Sync. with
Sync
TOSC
PRESCALER
Internal
_ 4xTOSC
Ext. Clock Period must be >
Clock
External Clock/Prescaler Output
nd TOSC
Internal synchronization
samples
every
2
TMR0 + 1 TMR0 + 2
TMR0
105 ASP
Slide 77
Escribiendo al TMR0
z
READ New
TMR0
TMR0+1 TMR0+2
NEW
TMR0
TMR0+1 TMR0+2
TMR0 Register
continue
2007 Microchip Technology Incorporated. All Rights Reserved.
0
105 ASP
0
1
1
0
1
0
1
0
0
1
Slide 78
Conversor Analgico
Digital (ADC)
105 ASP
Slide 79
z
z
z
z
Al
Almacena
este
t valor
l en ell registr
i t ADRES del
d l ADC
ADRES
ADC
ADC Conversion
Clock
2007 Microchip Technology Incorporated. All Rights Reserved.
VDD
AN0, AN1
or AN2
GP5/OSC1/CLKIN
GP0/AN0/C1IN+
GP4/OSC2
GP1/AN1/C1IN-
GP3/MCLR/VPP
105 ASP
VSS
GP2/AN2/C1OUT
Slide 80
z
z
Sensores de Presin
Termocuplas
etc
t
ADC
ADRES
00001101
10001100
8
time
ADRES
10001111
10001100
10001110
10001101
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 81
BIT
ADCS1 ADCS0
CHS1
CHS1
CHS0
ADC Channel
Channel 00 (GP0/AN0)
Channel 01 (GP1/AN1)
FUNCTION
Channel
10 (GP2/AN2)
Analog
Input Pin
Selectreference
bits
0.6V
absolute
voltage
ANS<1:0> 1
ADCS<1:0>
ANS1
ANS0
CHS<1:0>
ADCS1
ADCS0
0
0
GO/DONE 00
10
1
ADON 1
1
ADC
Conversion as
Clock
Select Input
bits
Pin
configured
Analog
ADC Channel Select bits
C
Conversion
i
Clock
Cl k R
Rate
t
None
1 0
1
1 = ADC
Module
is ON
FOSC/8
GP2/AN2,
GP1/AN1
and
GP0/AN0
0 = ADC Module is OFF
INTOSC/8
105 ASP
Slide 82
z Example:
8-bit value
z
ADRES
1
1
1
1
1
1
1
1
V
DD
V
V
V
V
V
V
BIT
6 BITDD5 BIT DD
4 BIT DD
3 BIT DD
2 BIT 1DD BITV0DD
DD
2 7 BIT
4
8
16
32
64
128
256
105 ASP
Slide 83
00
10
1
GP2/AN2 pin
0
ADC
0
Result
CHANNEL SELECTED
Channel 00 (GP0/AN0)
GP2/AN2 is analog
Channel 01 (GP1/AN1)
GP2/AN2 and
Channel 02
GP0/AN0
are(GP2/AN2)
analog
ADRES
11
11
0.6V absolute
voltage
GP2/AN2,
GP1/AN1
reference
and GP0/AN0
are all
analog
ADCON0
CHS <1:0>
0 1
1
0 1
0 1
0
0 1
0 1
0.6VREF
1
0
ADCS<1:0>
CHS<1:0>ADON
ANS<1:0>
ADCADC
Analog
Input
Pin
Select
Bits
ADC
Enable
BitSelect
Conversion
Clock
Bits
ADC
Channel
Select
Bits
1 = ADC modulo en operacin (consuming power)
0 = ADC modulo es apagado (not consuming power)
105 ASP
Slide 84
Conversion Time
time
VC
VIN
ADRES
time
SOURCE
ADC
CHOLD
120pF
VSS
+
VC
-
Tiempo
p de adquisicin
q
RS < 10k
determinado
por
El
Tiempo de Adquisicin
Capacidad
del Pinalecapacitor
impedancia
le permite
de
dellegar
fuentea VIN
HOLD
V
(sePara
recomienda<10k)
saber el Tiempo del
Oscilador referirse al
Oscilador,
Data Sheet
105 ASP
Slide 85
Tiempo de Conversin
Acquisition Time
Conversion Time
Time
Acquisition
time
VC
ADRES
VIN
ADC Result
time
13 ADC Conversion
Clock cycles (TAD)
ADC
CHOLD
time
5pF
+
VC
-
VSS
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 86
Conversin Analogica-a-Digital
ADCON0
0
1
ADC Flow
GO/DONE
ADON
Configure ADCON0
ensuring that ADC
is turned on
Acquisition Time
Conversion Time
GO/DONE = 0?
YES
ADRES
continue
2007 Microchip Technology Incorporated. All Rights Reserved.
CONVERSION
RESULT
RESULTADO PARCIAL
105 ASP
Slide 87
105 ASP
Slide 88
Comparador
105 ASP
Slide 89
Comparador Revisin
z
z
z
z
VDD
VSS
+
_
GP5/OSC1/CLKIN
GP4/OSC2
C1OUT
GP1/AN1/C1INGP2/AN2/T0CKI/C1OUT
GP3/MCLR/VPP
GP0/AN0/C1IN+
105 ASP
Slide 90
Comparador revisin
Positive
Reference
Voltage
(C1IN+)
Negative
Reference (C1IN-)
+
Output
O
t t
(C1OUT)
Output
(C1OUT)
105 ASP
Positive
reference
(C1IN+)
Negative
Reference
(C1IN-)
Slide 91
Contador de Pulsos
Comparador de ventana
105 ASP
Slide 92
BIT
FUNCTION
C1OUT
*READ ONLY
C1OUTEN
C1POL
C1T0CS
C1ON
1 = Comparator is ON
C1NREF
C1PREF
C1WUF
105 ASP
Slide 93
C1IN+ pin
C1PREF
Data Bus
+
_
C1IN- pin
C1POL
0.6VREF
C1OUTEN
C1OUT pin
C1NREF
CM1CON0
0 1
1
0
0 1
0
0 1
1
C1NREF
C1PREF
C1POL C1ON
C1OUTEN
Comparator
Output
Enable
Bit
Comparator
Comparator
Comparator
Comparator
Output
Negative
Positive
Enable
Polarity
Reference
Bit
Reference
Bit
Select
SelectBit
Bit
1 = Output
internally
1 =of
1Output
1=Comparator
1=C1IN=C1IN+
Comparator
ofpin
Comparator
pinis available
module
is not
is
ON
invertedonly
0 = Output
available
internally
and on the C1OUT pin
0 =of
0Output
0=Comparator
0=0.6V
=C1INComparator
of
internal
Comparator
pin is reference
module
is inverted
is
voltage
OFF
2007 Microchip Technology Incorporated. All Rights Reserved.
105 ASP
Slide 94
1
0
C1OUT
STATUS
C1ON
C1WU
1
CWUF
Baseline
PIC
Input
p
Condition
wakes
wakes,
RESETs
Input
Condition:
READ
CM1CON0
changes:
C1PREF
><C1NREF
C1NREF
and begins
code
C1PREF
i.e.
movf
CM1CON0,
Issue
SLEEP instruction
execution
at0)
the
(C1OUT
=
1)
(C1OUT
=
RESET Vector
C1PREF
READ CM1CON0
to Data Bus
W
LAST
D Q
C1OUT
VALUE
EN
1
CWUF bit
STATUS<6>
C1WU bit
(CM1CON0<0>)
(CM1CON0
0 )
READ CM1CON0
C1OUT pin
C1NREF
C1POL
105 ASP
C1OUTEN
Slide 95
0
1
C1T0CS
TIMER0 Module
configured
fi
d as a
counter
TMR0
1 0
1 0
1
C1IN+
C1IN-
C1OUT
105 ASP
Slide 96
Puertos Input/Output
Timer 0
Conversor ADC
Comparador
105 ASP
Slide 97
Fuentes
z
Visite www.microchip.com
p
for:
24/7 soporte tcnico
Notas de aplicacin
Web Seminars
Codigos ejemplos
Datasheets
y Mucho
M h mas!!
105 ASP
Slide 98
Gracias!!
Traducido por : Andrs Ral Bruno Saravia
RTC Argentina
105 ASP
Slide 99
Lab 1
Creando un proyecto para
dieo con PIC Linea Base
105 ASP
Slide 100
Directorio existente
creado en la computadora
para esta clase de
laboratorio
El archivo Plantilla cargado
g
en el directorio
105 ASP
Slide 101
Abriendo MPLAB
Desde el Men
Project seleccionar:
Project
Project Wizard
Wizard
Proyecto Mgico
105 ASP
Slide 102
105 ASP
Slide 103
Seleccionar el PIC16F506
105 ASP
Slide 104
105 ASP
Slide 105
105 ASP
Slide 106
Nombre el Proyecto
Browse al:
C:\RTC\105_ASP\Lab1
Tipee
p el nombre q
que usted q
quiera q
que tenga
g el p
proyecto
y
105 ASP
Slide 107
105 ASP
Slide 108
105 ASP
Slide 109
105 ASP
Slide 110
Pulse el
Icono
Build All
105 ASP
Slide 111
Build Sucedido !
105 ASP
Slide 112
105 ASP
Slide 113
105 ASP
Slide 114
Build el proyecto
105 ASP
Slide 115
105 ASP
Slide 116
Lab 2: Introduccin al
Set de instrucciones
usando el MPLAB SIM
105 ASP
Slide 117
Lab 3: Direccionamiento
de datos y memoria de
programa
105 ASP
Slide 118
L b4
Lab
T b j d con puertos
Trabajando
t I/O
105 ASP
Slide 119
105 ASP
Slide 120
105 ASP
Slide 121
105 ASP
Slide 122