Microcontroladores Sérgio Cavalcante Grupo de Engenharia da Computação Departamento de Informática - UFPE DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Copyright, 1998, 1999 © Sérgio Cavalcante Microcontroladores O que são? • Processador com todas as funções/ hardware básico de suporte – EPROM Tratamento de Interrupçãop – RAM Interfaces Seriais – I/O USB e Ethernet – Oscilador Conversores A/D e D/A – Timers/contadores/watchdogs 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 Saúde • 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 O futuro Família 8051 CPU RAM EPROM Address Bus Data Bus 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 RD WR Carry TH0 Carry Contadores RD WR TL0 Clock/12 Timer 0 no Modo 1 #define FrClk 12000000 void timer0_inicializa() { #define FreqTimer0_emHz 100 TR0 = 0; // Desliga Timer0 #define ((65536 - (FrClk / (12 * FreqTimer0_emHz TMODVALOR_TH0 |= 0x01; // Timer 0 programado como timer de 16 bits 17 ))) >>8) TH0 = VALOR_TH0; // Programa contagem do Timer0 #define VALOR_TL0 ((65536 - (FrClk / (12 * FreqTimer0_emHz TL0 = VALOR_TL0; 17 ))) ET0 = 1;& 0xFF) // Habilita interrupcao do timer 0 TR0 = 1; // Habilita contagem do timer 0 } void timer0_int (void) interrupt 1 using 2 { ... }