Você está na página 1de 122

105 ASP

Comenzando con la
Arquitectura Y Perifricos de
Lnea Base en Assembler

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 1

Objetivos del curso

A finales del hoy usted debe poder:

Entienda la arquitectura
q
de los
Microcontroladores PIC Lnea Base
- Sepa programar los perifricos de la familia de
Lnea Base

Sepa escribir y eliminar errores de los


programas que utilizan
tili
la
l arquitectura
it t
y
perifricos de Lnea Base

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 2

Agenda del Curso

Introduccin a la Arquitectura de los


Microcontrladores PIC Linea Base
z Caractersticas Especiales
p
z Perifricos de la familia Linea Base
z

Puertos I/O
Timer 0
Conversor ADC
Comparador

Metiendo las manos Laboratorios que se


ejecutan con cada perifrico

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 3

Introduccin a los
Microcontroladores PIC
Lnea Base

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 4

Microcontroladores PIC Linea Base


Resumen
PROGRAM
MEMORY
Oscillator

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

El cerebro ejeucuta todas


las instruccines, lgica,
yp
proceso matemtico

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 5

Memoria de Programa

2007 Microchip Technology Incorporated. All Rights Reserved.

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

El Set de Instrucciones del PIC


1024 x 12-bits
Tienen todas de12-bits
1 instruccin = 1 Direccin de

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

Porqu paginacin de la memoria del


p g
programa
Con una instruccin de 12 bits solamente 9 bits pueden ser usados
para especificar una a direccin de memoria de programa
Instruccin GOTO en Memoria de Programa
g
11 10 9

Opcode 0 0 0 0 1 0 1 0 1

29 = 512 = nmero de direcciones de memoria


accedidos por un operando de 9-bit
Algunos programas necesitan mas que
512 direcciones de memoria de programa !

2007 Microchip Technology Incorporated. All Rights Reserved.

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

210 = 1024 direcciones de memoria

Contiene la direccin de la siguiente


instruccin
Funciona libremente a travs de los Lmites
de la pgina
Eventos que modifican la secuencia del PC:

Instrucciones: CALL, GOTO, RETLW


Cualquier instruccin que usa el PCL como un
operando

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 9

Usando el STATUS como Registro


pginas
g
de Programa
g
Selector de p
STATUS
GPWUF CWUF

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

Pgina 1(200h 3FFh)

PA0 = 0
z

Pgina 0(000h 1FFh)

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 10

Como se implementa la Paginacin

STATUS

Instruccin GOTO en Memoria de Programa


11 10 9

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

2007 Microchip Technology Incorporated. All Rights Reserved.

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)

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

C
0
1

C
1
0

C
0
1

C
0
1

C
1
0
LSB

Slide 13

Memoria de Datos

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 14

Organizacin de la Memoria de Datos


z

BANK of Data Memory

Agrupados en
BANCOS

SFR

Contiene

Registros de
Funciones
Especiales (SFR)
Registros de
Propsitos Generales
(GPR)

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

GPR

Slide 15

Registros de Funciones Especiales


z

Controlan las funciones


de la CPU and Perifricos

Controlan la operacin del


dispositivo

PIC12F510 Memoria de datos

00
01
02
03

SFR direccionado como


fijo

04
05
06
07

El nmero de SFRs es
especfico del dispositivo

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

08
09

INDF
TMR0
PCL
STATUS
FSR
OSCCAL
GPIO
CM1CON0
ADCON0
ADRES

Slide 16

Registros de Propsito General


BANCOde Memoria de Datos
z
z

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

2007 Microchip Technology Incorporated. All Rights Reserved.

G
GPR

105 ASP

Slide 17

Organizacin de la Memoria de Datos


z

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

Las direcciones de losGPRs


despues
p
de 0Fh y 2Fh
Solo pueden ser accedidas si
la CPU setea el BANK
(PIC12F510)

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

Porque Banqueado de datos

OPCODE
OPCODE
12

OPERAND

6 5 4

Las Instrucciones de los PIC Linea Base tienen solo 5


bits para describir el destino de una instruccin
( OPERAND)
25 = 32 nicos destinos direccionables !

