Buscar

4. uControlador_8051_e_PIC

Prévia do material em texto

Prof. Rômulo Nunes
MICROS
● Unidade Central de Processamento – CPU
– Para os uProcessadores o “chip” continha a unidade central de processamento formada por 
módulos básicos:
● ULA
● Decodificador de instruções
● Registradores (de uso especifico de uso geral)
Prof. Rômulo Nunes
MICROS
● uControladores
– Para os uControladores tem-se como característica principal a inclusão de todos dispositivos 
para o funcionamento do sistema estão encapsulados em um único chip
● CPU → Decodificador de instruções; Registradores; ULA
● Memória e seus Barramentos
● Dispositivos I/O, etc...
Prof. Rômulo Nunes
MICROS
● uControladores
Prof. Rômulo Nunes
MICROS
● uControladores
Prof. Rômulo Nunes
MICROS
● ucontroladores
– Ao contrário da linha de microprocessadores a Intel lançou “apenas” 2 famílias de 
microcontroladores: 
● MCS-48 (meados da década de 70) 
● MCS-51: encontrado até hoje em aplicações específicas. (8051)
Prof. Rômulo Nunes
MICROS
● ucontroladores: 8051
– Os principais recursos dos microcontroladores MCS-51: 
– Memória de Programa de 4 kbytes: ROM (8051), OTP (8751), FLASH / EEPROM (89Sxx), 
ROMLESS (8031) com expansão até 64K. 
– 256 bytes de RAM (registradores) com expansão até 512 bytes 
– 4 ports (latchs bidirecionais programáveis) com 8 bits. Existem versões de 2 ports até 6 ports. 
– 2 temporizadores ("timers") de 16 bits. Expansão até 3 timers 
– 1 unidade serial assíncrona (UART) "full-duplex". 
– 5 interrupções (2 externas, 2 "timers" e 1 "UART"). 
– Oscilador interno para geração de temporização. 
– Acesso a até 64 Kbytes de RAM externa (dados) e 64 Kbytes de EPROM (programa) externa 
através do controle de 2 sinais de leitura (PSEN -> área de programa - RD -> área de dados). 
● arquitetura HARVARD.
– 256 instruções otimizadas para controle.
Prof. Rômulo Nunes
MICROS
● ucontroladores: 8051
– U.L.A.: unidade lógia aritmética de 8 bits, responsável pela execução das 4 operações 
aritméticas básicas e das operações lógicas tradicionais (AND, OR, OR EXCLUSIVE, 
INVERSÃO e SHIFT). 
– Acumulador: registrador de 8 bits mais utilizado pelo microcontrolador. Normalmente 
utilizado para colocar resultados da U.L.A. ou fatores utilizados nas operações lógico / 
aritméticas. No caso das operações de multiplicação, o registrador B também é utilizado para 
colocação dos resultados, pois o resultado é apresentado em 16 bits. 
– Flag PSW:registrador sinalizador das operações aritméticas da U.L.A., configurador dos 
registradores R0-R7 e para uso geral. Carry, paridades seleção de bancos, etc..
– Contador de Programa (PC): registrador de 16 bits que guarda o endereço da próxima 
instrução. Quando o 8051 é resetado, este registrador é zerado, fazendo o 8051 buscar a 
primeira instrução da memória.
– Apontador de Pilha (SP): registrador de 8 bits indicador do endereço inicial da pilha do 8051. 
A pilha necessariamente tem que estar localizada entre os endereços 30H e 7FH da área RAM 
interna do microcontrolador. O tamanho da pilha deve ser suficiente para permitir os diversos 
acessos de sub-rotinas do programa (considerando os armazenamento dos endereços do PC e 
dos parâmetros da instrução PUSH). 
Prof. Rômulo Nunes
MICROS
● ucontroladores: 8051
– Ponteiro de Memória Externo (DPTR): registrador de 16 bits utilizado para armazenar 
endereços de memória externa. 
– Registrador B: registrador auxiliar nas operações de multiplicação e divisão. 
– Decodificador e Registrador de Instruções / Controle e Temporização: sistema responsável 
pelo armazenamento, decodificação e execução dos códigos de operação (bytes) das 256 
instruções do 8051. Controla os sinais externos de controle (reset, ALE, configuração da 
memória interna de programa e sinal de leitura da memória externa). 
– Timers: o 8051 possui 2 sistemas de temporização de 16 bits. 
– Unidade Serial: sistema para comunicação serial assíncrona full-duplex.
Prof. Rômulo Nunes
MICROS
● ucontroladores: 8051
– Memória de Dados (SFR) e de Programa: o 8051 possui um estrutura de acesso ao sistema de 
memória conhecida como HARVARD, onde o acesso a memória de programa é diferenciado do 
acesso a memória de dados (através de sinais de leitura distintos). Desta forma, o 
microcontrolador não permite que um determinado programa fique localizado na área de dados 
ou vice-versa. A grande vantagem deste sistema é a otimização do sistema no acesso as 
instruções do programa e aos dados. O programa dos sistemas com microcontroladores 
normalmente são dedicados (FIRMWARE). Observe que este modo de acesso a memória é 
diferente dos microcomputadores padrão IBM-PC, onde normalmente os programas localizam-
se na área de dados (daí o fato de cada vez mais ser importante uma grande área de memória 
RAM dentro dos computadores). 
● Memória de Dados (SRF): o 8051 possuir 256 bytes de memória de dados interna e permite 
o acesso de mais 64 Kbytes de memória de dados externa (unicamente através das 
instruções MOVX). Na maioria das vezes a memória interna de dados é suficiente, pois as 
aplicações de controle normalmente não exigem muita quantidade de memória volátil (já 
que os programas não são armazenados na área de RAM). 
Prof. Rômulo Nunes
MICROS
● ucontroladores: 8051
– Memória de Dados (SRF): o 8051 possuir 256 bytes de memória de dados interna e permite o 
acesso de mais 64 Kbytes de memória de dados externa (unicamente através das instruções 
MOVX). Na maioria das vezes a memória interna de dados é suficiente, pois as aplicações de 
controle normalmente não exigem muita quantidade de memória volátil (já que os programas 
não são armazenados na área de RAM). 
– A memória RAM interna é divida em 4 áreas: 
● Área de Registradores R0-R7 (00-1FH): o 8051 possui 4 bancos de registradores 
selecionados através dos bits RS1 e RS0 do registrador PSW. Normalmente estes 
registradores armazenam endereços da área de rascunho (modo de endereçamento indireto). 
● Área Booleana (binária) (20H-2FH): 16 bytes endereçados bit a bit (totalizando 128 bits). 
Pode-se acessar cada bit individualmente indicando uma determinada condição binária (por 
exemplo: a tecla A de um teclado foi acionada). Estes bits são acessados pelas instruções 
booleanas do 8051. 
● Área de Rascunho (30H-7FH): memória de uso geral onde se localiza a pilha do sistema. 
● Área de Registradores Especiais (SFR) (80H-FFH): área onde se localiza todos os 
registradores com função especial. O número destes registradores varia de acordo com as 
funções disponíveis dentro do processador.
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC
– Baseado na estrutura de uControladores realize um levantamento das opções de 
microcontroladores da família PIC (Microchip)
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
–
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Membros
● PIC16F873
● PIC16F874
● PIC16F876
● PIC16F877
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Características
● High performance RISC CPU; Only 35 single word instructions to learn
● All single cycle instructions except for program branches which are two cycle
● Operating speed: DC - 20 MHz clock input; DC - 200 ns instruction cycle
● Up to 8K x 14 words of FLASH Program Memory, 
● Up to 368 x 8 bytes of Data Memory (RAM)
● Up to 256 x 8 bytes of EEPROM Data Memory
● Pinout compatible to the PIC16C73B/74B/76/77
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Características
● Interrupt capability (up to 14 sources)
● Eight level deep hardware stack
● Direct, indirect and relative addressing modes
● Power-on Reset (POR)
● Power-up Timer (PWRT) and
● Oscillator Start-up Timer (OST) 
● Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation
● Programmable code protection● Power saving SLEEP mode
● Selectable oscillator options
● Low power, high speed CMOS FLASH/EEPROM technology
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Características
● Processor read/write access to program memory
● Wide operating voltage range: 2.0V to 5.5V
● High Sink/Source Current: 25 mA
● Commercial, Industrial and Extended temperature ranges
● Low-power consumption: 
 < 0.6 mA typical @ 3V, 4 MHz
