580 likes | 1.18k Views
Família do Microcontrolador 8051 (MCS-51). Millena Almeida ( maag@cin.ufpe.br ) Williams Azevedo ( wtoa@cin.ufpe.br ). Roteiro. MCS-51 Características Arquitetura básica da família 8051 Membros da família Ambiente de desenvolvimento. MCS - 51.
E N D
Família do Microcontrolador 8051 (MCS-51) Millena Almeida ( maag@cin.ufpe.br ) Williams Azevedo ( wtoa@cin.ufpe.br )
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 • Poderoso conjunto de instruções assembly • Baixo custo • 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
Variações Baixa Voltagem Conversor A/D EPROM ou EEPROM Núcleo 8051 E/S Estendidas Memória 1k – 2k Barramento Serial Funções Especiais Clock de até 40MHz
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])
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 Principais Fabricantes
Família MCS-51 • A família 8051 possui 1110 componentes, dos quais se destacam: • 8051 • 8052 • 8031 • 8751 • 80550 • ...
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
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 • µ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 • 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 • 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)
Sistemas de Controle de Versão Uma interface configurável permite a comunicação com qualquer sistema de controle de versão µVision3 - Keil
µVision3 - Keil • Debugger
µ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