Muchas Aplicaciones para PIC Lnea Base requieren


ms
d
de 32 llocalizaciones
li i
en Memoria
M
i de
d Datos
D t !
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 19

Como se implementa el Banqueado de


Datos
z

Banqueando extendemos el rango de


direccionamiento del MCU por combinacin del
OPERANDO de la instruccin con 2 bits en el
registro FSR
Codigo de operacin 12-bit

Registro FSR

001
01
00
1
OPERANDO

Bits selectores de
BANCO

27 bits = 128 direcciones de memoria nicas

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 20

Como se v la memoria de datos

09
0A

10
1F
BANK 0

BANK 1

FSR Bits seleccionan


ell BANCO
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

BANK2

BANK 3

0
101
0
1

Slide 21

El Set de Instrucciones
de la Linea Base

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 22

Set de instrucciones de la Linea Base


Operaciones orientadas a Byte

Operaciones Orientadas a Bit

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

Bit Test f, Skip if Clear

clrw

Clear W

btfss

f,b

Bit Test f, Skip if Set

comf

f,d

Complement f

decf

f,d

Decrement f

andlw

AND literal with W

decfsz

f,d

Decrement f, Skip if 0

call

Call subroutine

incf

f,d

Increment f

clrwdt

Clear Watchdog Timer

incfsz

f,d

Increment f, Skip if 0

goto

Go to address

iorwf

f,d

Inclusive OR W with f

iorlw

Inclusive OR literal with W

movf

f,d

Move f

movlw

Move literal to W

movwf

Move W to f

option

Load OPTION Register

nop

No Operation

retlw

Return with literal in W

rlf

f,d

Rotate Left f through Carry

sleep

Go into standby mode

rrf

f,d

Rotate Right f through Carry

tris

Load TRIS Register

subwf

f,d

Subtract W from f

xorlw

Exclusive OR literal with W

swapf

f,d

Swap nibbles in f

xorwf

f,d

Exclusive OR W with f

2007 Microchip Technology Incorporated. All Rights Reserved.

Operaciones con Literales y control

105 ASP

Slide 23

El Registro de Trabajo W
z

El Trabajo del Registro W de 8 bits:

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

Instrucciones de Operacin simple


z El operando se encuentra en el registro W o en un registro del
archivo
hi

Mover un valor dentro de un registro del archivo de la Memoria de


D t
Datos

Mover un valor desde un registro del archivo de la memoria de datos a


otro

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 24

Operaciones Orientadas a Bytes


z

Operan
p
sobre el Registro
g
o Byte
y entero
z
z
z
z
z

Operaciones aritmticas (ADDWF, SUBWF)


Operaciones lgicas (ANDWF, XORWF, COMF)
Operaciones de desplazamiento (RRF, RLF)
Movimiento de Datos (MOVF, MOVWF, SWAPF)
Operaciones de Salto (INCFSZ, DECFSZ)
CODIGO de OP

addwf

operacin

GPIO, F
Archivo a
direccionar
0x06h (01102)

2007 Microchip Technology Incorporated. All Rights Reserved.

d Direccin del registro

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

Operaciones Orientadas a Bit

Manipulacin de Bit simple (BSF, BCF)

Testeo de Bit simple (BTFSS, BTFSC)


CODIGO OP

bcf

operacin

GPIO, 3
Registro a
Direccionar
0x06h (01102)

2007 Microchip Technology Incorporated. All Rights Reserved.

Numero bit

Direccin del Reg.


Reg

0 1 0 0 0 1 1 0 0 1 1 0

Nmero de Bit
105 ASP

Slide 26

Operaciones con Literales y de


Control
z

Instruccin Literal:

Emplea valores definidos por el usuario


O
Operaciones
i
lgicas
l i
(ANDLW
(ANDLW, XORLW)
XORLW )
Valor 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

operacin Valor Literal


goto
t
Funcin
F
(1111i
11112)
operacin

Cdigo OP

1 1 0 0 0 0 1 0 1 0 1 1

Direccin de Memoria

2007 Microchip Technology Incorporated. All Rights Reserved.

Direccin de Mem. Prog

105 ASP