-20 µA typical @ 3V, 32 kHz
-< 1 µA typical standby current
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Periféricos
● Timer0: 8-bit timer/counter with 8-bit prescaler
● Timer1: 16-bit timer/counter with prescaler,can be incremented during SLEEP via external 
● crystal/clock
● Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler 
● Two Capture, Compare, PWM modules
● 10-bit multi-channel Analog-to-Digital converter
● Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave)
● Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit 
address detection
● Parallel Slave Port (PSP) 8-bits wide, with external RD, WRand CScontrols (40/44-pin 
only)
● Brown-out detection circuitry for Brown-out Reset (BOR)
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Periféricos
●
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Diagrama de blocos:
...873 e ...876
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Diagrama de blocos:
...874 e 877
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Organização de memória
● 3 blocos de memória em cada PIC16F87X MCUs. 
– Program Memory e Data possuem barramentos independentes de forma que acessos 
concorrentes podem ser implementados
– Extensão de dados a partir de periférico de memoria EEPROM
– Contador de programa de 13 bits (capaz de endereçar até quanto de memória?)
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Organização de memória
● 3 blocos de memória em cada PIC16F87X MCUs. 
– Program Memory e Data possuem barramentos independentes de forma que acessos 
concorrentes podem ser implementados
– Extensão de dados a partir de periférico de memoria EEPROM
– Contador de programa de 13 bits, capaz de endereçar uma memoria Flash de programa 
de até 8K x 14 words;
● PIC16F877/876 → 8K x 14
● PIC16F874/873 → 4K x 14
– Endereço de RESET em 0000h
– Vetor de interrupção em 0004h
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Organização de memória
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Memória de programa e pilha
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Memória de dados
● Particionada em múltiplos bancos os quais contêm os registradores de uso geral e SFR 
(Special Function Registers)
● Cada banco se estende por 128 bytes (Endereços inicial e final de cada banco?)
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Memória de dados
● Particionada em múltiplos bancos os quais contêm os registradores de uso geral e SFR 
(Special Function Registers)
● Cada banco se estende por 128 bytes
● Onde a seleção dos bancos é realizada através dos bits RP1 e RP0 do registrador STATUS
Prof. Rômulo Nunes
MICROS
● ucontroladores: PIC16F87X
– Memória de dados
●
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27

Continue navegando