ARG001 Class
description
Transcript of ARG001 Class
-
105 ASPComenzando con la
Arquitectura Y Perifricos deArquitectura Y Perifricos de Lnea Base en Assembler
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 1105 ASP
-
Objetivos del curso
A finales del hoy usted debe poder:
Entienda la arquitectura de los qMicrocontroladores PIC Lnea Base
- Sepa programar los perifricos de la familia deSepa programar los perifricos de la familia de Lnea Base
Sepa escribir y eliminar errores de los tili l it tprogramas que utilizan la arquitectura y
perifricos de Lnea Base
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 2105 ASP
-
Agenda del Curso
z Introduccin a la Arquitectura de los Microcontrladores PIC Linea BaseMicrocontrladores PIC Linea Base
z Caractersticas Especialespz Perifricos de la familia Linea Base
Puertos I/O Puertos I/O Timer 0 Conversor ADC ComparadorComparador
z Metiendo las manos Laboratorios que se ejecutan con cada perifrico
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 3105 ASP
ejecutan con cada perifrico
-
Introduccin a losIntroduccin a los Microcontroladores PIC
Lnea Base
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 4105 ASP
-
Microcontroladores PIC Linea Base Resumen
PROGRAMMEMORY Motor de funcionamiento
DATAMEMORYOscillatorNo Volatil
V l il
del Microcontrolador
Working
STATUSContiene las
instrucciones
VolatilContiene d t d
OPTIONdel Programa
que le dicea la CPU
datos decontrol dde
lasCPUque hacer instrucciones
El cerebro ejeucuta todaslas instruccines, lgica, y proceso matemtico
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 5105 ASP
y p
-
Memoria de Programa
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 6105 ASP
-
Organizacin de la Memoria de Programag
Almacena las instrucciones de su cdigo Page 0
Dice a la CPU que hacer
El Set de Instrucciones del PICEl Set de Instrucciones del PIC Tienen todas de12-bits
1 instruccin = 1 Direccin de 1024 x 12-bits
Memoria de ProgramaDividida en Pginas Page 1
La cantidad de memoria de programa depende del
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 7105 ASP
programa depende del dispositivo
-
Porqu paginacin de la memoria del programap g
Con una instruccin de 12 bits solamente 9 bits pueden ser usadospara especificar una a direccin de memoria de programa
Instruccin GOTO en Memoria de ProgramaInstruccin GOTO en Memoria de Programa01234567891011
Opcode
gg
0 0 0 0 1 0 1 0 1
929 = 512 = nmero de direcciones de memoriaaccedidos por un operando de 9-bit
Algunos programas necesitan mas que512 direcciones de memoria de programa !
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 8105 ASP
-
Contador de ProgramaProgram Counter
0 00123456789
0 0 0 0 0 0 0 0
Program Counter
1 0 011 0111 0 11 1 01 1 1Program
PCLz 10-bit PC
Program Memory
210 = 1024 direcciones de memoria
z Contiene la direccin de la siguientez Contiene la direccin de la siguienteinstruccin
z Funciona libremente a travs de los Lmites de la pgina
z 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. Slide 9105 ASP
operando
-
Usando el STATUS como Registro Selector de pginas de Programap g g
GPWUF CWUF PA0 TO PD Z DC CSTATUS
z PA0: Bit de preseleccin Program Memorypde Pgina de Programa
GPA0 0 PA0 = 1
z Pgina 1(200h 3FFh)
PAGE0PA0 = 0
z Pgina 1(200h 3FFh)
PA0 = 0z Pgina 0(000h 1FFh) PAGE1PA0 = 1
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 10105 ASP
-
Como se implementa la Paginacin
01234567891011
OpcodePA0
Instruccin GOTO en Memoria de ProgramaInstruccin GOTO en Memoria de Programa
0 0 0 0 0 1 0 1 0 10PA0STATUS
p
0123456789
0 0 0 0 0 0 1 0 1 1
Direccin EfectivaDireccin Efectiva
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 11105 ASP
Contador de Programa
-
El Registro STATUS
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 12105 ASP
-
Registro Status
GPWUF CWUF PA0 TO PD Z DC C
STATUS
Zero bit (Z): result of arithmetic/logic operation is zeroCarry/borrow (C)( ) g pi.e. 1 1 = 0 (Z = 1)
move zero value into a register (Z = 1)z Contiene:
Bits del estado Aritmtico
y ( )Suma: Indica cuando el resultado excede 255 (28 1)
125 + 140 = 265 (C = 1)Rotar a la derecha o izquierda: M C d t d l b l b d l i t
C01010101Rotate RightRotate Left
El estado de RESET Seleccin de Pgina de Memoria de Programa
125 + 140 = 265 (C = 1)125 + 125 = 250 (C = 0)Mueve C dentro del msb o lsb del registro
C01010101 Flags para despertar desde el SLEEPResta: Indica cuando hay un resultado negativo
1 0 1 0 1 0 1 0C 1 0 1 0 1 0 10 C 1 0 1 0 1 01 0 C 1 0 1 0 10 1 0 C 1 0 1 01 0 1 0 C 1 0 10 1 0 1 0 C 1 01 0 1 0 1 0 C 10 1 0 1 0 1 0 CMSB LSB
125 - 140 = -15 (C = 0)125 - 120 = 5 (C = 1)
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 13105 ASP
-
Memoria de Datos
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 14105 ASP
-
Organizacin de la Memoria de Datos
z Agrupados en BANK of Data Memoryz Agrupados en BANCOS
SFR
z Contiene
SFR
Registros de FuncionesFunciones Especiales (SFR) Registros de GPR Registros de Propsitos Generales (GPR)
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 15105 ASP
(GPR)
-
Registros de Funciones Especiales
z Controlan las funciones de la CPU and Perifricos
PIC12F510 Memoria de datos
de la CPU and Perifricos Controlan la operacin del
dispositivo
INDFTMR0
0001
dispositivo
SFR direccionado como
PCLSTATUS
FSR
020304z SFR direccionado como
fijoFSR
OSCCALGPIO
040506
z El nmero de SFRs es CM1CON0ADCON0
0708
especfico del dispositivo ADRES09
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 16105 ASP
-
Registros de Propsito General
z Almacenan DatosC t l l
BANCOde Memoria de Datos
z Controlan la informacin de un comando de las i t i
SFRsinstrucciones
z Almacenan variablesz Almacenan variables definidas por el Usuario
Di i i G Direccionamiento seleccionable
z El nmero de GPRs
GPREl nmero de GPRs es especfico del device
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 17105 ASP
-
Organizacin de la Memoria de DatosBank 0 Bank 1
INDFTMR0PCL
STATUS
00010203
Bank 0INDFTMR0PCL
STATUS
INDFTMR0PCL
STATUS
z Los registros de memoria de ciertos datos son accedidos
20212223STATUS
FSROSCCAL
GPIO
03040506
STATUSFSR
OSCCALGPIO
STATUSFSR
OSCCALGPIO
datos son accedidos desde cualquier BANCO
z Otros No lo son
23242526
CM1CON0ADCON0ADRESGPR1
0708090A
CM1CON0ADCON0ADRESGPR1
CM1CON0ADCON0ADRESGPR1
z Es mostrada la Memoria de Datos del PIC12F510
2728292A
GPR2GPR3GPR4GPR5
0A0B0C0D0E
GPR1GPR2GPR3GPR4GPR5
GPR1GPR2GPR3GPR4GPR5
El nmero de Bancos y accsibilidad a los registros vara con el Dispositivo
2B2C2D2EGPR5
GPR60E0F
GPR5GPR6
GPR5GPR6
10
Dispositivo
11
2E2F3031
Las direcciones de losGPRsdespues de 0Fh y 2Fh
12131415
32333435
p ySolo pueden ser accedidas si
la CPU setea el BANK(PIC12F510)
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 18105 ASP
PIC12F510
15(PIC12F510)
-
Porque Banqueado de datos
OPCODE12 6 5 4 0
dOPCODE OPERAND
Las Instrucciones de los PIC Linea Base tienen solo 5Las 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 d 32 l li i M i d D t !
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 19105 ASP
ms de 32 localizaciones en Memoria de Datos !
-
Como se implementa el Banqueado de Datos
z Banqueando extendemos el rango de direccionamiento del MCU por combinacin deldireccionamiento del MCU por combinacin del OPERANDO de la instruccin con 2 bits en el registro FSRregistro FSR
0 0 0 0 00 0 0 0 10 0 0 1 00 0 0 1 10 0 1 0 00 0 1 0 10 0 1 1 0
Codigo de operacin 12-bit Registro FSR
0 0 0 0 00 0 0 0 10 0 0 1 00 0 0 1 10 0 1 0 00 0 1 0 10 0 1 1 0Bits selectores de
BANCOOPERANDO
27 bits = 128 direcciones de memoria nicas
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 20105 ASP
-
Como se v la memoria de datos
0
0A09
10
BANK 0 BANK 1 BANK2 BANK 31F
FSR Bits seleccionanl BANCO
0 00 1101 1
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 21105 ASP
el BANCO
-
El Set de Instrucciones de la Linea Basede la Linea Base
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 22105 ASP
-
Set de instrucciones de la Linea Base
Operaciones orientadas a Byte Operaciones Orientadas a Bitaddwf f,d Add W and f bcf f,b Bit Clear fandwf f,dclrf fclrw -
AND W with fClear fClear W
bsf f,bbtfsc f,bbtfss f,b
Bit Set fBit Test f, Skip if ClearBit Test f, Skip if Set
comf f,ddecf f,ddecfsz f,d
Complement fDecrement fDecrement f, Skip if 0
Operaciones con Literales y controlandlw kcall k
AND literal with WCall subroutine
incf f,dincfsz f,diorwf f,d
Increment fIncrement f, Skip if 0Inclusive OR W with f
clrwdt -goto kiorlw k
Clear Watchdog TimerGo to addressInclusive OR literal with W
movf f,dmovwf fnop -
Move fMove W to fNo Operation
movlw koption -retlw k
Move literal to WLoad OPTION RegisterReturn with literal in W
rlf f,drrf f,dsubwf f,d
Rotate Left f through CarryRotate Right f through CarrySubtract W from f
sleep -tris fxorlw k
Go into standby modeLoad TRIS RegisterExclusive OR literal with W
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 23105 ASP
swapf f,dxorwf f,d
Swap nibbles in fExclusive OR W with f
-
El Registro de Trabajo W
z El Trabajo del Registro W de 8 bits:
Instruccin de 2 Operandosz un operando es tpicamente el registro W (Trabajo)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 simplez El operando se encuentra en el registro W o en un registro del
hiarchivo
Mover un valor dentro de un registro del archivo de la Memoria de D tDatos
Mover un valor desde un registro del archivo de la memoria de datos a
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 24105 ASP
otro
-
Operaciones Orientadas a Bytes
z Operan sobre el Registro o Byte enterop g yz Operaciones aritmticas (ADDWF, SUBWF)z Operaciones lgicas (ANDWF, XORWF, COMF)Operaciones lgicas (ANDWF, XORWF, COMF)z Operaciones de desplazamiento (RRF, RLF)z Movimiento de Datos (MOVF, MOVWF, SWAPF)z Movimiento de Datos (MOVF, MOVWF, SWAPF)z Operaciones de Salto (INCFSZ, DECFSZ)
CODIGO de OP Direccin del registrodCODIGO de OP Direccin del registrod
d = 0 destino es W
addwf GPIO, F 1 0 0 1 1 01 1 1 1 00d = 0 destino es Wd = 1 destino es f
operacinArchivo a
direccionar
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 25105 ASP
operacin direccionar0x06h (01102)
destino
-
Operaciones Orientadas a Bit
z Manipulacin de Bit simple (BSF, BCF)
z Testeo de Bit simple (BTFSS, BTFSC)
CODIGO OP Direccin del RegNumero bitCODIGO OP Direccin del Reg.Numero bit
bcf GPIO, 3 0 1 1 0 0 1 1 01 0 00
operacinRegistro a Direccionar
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 26105 ASP
operacin Direccionar0x06h (01102)
Nmero de Bit
-
Operaciones con Literales y de Control
z Instruccin Literal:z Instruccin Literal: Emplea valores definidos por el usuario
O i l i (ANDLW XORLW ) Operaciones lgicas (ANDLW, XORLW)Cdigo OP Valor Literal
z Instrucciones de control: SLEEP CLRWDT GOTO CALL RETLWmovlw 0xFF 1 1 1 1 1 1 1 11 0 01
SLEEP, CLRWDT, GOTO, CALL, RETLW
operacin Valor Literal0 0 1 0 1 0 1 101 01t F i
Cdigo OP Direccin de Mem. Prog
(1111 11112) 0 0 1 0 1 0 1 101 01goto Funcin
Los bits de la paginacin
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 27105 ASP
operacin Direccin de Memoria
p gvienen del STATUS
-
Addressing Modes
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 28105 ASP
-
Modos de direccionamientoAccesos a Memoria de datos:z Accesos a Memoria de datos: Directamente desde la instruccin en Memoria de
DatosDatos
ejemplo:jclrf
I di d l R i S l d Indirectamente usando el Registro Selector de Archivos (FSR) como un puntero
ejemplo:movlw movwf FSR;Puntero para clrf INDF ;Borra
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 29105 ASP
;apuntado por el FSR
-
Modos de Direccionamiento
z Direccionamiento Directo:R i t
100 0 0 0 00 0 0 0 10 0 0 1 00 0 0 1 10 0 1 0 00 0 1 0 10 0 1 1 00 0 1 1 1
El Banco es Seleccionado usando FSR
Instruccin de 12-bit Cdigo OP
Registro (FSR)
La Direccin de la Memoria de datos esta incluida en la instruccin
Selecciona el BANCOSeleccionala Localizacin
de la Memoria de Programa
00
0F10
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 30105 ASP
BANCO 0 BANCO 1
-
Modos de Direccionamiento
z Direccioonamiento directo: Direccin de la Memoria
0 0 0 0 00 0 0 0 10 0 0 1 00 0 0 1 10 0 1 0 00 0 1 0 10 0 1 1 00 0 1 1 110
Direccin de la Memoria de Datos incluida en la instruccin de la Memoria de Programa
Registro Selector de Archivos(FSR)
El BANCO es seleccionado usando FSR
Selecciona BancoSelecciona
Localizacin
z Direccionamiento
Localizacin00
z Direccionamiento Indirecto: La direccin de la
Memoria de Datos es escrita dentro del File Registro Selector de Archivos (FSR)
0F10
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 31105 ASP
La direccin es accedida via el registro INDF
BANK0 BANK1
-
Pipelining de Instrucciones
MAINMOVLW 0x03 ;mover 0x03 (00000011) a WregMOVWF GPIO l W d t d l GPIO
z El Oscilador es internamente dividida x 4Ciclo de instruccin (TCY) = FOSC/4 = TOSC x 4
MOVWF GPIO ;mover valor en Wreg dentro del GPIOGOTO Label_1 ;saltar a la etiqueta llamada Label_1BSF GPIO, 1 Ciclo de instruccin (TCY) = FOSC/4 = TOSC x 4
z Bsqueda de una Instruccin = 1 TCYLabel_1 ;Codigo en otra parte en memoria
z Ejecucin de una Instruccin = 1 TCYz Pipelining = Ejecucin / Bsqueda SimultneosTCY1 TCY2 TCY3 TCY4 TCY5 TCY6
TOSCp g j q
Busqueda/Ejecucin = 1TCYSaltos de Programa = 2 TCY
Busqueda MOVLW 0x03
Ejecucin MOVLW 0x03
Bsqueda Ejecucin
TCY1 TCY2 TCY3 TCY4 TCY5 TCY6
Saltos de Programa = 2 TCYBsquedaMOVWF GPIO Ejecucin MOVWF GPIOBsqueda
GOTO SUB_1Ejecucin GOTO SUB_1Bsqueda FLUSH
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 32105 ASP
qBSF GPIO,1 BSF GPIO,1
BsquedaLabel_1
EjecucinLabel_1
-
Instruccin GOTO
01234567891011
Cdigo PA001234567
STATUSSTATUS Instruccin GOTO en Memoria de ProgramaInstruccin GOTO en Memoria de Programa
0 0 0 0 0 1 0 1 0 10 g
0123456789Contador de Contador de Programa 10 Programa 10 Bit Bit
0 0 0 0 0 0 1 0 1 1
11--bit del STATUSbit del STATUSDetermina la PginaDetermina la Pgina
99--bits de instruccin bits de instruccin 2299 = 512 Direcciones de = 512 Direcciones de
LocalizacionesLocalizaciones
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 33105 ASP
-
Las Instrucciones CALL y RETLW
0123456789101101234567STATUSSTATUS Instruccin CALL en Memoria de ProgramaInstruccin CALL en Memoria de Programa
OpcodePA00
PA0 del STATUSPA0 del STATUS88--bits de la instruccinbits de la instruccin2288 = 256 Direcciones = 256 Direcciones
0 0 0 0 1 0 1 1
z CALLEmpuja al STACK
0123456789
0 0 0 0 0 0 1 0 1 1
0 S US0 S USDetermina la PginaDetermina la Pgina
Contador de Contador de Programa dePrograma de Empuja al STACK
z mueve el valor del PC sobre el tope del nivel
Siempre clearedo Siempre clearedo con la ejecucincon la ejecucin
Programa de Programa de 1010--BitBitPU
SHPO
P
Solo las primeras 256direcciones sobre
l d d ddel nivel
z Clears bit 8 of the PC
jjdel CALLdel CALL
P
2 Level2 LevelSTACKSTACK
la page dada puedenser accedidas usando
un CALLPC z RETLW
Recuperar STACK
STACKSTACKun CALL
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 34105 ASP
pz mueve el PC desde
el Tope del nivel
-
Caractersticas Especiales de la CPUEspeciales de la CPU
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 35105 ASP
-
Osciladores
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 36105 ASP
-
Osciladores sobre el PIC12F510
0-8MHzFREQUENCY RANGEEl PIC12F510 puede operar en 4 diferentes modos de
il d 0-8MHzFREQUENCY RANGEosciladores :
LP: Cristal de Baja Potencia (0 - 200kHz)High Medium LowACCURACY
LP: Cristal de Baja Potencia (0 - 200kHz)
XT: Resonador o Cristal (0 - 4MHz)
COST Low LowMedium Zero
( )
INTOSC: Oscilador Interno 4/8MHz Low LowMedium Zero
EXTRC: Capacitor y Resistor Externo (0 - 4MHz)
OSCILLATOR LP0 - 200 kHz
XT0 4 MHz
INTOSCUp to 8 MHz
RCUp to 8 MHz
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 37105 ASP
-
Oscilador Interno
z La Mayora de los Dispositivos Linea Base contienen un Oscilador Interno de 4 y/ocontienen un Oscilador Interno de 4 y/o 8MHz Calibracin de fbrica hasta 1%
Calibrado usando el Calibrador del Oscilador (OSCCAL) SFR (reg. Funciones Especiales)(OSCCAL) SFR (reg. Funciones Especiales)z Las especificaciones del oscilador dependen del
Vdd y la Temperatura y p
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 38105 ASP
-
Registro calibrador del Oscilador (OSCCAL)( )
CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0
bits 7-1 CAL : Estos Bits calibran el Oscilador
z Calibrates internal oscillator precision
bits 7-1 CAL : Estos Bits calibran el Oscilador
0111111 = Frecuencia MximaCalibrates internal oscillator precisionz Must be loaded upon any RESET
.
.
.0000000 = Frecuencia Central...1000000 = Frecuencia Mnima
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 39105 ASP
bit 0 Sin Implementar: Leido como 0
-
Cargando el valor del OSCCAL
z Vector RESET La ejecucin del cdigo
Working F t l OSCAL l
automaticamente cargado sobre RESET
Program Memorj gcomienza aqu Contiene los bits de
Calibracin del Comienzo del prog.0000h0001hOSCAL
Factory cal. OSCAL valuemovwf OSCCAL
Factory cal OSCAL value
Program Memory
Calibracin del Oscilador
OSCCAL es cargado en 01FFhCargando el valor al OSCCAL PAGE0
Factory cal. OSCAL value
z OSCCAL es cargado en la direccin 0000h 0200h
01FFh PAGE0PAGE1ORG 0x3FF
movlw k;El valor de calibracin del RC interno ;es almacenado en 0x3FF por Microchip
z El Programa de usuario comienza a ejecutarse
0001h 03FFh
;es almacenado en 0x3FF por Microchip;como un movlw k, donde la k es un valor ;literal.
en 0001h movlw OSCCALvalue03FFhRESETVECTOR
ORG 0x000movwf OSCCAL ;actualiza el
;registro con el valor de cal de fabrica
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 40105 ASP
-
Reset
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 41105 ASP
-
RESET
z PIC12F510 diferencias entre varios tipos de RESET: MCLR Reset (External)RESET:SFRs are RESET (Check Datasheet) and MCLR Reset (External) Power-on Reset (POR)
WDT Ti t R t
SFRs are RESET (Check Datasheet) andGPR values are unknown. WDT Time-out Reset Despertar desde SLEEP sobre cambio de Baseline PIC Microcontroller begins program execution at the RESET Vectorestado en pin Despertar desde SLEEP sobre Cambio en el
program execution at the RESET Vectorp
Comparador
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 42105 ASP
-
Reset por Master Clear (MCLR)
z Executado por excitacin del pin GP3/MCLR/VPP con un estado Bajoestado Bajo
z Habilitado/Desabilitado usando los bits de configuracinVDD
VDD
CPU EXECUTINGRESET
R V = VDDV = VSS
EXECUTINGCODE
RESET
GP3/MCLR/VPP
R
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 43105 ASP
VSS
-
Watchdog Timer (WDT)
z WDT tiene su propio
1 10 0 1 1 1 10 1 1 0 0 11 0 0 0 1 11 0 1 1 1 01 1 0 0 1 1 1 11 1 1 1 0 0 0 00 0 0 0oscilador corriendo libre
WDT
separado del oscilador principal
STATUS Register WDT funcionar en el
SLEEP 1STATUS Register
0TO
z RESETS del PIC si el ft l CPUsoftware se colg CPU
EXECUTING CODERESET
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 44105 ASP
-
Comando CLRWDT
z Borra WDT para evitar el overflowWDT solo RESETEA al PIC sobre un overflow WDT solo RESETEA al PIC sobre un overflow
z Resets los bits TO y PD en el STATUSz Borra el Prescalerz Borra el Prescaler
RESETB l WDT idi tRESET
YES
Borra el WDT peridicamenteasegura que ocurra el RESET solo si
el software se cuelgaTO = 0? CLRWDT
YES
NO
el software se cuelga
Programa de Aplicacin
NO
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 45105 ASP
Aplicacin
-
WDT Postscaler Bits Selectores del Rango
01 0 0 01 0 0 11 0 1 01 0 1 1OPTION
01 0 0 01 0 0 11 0 1 01 0 1 1PS
PSA
PS WDT RATE
approximately 56Hz (T = 18ms)
000 1:1001 1:2010 1:4
Free-Running WDT Oscillator El Perodo del WDT puede 010 1:4011 1:8100 1:16
Prescaler used by Timer0
configurarse desde ~18ms a ~2.3 segundos
101 1:32110 1:64111 1:128
by Timer0WDT is not scaledWDT Time-Out (Postscaler
Output)
a 3 segu dos
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 46105 ASP
111 1:128Output)
-
Secuencia Power UpAli t iAlimentacin
a VDD
VDDVDD suficiente para realizarPower On Reset (POR)
InternalPower-on RESET Interno genera un
perodo de tiempo para permitir estabilizar VDDPOR
POR Inicia el DeviceCPU comienza ahora
perodo de tiempo para permitir estabilizar VDD
MCLR
POR Inicia el DeviceReset Timer (DRT)normal operation
DRT PeriodDevice RESET Timer
El perodo de tiempo permite al oscilador estabilizarse
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 47105 ASP
DRTp p p
-
SLEEP
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 48105 ASP
-
SLEEP
z Modo Baja Potencia para reducir el consumoS
Ejecutando el Modo SLEEPpermite:
z Se ejecuta usando la instruccin SLEEPborrar el WDT
SETEAR el Bit de Time Out del WDT (STATUS)
+NORMAL
MODEMODOSLEEP
( )
Borrar el Bit Power Down (STATUS)
POWERBATTERY
LIFE
Apagar el Driver del OsciladorCONSUMPTION
Mantener los Ports I/O en condicin de pre-SLEEP
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 49105 ASP
-
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 l d t bi l ihabilitado el despertar por cambios en el mismo
Los Microcontroladores PIC Linea Base se RESETEAN sobre un Despertar
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 50105 ASP
Ejecutando el Cdigo sobre el Vector de RESET
-
Usando el STATUS para Determinar el RESET
GPWUF CWUF PA0 TO PD Z DC CGPWUF CWUF PA0 TO PD Z DC C
z Contiene: GPWUF Bandera indicadora de Estado Artmtico de la
ALUEl t d d RESET
TO Time-out bit0 R t d t WDT
despertar del SLEEP porcambios en los PORTS GP
El estado de RESET Selector de Pgina de
la Memoria de
0 = Reset due to WDT Time-Out1 = Despierto por cambios enlos PORTS I/O
Programa Banderas Para indicar
el despertar del SLEEP
PD Power-down bit1 = Reset due to Power upCWUF - Bandera de despertar porcambio en l comparador
el despertar del SLEEP (CLRWDT will set these bits)1 = Despierto por la salida delcomparador
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 51105 ASP
-
Usando el STATUS para Determinar el RESET
z Testear PD y TO para inicializar cualquier
RESET
Do PORpara inicializar cualquier registro
Inicializar prioridad de
Do PORRSR
D WDT
PD = 1?
z Inicializar prioridad de perifricos para priorizar el Chekeo de los bits GPWUF y CWUF INITIALIZE
Do WDTRSR
TO = 0?
GPWUF y CWUF
z MCLR reset detemina si S
INITIALIZE PERIPHERALS
Gno ha ocurrido el RESET por otro evento
Do GPWUFRSR
GPWUF = 1?
Do CWUFRSR
CWUF = 1?
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 52105 ASP
Do MCLRsub_routine
-
Programacin Serie En Circuito (ICSP)En-Circuito (ICSP)
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 53105 ASP
-
Programacin Serie En-Circuito (ICSP)
z Los PIC pueden ser programados in circuitin-circuit Permite actualizar el Firmware
VDDVDD
VSSVPP
GND
GP1/ICSPCLK
GP1/ICSPDAT
DATA
GP3/MCLR/VPP
CLK
Conector de Seales Externo
GP3/MCLR/VPP
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 54105 ASP
Seales Externo
-
Directiva __CONFIG
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 55105 ASP
-
Bits de Configuracin
z Pueden ser configurados directamente en el MPLABMPLAB
Oz Adicionados al Archivo Fuente del Firmware
Directiva __CONFIGS t l bit d fi i d l dz Seta los bits de configuracin del procesador
z Asegura la configuracin deseada cada vez que se transfiere elfirmware
__CONFIG exprNota: config is precedido por dos caracteres guion bajo. example:
CONFIG MCLRE OFF & CP OFF & WDT OFF & INTRC OSC & IOSCFS OFF
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 56105 ASP
__ _ _ _ _ _ _ _ _ _ _
;poner en off MCLR, Code Protection y Watchdog Timer;Configura el dispositivo para el Oscilador interno RC a 4MHz
-
Definiciones de la directiva de configuracin
La directiva de configuracin son definidas en el archivo inc paracada dispositivo, el cual se encuentra en:p ,
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 EQU H'0FFD'
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 57105 ASP
_XT_OSC EQU H 0FFD_IntRC_OSC EQU H'0FFE'_ExtRC_OSC EQU H'0FFF'
-
Puertos I/O
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 58105 ASP
-
Puertos I/O Revisinz PIC12F510 Tiene un registtro de Puerto de Propsito General Input/Output
(GPIO) PORT names are not the same for all Baseline PICs !
z Algunos PIC Linea Base tienen multiples Registros PORT ( PORTA, PORTB)
z 5 pines I/O configurables como Input o Output usando el registro Tri-State
Low Pin Count Medium Pin Count( < 8 I/O pins ) ( >8 I/O pins )
z 5 pines I/O configurables como Input o Output usando el registro Tri-State GPIO , TRISGPIO GP3 es solo entrada
T fd l i GPIO GP fi bl di it l
Port Name Configuration Port Name ConfigurationGPIO TRISGPIO PORTA TRISA
z Tres ofde los pines GPIO GP son configurables como digitales o analgicos Por Default sone ntradas analgicas para culaquier RESET
VSSVDD TRISGPIO
PORTx TRISx
VSS
GP0/AN0/C1IN+
VDD
GP5/OSC1/CLKINGPIO
TRISGPIOEl nombre de los Puertos I/O y los registros de configuracindependen del dispositivo. Checkear el Datasheet !
GP1/AN1/C1IN-
GP2/AN2/T0CKI/C1OUT
GP4/OSC2
GPIO
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 59105 ASP
GP2/AN2/T0CKI/C1OUTGP3/MCLR/VPP
-
Circuito del PORT I/O
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 60105 ASP
-
Registros GPIO y TRISGPIO
z Dos registros Principales General Purpose Input Output (GPIO)
T i St t GPIO (TRISGPIO) Tri-State GPIO (TRISGPIO)
GPIO GP5 GP4 GP3 GP2 GP1 GP0
DataConfigures Data Direction (write only)
TRISGP5 TRISGP4 1 TRISGP2 TRISGP1 TRISGP0
TRISGPIO Direction (write only)
Always Input
TRISGP5 TRISGP4 1 TRISGP2 TRISGP1 TRISGP0
1 = corresponding GPIO pin is input
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 61105 ASP
0 = corresponding GPIO pin is output
-
Registro General Purpose Input/Output (GPIO)
z Registro 8-bit I/O Solo son usados los 6 bits mas bajos GP
bit 7 6 (GP 7 6 ) t i i l t l 0z bits 7 y 6 (GP) estan sin implementar y se leen como 0s
z Escritura y lectura controladas por software pines I/O son leidos independientemente (input o output)
GP5 GP4 GP3 GP2 GP1 GP0
GPIOGP5 GP0GP5 GP4 GP3 GP2 GP1 GP0
7 0
GP5
GP4
GP0
GP1
GP2GP3
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 62105 ASP
inputonly
-
Tri-State GPIO Registro de Control dedireccin (TRISGPIO)( )
TRISGPIO (Not Addressable)
GP5 GP4 GP3 GP2 GP1 GP0Pins Affected1 1 1 1 1 10 0 1 0 0 01 0 1 0 1 0
Working Register0 0 1 1 1 1 1 10 0 0 0 0 0 0 01 0 1 0 1 0 1 0
GP5 GP0movlw b00111111
0 0 1 1 1 1 1 1
INPUTINPUT
0 0 0 0 0 0 0 0
OUTPUTOUTPUT
1 0 1 0 1 0 1 0
GP5
GP4 GP1
movlw b 00111111TRIS GPIO
movlw b00000000INPUT
INPUT
INPUT
OUTPUT
OUTPUTOUTPUT
GP3 GP2movlw b 00000000TRIS GPIO
l b10101010
INPUTINPUT OUTPUT
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 63105 ASP
movlw b10101010TRIS GPIO
-
Configurando I/O para Digital
z GP0, GP1 y GP2 son configurables para analogico o digitalanalogico o digital Analogico para multiplexar funciones alternativas
z comparador y conversor analgico a digitalz comparador y conversor analgico a digital(ADC)
z Para usar GP como I/O Digital las funciones alternativas debe ser desactivadas El comparador el apagado por borrado del bit
CM1CON0 La funcionalidad analgica es desactivada por borrar
los bits ADCON0 ANS en el mdulo ADC
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 64105 ASP
-
Configurando todos los pines como I/O Digital
z Borrar CM1CON0 bit (desactiva elz Borrar CM1CON0 bit (desactiva el comparador)B bit ANS (T d i di it l)z Borrar bits ANS (Todos pines digital)
CM1CON00
CM1CON0
C1ON
0 0GP0/AN0/C1IN+ADCON0
GP1/AN1/C1IN-ANS
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 65105 ASP
GP2/AN2/T0CKI/C1OUT
-
Resistores de Pull-ups Internos
10OPTION
10GPPU
z Configurar con OPTION Pines GP2, GP1 y GP0 VDD
GP0/AN0/C1IN+
GP deben configurarse como entradas
VDD
GP0/AN0/C1IN
entradas
Bit General Purpose P ll UVDD
GP1/AN1/C1IN-
Pull-Up
Pins no son configurados i d di t t
GP2/AN2/T0CKI/C1OUT
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 66105 ASP
independientemente
-
Despertar sobre Cambios de estado
OPTION
0z RESETS/WAKES PIC from
SLEEP modeClear GPWU in
OPTIONClear GPWU in
OPTION
GPWU(General Purpose
W k )
0SLEEP modez GPIO must be read prior to Read current
GP 2 0 l
OPTION
Read current GP 2 0 l
OPTION
Wake-up)
1STATUS
pSLEEP instruction latches current value on pins
GP values
Issue SLEEP
GP values
Issue SLEEP 1GPWUF
(General Purpose Wake-up Flag)
instructioninstruction
p g)
GPIO1Low-Power
ModeRESET
GP5 GP4 GP3 GP2 GP1 GP0
7 001 1 0 11 1 1
1 l l t h d
configuredas input
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 67105 ASP
1 values latchedfor referenceGP1 camia estado
-
Instrucciones lectura-Modifica-Escribe para Bitpara Bit
GPIOVoltaje del Pin comienza
bi l t t00010000GP4
VGP4 pin0000000000010001 a cambiar lentamente
GP40CPU D QLATCH HIGH (1)
LOW (1)READMODIFYWRITE 1pin
GPIO pin values
TRISGP4CONFIGUREDAS OUTPUT
Clear GPIO bit 40001000000000000
Set GPIO bit 000010000 GP4 LEDO COMO ALTO DEBIDO A LA
TRANSICIN LENTA DEL VOLTAJE DEL PIN00010001
C ea G O b tSet G O b t 0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 68105 ASP
DATA BUSRead GP4
-
Shadowing un registro PORTDATA MEMORY
INDFTMR0Crear a Shadow
register en
DATA MEMORY
PCLSTATUS
FSR
register en General Purpose
RAMFSR
OSCCALGPIO
CM1CON00 0 0 1 0 0 0 01Realice cualesquiera
SFRs
CM1CON0ADCON0ADRES
cambios de un solo bit Shadow Register
Copiar el valor en 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0GPRs user_regCopiar el valor en
el registro PORT0 0 0 0 0 0 0 00 0 0 1 0 0 0 0
shadow register
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 69105 ASP
gdefinido por usuario
-
Timer0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 70105 ASP
-
Timer0 Revisin
z Incrementa un registro llamadoTMR0 usando una fuente de clock
z Puede ser configurado para: Incrementa usando los ciclos de instruccin interna (TCY)
I t d l lid d l d Incrementa usando la salida del comparador CM1CON0 bit
Incrementa usando una fuente de clock externa conectada al i T0CKIpin T0CKI
z La fuente de clock es configurable usando un prescaler
VSS
GP0/AN0/C1IN+
VDD
GP5/OSC1/CLKIN
TMR0
GP0/AN0/C1IN+
GP4/OSC2
GP5/OSC1/CLKIN
GP1/AN1/C1IN-PRESCALER
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 71105 ASP
GP2/AN2/T0CKI/C1OUTGP3/MCLR/VPPTCY orC1OUT
-
Timer0 Aplicaciones
z Mdulo TMR0 puede ser usado como :U ti Un timerz Temporiza eventosz Implementare un clock
Contador de Eventosz Cuenta un evento
Start Timing
Stop Timing
0 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 0 1 10 0 0 0 0 1 0 0
z Cuenta un evento
0 0 0 0 0 0 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 0 1 10 0 0 0 0 1 0 0TMR0
0 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 0 1 10 0 0 0 0 1 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 0 1 10 0 0 0 0 1 0 0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 72105 ASP
-
Registros Asociado al Timer
RBWU RBPU T0CS T0SE PSA PS2 PS1 PS0OPTIONRBWU RBPU T0CS T0SE PSA PS2 PS1 PS0
Configura el TimerBIT FUNCTION
T0CS Timer0 Clock Source Select bit
g
1 = T0CKI pin0 = Internal clock
T0SE Timer0 Source Edge bitT0SE Timer0 Source Edge bit1 = high-to-low transition 0 = low-to-high transition
PSA Prescaler Assignment bit 1 = Assigned to WDT0 = Assigned to Timer0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 73105 ASP
PS Prescaler Rate Select bits
-
Cargando el registro OPTION
GPWU GPPU T0CS TOSE PSA PS2 PS1 PS00 0 1 1 0 0 0 1OPTIONGPWU GPPU T0CS TOSE PSA PS2 PS1 PS0
Wreg
0 0 1 1 0 0 0 1
0 0 1 1 0 0 0 1Wreg
;Load desired value into Wreg using inline assembly then issue;OPTION instruction to load OPTION register
movlw b00110001 ;move desired value into Wmovlw b 00110001 ;move desired value into WOPTION ;move value in W into OPTION
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 74105 ASP
-
Registros asociados con Timer0
TMR0
8-bit timer/counter register
CM1CON0
8 bit timer/counter registerContiene el conteo o el valor del Tiempo del TMR0
C1T0CS
CM1CON0
Comparator TMR0 Clock Source bitCuando este bit es puesto a 0, salida del comparador 1
d f t d l l k l TMR0es usado como fuente del clock para el TMR0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 75105 ASP
-
Diagrama en Bloques del TMR0
Synchronizes signal
8with internal clock
RC5/T0CKI
FOSC/4
not scaled
prescaler
11 01 111 01 1
prescaler
Sync
RC5/T0CKI
Comparator Output (C1OUT) TMR0
Comparator outputor T0CKI pin
not scaled
scaledprescalerBIT VALUE Timer0 RATE
000 1:2
001 1:4
prescaler
C1T0CS
p ( )T0SE
T0CS PSAPSSignal on T0CKI pin
The Prescaler increasesthe clock source period
scaled
1010 1010
001 1:4
010 1:8
011 1:16
100 1 32
CM1CON0 OPTION
C1T0CS T0SE
Signal on T0CKI pin
T0CS PSA
the clock source period
100 1:32
101 1:64
110 1:128
C1T0CS
Comparator TMR0 Clock Source Bit1 = TMR0 source is T0CKI pin or FOSC/40 = TMR0 is the comparator
T0SE
TMR0 Source Edge Select Bit1 = Increment TMR0 on high low transition of T0CKI0 = Increment TMR0 on low high transition of T0CKI
TMR0 Clock Source Select Bit1 = Selects either C1OUT or T0CKI as TMR0 clock source0 = Selects FOSC/4 as TMR0 clock source
T0CS
Prescaler Assignment Bit1 = Prescaler is assigned to the Watchdog Timer0 = Prescaler is assigned to Timer0
PSA PS
Prescaler Rate Select BitsPrescaler must be assigned to Timer0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 76105 ASP
111 1:2560 TMR0 is the comparator0 Increment TMR0 on low high transition of T0CKI0 Selects FOSC/4 as TMR0 clock source0 Prescaler is assigned to Timer0
-
Sincronizando el TMR0 con un clock externo
Internal Clock
TOSCSync with TMR0TOSCExt. Clock Period must be > 4xTOSC_
PRESCALER Sync. withInternal ClockT0CKI
External Clock/Prescaler Output
Internal synchronization samples every 2nd TOSCTMR0 TMR0 + 1 TMR0 + 2Internal synchronization samples every 2 TOSCTMR0 TMR0 + 1 TMR0 + 2
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 77105 ASP
-
Escribiendo al TMR0
z Escribiendo el TMR0, se inhibe el incremento por 2 ciclos de clockincremento por 2 ciclos de clock
CLEAR TMR0CLEAR TMR0Register
WRITE 00001111
TMR0 SOURCE CLOCK
TMR0+1 TMR0+2 READ New TMR0NEWTMR0 TMR0+1 TMR0+2
WRITE 00001111to TMR0
continue 0 0 0 0 0 0 0 011 00 0 0 0 1 1 1 10 0 0 1 0 0 0 00 0 0 1 0 0 0 1TMR0 Register
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 78105 ASP
continue 0 0 0 0 0 0 0 011 00 0 0 0 1 1 1 10 0 0 1 0 0 0 00 0 0 1 0 0 0 1
-
Conversor Analgico Digital (ADC)Digital (ADC)
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 79105 ASP
-
Conversor Analgico a Digital (ADC) Revisin
z Convierte una seal analgica a un valor de 8-bitAl t l l i t ADRES d l ADC Almacena este valor en el registr ADRES del ADC
z ADC controlado por el registro de control ADCON0z Reloj de Conversin configurable (TAD)z Reloj de Conversin configurable (TAD)z Conversiones comparadas contra VDDz 3 canales de entrada analgicos(AN0 AN1 or AN2)z 3 canales de entrada analgicos(AN0, AN1, or AN2)
ADRES VDD
ADC8AN0, AN1or AN2
VSSGP0/AN0/C1IN+
VDDGP5/OSC1/CLKINADC
ADC Conversion
GP1/AN1/C1IN-
GP2/AN2/C1OUT
GP4/OSC2
GP3/MCLR/VPP
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 80105 ASP
Clock
-
Deseando con ADCs
z Proveer los medios para decodificar la salida del trsductor
ADRES1000110000001101
Sensores de Presin Termocuplas
t
8ADC
etc
z Medicin de Tensiones variablesVINz Medicin de Tensiones variablesz Mas conveniente para reconocer
seales de transicin lentas que el
VIN
seales de transicin lentas que el comparador ADRES
10001100100011011000111010001111
time
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 81105 ASP
10001100100011011000111010001111
-
Registro de Control de Conversin del ADC (ADCON0)
ADCON0ANS1 ANS0 ADCS1 ADCS0 CHS1 CHS0 GO/DONE ADON
CHS1 CHS0 ADC Channel0 0 Channel 00 (GP0/AN0)
BIT FUNCTION
0 0 Channel 00 (GP0/AN0)0 1 Channel 01 (GP1/AN1)1 0 Channel 10 (GP2/AN2)
ANS Analog Input Pin Select bitsADCS ADC Conversion Clock Select bitsCHS ADC Channel Select bits
ANS1 ANS0 Pin configured as Analog InputADCS1 ADCS0 C i Cl k R t
1 1 0.6V absolute voltage reference
CHS ADC Channel Select bits
GO/DONE1 = Starts a conversion process. Cleared by hardware when
conversion is complete0 = Manually clearing will terminate a conversion
0 0 None0 1 GP2/AN21 0 GP2/AN2 and GP0/AN0
ADCS1 ADCS0 Conversion Clock Rate0 0 FOSC/320 1 FOSC/160 = Manually clearing will terminate a conversion
ADON1 = ADC Module is ON0 = ADC Module is OFF
1 0 GP2/AN2 and GP0/AN01 1 GP2/AN2, GP1/AN1 and GP0/AN0
0 1 FOSC/161 0 FOSC/81 1 INTOSC/8
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 82105 ASP
-
Registro de Resultado del ADC (ADRES)
z 8-bit value is stored in result register (ADRES)Example:z 8-bit value is stored in result register (ADRES)z Value represents analog signal as it compares to
a reference oltage (V )
Example:
ADRES = 1000 1010 and VDD = 5Va reference voltage (VDD)Analog input voltage is
DDV1
DDV1
DDV1
+ + = 2 5V 0 156V 0 04V+ + = 2 7V
ADRES
DDV2 DDV
32 DDV
128+ + = 2.5V 0.156V 0.04V+ + = 2.7V
DDV21
DDV41
DDV81
DDV161
DDV321
DDV641
DDV1281
DDV2561
ADRES
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 83105 ASP
-
ADC Disgrama en bloques
ConversionANS1 ANS0 ResultConversionClock
0 0 All pins digital0 1 GP2/AN2 is analog
GP0/AN0 pin
CHS1 CHS0 CHANNEL SELECTED
0 0 Channel 00 (GP0/AN0)
FOSC/32FOSC/16FOSC/8INTOSC/8
ADC0 1 GP2/AN2 is analog1 0 GP2/AN2 and
GP0/AN0 are analogGP1/AN1 pin 0 1 Channel 01 (GP1/AN1)
1 0 Channel 02 (GP2/AN2)ADRES
GP0/AN0 are analog1 1 GP2/AN2, GP1/AN1
and GP0/AN0 are all
GP2/AN2 pin1 0 Channel 02 (GP2/AN2)
1 1 0.6V absolute voltage reference
ADCON0CHS
and GP0/AN0 are all analogreference
0 00 11 01 1 0 00 11 01 10 00 11 01 1 01CHS
0.6VREF ADONADC Enable Bit
ANSADC Analog Input Pin Select Bits
CHSADC Channel Select Bits
ADCSADC Conversion Clock Select Bits
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 84105 ASP
1 = ADC modulo en operacin (consuming power)0 = ADC modulo es apagado (not consuming power)
-
Tiempo de adquisicin de la seal
Acquisition TimeAcquisition Time Conversion Time
ADRES VIN
timeVC
8
ADRES
time
Tiempo de adquisicin
8 time
SOURCEp q
determinado porCapacidad del Pin e impedancia
ADC El Tiempo de Adquisicinle permite al capacitor de
RS < 10k
de fuente(se recomienda
-
Tiempo de Conversin
Acquisition Time Acquisition TimeConversion Time
ADRESVIN
timeVC
time8
ADRES
ADC Result13 ADC Conversiontime8 13 ADC ConversionClock cycles (TAD)
ADC time
+VC-
CHOLD 5pF
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 86105 ASP
VSS
-
Conversin Analogica-a-Digital
11 10 1ADCON0
Configure ADCON0Configure ADCON0
ADC Flow11 10 1
ADONGO/DONE
Configure ADCON0ensuring that ADC
is turned on
Configure ADCON0ensuring that ADC
is turned onConversion TimeAcquisition Time
Setear el bit GO/DONEStart ADC conversion by setting the GO/DONE bitStart ADC conversion by setting the GO/DONE bit
para comenzar Borrar manualmente el bit GO/DONE aborta la
GO/DONE = 0?GO/DONE = 0?
NO 13 ADC Clock cycles (TAD)GO/DONE aborta laconversion
GO/DONE = 0?GO/DONE = 0?
YES ADRES
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 87105 ASP
continuecontinue CONVERSION RESULTRESULTADO PARCIAL
-
ADC en Modo SLEEP
z ADC No puede hacer cualquier en el modoz ADC No puede hacer cualquier en el modo SLEEP
z Si una conversin esta en proceso cuando el SLEEPes ejecutado, ADRES contendrael SLEEPes ejecutado, ADRES contendra datos parciales de la conversinL bit ADCS CHS t dz Los bits ADCS y CHS son reseteados a las condiciones por Default
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 88105 ASP
-
Comparador
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 89105 ASP
-
Comparador Revisin
z Compara dos voltajes de entrada de referenciaz Si los dos voltajes difieren, cambia la salida del j ,
comparadorz Configrar usando el registro de control : CM1CON0z El cambio en el comparador es indicado en el bit
CM1CON0
VSSVDD VSS
GP0/AN0/C1IN++GP5/OSC1/CLKINGP1/AN1/C1IN-
GP2/AN2/T0CKI/C1OUT
_GP4/OSC2GP3/MCLR/VPP
C1OUT
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 90105 ASP
GP2/AN2/T0CKI/C1OUTGP3/MCLR/VPP
-
Comparador revisin
Positive Negative
PositiveReferenceVoltage
+reference(C1IN+)
O t t
Reference (C1IN-)(C1IN+)
_NegativeReference(C1IN-)
Output(C1OUT)
OutputOutput(C1OUT)
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 91105 ASP
-
Deseando con comparadores
z Deteccin de alto y bajo voltaje Comparador de ventana
z Contador de Pulsos La salida del comparador puede conectarse al mdulo Timer0 La salida del comparador puede conectarse al mdulo Timer0
z Configurable como un OPAMP en aplicaciones de bajo costocosto requiere componentes externos
*Refer to PICmicro Comparator Tips n Tricks
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 92105 ASP
Refer to PICmicro Comparator Tips n Tricksat www.microchip.com
-
Registro de Control de Comparador (CM1CON0)
C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WUCM1CON0
BIT FUNCTIONC1OUT Comparator Output Bit *READ ONLY
C1OUTEN 1 = C1OUT is read internally only0 = C1OUT value is available on C1OUT pin0 = C1OUT value is available on C1OUT pin
C1POL 0 = comparator output is inverted
C1T0CS 0 = Comparator output used as TMR0 clock sourceC1T0CS 0 = Comparator output used as TMR0 clock source
C1ON 1 = Comparator is ON
C1NREF1 = Comparator Negative reference is the C1IN- pin
C1NREF0 = Negative reference is the 0.6V internal reference
C1PREF1 = Comparator Positive reference is the C1IN+ pin0 = Comparator Positive reference is the C1IN- pin
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 93105 ASP
0 Comparator Positive reference is the C1IN pinC1WUF 1 = Comparator Wake-up on change is disabled
-
Diagrama en Bloques del comparador
Wh iti f ltWh iti f ltComparator output (C1OUT bit)is available internally and on
C1IN+ pinWhen positive reference voltage
is greater than negative reference voltageC1OUT pin voltage = 1
When positive reference voltageis greater than negative reference voltage
C1OUT pin voltage = 0Comparator output (C1OUT bit)
is available internally only
is available internally and on the C1OUT pin
+Data Bus
C1PREF
_C1IN- pinC1OUT pin
C1POL C1OUTEN
0.6VREF C1NREF
CM1CON010 10 10 10 10
Comparator Positive Reference Select BitC1PREF
Comparator Negative Reference Select BitC1NREFC1NREF
Comparator Enable BitC1ONC1POL
Comparator Output Polarity BitC1OUTEN
Comparator Output Enable Bit
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 94105 ASP
1 = C1IN+ pin0 = C1IN- pin
1 = C1IN- pin0 = 0.6V internal reference voltage
1 = Comparator module is ON0 = Comparator module is OFF
1 = Output of Comparator is not inverted0 = Output of Comparator is inverted
1 = Output of Comparator is available internally only0 = Output of Comparator is available internally and on the C1OUT pin
-
Despertar por cambio en el comparador
01 1 0CM1CON0
1
C1WUC1OUTSTATUS
C1ON
1CWUF
READ CM1CON0Input Condition:READ CM1CON0Input Condition Baseline PIC
wakes RESETs
D Q
READ CM1CON0
to Data BusInput Condition:
C1PREF > C1NREF(C1OUT = 1)
READ CM1CON0i.e. movf CM1CON0, W
LASTIssue SLEEP instruction
pchanges:
C1PREF
-
Comparador como clock del TMR0
01CM1CON0
01C1T0CS
+TIMER0 Module
fi d
C1OUT
C1IN++configured as a counter
TMR011 01 11 0 0
C1OUT- C1IN-
TMR0
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 96105 ASP
-
Resumen del Curso
z Principios Bsicos de los PIC Linea Base Arquitecura del Microcontrolador PICArquitecura del Microcontrolador PIC
z Caractersticas especialespz PIC12F510 Perifricos
Puertos Input/Output Puertos Input/Output Timer 0 Conversor ADC ComparadorComparador
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 97105 ASP
-
Fuentes
z Visite www.microchip.com for:p 24/7 soporte tcnico Notas de aplicacin Notas de aplicacin Web Seminars
Codigos ejemplos Codigos ejemplos Datasheets
M h ! y Mucho mas!
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 98105 ASP
-
Gracias!!Traducido por : Andrs Ral Bruno Saravia
RTC Argentina
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 99105 ASP
-
Lab 1Lab 1Creando un proyecto paraCreando un proyecto para dieo con PIC Linea Base
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 100105 ASP
-
Estructura del directorio
Directorio existente creado en la computadorapara esta clase depara esta clase de laboratorio
El archivo Plantilla cargadogen el directorio
Los archivos plantillas para PIC Linea Base se encuentran en:C:\Program files\Microchip\MPASM Suite\Template\Code
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 101105 ASP
g p p
-
Abriendo MPLAB
Desde el MenDesde el Men Project seleccionar:
Project WizardProject WizardProyecto Mgico
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 102105 ASP
-
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 103105 ASP
-
Seleccionar el PIC16F506
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 104105 ASP
-
Seleccionar Microchip MPASM Toolsuite
Entoncces seleccionar lo siguiente
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 105105 ASP
Entoncces seleccionar lo siguiente
-
Pulse el boton Browse(Ojeando)
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 106105 ASP
-
Nombre el Proyecto
Browse al:
C:\RTC\105_ASP\Lab1
Tipee el nombre que usted quiera que tenga el proyectop q q q g p y
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 107105 ASP
-
Verifique el Nombre del Proyecto y la Localizacin
Nombre elegido paraEste Proyecto
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 108105 ASP
-
Adicione el archivo PlantillaBusque el archivoC:\RTC\105_ASP\Lab1\16F506TEMP.ASMentonces pulse ADD >> p
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 109105 ASP
-
Confirme detalles del Proyecto
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 110105 ASP
-
Verifique el builds del Proyecto
Pulse el Icono Build All
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 111105 ASP
-
Build Sucedido !
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 112105 ASP
-
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 113105 ASP
-
Abra Solution Project
C:\RTC\105 ASP\lab1\solution\lab1 Solution mcp
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 114105 ASP
C:\RTC\105_ASP\lab1\solution\lab1_Solution.mcp
-
Build el proyecto
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 115105 ASP
-
Seleccionar el PicKit2 como Programador
Pulsar el icono PROGRAM Lance el Pin MCLR para permitir al PIC
para descargar el programaal PIC16F506
salir del Modo RESET
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 116105 ASP
-
Lab 2: Introduccin alLab 2: Introduccin al Set de instrucciones
usando el MPLAB SIM
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 117105 ASP
-
Lab 3: DireccionamientoLab 3: Direccionamiento de datos y memoria de
programa
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 118105 ASP
-
L b 4Lab 4T b j d t I/OTrabajando con puertos I/O
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 119105 ASP
-
Lab 5: Usando el TMR0 para crear Delayspara crear Delays
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 120105 ASP
-
Lab 6: Trabajando con el ADCADC
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 121105 ASP
-
Lab 7: Despertando porLab 7: Despertando por cambios en el comparador
2007 Microchip Technology Incorporated. All Rights Reserved. Slide 122105 ASP