Los bits de la p
paginacin
g
vienen del STATUS
Slide 27

Addressing Modes

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 28

Modos de direccionamiento
z

Accesos a Memoria de datos:

Directamente desde la instruccin en Memoria de


Datos
ejemplo:
j
clrf

<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

2007 Microchip Technology Incorporated. All Rights Reserved.

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>

Registro Selector de Archivos


(FSR)

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

2007 Microchip Technology Incorporated. All Rights Reserved.

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

El Oscilador es internamente dividida x 4

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

GPIO,1

FLUSH
BSF

GPIO,1

Bsqueda

Ejecucin

Label_1

Label_1
Slide 32

Instruccin GOTO

Instruccin GOTO en Memoria de Programa

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

1-bit del STATUS


Determina la Pgina

2007 Microchip Technology Incorporated. All Rights Reserved.

9-bits de instruccin
= 512 Direcciones de
Localizaciones

29

105 ASP

Slide 33

Las Instrucciones CALL y RETLW


Instruccin CALL en Memoria de Programa

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 34

Caractersticas
Especiales de la CPU

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 35

Osciladores

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 36

Osciladores sobre el PIC12F510


El PIC12F510 puede operar en 4 diferentes modos de
FREQUENCY RANGE
0-8MHz
osciladores
il d
:
LP: Cristal de Baja Potencia (0 - 200kHz)
ACCURACY
High
Medium
Low
XT: Resonador o Cristal ((0 - 4MHz))
COST

INTOSC: Oscilador Interno 4/8MHz


Low
Medium
Zero

Low

EXTRC: Capacitor y Resistor Externo (0 - 4MHz)


OSCILLATOR

LP

XT

INTOSC

RC

0 - 200 kHz

0 4 MHz

Up to 8 MHz

Up to 8 MHz

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 37

Oscilador Interno
z

La Mayora de los Dispositivos Linea Base


contienen un Oscilador Interno de 4 y/o
8MHz

Calibracin de fbrica hasta 1%

Calibrado usando el Calibrador del Oscilador


(OSCCAL) SFR (reg. Funciones Especiales)
z

Las especificaciones del oscilador dependen del


Vdd y la Temperatura
p

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 38

Registro calibrador del Oscilador


(
(OSCCAL)
)
CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0
bits 7-1

CAL<6:0> : Estos Bits calibran el Oscilador


0111111 = Frecuencia Mxima
.
.
.
0000000 = Frecuencia Central
.
.
.
1000000 = Frecuencia Mnima

Calibrates internal oscillator precision


z Must be loaded upon any RESET
z

bit 0

Sin Implementar: Leido como 0

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 39

Cargando el valor del OSCCAL


automaticamente cargado sobre RESET
z Vector RESET
Working
La ejecucin
j
del cdigo
g
Program Memor
Memory
F t
Factory
cal.
l OSCAL value
l
comienza aqu
movwf OSCCAL
0000h
Contiene los bits de
OSCAL
0001h Comienzo del prog.
Calibracin
del
Factory cal
cal. OSCAL value
Oscilador
Cargando el valor al OSCCAL
z

01FFh
0200h

OSCCAL
es cargado en
ORG
0x3FF
k
lamovlw
direccin
0000h

PAGE0
PAGE1

;El valor de calibracin del RC interno


;es almacenado en 0x3FF por Microchip
;como un movlw k, donde la k es un valor
z El Programa de usuario
;literal.

comienza a ejecutarse
enORG
0001h 0x000

movwf
OSCCAL ;actualiza el
;registro con el valor de cal de fabrica

03FFh movlw OSCCALvalue


RESET
VECTOR

<Application Code>
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 40

Reset

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 41

RESET
z

PIC12F510 diferencias entre varios tipos


de
RESET:
RESET:
SFRs
MCLRare
Reset
(External)
RESET
(Check Datasheet) and
Power-on Reset (POR)
GPR values are unknown.
WDT Time-out
Ti
tR
Resett
Baseline PIC Microcontroller begins
Despertar desde SLEEP sobre cambio de
program
at the RESET Vector
estado enexecution
pin

Despertar
p
desde SLEEP sobre Cambio en el
Comparador

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 42

