Documentos de Académico
Documentos de Profesional
Documentos de Cultura
es
M.C. Gabriel Casarrubias Guerrero
Descripción del microcontrolador
Solo 49 instrucciones
Todas se ejecutan en un ciclo de instrucción excepto los saltos a funciones.
Velocidad de operación:
Entrada de reloj/Oscilador hasta 32 MHz
Ciclo de instrucción de 125 ns
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 2
2.1 Componentes del microcontrolador
Oscilador interno de precisión de 32MHz a 31KHz seleccionable
Modo sleep ahorrador de energía.
Power on reset (POR)
Power up timer (PWRT)
Timer de puesta en marcha del oscilador (OST)
Brown out reset (BOR)
Master clear
Protección de código programable
Célula de alta resistencia Flash/Data EEPROM
o 100,000 escrituras Flash
o 1,000,000 escrituras data EEPROM
o Retención mayor de 40 años
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 3
Bloques del microcontrolador
MEMORIA DEL PROGRAMA Oscilador MEMORIA DE DATOS
PIC16 Núcleo Volátil
No volátil Working (SRAM)
(Flash) Contiene los
Contiene las STATUS datos para el
instrucciones del control de las
programa que le dicen al instrucciones
OPTION
CPU que hacer
ALU
CPU
El cerebro
Ejecuta todas las
instrucciones,
lógica y procesamiento
matemático
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 4
Bloques del microcontrolador
Memoria del programa Oscilador
MEMORIA DE
PIC16 Núcleo DATOS
Working
I/O PORTS
STATUS
ALU TIMERS
CPU EEPROM
Peripherals Hang
Off the Data Bus
Cap/ Com/ PWM
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 5
MEMORIA DE PROGRAMA FLASH
MEMORIA DEL PROGRAMA
Página 3 MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 6
Memoria Flash del Programa
¿Por qué necesitamos paginar la memoria del programa?
MEMORIA DEL PROGRAMA
0000h
17FFh Page 2
1800h
211 = 2048 direcciones
1FFFh Page 3
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 7
Memoria de datos SRAM
MEMORIA DE DATOS
2 grupos de registros:
o Special Function Registers (SFR)
Controlar CPU y funciones de los periféricos
o General Purpose Registers (GPR)
Guarda las variables definidas por el usuario GPR
Bank 0
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 8
Bancos de la memoria de datos
¿Por qué necesitamos los bancos de la memoria?
MEMORIA DE DATOS
Con instrucciones de 14 bits, solo 7 bits pueden ser
000h
SFR usados para especificar la Dirección en un ciclo
27 = 128 addresses
07Fh
Bank 0
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 9
Seleccionando el banco active de la
memoria de datos.
Bank Select Register (BSR)
bit 7 bit 0
BSR4
BSR4 BSR3
BSR3 BSR2
BSR2 BSR1
BSR1 BSR0
BSR0
00000 = Bank 0
00001 = Bank 1
00010 = Bank 2
…….
Selecciona el banco antes 11111 = Bank 31
de accede a los registros
del mismo
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 10
SFR memoria de datos
Registros de función especial
Bank 0 Bank 1 Bank 2
000 INDF0
INDF0 080 INDF0
INDF0 100 INDF0
INDF0 180 INDF0
INDF0
001 INDF1
INDF1 081 INDF1
INDF1 101 INDF1
INDF1 181 INDF1
INDF1
002 PCL
PCL 082 PCL
PCL 102 PCL
PCL 182 PCL
PCL
003 STATUS
STATUS 083 STATUS
STATUS 103 STATUS
STATUS 183 STATUS
STATUS
004 FSR0L
FSR0L 084 FSR0L
FSR0L 104 FSR0L
FSR0L 184 FSR0L
FSR0L
005 FSR0H
FSR0H 085 FSR0H
FSR0H 105 FSR0H
FSR0H 185 FSR0H
FSR0H
006 FSR1L
FSR1L 086 FSR1L
FSR1L 106 FSR1L
FSR1L 186 FSR1L
FSR1L
007 FSR1H
FSR1H 087 FSR1H
FSR1H 107 FSR1H
FSR1H 187 FSR1H
FSR1H
008 BSR
BSR 088 BSR
BSR 108 BSR
BSR 188 BSR
BSR
009 WREG
WREG 089 WREG
WREG 109 WREG
WREG 189 WREG
WREG
00A PCLATH
PCLATH 08A PCLATH
PCLATH 10A PCLATH
PCLATH 18A PCLATH
PCLATH
00B INTCON
INTCON 08B INTCON
INTCON 10B INTCON
INTCON 18B INTCON
INTCON
00C PORTA
PORTA 08C ADRESL
ADRESL 10C ADCNT
ADCNT 18C SSP1BUF
SSP1BUF
00D PORTB
PORTB 08D ADRESH
ADRESH 10D ADRPT
ADRPT 18D SSP1ADD
SSP1ADD
Byte
Byte Oriented
Oriented Operations
Operations
addwfc
addwfc f,d
f,d Add
Add with
with Carry
Carry W W and
and ff
asrf
asrf f,d
f,d Arithmetic
Arithmetic Right
Right Shift
Shift
lslf
lslf f,d
f,d Logical
Logical Left
Left Shift
Shift
lsrf
lsrf f,d
f,d Logical
Logical Right
Right Shift
Shift
subwfb
subwfb f,d
f,d Subtract
Subtract with
with Borrow
Borrow W W from
from ff
Literal
Literal and
and Control
Control Operations
Operations
movlp
movlp kk Move
Move Literal
Literal to
to PCLATH
PCLATH
movlp
movlp kk Move
Move Literal
Literal to
to BSR
BSR
bra
bra kk Branch
Branch Relative
Relative (signed)
(signed)
brw
brw -- Branch
Branch PCPC ++ W W (unsigned)
(unsigned)
callw
callw -- Call
Call PCLATH:W
PCLATH:W
addfsr
addfsr n,k Add
n,k kk Literal
Add Literal to
to FSRn
FSRn (signed)
(signed)
moviw
moviw n,mm Move
n,mm Move Indirect
Indirect toto W
W
movwi
movwi n,mm Move
n,mm Move W W to
to Indirect
Indirect
reset
reset -- Reset
Reset Hardware
Hardware & & Software
Software
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 13
Guardado de contexto rápido
• Interrupciones guardan automáticamente el contexto
• W
• STATUS
• BSR
• FSRs
• PCLATH
MTF-1021
© 2017 Mecatronica
MICROCONTROLADORES
Tec All Rights reserved
2018 14