Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 1º semestre 2018 – pg. 1 Universidade Paulista – UNIP Engenharia Elétrica 02 – Arquitetura Básica 8051 Microprocessadores e Microcontroladores Prof. Me. José Ricardo G. Pinheiro jrgpinheiro@feb.unesp.br Microprocessadores e Microcontroladores pg. 2UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Microprocessador x Microcontrolador CPU I/O Timer RAM ROM Porta Serial Microcontrolador RAM ROM PORTAde I/O TIMER PORTA SERIAL CPU Micropro cessador uso geral Barramento de Dados Barramento de Endereços Microprocessador 2 Microprocessadores e Microcontroladores pg. 3UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Escolhendo um µµµµ-controlador • Características do µ-controlador • Velocidade de processamento • Dimensão • Consumo de energia • Memórias: RAM, ROM • Pinos de I/O • AD´s, Timers • Upgrade para melhorar desempenho ou para versões de baixo consumo • Custo, etc. • Ferramentas de Desenvolvimento de Software • Assembler • Debugger • Compiladores – C, Basic, Ladder • Emulador • Suporte técnico • Disponibilidade & Fonte Microprocessadores e Microcontroladores pg. 4UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Empresas que estão produzindo o 8051 Empresa Site na Internet Intel www.intel.com/design/mcs51 Atmel www.atmel.com Philips/Signetics www.semiconductors.philips.com Siemens www.sci.siemens.com Dallas Semiconductor www.dalsemi.com 3 Microprocessadores e Microcontroladores pg. 5UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru O 8051 por dentro AT89C51 da Atmel Microprocessadores e Microcontroladores pg. 6UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru O 8051 por fora – encapsulamento DIP40 • DIP40: plastic dual in-line package; 40 leads 4 Microprocessadores e Microcontroladores pg. 7UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru O 8051 por fora – encapsulamento PLCC44 • PLCC44: plastic leaded chip carrier; 44 leads Microprocessadores e Microcontroladores pg. 8UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Descrição da Pinagem Vcc (40) → Alimentação de +5 V Vss (20) → Terra P0 (32-39) → Porta 0 (AD0...AD7). Além de porta paralela, está multiplexada com o bus de dados e o byte menos significativo (LSB) do bus de endereços. P2 (21-28) → Porta 2 (A8...A15). Além de porta paralela, está multiplexada com o byte mais significativo (MSB) do bus de endereços. P1 (1-8) → Porta 1. P3 (10-17) → Porta 3. Compartilhada com uma série de recursos P3.0 → RXD, entrada serial P3.1 → TXD, saída serial P3.2 → *INT0, interrupção externa 0 P3.3 → *INT1, interrupção externa 1 P3.4 → T0, entrada para o timer 0 (contador neste caso) P3.5 → T1, entrada para o timer 1 (contador neste caso) P3.6 → *WR, escrita na memória de dados externa P3.7 → *RD, leitura na memória de dados externa 5 Microprocessadores e Microcontroladores pg. 9UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Descrição da Pinagem RST (9) → Reset. Com o oscilador funcionando, deve ser mantido um nível alto durante 24 períodos de clock ou 2 ciclos de máquina. ALE/PROG (30) → Address Latch Enable. Pulso para acionar o latch que captura o LSB do endereço (com sua borda ascendente). Também é usada na gravação da ROM interna. *PSEN (29) → Program Store Enable. Pulso de leitura para a Memória de Programa Externa. Quando o programa está sendo executado na memória de programa externa ele aparece como 1/6 da frequência de clock. *EA/VPP (31) → External Access Enable. Informa à CPU se o programa está na Memória de Programa Externa ou na ROM Interna. Também usado para gravação da ROM Interna. *EA = 1 (Vcc) → (0000H - 0FFFH) ROM Interna → (1000H - FFFFH) Memória de Programa Externa *EA = 0 (Vss) → (0000H - FFFFH) Memória de Programa Externa XTAL1 (19) → Entrada do amplificador inversor do oscilador interno. XTAL2 (20) → Saída do amplificador inversor do oscilador interno. Microprocessadores e Microcontroladores pg. 10 Família 8051 • Comparação entre os membros da Família do 8051 Recursos 8051 8052 8031 ROM (memória de programa interna, em bytes) 4K 8k 0k RAM (bytes) 128 256 128 Timers 2 3 2 Pinos de I/O 32 32 32 Porta Seriais (UART/USART) 1 1 1 Fontes de Interrupção 6 8 6 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 6 Microprocessadores e Microcontroladores pg. 11 Vários microcontroladores 8051 • Microcontrolador 8751 • UV-EPROM • AT89C51/2/3 da Atmel Corporation (Microchip) • Flash (erase/write) • Os anões da Atmel Corporation • AT89C1051 (CHIP - 18 pinos) • AT89C2051 (CHIP - 20 pinos) • DS5000 da Dallas Semiconductor • NV-RAM (changed one byte at a time), RTC (real-time clock) • OTP (one-time-programmable) versão do 8051 • Família 8051 da NXP (Philips) • A/D, D/A, I/O estendido, OTP e flash UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Microprocessadores e Microcontroladores pg. 12UNIP - Campus Bauru - Engenharia Elétrica Vários microcontroladores de arquitetura 8051 µC UV-EPROM 8751 AT89C2051 e alguns de seus encapsulamentos (SOIC, PLCC e DIP) µC piggyback 87P50 7 Microprocessadores e Microcontroladores pg. 13 Clock UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Microprocessadores e Microcontroladores pg. 14 Reset C3 10 uF 9 RST VCC VCC R1 100R R2 8K2 CONDIÇÕES DE RESET REG VALOR PC 0000H ACC 00H B 00H PSW 00H SP 0007H DPTR 0000H Circuito de (Auto) Reset UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 8 Microprocessadores e Microcontroladores pg. 15 Pinos para ROM/RAM Externos ALE 31 P0.0-P0.7 AD0-AD7 P2.0-P2.7 A8-A15 17 29 16 30 39-32 RD WR PSEN EA 21-28 P3.7 P3.6 8051/8031 VCC/GND UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Microprocessadores e Microcontroladores pg. 16 Pinos para ROM/RAM Externos D Q G OEPSEN P2.0-P2.7 ALE P0.0-P0.7 D0-D7 A0-A7 A8-A15 8051 EPROM EA 74LS373 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 9 Microprocessadores e Microcontroladores pg. 17 RAM Externa D Q G WWR P2.0 (A8) ALE P0 D0-D7 A0-A7 A9 8051 RAM 1K EA 74LS3373 P2.1 (A9) RD OE CS A8 “1” UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Microprocessadores e Microcontroladores pg. 18 • Porta P1 • Possui exclusivamente a função de porta de entrada ou saída (I/O). Configuração dos pinos das Portas UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 10 Microprocessadores e Microcontroladores pg. 19 • Porta P3 • Além da função de porta de entrada e saída, têm-se ainda as diversas funções alternativas: *RD, *WR, T0, T1, TXD, RXD, *INT0, *INT1. Configuração dos pinos das Portas UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Microprocessadores e Microcontroladores pg. 20 • Porta P2 • Além da função de porta de entrada e saída, também fornece o byte mais significativo dos endereços. Configuração dos pinos das Portas UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 11 Microprocessadores e Microcontroladores pg. 21 • Porta P0 • Esta porta é a mais complexa pois atende a três funções: • bus de dados da CPU • byte menos significativo dos endereços • porta paralela (bidirecional verdadeira) Configuração dos pinos das Portas UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Microprocessadores e Microcontroladores pg. 22Port 0: I/O, Coletor Aberto Esta porta inicialmente é configurada como porta de saída Para operação como porta de saída necessita de resistores de PULL-UP P0.0-P0.7 AD0-AD7 39-32 8051/8031 Vcc Vcc Vcc Vcc Vcc Vcc Vcc Vcc D0 D1 D2 D3 D4 D5 D6 D7 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 12 Microprocessadores e Microcontroladores pg. 23 Um exemplo de operação com portas EXEMPLO 2.1 Escrever um programa que faça o seguinte: a) Fica monitorando o estado do pino P1.2 b) Quando vai para nível alto, escreve 45H na P0 c) Envia uma transição de alto-para-baixo em P2.3 SOLUÇÃO: SETB P1.2 ; faz P1.2 operar como entrada MOV A,#45H ; A=45H AGAIN: JNB P1.2,AGAIN ; verifica estado de P1.2 MOV P0,A ; escreve A em P0 SETB P2.3 ; P2.3=HIGH CLR P2.3 ; P2.3=LOW JMP $ ; fica em loop UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru
Compartilhar