Reset por Master Clear (MCLR)


z
z

Executado por excitacin del pin GP3/MCLR/VPP con un


estado Bajo
Habilitado/Desabilitado usando los bits de configuracin
VDD
VDD

CPU
EXECUTING
RESET
CODE

V = VDD
SS
R
GP3/MCLR/VPP

VSS
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 43

Watchdog Timer (WDT)


z

WDT tiene su propio


oscilador corriendo
libre

WDT
0 1
1
0 0
1 1
0 1
0 1
0 0
1 0
1

separado del oscilador


principal
WDT funcionar en el
SLEEP

STATUS Register

1
0
TO

RESETS del PIC si el


software
ft
se colg
l

CPU
EXECUTING
RESETCODE

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 44

Comando CLRWDT
z

Borra WDT para evitar el overflow

z
z

WDT solo RESETEA al PIC sobre un overflow

Resets los bits TO y PD en el STATUS


Borra el Prescaler
RESET
Borra
B
ell WDT peridicamente
idi
t
asegura que ocurra el RESET solo si
YEScuelga
el software se
TO = 0?
CLRWDT
NO

Programa de
Aplicacin
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 45

WDT Postscaler Bits Selectores del Rango


OPTION

0 0 1
1
0 1
0
PSA
PS<2:0>

approximately 56Hz (T = 18ms)

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

Power-on RESET Interno genera un


perodo de tiempo para permitir estabilizar VDD

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 48

SLEEP
z

Ejecutando el Modo SLEEP


Modo Baja Potencia para
reducir el consumo
permite:

S ejecuta usando la instruccin


Se
SLEEP
borrar el WDT
SETEAR el Bit de Time Out del WDT
((STATUS<TO>))
+
Borrar
el Bit Power

NORMAL
MODO
SLEEP
MODE
Down
(STATUS<PD>)

Apagar el Driver del Oscilador

BATTERY
LIFE

POWER
CONSUMPTION

Mantener los Ports I/O en condicin de


pre-SLEEP

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 49

Despertar desde el SLEEP Reset


z

PIC MCUs PIC LineaBase permiten despertar del


modo SLEEP de la siguiente forma:

Reset del MCLR


WDT Fuera de Tiempo (Si el WDT esta habilitado)
Cambios sobre GP0, GP1 o GP3 si el despertar por
cambios esta habilitado
Cambios en la salida del Comparador (C1OUT) si es
h bilit d ell despertar
habilitado
d
t por cambios
bi en ell mismo
i

Los Microcontroladores PIC Linea Base se


RESETEAN sobre un Despertar
Ejecutando el Cdigo sobre el Vector de RESET
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 50

Usando el STATUS para Determinar


el RESET
GPWUF CWUF

PA0

TO

PD

DC

GPWUF Bandera indicadora de


despertar del SLEEP por
Estado Artmtico de la
cambios en los PORTS GP
ALU
TO Time-out bit
0=R
Resett d
due tto WDT
El estado
t d de
d RESET
1 = Despierto por cambios en
Time-Out
Selector de Pgina de
los PORTS I/O
la Memoria de
PD Power-down bit
Programa
CWUF - Bandera de despertar por
1 = Reset due to Power up
cambio en l comparador
Banderas Para indicar
el despertar del SLEEP
(CLRWDT
will set por
these
bits)del
1 = Despierto
la salida
comparador

Contiene:

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 51

Usando el STATUS para Determinar el RESET


RESET
z

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 53

Programacin Serie En-Circuito (ICSP)


z

Los PIC pueden ser programados


in circuit
in-circuit

Permite actualizar el Firmware


VPP
VDD

VDD

VSS
GP1/ICSPDAT

GND
DATA

GP1/ICSPCLK

CLK
GP3/MCLR/VPP

Conector de
Seales Externo

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 54

Directiva __CONFIG

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 55

Bits de Configuracin
z

Pueden ser configurados directamente en el


MPLAB
O
Adicionados al Archivo Fuente del Firmware

Directiva __CONFIG
z

S t los
Seta
l bits
bit de
d configuracin
fi
i del
d l procesador
d

Asegura la configuracin deseada cada vez que se transfiere el

