Grupo de Engenharia da Computação Departamento de Informática - UFPE Microcontroladores Sérgio Cavalcante Grupo de Engenharia da Computação Departamento de Informática - UFPE DEPARTAMENTO DE INFORMÁTICA UFPE Copyright, 1998, 1999 © Sérgio Cavalcante GRECO
Microcontroladores O que são? Processador com todas as funções/ hardware básico de suporte EPROM RAM I/O Oscilador Timers/contadores/watchdogs Tratamento de Interrupçãop Interfaces Seriais USB e Ethernet Conversores A/D e D/A Monitor de voltagem/oscilador
O futuro dos computadores Usuários de desktops atualmente interagem com o computador. Usuários no futuro vão interagir com o ambiente e serão auxiliados pelo computador
Tipos de Contexto Contexto sonoro: Objetos sonoros: voz, carro, campainha de telefone... Cenas sonoras: rua movimentada, supermercado, escritório...)
Aplicações Saúde Comunicação Informação Controle Guerra ...
Saúde Monitores de saúde Cirurgias virtuo/reais Correção de pontos cegos Avaliação de quadros clínicos Band-aids inteligentes (medicamentos) Tatuagens programáveis
1977: Tradução Visual -> Tato Saúde 1977: Tradução Visual -> Tato Agora: Implante Intra-ocular John Wyatt VISOR - “visão” do espectro eletromagnético (calor, luz e ondas de rádio) com implantes conectados ao cérebro Em meados de 2371, LaForge começou a usar implantes num olho artificial
Escritório Pessoal PDAs + secretária + comunicação Dispositivos virtuais de entrada/saída fingermouse Cartão de crédito digital
Informação Notas de recado virtuais Informações sobre pessoas e objetos com reconhecimento automático Controle de passagem na fronteira EUA-México Linha de montagem da Boeing Manuais e diagramas virtuais sobre peças reais
Guerra Paraquedistas da OTAN na Bósnia Placa-mãe dobrável (como um cinto) Computador 586 PCMCIA touchscreen display fones de ouvido microfone software tradutor inglês para croata, francês, russo, etc.
O futuro... Computadores orgânicos: moléculas projetadas por computador O exterminador do futuro
O futuro
BUM O futuro
Família 8051 RAM EPROM CPU Port1 Port0 Address Bus Port2 Port3 Latch Latch Port1 Port0 Address Bus Serial DPTR Interrupt PC MBR Latch Port2 Latch Data Bus Port3 Oscil. Timer0 Timer1
Família 8051 Arquitetura Harvard (o normal e’ Princeton = Von Neumann) Barramento Multiplexado I/O mapeado em memória (Special Function Registers - SFRs)
Projeto Alarme de incêndio Caso o sinal do sensor de fumaça esteja ligado por mais de 3 segundos, ligue a sirene em intervalos de 1 segundo ligado e 1 segundo desligado.
Timer 0 Contador de pulsos de 8/16 bits Vários modos de operação: Modo 1: contador de pulsos de 16 bits com interrupção ao chegar em zero. Deve ser re-inicializado a cada interrupção. Cada pulso ocorre à Freq.Clock/12
Timer 0 no Modo 1 Data Bus TH0 TL0 Contadores Clock/12 Interrupt RD WR Carry Carry TH0 TL0 Contadores Interrupt Clock/12
Timer 0 no Modo 1 #define FrClk 12000000 void timer0_inicializa() { TR0 = 0; // Desliga Timer0 TMOD |= 0x01; // Timer 0 programado como timer de 16 bits TH0 = VALOR_TH0; // Programa contagem do Timer0 TL0 = VALOR_TL0; ET0 = 1; // Habilita interrupcao do timer 0 TR0 = 1; // Habilita contagem do timer 0 } void timer0_int (void) interrupt 1 using 2 ... #define FrClk 12000000 #define FreqTimer0_emHz 100 #define VALOR_TH0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 17 ))) >>8) #define VALOR_TL0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 17 ))) & 0xFF)