Família do Microcontrolador 8051 (MCS-51) Millena Almeida ( [email protected] ) Williams Azevedo ( [email protected] ) Roteiro MCS-51 Características Arquitetura básica da família 8051 Membros da família Ambiente de desenvolvimento MCS - 51 Microcontrolador CISC de 8 bits lançado pela Intel em 1977 Microcontrolador mais popular do mundo Família com 1110 integrantes Mais de dois mil fabricantes Características de Hardware Sofisticadas Uso Controle Industrial Periféricos Inteligentes MCS - 51 Facilidade de programação Baixo custo Poderoso conjunto de instruções assembly Alto nível de integração do sistema em um único componente Compatibilidade As opções e código binário são os mesmos para todas as variações do 8051, diferente de outras famílias de microcontroladores Principais Características Variações Conversor A/D E/S Estendidas Funções Especiais Baixa Voltagem Núcleo 8051 Clock de até 40MHz EPROM ou EEPROM Memória 1k – 2k Barramento Serial Variações Existem versões que incorporam funções diversas como: portas seriais [USART] portas seriais de alta velocidade [SPI] memória [flash] interna de 8 a 64Kbytesmemoria interna regravavel em sistema [ISP] sistemas de alta velocidade (x2 e 1-Clock Cycle) chip interno para a reprodução de sons em formato MP3 (Vide: [Atmel] [8952SND1A]) Principais Fabricantes Fabricante Microcontrolador Relógio RAM ROM Serial Timer AD Intel 87C51-24 24 MHz 256 4K 1 2 não Philips P80C31 12 MHz 128 B não 1 3 não Philips P87C51 12 MHz 128 4 KB 1 3 não Philips P87C51MB2 24 MHz 2 KB 4 KB 1 4 não Philips P80C552 24 MHz 256 não 2 3 8/10 bits Atmel AT87F51 24 MHz 128 4 KB 1 2 não Atmel AT87F51RC 24 MHz 512 32 KB 1 3 não Atmel AT89C5115 40 MHz 512 18 KB 1 3 8/10 bits Dallas DS87C550 33 MHz 1 KB 8 KB 2 3 8/10 bits Arquitetura Família MCS-51 A família 8051 possui 1110 componentes, dos quais se destacam: 8051 8052 8031 8751 80550 ... Família MCS-51 8052 Duplo Ponteiro de Dados ALU RAM de 256 bytes ROM de 8k 14 pinos de interrupção com 4 níveis de prioridade 3 timers/contadores de 16 bits Flash ( 32 k) EEPROM (2K) T89C51AC2 (Atmel) 8052 – Principais Aplicações Coleção de dados Máquina de controle Equipamentos de Testes Links para comunicação e controle (com ou sem fio) 8031 Usa 3 das 4 portas paralelas para endereçamento convencional Barramento de Dados com linhas apropriadas de controle Uso de memória externa Não possui programa armazenado no chip Há necessidade de circuitos ou chips auxiliares Destinado a aplicações expandidas 80C31 Versão CMOS de baixa potência do 8031 2 pinos externos de interupções Porta Serial 32 pinos de IO Não possui ROM AD e DA Aplicação: LCD 8751 4 bytes de EEPROM 4 portas de IO bidirecional de 8bits Porta serial Pode ser utilizado em bancadas de projetos Muito utilizado para produtos com volume pequeno 80550 EPROM Conversor A/D de 8 canais Diferenças Diferenças CAPACIDADE DE MEMÓRIA INTERNA COMPONENTE TECNOLOGIA DE PROGRAMA DE DADOS 8051 HMOS 4K - ROM 128 bytes 8031 HMOS - 128 bytes 8751H HMOS I 4K - EPROM 128 bytes 80C51 CHMOS 4K - ROM 128 bytes 80C31 CHMOS - 128 bytes 8052 HMOS 8K - ROM 256 bytes 8032 HMOS - 256 bytes Microcontroladores derivados do 8051 SAB 80C515/80C515-16: microprocessador CMOS com ROM programada por máscara. SAB 80C535/80C535-16: É um microprocessador CMOS para ROM externa. Possui melhores características de aritmética binária e BCD e possui uma excelente capacidade de tratamento de bits solitários. Ambientes de desenvolvimento para o 8051 Ambientes de desenvolvimento µVision3 - Keil RIDE - Raisonance Crossware - Silicon Laboratories SDCC - Freeware Análise entre Ambientes A análise dos ambientes de desenvolvimento será feita com base nos seguintes tópicos Vantagens/Desvantagens Custo MCUs Suportados SOs suportados µVision3 - Keil µVision3 - Keil µVision3 - Keil Vantagens We concentrate on just a few chip families that we can support very well. That's why most of our customers will agree that we have the best development tools for ARM, XC16x/C16x/ST10, 251, and 8051 microcontroller families µVision3 - Keil Gerenciamento de Projetos Realizado de forma fácil e consistente Um simples arquivo de projeto armazena informações de configurações do compilador, assembler, linker, Debugger, Flash Loader, dentre outras utilidades. µVision3 - Keil µVision3 - Keil Edição de Código Fonte Características padrões e avançadas Busca incremental Checkagem ativa de parênteses Esboço do documento µVision3 - Keil Utilidades do Editor (Source Browser) µVision3 - Keil Sistemas de Controle de Versão Uma interface configurável permite a comunicação com qualquer sistema de controle de versão µVision3 - Keil Debugger µVision3 - Keil µVision3 - Keil Debugger Watch e Memory Window Permite ao usuário visualizar valores de varáveis e a memória µVision3 - Keil CPU e Simulação de Periféricos A simulação permite teste do software no próprio desktop sem algum ambiente de hardware Permite Breakpoint que é impossível com debugadores de hardware µVision3 - Keil Target Debugging Permite conexão entre microcontrolador e PC para programação rápida e depuração µVision3 - Keil MCUs suportados Intel (8051 Family) 80/87C52, 80/87C54, 80/87C58, 80/87L52, 80/87L54, 80/87L58, 8031AH, 8032AH, 8051AH, 8052AH, 80C152JA, 80C152JB, 80C152JC, 80C152JD, 80C31BH, 80C32, 80C51BH, 80C51FA, 80C51GB, 80C51SL, 80L51FA, 81/83/87C51SL, 83/87C51FA, 83/87C51FB, 83/87C51FC, 83/87C51GB, 83/87C51RA, 83/87C51RB, 83/87C51RC, 83/87L51FA, 83/87L51FB, 83/87L51FC, 83C152JA, 83C152JC, 87C51, 8xC151SA, 8xC151SB Para uma lista completa de todos os dispositivos http://www.keil.com/c51/chips.asp µVision3 - Keil Real Time OS RTX51 - Permite o desenvolvimento de software de Tempo Real SDCC - Small Device C Compiler O que é? SDCC is a Freeware, retargettable, optimizing ANSI - C compiler Targets (MCUs) Intel 8051 Maxim 80DS390 Zilog Z80 Motorola 68HC08 SDCC - Small Device C Compiler Vantages Otimizações: global sub expression elimination loop optimizations constant folding and propagation copy propagation dead code elimination jump tables for 'switch' statements SDCC - Small Device C Compiler Vantagens Grande faixa de tipos de dados char (8 bits, 1 byte) short (16 bits, 2 bytes) int (16 bits, 2 bytes) long (32 bit, 4 bytes) float (4 byte IEEE). Habilidade de adicionar código assembler em qualquer local de uma função Testes de Regressão automáticos SDCC - Small Device C Compiler Desvantagens É apenas um compilador Não dá um suporte a projetos de grande porte SDCC - Small Device C Compiler Custo Freeware Open-source SDCC - Small Device C Compiler MCUs suportados Intel 8051 Maxim 80DS390 Zilog Z80 Motorola 68HC08 SDCC - Small Device C Compiler SOs suportados Plataformas Suportadas: Alvos primários: Windows (Cygwin) Linux Também pode ser compilado para: X86 AMD Opteron (AMD64) Alpha IBM Power5 Mac OS X Sparc machines Crossware - Silicon Laboratories O que é? Development Suite for Windows Provê um completo ambiente de desenvolvimento para programas de 8051. Crossware - Silicon Laboratories Vantagens Voltada para desenvolvimento de projetos Crossware - Silicon Laboratories Vantagens Na IDE possui uma árvore de dos arquivos fontes e de dependência Documentação do projeto Ambientes integrados de Simulação e Debug Crossware - Silicon Laboratories Opções de Debug Crossware - Silicon Laboratories Vantagens Debug de aplicações multiplas Realização de debug completo a nível de fonte com Cygnal JTAG Debugger Breakpoints a nível de Hardware Wizards de criação de código Ambiente Multi-thread Crossware - Silicon Laboratories Custo 8051 Development Suite £800.00 $1514.00 8051 Development Suite with In-Circuit Debugger £880.00 $1665.00 Crossware - Silicon Laboratories MCUs suportados C504-2RC504-2E, C505A-4E, C505CA-4E, C505L-4E, C509-L, C515C-8E, SAB 80C515, SAB 80C515A, SAB 80C517A, SAB 80C535, SAB 80C537 Crossware - Silicon Laboratories Sos suportados Windows Win NT Win 95 Win 98 Win 2000 Evaluation Boards MCB900 Board Evaluation Boards EPM900 Emulator Referências 8051 Intel: http://www.intel.com/design/embcontrol/index.htm?iid=ipp_home+embed _micro& Zilog: http://www.zilog.com/products/parts.asp?BusinessLineID=273 National: http://www.national.com/catalog/MicrocontrollerProducts.html Microchip: http://www.microchip.com/1010/pline/picmicro/index.htm Motorola: http://ewww.motorola.com/webapp/sps/site/taxonomy.jsp?nodeId=016246 Analog Devices: http://www.analog.com/microconverter Ambientes de desenvolvimento Crossware uVision3 – Keil http://www.crossware.com/8051/index.htm http://www.keil.com/c51 SDCC http://sdcc.sourceforge.net/ Dúvidas?