firmware
__CONFIG porexpr
Nota: config is precedido
dos caracteres guion bajo.

example:
__CONFIG

_MCLRE_OFF & _CP_OFF & _WDT_OFF & _INTRC_OSC & _IOSCFS_OFF

;poner en off MCLR, Code Protection y Watchdog Timer


;Configura el dispositivo para el Oscilador interno RC a 4MHz
2007 Microchip Technology Incorporated. All Rights Reserved.

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 58

Puertos I/O Revisin


z

PIC12F510
Tiene
un registtro
de the
Puerto
de Propsito
General Input/Output
PORT
names
are not
same
for all Baseline
PICs !
(GPIO)

Algunos PIC Linea Base tienen multiples Registros PORT ( PORTA,


Low Pin Count
Medium Pin Count
PORTB)

( < 8 I/O pins )

5 pines I/O configurables como Input o Output usando el registro Tri-State


GPIO , TRISGPIO

PortesName
Configuration
GP3
solo entrada

GPIO

( >8 I/O pins )

Port Name Configuration

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

Por Default sone ntradas analgicas para culaquier RESET

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

Circuito del PORT I/O

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 60

Registros GPIO y TRISGPIO


z

Dos registros Principales

General Purpose Input Output (GPIO)


T i St t GPIO (TRISGPIO)
Tri-State

GPIO
GP5

GP4

GP3

GP2

GP1

GP0

Configures
Data Data
Direction (write only)
Always Input

TRISGPIO

TRISGP5 TRISGP4

TRISGP2 TRISGP1 TRISGP0

1 = corresponding GPIO pin is input


0 = corresponding GPIO pin is output
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 61

Registro General Purpose Input/Output


(GPIO)
z

Registro 8-bit I/O

Solo son usados los 6 bits mas bajos GP<5:0>


z

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

Escritura y lectura controladas por software

pines I/O son leidos independientemente (input o output)

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

Tri-State GPIO Registro de Control de


(
)
direccin (TRISGPIO)
TRISGPIO (Not Addressable)

1 0
1 1
0

1
0

1
0

1
0

Pins Affected GP5 GP4 GP3 GP2 GP1 GP0

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

OUTPUT
GP5
INPUT

INPUT
GP0
OUTPUT

OUTPUT
INPUT
GP4

GP1
INPUT
OUTPUT

GP3
INPUT

GP2
INPUT
OUTPUT

Slide 63

Configurando I/O para Digital


z

GP0, GP1 y GP2 son configurables para


analogico o digital

Analogico para multiplexar funciones alternativas


z

comparador y conversor analgico a digital


(ADC)

Para usar GP<2:0> como I/O Digital las


funciones alternativas debe ser desactivadas

El comparador el apagado por borrado del bit


CM1CON0<C1ON>
La funcionalidad analgica es desactivada por borrar
los bits ADCON0 ANS<1:0> en el mdulo ADC

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 64

Configurando todos los pines como


I/O Digital

Borrar CM1CON0<C1ON> bit (desactiva el


comparador)
z Borrar
B
bit
bits ANS<1:0>
ANS<1 0> (T
(Todos
d pines
i
di
digital)
it l)
z

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

Resistores de Pull-ups Internos


OPTION

0
1
GPPU

VDD

Configurar con OPTION

Pines GP2, GP1 y GP0

GP<2:0> deben
configurarse como
entradas

Bit General Purpose


P ll U
Pull-Up

Pins no son configurados


i d
independientemente
di t
t

GP0/AN0/C1IN+
GP0/AN0/C1IN

VDD
GP1/AN1/C1IN-

VDD
GP2/AN2/T0CKI/C1OUT

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 66

Despertar sobre Cambios de estado


z

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

2007 Microchip Technology Incorporated. All Rights Reserved.

GP5 GP4 GP3 GP2


1 GP0
1 GP1
0
1

configured
as input
7

GP1 camia estado


105 ASP

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

Voltaje del Pin comienza


a cambiar
bi lentamente
l t
t

GP4
pin

HIGH (1)
LOW (1)

GP4 LEDO COMO ALTO DEBIDO A LA

