Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MICROCHIP
HISTORIA
1965 GI Microelectronics Division 1970 1975
1989
EPROM EEPROM
Microprocesador 16 Bits Chip para controlar E/S-PIC (peripheral Interface Controller) Empresa se vende y se llama Arizona Microchip Technology. PIC16C5X PIC18CXXX - dsPIC
Duoc UC Sede Valparaso
1993
P.G.F.
FAMILIAS PIC
GAMA BAJA FAMILIA 10FXXX 12C5XX 16C5X 14000 16CXXX INSTRUCCIONES MEMORIA PRINCIPAL 33 / 12 bits 2 KB MEMORIA DATOS 41 BYTES
MEDIA
35 / 14 bits
16 KB
368 BYTES
ALTA
MEJORAD A
17CXX
18CXXX
56 / 16 bits
75 / 16 bits
128 KB
2 MB
904 BYTES
4 KB
CARACTERISTICAS PIC
Arquitectura Harvard Segmentacin Pipeline Formato de Instrucciones igual longitud Procesador RISC
P.G.F.
Q1
periodo
Q2
Q3
Q4
CI = 4*Tosc
Ciclo de instruccin
Q1 = Aumenta contador de programa PC Q2 y Q3 = Ejecucin y Decodificacin de la anterior instruccin Q4 = Busqueda de la siguiente instruccin
P.G.F. Duoc UC Sede Valparaso
1 CICLO 1 CICLO 1 CICLO 1 CICLO Busca 1 Ejecuta 1 Busca 2 NOP B.Salto 1 E.Salto 1 Busca 3
SEGMENTACION - PIPELINE
P.G.F.
PIC16F877
Memoria Programa 8K x 14 Bits Memoria RAM 368 x 8 Bits Puertos A (6),B (8),C (8),D (8) y E (3) Temporizadores : TMR0, TMR1, TMR2 Convertidor Anlogo digital de 8 canales y 10 bits de resolucin Mdulos de captura comparacin PWM : CCP1 y CCP2 Comunicacin
Puerta serie sncrona SSP Interfaz de comunicacin serie SCI
P.G.F. Duoc UC Sede Valparaso
Diagrama de Conexionado
P U E R T O S
BANCO 0
REGISTROS PROPOSITO ESPECIFICO 00-1F REGISTROS PROPOSITO GENERAL 20-7F (96)
BANCO 1
REGISTROS PROPOSITO ESPECIFICO 80-9F REGISTROS PROPOSITO GENERAL A0-FF (80)
BANCO 2
REGISTROS PROPOSITO ESPECIFICO 100-11F REGISTROS PROPOSITO GENERAL 120-17F (80)
BANCO 3
REGISTROS PROPOSITO ESPECIFICO 180-19F REGISTROS PROPOSITO GENERAL 1A0-1FF (80)
8 14 0004
BUS DATOS
VECTOR INTERRUPCION
0005
PAG 0-2K
PAG 1-2K
VDD VSS
ARQUITECTURA BASICA
MCLR OSC1-OSC2
WATCH DOG TIMER POWER UP START UP FALLO DE ALIMENTACION (BOR) PROG BAJO VOLTAJE RESET OSCILADOR
PAG 2-2K
DATO
NIVEL 1
13
NIVEL 8
PILA
13 DIRECCION INSTR
P.G.F.
CPU
Banco de Registros
BANCO 0
00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 10H INDF TMR0 PCL STATUS FSR PORTA PORTB PORTC PORTD PORTE PCLATH INTCON PIR1 PIR2 TMR1L TMRIH T1CON 80H 81H 82H 83H 84H 85H 86H 87H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 90H
BANCO 1
INDF OPTION_REG PCL STATUS FSR TRISA TRISB TRISC TRISD TRISE PCLATH INTCON PIE1 PIE2 PCON
BANCO 2
100H 101H 102H 103H 104H 105H 106H 107H 108H 109H 10AH 10BH 10CH 10DH 10EH 10FH 110H PCLATH INTCON EEDATA EEADR EEDATH EEADRH PORTB INDF TMR0 PCL STATUS FSR
BANCO 3
180H 181H 182H 183H 184H 185H 186H 187H 188H 189H 18AH 18BH 18CH 18DH 18EH 18EH 190H PCLATH INTCON EECON1 EECON2 Reservado Reservado TRISB INDF OPTION_REG PCL STATUS FSR
P.G.F.
BANCO 0
11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH TMR2 T2CON SSPBUF SSPCON CCPR1L CCPR1H CCP1CON RCSTA TXREG RCREG CCPR2L CCPR2H 91H 92H 93H 94H 95H 96H 97H 98H 99H 9AH 9BH
BANCO 1
SSPCON2 PR2 SSPADD SSPSTAT
BANCO 2
111H 112H 113H 114H 115H 116H 117H
BANCO 3
191H 192H 193H 194H 195H 196H 197H 198H 199H 19AH 19BH 19CH
TXSTA SPBRG
9CH
1DH
1EH 1FH 20H : 7FH
CCP2CON
ADRESH ADCON0 Reg. Propstio General 96 Bytes
9DH
9EH 9FH A0H : FFH ADRESL ADRESH Reg. Propstio General 80 Bytes
11DH
11EH 11FH 120H : 17F Reg. Propstio General 80 Bytes
19DH
19EH 19FH 1A0H : 1FFH Reg. Propstio General 80 Bytes
P.G.F.
RFE : registros de funciones especiales o registros de control RPG : registros de propsito general Direccionamiento de datos
Inmediato Directo Indirecto
P.G.F.
Inmediato : dato manipulado por la instruccin se codifica junto con ella. Dato es un Literal, nmero entre 0 y 255 K Directo : nombre del registro se encuentra en la instruccin (7 bits de menos peso del cdigo de operacin). Previamente se debe posicionar el banco (RP1 y RP0 Registro STATUS) F
P.G.F. Duoc UC Sede Valparaso
STATUS
IRP RP1 RP0 TO# PD#
BANCO 0
00H INDF TMR0 80H 81H
Z
BANCO 1
INDF OPTION_REG
DC
BANCO 2
100H 101H INDF TMR0
C
BANCO 3
180H 181H INDF OPTION_REG
01H
02H
03H 04H 05H 06H
PCL
STATUS FSR PORTA PORTB
82H
83H 84H 85H 86H
PCL
STATUS FSR TRISA TRISB
102H
103H 104H 105H 106H
PCL
STATUS FSR
182H
183H 184H 185H
PCL
STATUS FSR
PORTB
186H
TRISB
07H
08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 10H
PORTC
PORTD PORTE PCLATH INTCON PIR1 PIR2 TMR1L TMRIH T1CON
87H
88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 90H
TRISC
TRISD TRISE PCLATH INTCON PIE1 PIE2 PCON
107H
108H 109H 10AH 10BH 10CH 10DH 10EH 10FH 110H PCLATH INTCON EEDATA EEADR EEDATH EEADRH
187H
188H 189H 18AH 18BH 18CH 18DH 18EH 18EH 190H PCLATH INTCON EECON1 EECON2 Reservado Reservado
P.G.F.
13
CODIGO OP INSTRUCCIN 6
REGISTRO STATUS 0 7
RP 1 RP0
BANCO POSICION
BANCO 0 00 00
BANCO 1 01
BANCO 2 10
BANCO 3 11
FF
P.G.F.
Indirecto
INDF : Contenido del registro apuntado por FSR FSR : File Select Register. Direccin Registro
BANCO 0
00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 10H INDF TMR0 PCL STATUS FSR PORTA PORTB PORTC PORTD PORTE PCLATH INTCON PIR1 PIR2 TMR1L TMRIH T1CON 80H 81H 82H 83H 84H 85H 86H 87H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 90H
BANCO 1
INDF OPTION_REG PCL STATUS FSR TRISA TRISB TRISC TRISD TRISE PCLATH INTCON PIE1 PIE2 PCON 100H 101H 102H 103H 104H 105H 106H 107H 108H 109H 10AH 10BH 10CH 10DH 10EH 10FH 110H
BANCO 2
INDF TMR0 PCL STATUS FSR 180H 181H 182H 183H 184H 185H PORTB 186H 187H 188H 189H PCLATH INTCON EEDATA EEADR EEDATH EEADRH 18AH 18BH 18CH 18DH 18EH 18EH 190H
BANCO 3
INDF OPTION_REG PCL STATUS FSR
TRISB
P.G.F.
REGISTRO STATUS
7
IRP
7
BANCO
FF
P.G.F.
P.G.F.
Memoria Programa
Palabra = 14 Bits Contador de Programa = 13 Bits (0000H 1FFFH)
Espacio de Memoria Mxima = 8K *14
P.G.F.
BANCO 0
00H 01H INDF TMR0 PCL STATUS FSR PORTA PORTB PORTC PORTD 80H 81H 82H 83H 84H 85H 86H 87H 88H
BANCO 1
INDF OPTION_REG PCL STATUS FSR TRISA TRISB TRISC TRISD
BANCO 2
100H 101H 102H 103H 104H 105H 106H 107H 108H PORTB INDF TMR0 PCL STATUS FSR
BANCO 3
180H 181H 182H 183H 184H 185H 186H 187H 188H TRISB INDF OPTION_REG PCL STATUS FSR
09H
0AH 0BH 0CH 0DH 0EH 0FH 10H
PORTE
PCLATH INTCON PIR1 PIR2 TMR1L TMRIH T1CON
89H
8AH 8BH 8CH 8DH 8EH 8FH 90H
TRISE
PCLATH INTCON PIE1 PIE2 PCON
109H
10AH 10BH 10CH 10DH 10EH 10FH 110H PCLATH INTCON EEDATA EEADR EEDATH EEADRH
189H
18AH 18BH 18CH 18DH 18EH 18EH 190H PCLATH INTCON EECON1 EECON2 Reservado Reservado
12 11 10 9
CONTADOR DE PROGRAMA - PC
P.G.F. Duoc UC Sede Valparaso
PCLATH
12 11 10 9 8 7 6 5 4
PCL
3 2 1 0
PCLATH BIT 4 0 0 1 1
PCLATH BIT 3 0 1 0 1
PAGINA 0 1 2 3
P.G.F.
PCLATH
12 11 10 9 4
PCLATH BIT 3
0 0 0 0 1 1 1 1
PCL
8 0 7 6 5 4 3 2 1 0
PCLATH BIT 2
0 0 1 1 0 0 1 1
PCLATH BIT 1
0 1 0 1 0 1 0 1
SUB PAGINA
0 1 2 3 4 5 6 7
PAG 0
0000H 0100H 0200H 0300H 0400H 0500H 0600H 0700H
PAG 1
0800H 0900H 0A00H 0B00H 0C00H 0D00H 0E00H 0F00H
PAG 2
1000H 1100H 1200H 1300H 1400H 1500H 1600H 1700H
PAG 3
1800H 1900H 1A00H 1B00H 1C00H 1D00H 1E00H 1F00H
P.G.F.
P.G.F.
Palabra de Configuracin
14 Bits Posicin Reservada de la memoria de programa 2007H
13 CP 1 12 CP 0 11 DEBUG 10 9 WRT 8 CPD 7 LVP 6 BODEN 5 CP 1 4 CP 0 3 PWRTE 2 WDTE 1 FOSC 1 0 FOSC 0
P.G.F.
13 CP 1
12 CP 0
11 DEBUG
10 -
9 WRT
8 CPD
7 LVP
6 BODEN
5 CP 1
4 CP 0
3 PWRTE
2 WDTE
1 FOSC 1
0 FOSC 0
WDTE : Watch Dog Timer . Perro guardin 0 = WDT inhabilitado 1 = WDT habilitado
P.G.F. Duoc UC Sede Valparaso
13 CP 1
12 CP 0
11 DEBUG
10 -
9 WRT
8 CPD
7 LVP
6 BODEN
5 CP 1
4 CP 0
3 PWRTE
2 WDTE
1 FOSC 1
0 FOSC 0
PWRTE : Temporizador Power Up 0 = Habilitado 1 = Inhabilitado BODEN : Fallo de alimentacin 0 = Inhabilitado 1 = Habilitado LVD : Programacin a bajo voltaje 0 = Inhabilitado 1 = Habilitado (RB3/PGM)
P.G.F. Duoc UC Sede Valparaso
13 CP 1
12 CP 0
11 DEBUG
10 -
9 WRT
8 CPD
7 LVP
6 BODEN
5 CP 1
4 CP 0
3 PWRTE
2 WDTE
1 FOSC 1
0 FOSC 0
CPD : Proteccin EEPROM 0 = Habilitado 1 = Inhabilitado WRT : Escritura en la memoria FLASH 0 = No se puede escribir 1 = Escribir en la parte no protegida DEBUG : Modo de depuracin en circuito 0 = Habilitado 1 = Inhabilitado
P.G.F. Duoc UC Sede Valparaso
13 CP 1
12 CP 0
11 DEBUG
10 -
9 WRT
8 CPD
7 LVP
6 BODEN
5 CP 1
4 CP 0
3 PWRTE
2 WDTE
1 FOSC 1
0 FOSC 0
1
1
0
1
P.G.F.
P.G.F.
P.G.F.
RESET
Por conexin de la alimentacin Power On reset Se activa el MCLR# en forma externa Se activa el MCLR# en modo SLEEP Desbordamiento del WDT Desbordamiento del WDT en modo SLEEP Se activa por cada de voltaje (BOR)
P.G.F. Duoc UC Sede Valparaso
BANCO 0
00H 01H 02H 03H 04H 05H 06H 07H 08H INDF TMR0 PCL STATUS FSR PORTA PORTB PORTC PORTD 80H 81H 82H 83H 84H 85H 86H 87H 88H
BANCO 1
INDF OPTION_REG PCL STATUS FSR TRISA TRISB TRISC TRISD 100H 101H 102H 103H 104H 105H 106H 107H 108H
BANCO 2
INDF TMR0 PCL STATUS FSR
BANCO 3
180H 181H 182H 183H 184H 185H INDF OPTION_REG PCL STATUS FSR
PORTB
TRISB
09H
0AH 0BH 0CH 0DH 0EH 0FH 10H
PORTE
PCLATH INTCON PIR1 PIR2 TMR1L TMRIH T1CON
89H
8AH 8BH 8CH 8DH 8EH 8FH 90H
TRISE
PCLATH INTCON PIE1 PIE2 PCON
109H
10AH 10BH 10CH 10DH 10EH 10FH 110H PCLATH INTCON EEDATA EEADR EEDATH EEADRH
189H
18AH 18BH 18CH 18DH 18EH 18EH 190H PCLATH INTCON EECON1 EECON2 Reservado Reservado
IRP
RP1
RP0
TO#
PD#
POR#
DC
BO#
C
PCON
STATUS
P.G.F.
STATUS
Bit 7 IRP Bit 6 RP1 Bit 5 RP0 Bit 4 TO# Bit 3 PD# Bit 2 Z Bit 1 DC Bit 0 C
TO# : Bandera de Timer Out 0 = Desbordamiento del WDT 1 = Cuando se conecta VDD o se ejecuta CLRWDT / SLEEP PD# : Bandera de Power Down 0 = Cuando se ejecuta SLEEP 1 = Cuando se conecta VDD o se ejecuta CLRWDT
P.G.F.
POR# : Bandera de Power On Reset 0 = Se produce un Reset al conectarse la alimentacin 1 = No se produce Reset al conectarse la alimentacin BOR# : Bandera de Brown Out Reset 0 = Se produce Reset por cada de alimentacin 1 = No se produce Reset por cada de alimentacin
P.G.F.
P.G.F.
P.G.F.
SLEEP
Modo de bajo consumo Al ejecutarse SLEEP
WDT = 0 WDT funciona si esta activo
P.G.F.
Interrupcin mdulo captura Interrupcin por lectura/escritura del puerto paralelo Interrupcin por mdulo de comunicacin SSP Interrupcin por transmisin/recepcin del mdulo de comunicacin MSSP en modo esclavo. SPI o I2C Interrupcin por transmisin/recepcin del mdulo de comunicacin USART
P.G.F. Duoc UC Sede Valparaso
P.G.F.