460 likes | 559 Views
Microprocessador 8051 Aula 01. Prof Afonso Ferreira Miguel. Sistemas Processados. Fundamentos de computação: (cont.) Programa (Software): conjunto de instruções arranjadas de forma organizada que apresenta função específica (Ex: Programas Básicos, Aplicativos, Utilitários, etc.);
E N D
Microprocessador 8051Aula 01 Prof Afonso Ferreira Miguel
Sistemas Processados Fundamentos de computação: (cont.) • Programa (Software): conjunto de instruções arranjadas de forma organizada que apresenta função específica (Ex: Programas Básicos, Aplicativos, Utilitários, etc.); • Firmware: Programa que está armazenado em memória não volátil (ROM); • Hardware: partes eletrônicas de um microcomputador; • Microcontrolador: microcomputador integrado num único chip (microprocessador + periféricos);
Sistemas Processados • Periféricos • Circuitos acessórios ao computador que realizam tarefas específicas; • Exemplos: • Timers; • CCP (Comparação, Captura e PWM); • Conversores Analógico-Digital e Digital-Analógico; • Portas de comunicação (USART, I2C, SPI, USB, CAN,...).
Arquiteturas • von Neumann “Instruções e dados compartilham a mesma unidade física de memória” Hamacher – Computer Organization
Arquiteturas - von Neumann uP BUS AX BX CX DX tempA tempA tempA = 0 tempB Memória A IR= MOV AX,0 Entrada A Entrada A Entrada B Entrada B 0 0 MOV AX,0 MOV AX,0 IP = 0 1 1 MOV BX,1 MOV BX,1 Inst. Saída Z Saída Z 2 2 ADD AX,BX ADD AX,BX MA = 0 3 3 JMP 2 JMP 2 MD=MOV AX,0 4 4 . ... 4 5 ... O Dados 6 4 L ... 4 7 ... A
Arquiteturas • Harvard “Instruções e dados são armazenados em memórias diferentes” Heuring – Computer Systems Disignd and Architecture Vantagem: Instruções e dados podem ser acessados simultaneamente, aumentando o desempenho!
IP CTRL Arquiteturas Memória de Programa • Harvard uP 0 0 MOV AX,0 MOV AX,0 BUS IR= MOV AX,0 1 1 MOV BX,1 MOV BX,1 Inst. IP = 0 2 2 ADD AX,BX ADD AX,BX 3 3 JMP 2 JMP 2 AX tempA tempA tempA = 0 tempB BX Memória de Dados CX Entrada A Entrada A Entrada B Entrada B DX 4 0 . ... Saída Z Saída Z MA = 0 1 4 O ... Dados 4 2 L ... MD=MOV AX,0 4 3 ... A
Instruction Set • Definição: Conjunto de instruções que um processador compreende; • Cada processador possui seu próprio conjunto de instruções, inviabilizando, na maioria dos casos, a portabilidade.
Instruction Set • Ciclo de execução de uma instrução em processadores seqüenciais ... Fetch 0 Fetch 1 Decod 0 Decod 1 Exec 0 Exec 1 Primeira instrução Tempo perdido entre uma instrução e outra
Fetch 0 Fetch 1 Fetch 2 Fetch 3 Dec 0 Dec 1 Dec 2 Dec 3 Exec 0 Exec 1 Exec 2 Exec 3 Instruction Set • Pipeline de Instrução • Ciclo de execução de uma instrução em processadores seqüenciais com Pipeline. ... Na maioria das vezes, uma instrução é executada imediatamente após a outra.
Instruction Set • CISC – Complex Instruction Set Computing • Computação onde o número de instruções é muito grande; • RISC • Computação onde um número reduzido de instruções estão disponíveis.
Instruction Set • Considerações sobre RISC e CISC • Uma única instrução CISC pode equivaler a várias instruções RISC; • Uma instrução CISC precisa realizar passos semelhantes aos realizados pelas RISC equivalentes (não há ganho de desempenho); • CISC minimiza o número de acessos a memória de programa; • RISC simplifica a decodificação de instruções, deixando esta etapa mais rápida.
Instruction Set • Vantagens CISC: • Apesar do conjunto de instruções ser muito grande, oferece um número maior de instruções (“ferramentas”) ao programador Assembly; • Menor quantidade de instruções são necessárias para desenvolver um programa (programas ocupam menos memória).
Instruction Set • Vantagens RISC: • Etapa de decodificação tão simples que pode, em alguns casos, ser eliminada; • Com um número menor de instruções, os parâmetros destas podem ser agregados no opcode (código de máquina de uma instrução), simplificando inclusive o FETCH. • Simplificação dos circuitos eletrônicos.
Quem é melhor? RISC x CISC
Microcontrolador 8051 (MCS-51) • Família INTEL MSC-51 – CISC/von Neumann • Membro original é o 8051; • CPU de 8 bits otimizada para aplicações de controle; • Poderosa capacidade de processamento booleano, incluindo lógica individual de bits; • 64 Kbytes de endereçamento de memória de programa; • 64 Kbytes de endereçamento de memória de dados; • 4 Kbytes de memória de programa interna.
Microcontrolador 8051 (MCS-51) • Família INTEL MSC-51 • 128 bytes de memória RAM de dados interna; • 32 linhas de I/O bidirecionais endereçáveis individualmente; • 2 Timers/Contadores de 16 bits; • 5 entradas de interrupções (3 internas e 2 externas) com 2 níveis de prioridade; • 1 oscilador interno de clock.
Microcontrolador 8051 (MCS-51) • Pinagens
Microcontrolador 8051 (MCS-51) • Organização de Memória
Microcontrolador 8051 (MCS-51) • Memória de programa Externa
Microcontrolador 8051 (MCS-51) • Memória de dados Interna FFh FFh FFh FFh Acessível por endereçamento Acessível por endereçamento Acessível Acessível somente somente por por direto direto ( ( SFRs SFRs : Portes, : Portes, de de Bits Bits endereçamento endereçamento indireto indireto (128 (128 bytes bytes controles dos controles dos , , Timers Timers superiores) superiores) Acumulador, Acumulador, etc etc ) ) 80h 80h 80h 80h 7Fh 7Fh Acessível por endereçamento Acessível por endereçamento direto e indireto (128 direto e indireto (128 bytes bytes inferiores) inferiores) 00h 00h
Microcontrolador 8051 (MCS-51) • 128 bytes inferiores da RAM
Microcontrolador 8051 (MCS-51) • Program Status Word
Microcontrolador 8051 (MCS-51) • Registradores de Funções Especiais (SFRs)
Microcontrolador 8051 (MCS-51) • Regs de Funções Especiais (SFRs)
Microcontrolador 8051 (MCS-51) • Modos de endereçamento • Particular On-chip Resources: This includes the Accumulator (A), the Stack Pointer (SP), the Data Pointer (DP), the Program Counter (PC), and the Carry (C). Other On-chip Registers are Memory-mapped while these have special Op-codes. • Immediate operands: The # sign is the designator. These are 8-bits except for DPTR contents (16-bits). • Register operands: Designated as Rn, where n is 0..7. One of the four Register Banks is used (PSW selected).
Microcontrolador 8051 (MCS-51) • Modos de endereçamento • Direct Operands: From 00 to FF Hex, specifies one of the internal data addresses. • Indirect Address: Designated as @Ri, where i is 0 or 1, uses the contents of R0 or R1 in the selected Register Bank to specify the address. Other form is @A, using Accumulator contents.
Microcontrolador 8051 (MCS-51) • Ferramentas de desenvolvimento IAR
Microcontrolador 8051 (MCS-51) • Portas de IO • Four 8-bit I/O ports; • Most have alternate functions; • Quasi-bidirectional: • Soft pull-up when port latch contains a 1. Can be used as inputs (30kohm average pull-up).
Microcontrolador 8051 (MCS-51) • Porta P0 • As an I/O port: • No strong pull-up, outputs act as open drain. • As a multiplexed data bus: • Tristate bus with strong pull-ups. • 8-bit instruction bus, strobed by PSEN. • Low byte of address bus, strobed by ALE. • 8-bit data bus, strobed by WR and RD. • 3.2 mA outputs (about 8 LS-TTL loads).
Microcontrolador 8051 (MCS-51) • Porta P1 • As an I/O port: • Standard quasi-bidirectional. • Alternate functions: • Only on some derivatives. • 1.6 mA outputs (about 4 LS-TTL loads).
Microcontrolador 8051 (MCS-51) • Porta P2 • As an I/O port: • Standard quasi-bidirectional. • Alternate functions: • High byte of address bus for external program and data memory accesses. • 1.6 mA outputs (about 4 LS-TTL loads).
Microcontrolador 8051 (MCS-51) • Porta P3 • As an I/O port: • Standard quasi-bidirectional. • Alternate functions: • Serial I/O - TXD, RXD • Timer clocks - T0, T1 • Interrupts - INT0, INT1 • Data memory - RD, WR • 1.6 mA outputs (about 4 LSTTL loads).
Microcontrolador 8051 (MCS-51) • Valores após o RESET
Microcontrolador 8051 (MCS-51) • Ligando o 8051 – Circuito de RESET típico
Microcontrolador 8051 (MCS-51) • Ligando o 8051 – Clock