Clear
C
Set
ea G
GPIO
G
GPIO
OObit
bbit
bt t04

TRANSICIN LENTA DEL VOLTAJE DEL PIN

DATA BUS
Read GP4
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 68

Shadowing un registro PORT


DATA MEMORY
Crear a Shadow
register en
General Purpose
RAM

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 69

Timer0

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 70

Timer0 Revisin
z
z

Incrementa un registro llamadoTMR0 usando una


fuente de clock
Puede ser configurado para:

Incrementa usando los ciclos de instruccin interna (TCY)


I
Incrementa
t usando
d la
l salida
lid del
d l comparador
d
CM1CON0<C1OUT> bit
Incrementa usando una fuente de clock externa conectada al
pin
i T0CKI

La fuente de clock es configurable usando un prescaler


VDD

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

Mdulo TMR0 puede ser usado como :

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 72

Registros Asociado al Timer


OPTION
RBWU RBPU T0CS T0SE

PSA

PS2

PS1

PS0

Configura
g
el Timer
BIT

FUNCTION

T0CS

Timer0 Clock Source Select bit


1 = T0CKI pin
0 = Internal clock

T0SE

Timer0 Source Edge bit


1 = high-to-low transition
0 = low-to-high transition

PSA

Prescaler Assignment bit


1 = Assigned to WDT
0 = Assigned to Timer0

PS<2:0>

Prescaler Rate Select bits

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 73

Cargando el registro OPTION


OPTION

PS2

PS1

PS0

GPWU GPPU T0CS TOSE PSA

Wreg

;Load desired value into Wreg using inline assembly then issue
;OPTION instruction to load OPTION register

movlw
OPTION

2007 Microchip Technology Incorporated. All Rights Reserved.

b 00110001 ;move desired value into W


b00110001
;move value in W into OPTION

105 ASP

Slide 74

Registros asociados con Timer0


TMR0

8-bit
8 bit timer/counter register
Contiene el conteo o el valor del Tiempo del TMR0
CM1CON0
C1T0CS

Comparator TMR0 Clock Source bit


Cuando este bit es puesto a 0, salida del comparador 1
es usado
d como fuente
f
t del
d l clock
l k para ell TMR0

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 75

Diagrama en Bloques del TMR0


Synchronizes signal
with internal clock

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

Comparator TMR0 TMR0


Clock
TMR0
Clock
Source
Prescaler
Source
Source
Bit
Edge
Assignment
Select
Select
Bit
BitBit
101
1:64
Prescaler
Rate
Select
Bits
1 = TMR0 sourcePrescaler
is1 T0CKI
1= =Selects
Increment
1must
pin
= Prescaler
either
orbe
FOSC/4
TMR0
C1OUT
ison
assigned
high
or
low
toas
the
transition
TMR0
Watchdog
clock
of T0CKI
Timer
source
assigned
toT0CKI
Timer0
110
1:128
0 = TMR0 is the comparator
0 0= =Selects
Increment
0 = Prescaler
FOSC/4
TMR0
as
ison
TMR0
assigned
low clock
high
tosource
Timer0
transition of T0CKI
111

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

1:256

Slide 76

Sincronizando el TMR0 con un clock


externo
Internal Clock

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 77

Escribiendo al TMR0
z

Escribiendo el TMR0, se inhibe el


incremento por 2 ciclos de clock
CLEAR TMR0
Register

TMR0 SOURCE CLOCK


WRITE 00001111
to TMR0

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)

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 79

Conversor Analgico a Digital (ADC)


Revisin
z

Convierte una seal analgica a un valor de 8-bit

z
z
z
z

Al
Almacena
este
t valor
l en ell registr
i t ADRES del
d l ADC

ADC controlado por el registro de control ADCON0


