Baixe o app para aproveitar ainda mais
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
Compartilhar