Reloj de Conversin configurable (TAD)
Conversiones comparadas contra VDD
3 canales de entrada analgicos(AN0,
analgicos(AN0 AN1,
AN1 or AN2)
VDD

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

Deseando con ADCs

Proveer los medios para decodificar


la salida del trsductor

z
z

Sensores de Presin
Termocuplas
etc
t

ADC

Medicin de Tensiones variablesVIN


Mas conveniente para reconocer
seales de transicin lentas que el
comparador

ADRES

00001101
10001100
8

time
ADRES

10001111
10001100
10001110
10001101
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 81

Registro de Control de Conversin del


ADC (ADCON0)
ADCON0
ANS1
ANS0

BIT

ADCS1 ADCS0

CHS1

CHS0 GO/DONE ADON

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 = Starts a conversion process. Cleared by hardware when


FOSC
/32
1 0
GP2/AN2
conversion
is complete
clearing will
terminate
a conversion
Fand
OSC
/16
0 1 0 = ManuallyGP2/AN2
GP0/AN0

1 0
1

2007 Microchip Technology Incorporated. All Rights Reserved.

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

Registro de Resultado del ADC (ADRES)

z Example:
8-bit value
z

is stored in result register (ADRES)


ADRES
1000 1010 and V
DD = 5V signal as it compares to
Value=represents
analog
a reference voltage
oltage (VDD)
Analog input voltage is
1
1
1
VDD +
VDD +
VDD = 2.5V
2 5V + 0.156V
0 156V + 0.04V
0 04V = 2.7V
2 7V
2
32
128

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 83

ADC Disgrama en bloques


ANS1
ANS0
Conversion
INTOSC/8
FFOSC
OSC/16
/32
/8
Clock
CHS1
CHS0
GP0/AN0 pin
GP1/AN1 pin

00

10

1
GP2/AN2 pin

0
ADC
0

Result
CHANNEL SELECTED

All pins digital

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)

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 84

Tiempo de adquisicin de la seal


Acquisition Time

Conversion Time

time
VC

VIN

ADRES

time

SOURCE

ADC
CHOLD

120pF
VSS

2007 Microchip Technology Incorporated. All Rights Reserved.

+
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

Setear el bit GO/DONE


para
comenzar
Start ADC
conversion by
setting the
GO/DONE bit
Borrar
manualmente
el bit
GO/DONE aborta la
conversion
NO

Conversion Time

13 ADC Clock cycles (TAD)

GO/DONE = 0?

YES

ADRES

continue
2007 Microchip Technology Incorporated. All Rights Reserved.

CONVERSION
RESULT
RESULTADO PARCIAL
105 ASP

Slide 87

ADC en Modo SLEEP

ADC No puede hacer cualquier en el modo


SLEEP
z Si una conversin esta en proceso cuando
el SLEEPes ejecutado, ADRES contendra
datos parciales de la conversin
z Los
L bits
bit ADCS y CHS son reseteados
t d a
las condiciones por Default
z

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 88

Comparador

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 89

Comparador Revisin
z
z
z
z

Compara dos voltajes de entrada de referencia


Si los dos voltajes
j difieren,, cambia la salida del
comparador
Configrar usando el registro de control : CM1CON0
El cambio en el comparador es indicado en el bit
CM1CON0<C1OUT>

VDD

VSS

+
_

GP5/OSC1/CLKIN
GP4/OSC2

C1OUT

GP1/AN1/C1INGP2/AN2/T0CKI/C1OUT

GP3/MCLR/VPP

2007 Microchip Technology Incorporated. All Rights Reserved.

GP0/AN0/C1IN+

105 ASP

Slide 90

Comparador revisin

Positive
Reference
Voltage
(C1IN+)

Negative
Reference (C1IN-)

+
Output
O
t t
(C1OUT)

Output
(C1OUT)

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Positive
reference
(C1IN+)
Negative
Reference
(C1IN-)

Slide 91

Deseando con comparadores


z

Deteccin de alto y bajo voltaje

Contador de Pulsos

Comparador de ventana

La salida del comparador puede conectarse al mdulo Timer0

Configurable como un OPAMP en aplicaciones de bajo


costo

requiere componentes externos


Refer to PICmicro
PICmicro Comparator Tips n
n Tricks
Tricks
*Refer
at www.microchip.com

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 92

Registro de Control de Comparador


(CM1CON0)
CM1CON0
C1OUT C1OUTEN C1POL C1T0CS

C1ON C1NREF C1PREF C1WU

BIT

FUNCTION

C1OUT

Comparator Output Bit

*READ ONLY

C1OUTEN

1 = C1OUT is read internally only


0 = C1OUT value is available on C1OUT pin

C1POL

0 = comparator output is inverted

C1T0CS

0 = Comparator output used as TMR0 clock source

C1ON

1 = Comparator is ON

C1NREF

1 = Comparator Negative reference is the C1IN- pin


0 = Negative reference is the 0.6V internal reference

C1PREF

1 = Comparator Positive reference is the C1IN+ pin


0 = Comparator Positive reference is the C1INC1IN pin

C1WUF

1 = Comparator Wake-up on change is disabled

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 93

Diagrama en Bloques del comparador


Comparator output (C1OUT bit)
Wh positive
When
iti
reference
f
voltage
lt on
is available
internally
and
output
bit)
isComparator
greaterthe
thanC1OUT
negative
reference
voltage
pin(C1OUT
C1OUT
pin internally
voltage = 0
1
is
available
only

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

Despertar por cambio en el comparador


CM1CON0

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

2007 Microchip Technology Incorporated. All Rights Reserved.

C1POL
105 ASP

C1OUTEN

Slide 95

Comparador como clock del TMR0


CM1CON0

0
1
C1T0CS

TIMER0 Module
configured
fi
d as a
counter
TMR0
1 0
1 0
1

2007 Microchip Technology Incorporated. All Rights Reserved.

C1IN+

C1IN-

C1OUT

105 ASP

Slide 96

Resumen del Curso

Principios Bsicos de los PIC Linea Base


Arquitecura del Microcontrolador PIC
z Caractersticas especiales
p
z PIC12F510 Perifricos
z

Puertos Input/Output
Timer 0
Conversor ADC
Comparador

2007 Microchip Technology Incorporated. All Rights Reserved.

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!!

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 98

Gracias!!
Traducido por : Andrs Ral Bruno Saravia
RTC Argentina

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 99

Lab 1
Creando un proyecto para
dieo con PIC Linea Base

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 100

Estructura del directorio

Directorio existente
creado en la computadora
para esta clase de
laboratorio
El archivo Plantilla cargado
g
en el directorio

Los archivos plantillas para PIC Linea Base se encuentran en:


C:\Program
g
files\Microchip\MPASM
p
Suite\Template\Code
p
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 101

Abriendo MPLAB

Desde el Men
Project seleccionar:

Project
Project Wizard
Wizard
Proyecto Mgico

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 102

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 103

Seleccionar el PIC16F506

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 104

Seleccionar Microchip MPASM Toolsuite

Entoncces seleccionar lo siguiente

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 105

Pulse el boton Browse(Ojeando)

2007 Microchip Technology Incorporated. All Rights Reserved.

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

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 107

Verifique el Nombre del Proyecto y la


Localizacin

Nombre elegido para


Este Proyecto

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 108

Adicione el archivo Plantilla


Busque el archivo
C:\RTC\105_ASP\Lab1\16F506TEMP.ASM
entonces p
pulse ADD >>

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 109

Confirme detalles del Proyecto

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 110

Verifique el builds del Proyecto

Pulse el
Icono
Build All

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 111

Build Sucedido !

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 112

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 113

Abra Solution Project

C:\RTC\105 ASP\lab1\solution\lab1 Solution mcp


C:\RTC\105_ASP\lab1\solution\lab1_Solution.mcp
2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 114

Build el proyecto

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 115

Seleccionar el PicKit2 como Programador

Lance el Pin MCLR


para permitir al PIC
salir del Modo RESET

Pulsar el icono PROGRAM


para descargar el programa
al PIC16F506

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 116

Lab 2: Introduccin al
Set de instrucciones
usando el MPLAB SIM

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 117

Lab 3: Direccionamiento
de datos y memoria de
programa

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 118

L b4
Lab
T b j d con puertos
Trabajando
t I/O

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 119

Lab 5: Usando el TMR0


para crear Delays

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 120

Lab 6: Trabajando con el


ADC

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 121

Lab 7: Despertando por


cambios en el
comparador

2007 Microchip Technology Incorporated. All Rights Reserved.

105 ASP

Slide 122

Você também pode gostar