1) O documento discute displays de 7 segmentos, incluindo como representar números e letras usando os 7 segmentos e a multiplexação de vários displays.
2) É apresentado o mapeamento hexadecimal para cada algarismo e como ligar/desligar os segmentos correspondentes.
3) É explicado como multiplexar temporalmente 4 displays usando linhas de controle individuais para cada display e alternando rapidamente entre eles.
Microcontroladores PIC - Interface com displays de 7 segmentosFabio Souza
O documento discute a interface entre microcontroladores PIC e displays de 7 segmentos, incluindo como ligar displays de 7 segmentos no PIC usando catodo ou anodo comum, armazenar tabelas de decodificação na memória do programa e usar um decodificador 4511. Ele também fornece um exercício para construir um contador de peças em uma esteira de produção usando esses conceitos.
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
O documento apresenta uma introdução à linguagem C focada no desenvolvimento para microcontroladores PIC usando a IDE MikroC. Apresenta as características da linguagem C, a estrutura básica de um programa, comentários, tipos de dados, operadores, estruturas de controle como if/else e loops.
O documento descreve brevemente a origem e o interesse dos circuitos integrados, surgidos na década de 1970 devido à miniaturização dos circuitos eletrônicos.
Este documento apresenta os principais componentes semicondutores de potência, como diodos, tiristores, chaves controláveis, UJT e circuitos integrados para aplicações em eletrônica de potência. Inclui descrições técnicas detalhadas sobre o funcionamento e características desses dispositivos, além de exemplos de aplicações em retificadores, inversores e fontes chaveadas.
Este documento fornece uma introdução ao Arduino, incluindo:
1) Uma explicação do que é o Arduino e suas principais características;
2) Detalhes sobre o ambiente de desenvolvimento e como escrever programas;
3) Exemplos de como usar portas digitais e analógicas.
O documento discute a programação C para Arduino. Resume que a IDE do Arduino não é adequada para desenvolvimento profissional e que é necessário conhecer a programação C e a arquitetura do microcontrolador ATmega328 para projetos eficientes. O Arduino Uno possui 20 pinos de I/O digitais e analógicos controlados pelo ATmega328.
Acessando os periféricos de um microcontroladorRodrigo Almeida
1) O documento discute programação de periféricos de microcontroladores, incluindo acesso às portas, barramentos de LEDs, conversores AD e outros periféricos.
2) É explicado como configurar as portas do PIC18F4550 como entrada ou saída e como acessá-las para controlar dispositivos como LEDs.
3) São apresentados vários registradores de configuração importantes para programação de periféricos como conversor AD, UART, PWM e interrupções.
Microcontroladores PIC - Entradas e saídas DigitaisFabio Souza
O documento descreve os conceitos básicos de entrada e saída digital em microcontroladores PIC, incluindo PORTs, configuração de pinos como entrada ou saída, escrita e leitura de valores nos pinos usando registradores PORT e TRIS. Exemplos em C mostram como piscar um LED e ler o estado de uma tecla.
Microcontroladores PIC - Interface com displays de 7 segmentosFabio Souza
O documento discute a interface entre microcontroladores PIC e displays de 7 segmentos, incluindo como ligar displays de 7 segmentos no PIC usando catodo ou anodo comum, armazenar tabelas de decodificação na memória do programa e usar um decodificador 4511. Ele também fornece um exercício para construir um contador de peças em uma esteira de produção usando esses conceitos.
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
O documento apresenta uma introdução à linguagem C focada no desenvolvimento para microcontroladores PIC usando a IDE MikroC. Apresenta as características da linguagem C, a estrutura básica de um programa, comentários, tipos de dados, operadores, estruturas de controle como if/else e loops.
O documento descreve brevemente a origem e o interesse dos circuitos integrados, surgidos na década de 1970 devido à miniaturização dos circuitos eletrônicos.
Este documento apresenta os principais componentes semicondutores de potência, como diodos, tiristores, chaves controláveis, UJT e circuitos integrados para aplicações em eletrônica de potência. Inclui descrições técnicas detalhadas sobre o funcionamento e características desses dispositivos, além de exemplos de aplicações em retificadores, inversores e fontes chaveadas.
Este documento fornece uma introdução ao Arduino, incluindo:
1) Uma explicação do que é o Arduino e suas principais características;
2) Detalhes sobre o ambiente de desenvolvimento e como escrever programas;
3) Exemplos de como usar portas digitais e analógicas.
O documento discute a programação C para Arduino. Resume que a IDE do Arduino não é adequada para desenvolvimento profissional e que é necessário conhecer a programação C e a arquitetura do microcontrolador ATmega328 para projetos eficientes. O Arduino Uno possui 20 pinos de I/O digitais e analógicos controlados pelo ATmega328.
Acessando os periféricos de um microcontroladorRodrigo Almeida
1) O documento discute programação de periféricos de microcontroladores, incluindo acesso às portas, barramentos de LEDs, conversores AD e outros periféricos.
2) É explicado como configurar as portas do PIC18F4550 como entrada ou saída e como acessá-las para controlar dispositivos como LEDs.
3) São apresentados vários registradores de configuração importantes para programação de periféricos como conversor AD, UART, PWM e interrupções.
Microcontroladores PIC - Entradas e saídas DigitaisFabio Souza
O documento descreve os conceitos básicos de entrada e saída digital em microcontroladores PIC, incluindo PORTs, configuração de pinos como entrada ou saída, escrita e leitura de valores nos pinos usando registradores PORT e TRIS. Exemplos em C mostram como piscar um LED e ler o estado de uma tecla.
O documento descreve as características físicas e funcionamento do transistor bipolar. Ele explica que o transistor é composto de cristais semicondutores dopados com substâncias que alteram suas propriedades elétricas e possui três terminais: emissor, coletor e base. Além disso, o documento apresenta os tipos PNP e NPN, sua simbologia, aplicações comuns e comparação com o MOSFET.
O documento apresenta Tiago Barros e resume seus principais tópicos de ensino sobre Arduino e computação física, incluindo conceitos básicos de eletricidade e eletrônica, a plataforma Arduino, sensores, atuadores, comunicação serial, bibliotecas e práticas com protótipo.
Este documento discute lógica programável, incluindo classificação de circuitos como PLA, CPLD e FPGA, formas de programação como ABEL, VHDL e PLASM, e exemplos de programação de circuitos combinatórios usando GALs.
O documento descreve circuitos lógicos combinacionais e sequenciais. Aborda definições, exemplos de circuitos como controle de cruzamento, codificadores e decodificadores, circuitos aritméticos como somador e subtrator, multiplexadores e demultiplexadores. Também apresenta flip-flops como RS, JK e JK mestre-escravo com suas tabelas-verdade e circuitos.
Transistor é um dispositivo semicondutor que pode ser usado como chave ou amplificador. Deve ser polarizado corretamente com a junção base-emissor diretamente polarizada e a junção base-coletor polarizada inversamente. Um transistor opera em três regiões distintas dependendo da corrente de base: corte, ativa ou saturação.
i. O documento descreve os transistores bipolares de junção (TBJ), que são formados por três regiões semicondutoras (emissor, base e coletor) com duas junções PN.
ii. Há dois tipos de TBJ: n-p-n e p-n-p, dependendo da polaridade das regiões semicondutoras.
iii. A polarização das junções determina o modo de operação do TBJ, sendo os modos ativo, de corte e de saturação os mais importantes para aplicações eletrônicas.
Este documento apresenta um resumo sobre capacitores e indutores. Discute os conceitos básicos de capacitor e indutor, incluindo suas equações, associação em série e paralelo e armazenamento de energia. Também fornece exemplos sobre cálculos envolvendo esses dispositivos.
O documento descreve as características básicas dos circuitos integrados digitais, incluindo sua composição a partir de transistores, encapsulamento em chips de silício, e classificações como SSI, MSI, LSI e VLSI de acordo com a escala de integração. Também define parâmetros elétricos como níveis lógicos de entrada e saída, correntes máximas, atrasos de propagação e famílias lógicas como TTL e CMOS.
O documento descreve conceitos relacionados a conversores CC-CA e inversores monofásicos e trifásicos. Discutem-se representações de ondas senoidais por séries de Fourier, definição de potência ativa e reativa em condições senoidais e não senoidais, e parâmetros relacionados a harmônicas. Também são apresentados circuitos e análises de inversores monofásicos em meia ponte e ponte completa alimentando cargas resistivas e RL. Por fim, faz-se menção a inversores trifás
Este documento descreve as funções lógicas básicas utilizadas em circuitos digitais, incluindo:
1) A função lógica NOT inverte o valor de entrada.
2) A função AND produz um valor de saída de 1 apenas quando todos os valores de entrada forem 1.
3) A função OR produz um valor de saída de 1 se qualquer um dos valores de entrada for 1.
O documento também discute portas lógicas com mais de duas entradas, como AND e OR, e funções como NAND e NOR formadas a partir
O documento descreve os circuitos de flip-flops JK, D e latch D transparente. Explica como cada um opera, incluindo suas entradas, saídas e como respondem aos pulsos de clock. Também fornece exemplos de suas aplicações em circuitos digitais como contadores e transferência de dados paralela.
O documento descreve os principais tipos de transistores FET, incluindo sua construção e comportamento. Apresenta o JFET, MOSFET por depleção e MOSFET por intensificação, explicando como cada um controla o fluxo de corrente entre dreno e fonte usando a tensão aplicada na porta.
1. O documento discute sistemas elétricos trifásicos, incluindo tensões e correntes simétricas e desbalanceadas, tipos de configurações (estrela-estrela, estrela-triângulo), e medição de potência trifásica.
2. É explicado que sistemas trifásicos possuem três fases com tensões defasadas em 120 graus que fornecem vantagens como maior potência e flexibilidade em relação a sistemas monofásicos.
3. Os principais tipos de configurações
O documento discute o capacitor, um componente que armazena energia em forma de campo elétrico. Explica como capacitores funcionam, como calcular sua capacitância e reatância, e como são associados em circuitos. Também apresenta diferentes tipos de capacitores e aplicações.
Apresentação dos microntroladores, especialmente da linha pic16f, onde o alvo foi o PIC16f628a, que é bem simples de encontrar para comprar e de programar. Apesar de trabalhar com apenas 8 bits, é o robusto o suficiente para realizar automação que requeira PWM, comparação, USART; 16 I/O; e uma série de outras vantagens.
O documento descreve um curso de eletrônica básica que inclui tópicos sobre circuitos básicos com transistores bipolares, operação de transistores NPN e PNP na região ativa, modelos de transistores, determinação de pontos de polarização, amplificadores e seus ganhos.
O documento apresenta os conceitos básicos sobre robôs manipuladores industriais. Aborda os tipos de juntas e atuadores, as configurações geométricas mais comuns de robôs como articulado, esférico, SCARA, cilíndrico e cartesiano, e conceitos como graus de liberdade e espaço de trabalho.
O documento descreve os circuitos sequenciais, que combinam circuitos combinacionais e elementos de memória. Os circuitos sequenciais têm saídas influenciadas pelas entradas atuais e pelo estado atual. Os elementos de memória mais básicos são latchs e flip-flops, que armazenam um bit de informação e cujo próximo estado depende das entradas e do estado atual. Contadores e registradores são exemplos de circuitos sequenciais construídos com latchs e flip-flops.
FPGA stands for Field Programmable Gate Array. It allows designers to change their designs late in the development cycle or even after deployment through field upgrades. An FPGA consists of Configurable Logic Blocks (CLBs) containing look-up tables, flip-flops, and logic functions. It also includes interconnect routing resources and I/O blocks. Memory blocks and clock management resources are integrated into the FPGA to support a wide range of applications across many industries.
Microcontroladores PIC - Exercícios para estudos de I/O digitaisFabio Souza
O documento apresenta 10 exercícios para desenvolver aplicações utilizando pinos de entrada e saída (I/O) em microcontroladores PIC com a linguagem C. Os exercícios incluem acender e piscar LEDs em resposta a botões, controle de semáforo, nível de reservatório, contador e exibição de vagas em estacionamento.
O documento descreve as características físicas e funcionamento do transistor bipolar. Ele explica que o transistor é composto de cristais semicondutores dopados com substâncias que alteram suas propriedades elétricas e possui três terminais: emissor, coletor e base. Além disso, o documento apresenta os tipos PNP e NPN, sua simbologia, aplicações comuns e comparação com o MOSFET.
O documento apresenta Tiago Barros e resume seus principais tópicos de ensino sobre Arduino e computação física, incluindo conceitos básicos de eletricidade e eletrônica, a plataforma Arduino, sensores, atuadores, comunicação serial, bibliotecas e práticas com protótipo.
Este documento discute lógica programável, incluindo classificação de circuitos como PLA, CPLD e FPGA, formas de programação como ABEL, VHDL e PLASM, e exemplos de programação de circuitos combinatórios usando GALs.
O documento descreve circuitos lógicos combinacionais e sequenciais. Aborda definições, exemplos de circuitos como controle de cruzamento, codificadores e decodificadores, circuitos aritméticos como somador e subtrator, multiplexadores e demultiplexadores. Também apresenta flip-flops como RS, JK e JK mestre-escravo com suas tabelas-verdade e circuitos.
Transistor é um dispositivo semicondutor que pode ser usado como chave ou amplificador. Deve ser polarizado corretamente com a junção base-emissor diretamente polarizada e a junção base-coletor polarizada inversamente. Um transistor opera em três regiões distintas dependendo da corrente de base: corte, ativa ou saturação.
i. O documento descreve os transistores bipolares de junção (TBJ), que são formados por três regiões semicondutoras (emissor, base e coletor) com duas junções PN.
ii. Há dois tipos de TBJ: n-p-n e p-n-p, dependendo da polaridade das regiões semicondutoras.
iii. A polarização das junções determina o modo de operação do TBJ, sendo os modos ativo, de corte e de saturação os mais importantes para aplicações eletrônicas.
Este documento apresenta um resumo sobre capacitores e indutores. Discute os conceitos básicos de capacitor e indutor, incluindo suas equações, associação em série e paralelo e armazenamento de energia. Também fornece exemplos sobre cálculos envolvendo esses dispositivos.
O documento descreve as características básicas dos circuitos integrados digitais, incluindo sua composição a partir de transistores, encapsulamento em chips de silício, e classificações como SSI, MSI, LSI e VLSI de acordo com a escala de integração. Também define parâmetros elétricos como níveis lógicos de entrada e saída, correntes máximas, atrasos de propagação e famílias lógicas como TTL e CMOS.
O documento descreve conceitos relacionados a conversores CC-CA e inversores monofásicos e trifásicos. Discutem-se representações de ondas senoidais por séries de Fourier, definição de potência ativa e reativa em condições senoidais e não senoidais, e parâmetros relacionados a harmônicas. Também são apresentados circuitos e análises de inversores monofásicos em meia ponte e ponte completa alimentando cargas resistivas e RL. Por fim, faz-se menção a inversores trifás
Este documento descreve as funções lógicas básicas utilizadas em circuitos digitais, incluindo:
1) A função lógica NOT inverte o valor de entrada.
2) A função AND produz um valor de saída de 1 apenas quando todos os valores de entrada forem 1.
3) A função OR produz um valor de saída de 1 se qualquer um dos valores de entrada for 1.
O documento também discute portas lógicas com mais de duas entradas, como AND e OR, e funções como NAND e NOR formadas a partir
O documento descreve os circuitos de flip-flops JK, D e latch D transparente. Explica como cada um opera, incluindo suas entradas, saídas e como respondem aos pulsos de clock. Também fornece exemplos de suas aplicações em circuitos digitais como contadores e transferência de dados paralela.
O documento descreve os principais tipos de transistores FET, incluindo sua construção e comportamento. Apresenta o JFET, MOSFET por depleção e MOSFET por intensificação, explicando como cada um controla o fluxo de corrente entre dreno e fonte usando a tensão aplicada na porta.
1. O documento discute sistemas elétricos trifásicos, incluindo tensões e correntes simétricas e desbalanceadas, tipos de configurações (estrela-estrela, estrela-triângulo), e medição de potência trifásica.
2. É explicado que sistemas trifásicos possuem três fases com tensões defasadas em 120 graus que fornecem vantagens como maior potência e flexibilidade em relação a sistemas monofásicos.
3. Os principais tipos de configurações
O documento discute o capacitor, um componente que armazena energia em forma de campo elétrico. Explica como capacitores funcionam, como calcular sua capacitância e reatância, e como são associados em circuitos. Também apresenta diferentes tipos de capacitores e aplicações.
Apresentação dos microntroladores, especialmente da linha pic16f, onde o alvo foi o PIC16f628a, que é bem simples de encontrar para comprar e de programar. Apesar de trabalhar com apenas 8 bits, é o robusto o suficiente para realizar automação que requeira PWM, comparação, USART; 16 I/O; e uma série de outras vantagens.
O documento descreve um curso de eletrônica básica que inclui tópicos sobre circuitos básicos com transistores bipolares, operação de transistores NPN e PNP na região ativa, modelos de transistores, determinação de pontos de polarização, amplificadores e seus ganhos.
O documento apresenta os conceitos básicos sobre robôs manipuladores industriais. Aborda os tipos de juntas e atuadores, as configurações geométricas mais comuns de robôs como articulado, esférico, SCARA, cilíndrico e cartesiano, e conceitos como graus de liberdade e espaço de trabalho.
O documento descreve os circuitos sequenciais, que combinam circuitos combinacionais e elementos de memória. Os circuitos sequenciais têm saídas influenciadas pelas entradas atuais e pelo estado atual. Os elementos de memória mais básicos são latchs e flip-flops, que armazenam um bit de informação e cujo próximo estado depende das entradas e do estado atual. Contadores e registradores são exemplos de circuitos sequenciais construídos com latchs e flip-flops.
FPGA stands for Field Programmable Gate Array. It allows designers to change their designs late in the development cycle or even after deployment through field upgrades. An FPGA consists of Configurable Logic Blocks (CLBs) containing look-up tables, flip-flops, and logic functions. It also includes interconnect routing resources and I/O blocks. Memory blocks and clock management resources are integrated into the FPGA to support a wide range of applications across many industries.
Microcontroladores PIC - Exercícios para estudos de I/O digitaisFabio Souza
O documento apresenta 10 exercícios para desenvolver aplicações utilizando pinos de entrada e saída (I/O) em microcontroladores PIC com a linguagem C. Os exercícios incluem acender e piscar LEDs em resposta a botões, controle de semáforo, nível de reservatório, contador e exibição de vagas em estacionamento.
Este documento apresenta conceitos básicos sobre microcontroladores PIC16F877A. Ele descreve a arquitetura do PIC16F877A, incluindo geração de clock, memórias, reset e conjunto de instruções. Também fornece exemplos de programação em assembly para o PIC16F877A.
Este documento fornece uma introdução aos microcontroladores PIC18, descrevendo sua arquitetura, memória, periféricos e ferramentas de programação. Foi atualizado três vezes para alterar esquemas elétricos, corpo do documento e copyright. Ele resume os principais componentes e recursos dos PIC18 e fornece informações sobre como programá-los usando MPLAB e linguagem C.
O documento descreve a estrutura e aplicações dos microcontroladores PIC, com foco no PIC16F84. Ele explica que os microcontroladores PIC possuem memória de programa, memória de dados, ULA e portas I/O, e que o PIC16F84 tem 13 portas I/O, memória FLASH de 1k e RAM de 90 bytes. Por fim, discute aspectos como osciladores, organização de memória e timers.
Este documento discute contadores assíncronos, incluindo seu funcionamento usando flip-flops montados em cascata, o cálculo do módulo máximo de contagem, e tipos como contadores de pulsos, de 0 a n, e decrescente. É apresentado um exemplo de um contador assíncrono de 0 a 5.
O documento descreve os principais conceitos relacionados ao desenvolvimento de aplicações para microcontroladores PIC utilizando a linguagem C, incluindo estrutura básica, memória, entrada e saída, timers, conversor A/D e comunicação serial.
Este documento apresenta os conceitos básicos da plataforma Arduino. Primeiramente descreve o que é Arduino, sua plataforma de desenvolvimento incluindo hardware e software. Em seguida explica os conceitos de programação para Arduino incluindo estrutura básica de programa, funções, variáveis, operadores, estruturas de controle e funções embutidas. Por fim apresenta alguns projetos práticos para colocar em prática os conceitos aprendidos.
a) O documento discute registradores, contadores e memórias. Contém informações sobre contadores assíncronos e síncronos, registradores de deslocamento e memórias RAM e ROM.
b) São descritos contadores binários, contadores de década e contadores crescentes/decrescentes. Existem registradores com entrada e saída serial ou paralela.
c) As memórias RAM podem ser estáticas ou dinâmicas e permitem armazenamento volátil. A memória ROM armazena dados de forma não
O documento descreve o Arduino Mega, um microcontrolador que possui 54 pinos digitais, 16 entradas analógicas e comunicação serial. Ele é alimentado por USB ou fonte externa e pode ser programado via software Arduino ou diretamente no chip. O Arduino Mega é compatível com escudos de outras placas Arduino.
1) O documento apresenta a plataforma Arduino, descrevendo suas características como hardware e software.
2) Como hardware, o Arduino é uma placa de desenvolvimento baseada no microcontrolador ATmega328 que contém 14 pinos digitais, 6 entradas analógicas e outros componentes.
3) O documento também resume brevemente o que é o Arduino de acordo com uma revista, destacando seu microcontrolador ATmega328 e especificações como tensão e corrente.
The document discusses developing an embedded system kernel project. It explains that a kernel manages processes, memory, and communication between hardware and processes. While developing one's own kernel allows for full control, it is also very time intensive. Alternatives like FreeRTOS are discussed. The document also covers the differences between monolithic and micro kernels. It states that this project will use a non-preemptive, cooperative microkernel that schedules processes and does not include memory management.
O documento fornece instruções para montar um display de 7 segmentos conectado ao MEC1000 ou KDR5000, incluindo os materiais e etapas necessárias, como transferir o circuito para a placa de circuito impresso e soldar os componentes. Explica também como programar as saídas digitais para controlar o display e mostrar números e caracteres corretamente.
Un display de 7 segmentos representa números encendiendo y apagando 7 segmentos. Este documento explica las conexiones de un display de 7 segmentos a un Arduino y provee un ejemplo de código que muestra los números del 0 al 9 secuencialmente con un retardo de 1 segundo entre cada número.
O documento descreve comandos de controle de fluxo em programação como IF/ELSE, WHILE, FOR, SWITCH e DO-WHILE, fornecendo exemplos de cada um. IF executa comandos se uma condição for verdadeira, IF-ELSE executa um ou outro conjunto de comandos dependendo da condição, WHILE repete comandos enquanto uma condição for verdadeira, FOR repete comandos um número fixo de vezes, SWITCH seleciona um caso a executar com base em um valor e DO-WHILE repete comandos pelo menos uma vez,
Este documento resume os principais comandos de controle de fluxo em programação como IF, IF-ELSE, WHILE, FOR, SWITCH e DO-WHILE, fornecendo exemplos de cada um. O documento foi produzido pela professora Elaine Cecília Gatto para o curso de bacharelado em engenharia de computação na Universidade do Sagrado Coração.
O documento discute microcontroladores PIC e programação em linguagem C. Apresenta tópicos como estrutura interna dos microcontroladores PIC, declaração de variáveis, operadores, configuração de periféricos como ADCs e PWM, uso de interrupções e memória EEPROM. Inclui também exemplos de código C para controlar dispositivos com PIC.
O documento apresenta 6 exercícios para desenvolver aplicações utilizando LCD e conversor AD em microcontroladores PIC que incluem: 1) desenvolver um relógio digital; 2) contador de eventos de 0 a 9999; 3) ajustar um valor de 0 a 100 usando teclas; 4) cronômetro decrescente de minutos e segundos; 5) multímetro digital para ler tensão de 0 a 35V; 6) exibir temperatura de sensor LM35.
El documento describe un display de 7 segmentos, incluyendo su funcionamiento, codificación y conexión a un microcontrolador y microprocesador 89C51. Explica que un solo byte puede codificar el estado completo del display y proporciona una tabla con las codificaciones hexadecimales para visualizar dígitos del 0 al F.
Este documento resume o funcionamento do conversor analógico-digital (A/D) no microcontrolador PIC16F877A. O conversor A/D converte sinais analógicos do mundo real em valores digitais que podem ser lidos pelo microcontrolador. O PIC16F877A possui um conversor A/D interno de 8 ou 10 bits com 8 canais e diferentes opções de referência de tensão. Os registradores ADCON0 e ADCON1 controlam o conversor A/D e armazenam o resultado digital da conversão.
Este documento apresenta os detalhes de uma disciplina de programação de sistemas embarcados, incluindo informações sobre local e horário das aulas, datas importantes, referências bibliográficas, tópicos abordados como linguagem C, hardware utilizado e ambiente de programação, e conceitos como diretivas de compilação e uso de arquivos .c e .h.
O documento descreve microcontroladores PIC, especificamente:
1) Apresenta os microcontroladores PIC da Microchip, destacando seus modelos como PIC16F628A, PIC16F877A, PIC18F4550 e dsPIC30F4013.
2) Explica que o PIC18F4550 possui 32KB de memória flash, 35 pinos de E/S e protocolos como USB, UART, SPI e I2C.
O documento descreve o desenvolvimento de um sistema embarcado utilizando o processador LEON3 em kits de desenvolvimento Altera. O processador LEON3 é compatível com a arquitetura SPARC V8 e foi configurado, simulado e sintetizado nos kits. Códigos em C foram desenvolvidos para acionar periféricos e o kernel Linux SnapGear foi compilado e executado no processador.
Este documento fornece informações sobre o sistema de comunicação PROFIBUS DP, incluindo estrutura de sistemas PROFIBUS DP, métodos de comunicação, tempos de ciclo de comunicação, mestres e escravos disponíveis, configuração de sistemas, diagnóstico, funções de comunicação e exercícios práticos.
1. O documento descreve a estrutura e configuração de sistemas PROFIBUS DP, incluindo mestres, escravos, comunicação e funções.
2. São apresentados diferentes tipos de escravos DP como compactos, modulares e inteligentes e como inseri-los em um sistema mestre.
3. São explicadas funções como leitura, escrita e sincronização de dados dos escravos utilizando SFCs.
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
Palestra dada na Semana da Computacao da Universidade Plinio Leite. detalhes em :
http://blog.arduinrio.cc/2010/10/03/palestra-hardware-livre-na-semana-de-computacao-da-universidade-plinio-leite-niteroi/
O documento descreve funções da linguagem C padrão utilizadas para entrada e saída digital e analogica, manipulação de bits e bytes, matemáticas, processador e portas de comunicação. As funções permitem controlar pins digitais, ler valores analógicos, realizar operações lógicas e aritméticas nos dados.
Desenvolvimento de drivers para sistemas embarcadosRodrigo Almeida
Este documento discute:
1. Sistemas em tempo real e seus requisitos temporais, como garantir a periodicidade de tarefas e determinismo.
2. Como implementar um sistema que trabalhe com requisitos temporais, necessitando de um relógio preciso, informar a frequência de cada processo e garantir que os tempos de execução cabem no tempo disponível.
3. A criação de drivers para dispositivos, como o driver para LCD utilizando funções de inicialização, escrita e acesso.
O documento descreve circuitos digitais combinatórios como codificadores, decodificadores, multiplexadores e demultiplexadores. Explica como codificadores convertem códigos de entrada em saídas de acordo com tabelas verdade, enquanto decodificadores fazem o oposto. Fornece exemplos de codificadores e decodificadores binário-decimal e hexadecimal-BCD usados em displays de sete segmentos.
Curso para Introdução a placa Microchip Curiosity e ferramentas de programação. São apresentados os primeiros passo para uso do MPLAB X e MCC e exemplos usando os periféricos do PIC16F1619.
1) O documento discute pontos sobre arquitetura de microcontroladores e operações com bits na linguagem C. 2) Inclui explicações sobre ponteiros, operadores & e *, acesso à memória, clock e tempo de instrução, esquema elétrico e circuitos importantes. 3) Também apresenta detalhes sobre registros de configuração para definir o funcionamento básico e periféricos do microcontrolador.
O documento discute o uso de registros no Arduino para configurar e controlar pinos digitais de forma mais eficiente do que usar comandos como pinMode() e digitalWrite(). Explica que cada pino digital tem uma correspondência a registros internos do microcontrolador ATmega328p e fornece exemplos de código usando registros PORTx, DDRx e PINx para definir direções de pino e escrever níveis lógicos.
Este documento resume a família de microcontroladores PIC18xx da Microchip. Descreve as características principais como a arquitetura de 8 bits, diagrama de pinos do PIC18F2550, programação por ICSP ou programadores externos, configuração dos osciladores e memória incluindo registos especiais. Apresenta também exemplos de programação em assembly e C para escrever na memória e controlar saídas.
O documento introduz o Arduino, uma plataforma de desenvolvimento de hardware e software open-source. Discute as características e componentes do Arduino, incluindo microcontroladores, software de desenvolvimento e exemplos de código. Também fornece instruções básicas sobre como programar e usar o Arduino.
O documento introduz o Arduino, uma plataforma de desenvolvimento open-source. Discute as características e componentes do Arduino, incluindo microcontroladores, software e exemplos de código. Também fornece instruções básicas sobre como programar o Arduino usando linguagem C.
Este documento fornece um resumo de instruções e arquitetura MIPS de 32 bits. Ele inclui:
1) Os tipos de instruções MIPS e seus campos;
2) Os registradores e seus usos;
3) Os principais modos de endereçamento e instruções;
4) Exemplos passo-a-passo de conversão entre linguagem de alto nível e assembly.
O documento introduz o Arduino, uma plataforma de desenvolvimento de hardware e software open-source. Discute as características e componentes do Arduino, incluindo microcontroladores, software de desenvolvimento e exemplos de código. Também fornece instruções básicas sobre como programar e usar o Arduino.
O documento descreve a placa DE2 da Altera, incluindo seus principais periféricos como chaves, botões, LEDs e displays de 7 segmentos. Também explica os passos para gravar circuitos no FPGA da placa, como especificar o dispositivo alvo, mapear portas aos pinos do FPGA e tratar pinos não utilizados.
Semelhante a Display de 7 segmentos multiplexados (20)
This document provides an overview of a workshop on embedded system design that covers topics ranging from electronics to microkernel development. The workshop schedule includes sessions on electronic building, board programming, and kernel development. Specific topics within the electronics building section include a review of electronics concepts, schematics, prototyping boards, system design procedures, microcontrollers, LCD displays, and potentiometers. The board programming section will cover programmers, integrated development environments, basic programming concepts, and examples. The final section on kernel development does not provide any details.
O documento discute as diferentes engenharias existentes, listando as principais engenharias de acordo com o INEP e o Crea. O INEP lista 218 engenharias, incluindo engenharia mecânica, elétrica, civil, produção e computação. O Crea lista 88 engenharias, incluindo engenheiro civil, elétrico, mecânico, de produção, químico e de minas. O documento também descreve as competências gerais de um engenheiro.
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...Rodrigo Almeida
A segurança e a confiabilidade em sistemas embarcados são áreas críticas e de recente desenvolvimento. Além das complicações inerentes à área de segurança, existem restrições quanto a capacidade de processamento e de armazenamento destes sistemas. Isto é agravado em sistemas de baixo custo. Neste trabalho, é apresentada uma técnica que, aplicada à troca de contexto em sistemas operacionais, aumentando a segurança destes. A técnica é baseada na detecção e correção de erros em sequência de valores binários. Para realização dos testes, foi desenvolvido um sistema operacional de tempo real e implementado numa placa de desenvolvimento. Observou-se que o consumo de processamento das técnicas de detecção de erro são inferiores às de correção, cerca de 2% para CRC e 8% para Hamming. Objetivando-se minimizar o tempo de processamento optou-se por uma abordagem mista entre correção e detecção. Esta abordagem reduz o consumo de processamento medida que os processos que exigem tempo real apresentem uma baixa taxa de execução, quando comparados com o período de troca de contexto. Por fim, fica comprovada a possibilidade de implementação desta técnica em qualquer sistema embarcado, inclusive em processadores de baixo custo.
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...Rodrigo Almeida
A segurança e a confiabilidade em sistemas embarcados são áreas críticas e de recente desenvolvimento. Além das complicações inerentes à área de segurança, existem restrições quanto a capacidade de processamento e de armazenamento destes sistemas. Isto é agravado em sistemas de baixo custo. Neste trabalho, é apresentada uma técnica que, aplicada à troca de contexto em sistemas operacionais, aumentando a segurança destes. A técnica é baseada na detecção e correção de erros em sequência de valores binários. Para realização dos testes, foi desenvolvido um sistema operacional de tempo real e implementado numa placa de desenvolvimento. Observou-se que o consumo de processamento das técnicas de detecção de erro são inferiores às de correção, cerca de 2% para CRC e 8% para Hamming. Objetivando-se minimizar o tempo de processamento optou-se por uma abordagem mista entre correção e detecção. Esta abordagem reduz o consumo de processamento medida que os processos que exigem tempo real apresentem uma baixa taxa de execução, quando comparados com o período de troca de contexto. Por fim, fica comprovada a possibilidade de implementação desta técnica em qualquer sistema embarcado, inclusive em processadores de baixo custo.
Troca de contexto segura em sistemas operacionais embarcados utilizando técni...Rodrigo Almeida
A segurança e a confiabilidade em sistemas embarcados são áreas criticas e de recente desenvolvimento. Além das complicações inerentes a área de segurança, existem restrições quanto a capacidade de processamento e de armazenamento destes sistemas. Isto é agravado em sistemas de baixo custo. Neste trabalho é apresentada uma técnica que, aplicada à troca de contexto em sistemas operacionais, aumenta a segurança destes. A técnica é baseada na detecção e correção de erros em sequência de valores binários. Para realização dos testes foi desenvolvido um sistema operacional de tempo real e implementado numa placa de desenvolvimento. Observou-se que o consumo de processamento das técnicas de detecção de erro são inferiores às de correção, cerca de 2\% para CRC e 8\% para Hamming. Objetivando-se minimizar o tempo de processamento optou-se por uma abordagem mista entre correção e detecção. Esta abordagem se mostrou mais interessante a medida que os processos que exijam tempo real apresentem uma baixa taxa de execução, quando comparados com o período de troca de contexto. Por fim, fica comprovada a possibilidade de implementação desta técnica em qualquer sistema embarcado, inclusive em processadores de baixo custo.
O documento descreve uma controladora de drivers para gerenciar drivers de dispositivos de forma padronizada. A controladora inicializa e mantém os drivers carregados, armazenando informações sobre eles. Ela funciona como uma camada de segurança entre o kernel e os drivers, evitando comandos incorretos. A controladora também suporta callbacks para que drivers possam registrar funções a serem chamadas assincronamente, como em interrupções.
O documento descreve um exemplo de kernel cooperativo para gerenciar processos em um sistema embarcado. O kernel implementa um buffer circular para armazenar os processos, funções para adicionar e remover processos, e um loop infinito que executa os processos de forma cooperativa, reagendando aqueles que precisam ser executados repetidamente. O exercício propõe adaptar o código para a placa e testar o reagendamento e execução de processos que acionam saídas digitais.
O documento descreve um sistema de processos cooperativos implementado através de um buffer circular. O buffer armazena estruturas de processo contendo um ponteiro de função a ser executada. Há funções para adicionar, remover e executar processos no buffer mantendo a ordem de inserção.
O documento descreve um exercício para implementar um buffer circular para armazenar estruturas contendo ponteiros de função. O objetivo é permitir que funções sejam adicionadas ao buffer e executadas via chamada à função apontada pelo ponteiro de função armazenado.
O documento descreve conceitos sobre ponteiros, structs e buffers circulares em C. Especificamente, apresenta: 1) como ponteiros armazenam endereços de memória e apontam para variáveis; 2) como structs agrupam variáveis de diferentes tipos; e 3) como buffers circulares implementam filas FIFO usando um vetor com ponteiros de início e fim.
Introdução aos sistemas operacionais embarcadosRodrigo Almeida
O documento discute sistemas operacionais embarcados, apresentando o cronograma do curso e considerações sobre projeto de kernels, incluindo vantagens e desvantagens de desenvolver seu próprio kernel versus utilizar alternativas existentes. É apresentado o microcontrolador KL02 da Freescale e discutidas alternativas como Windows Embedded Compact, VxWorks, FreeRTOS e decisões importantes no projeto de kernels.
Segurança de sistemas: invasões, engenharia reversa e análise de virusRodrigo Almeida
Este documento resume conceitos sobre invasão de sistemas computacionais, incluindo exemplos de ataques como Stuxnet e SQL injection. Ele discute vulnerabilidades, métodos de ataque ativos e passivos, e técnicas de engenharia reversa para acessar portas seriais. O documento também fornece fontes de informação sobre segurança cibernética.
Este documento descreve protocolos de comunicação serial, incluindo I2C, RS232 e LCD. Ele fornece detalhes sobre como implementar comunicação I2C, como criar uma biblioteca I2C e rotinas para escrita e leitura de bytes. Além disso, explica como enviar dados e comandos para um display LCD.
O documento discute três tópicos principais: 1) leitura de teclas e problemas de bouncing, resolvidos por hardware ou software; 2) leitura matricial de teclado; 3) exibição em display LCD, incluindo conexões, comandos e biblioteca de controle.
O documento discute técnicas de leitura de teclas e teclados matriciais, incluindo displays de 7 segmentos multiplexados, debounce de teclas e leitura matricial.
O documento discute operações com bits na linguagem C, incluindo:
1) Tipos de dados em C e suas propriedades de armazenamento de bits;
2) Conversões entre sistemas binário, decimal e hexadecimal;
3) Operações lógicas bit a bit como NOT, AND, OR e XOR;
4) Deslocamentos de bits à esquerda e à direita.
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
1. Display de 7 segmentos
Prof.MSc.Rodrigo Maximiano Antunes de Almeida
Universidade Federal de Itajub´a
rodrigomax@unifei.edu.br
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 1 / 29
3. Programa¸c˜ao dos Perif´ericos
Acesso `as portas do microcontrolador
Porta Endere¸co dos dados Endere¸co de config. (TRIS)
PORTA 0xF80 0xF92
PORTB 0xF81 0xF93
PORTC 0xF82 0xF94
PORTD 0xF83 0xF95
PORTE 0xF84 0xF96
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 3 / 29
4. Programa¸c˜ao dos Perif´ericos
Acesso `as portas do microcontrolador
1// d e f i n e s para p o r t a s de entrada e s a´ı d a
2#d e f i n e PORTD (∗( v o l a t i l e near unsigned char ∗) 0xF83 )
3#d e f i n e TRISD (∗( v o l a t i l e near unsigned char ∗) 0xF95 )
4// i n i c i o do programa
5void main ( void ) interrupt 0
6{
7 // configurando todos os pinos como s a´ı d a s
8 TRISD = 0b00000000 ;
9 // l i g a apenas os quatro ´u l t i m o s l e d s
10 PORTD = 0b11110000 ;
11 //mant´em o sistema l i g a d o i n d e f i n i d a m e n t e
12 f o r ( ; ; ) ;
13}
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 4 / 29
5. Programa¸c˜ao dos Perif´ericos
Acesso `as portas do microcontrolador
1// b a s i c o . h
2// fun¸c˜oes de b i t
3#d e f i n e BitSet ( arg , b i t ) (( arg ) |= (1<< b i t ) )
4#d e f i n e B i t C l r ( arg , b i t ) (( arg ) &= ˜(1<< b i t ) )
5#d e f i n e B i t F l p ( arg , b i t ) (( arg ) ˆ= (1<< b i t ) )
6#d e f i n e BitTst ( arg , b i t ) (( arg ) & (1<< b i t ) )
7
8// d e f i n e s para r e g i s t r o s e s p e c i a i s
9#d e f i n e PORTA (∗( v o l a t i l e near unsigned char ∗) 0xF80 )
10#d e f i n e PORTB (∗( v o l a t i l e near unsigned char ∗) 0xF81 )
11#d e f i n e PORTC (∗( v o l a t i l e near unsigned char ∗) 0xF82 )
12#d e f i n e PORTD (∗( v o l a t i l e near unsigned char ∗) 0xF83 )
13#d e f i n e PORTE (∗( v o l a t i l e near unsigned char ∗) 0xF84 )
14
15#d e f i n e TRISA (∗( v o l a t i l e near unsigned char ∗) 0xF92 )
16#d e f i n e TRISB (∗( v o l a t i l e near unsigned char ∗) 0xF93 )
17#d e f i n e TRISC (∗( v o l a t i l e near unsigned char ∗) 0xF94 )
18#d e f i n e TRISD (∗( v o l a t i l e near unsigned char ∗) 0xF95 )
19#d e f i n e TRISE (∗( v o l a t i l e near unsigned char ∗) 0xF96 )
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 5 / 29
7. Programa¸c˜ao dos Perif´ericos
Configura¸c˜ao dos perif´ericos
Term. Descri¸c˜ao
Configurar
como
Fun¸c˜ao
4 RA2/AN2/VREF-/CVREF RA2 Display 2
7 RA5/AN4/SS/C2OUT RA5 Display 1
8 RE0/AN5/CK1SPP RE0 RS-LCD / Display 3
10 RE2/AN7/OESPP RE2 RW-LCD / Display 4
19 RD0/SPP0 RD0
Barramento de dados
para o LCD/7seg/Led
20 RD1/SPP1 RD1
21 RD2/SPP2 RD2
22 RD3/SPP3 RD3
27 RD4/SPP4 RD4
Barramento de dados
para o LCD / 7seg /
Led
28 RD5/SPP5/P1B RD5
29 RD6/SPP6/P1C RD6
30 RD7/SPP7/P1D RD7
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 7 / 29
8. Display de 7 segmentos
Display de 7 segmentos
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 8 / 29
9. Display de 7 segmentos
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 9 / 29
10. Display de 7 segmentos
Evolu¸c˜ao das v´alvulas nixie
Objetivo: reproduzir algarismos (n´umeros) ar´abicos
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Efeito colateral: reproduzir letras
mai´usculas: A, C, E, F, H, J, L, P, S, U, Z
min´usculas: a, b, c, d, h, i, n, o, r, t, u
Reprodu¸c˜ao de pequenas mensagens
Reprodu¸c˜ao de valores hexadecimal
digitos hex: A, b, C, d, E, F
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 10 / 29
11. Display de 7 segmentos
http://www.hobbyprojects.com/the diode/seven segment d
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 11 / 29
12. Display de 7 segmentos
A montagem dos algarismos ´e feita ligando ou desligando cada um
dos 7 segmentos.
Por exemplo o n´umero 2: ´e necess´ario ligar apenas os segmentos/leds
a, b, g, e, d.1
Para acender o led ´e necess´ario saber se o display ´e de catodo ou
anˆodo comum.
catodo comum: cada led ´e aceso com 0 volts
anˆodo comum: cada led ´e aceso com 5 volts
1
Imagine a estrutura gfedcba, onde cada bit ´e um segmento. O n´umero 2 ´e
representado por 0b1011011 ou 0x5B
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 12 / 29
14. Display de 7 segmentos
Aten¸c˜ao
Alguns displays possuem o ponto decimal embutido como no caso da
nossa placa. Para lig´a-lo ´e necess´ario setar o bit 7 (MSB) da vari´avel
PORTD, que est´a ligada diretamente ao display.
Cada segmento opera com um led que possue caracter´ısticas similares
aos leds discretos. Portanto cada um consome de 15 a 20 mA de
corrente. A liga¸c˜ao direta aos terminais do micro deve ser
acompanhada de um resistor de limita¸c˜ao de corrente.
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 14 / 29
15. Display de 7 segmentos
1void main ( void )
2{
3 // v e t o r que armazena a convers˜ao
4 // dos a l g a r i s m o s para o d i s p l a y 7 seg
5 const char conv [ ] = {0x3F , 0x06 , 0x5B , 0x4F ,
6 0x66 , 0x6D , 0x7D , 0x07 ,
7 0x7F , 0x6F , 0x77 , 0x7C ,
8 0x39 , 0x5E , 0x79 , 0x71 };
9 unsigned i n t var , time ;
10 TRISD = 0x00 ;
11 TRISA = 0x00 ;
12 PORTA = 0xFF ;
13 f o r ( var = 0; var < 16; var++)
14 {
15 // c ol o ca os c a r a c t e r e s em s eq uˆen cia na s a´ı d a
16 PORTD = conv [ var ] ;
17 // apenas para contar tempo
18 f o r ( time = 0; time < 65000; time++);
19 }
20}
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 15 / 29
16. Display de 7 segmentos
Multiplexa¸c˜ao de displays
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 16 / 29
17. Display de 7 segmentos
Multiplexa¸c˜ao dos displays
Multiplexar: Consiste em combinar diversos sinais num ´unico canal de
transmiss˜ao
Vantagens
Redu¸c˜ao de custos com cabeamento e tamanho de placa
Utiliza¸c˜ao de uma quantidade maior de dispositivos que sa´ıdas
dispon´ıveis
Desvantagens
Perda de tamanho de banda devido a efeitos de overhead
Discretiza¸c˜ao do tempo no acionamento dos dispositivos
Aumento da complexidade do sistema
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 17 / 29
18. Display de 7 segmentos
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 18 / 29
19. Display de 7 segmentos
Multiplexa¸c˜ao dos displays
Pelo esquema da liga¸c˜ao dos displays na placa de desenvolvimento
podemos notar que os segmentos semelhantes de cada um dos 4
displays est˜ao ligados a um mesmo terminal
Os displays podem ser ativados/desativados atrav´es das linhas de
comando que s˜ao operadas cada uma por um bit:
Disp1 - RA5
Disp2 - RA2
Disp3 - RE0
Disp4 - RE2
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 19 / 29
20. Display de 7 segmentos
Multiplexa¸c˜ao dos displays
N˜ao ´e poss´ıvel apresentar n´umeros diferentes de modo simultˆaneo
em cada um dos displays
A solu¸c˜ao ´e realizar uma multiplexa¸c˜ao temporal
´E ligado apenas um display de cada vez.
O tempo ligado deve ser suficiente para que as c´elulas oculares sejam
sensibilizadas (percep¸c˜ao retiniana)
A mudan¸ca deve ser r´apida o suficiente para evitar flicker
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 20 / 29
21. Display de 7 segmentos
Multiplexa¸c˜ao dos displays
Rotina para acionar displays de 7 segmentos multiplexados:
1 colocar no barramento de dados o valor a ser mostrado no display X
2 ligar o display X atrav´es da linha de comando
3 esperar um tempo adequado para evitar flicker
4 desligar o display
5 escolher o pr´oximo display (X+1)
6 voltar ao passo 1
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 21 / 29
22. Display de 7 segmentos
Cria¸c˜ao da biblioteca disp7seg
Fun¸c˜oes necess´arias para a cria¸c˜ao de uma biblioteca de acionamento de
um conjunto de displays de 7 segmentos multiplexados:
Inicializa¸c˜ao()
Configura os terminais de dados e de controle
MudaDigito()
Recebe um n´umero entre 0 e F e uma posi¸c˜ao
Armazena internamente os 4 n´umeros a serem exibidos
AtualizaDisplay() 2
Desliga o display atual, muda o n´umero e liga o pr´oximo display
2
N˜ao ´e recomendado que o tempo de exibi¸c˜ao seja feito dentro da fun¸c˜ao. Isto pode
atrapalhar em sistemas maiores, principalmente sistemas que possuem interrup¸c˜oes.
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 22 / 29
23. Display de 7 segmentos
Cria¸c˜ao da biblioteca disp7seg
Armazenamento de dados dentro de uma biblioteca
Usado sempre que for necess´ario passar valores entre fun¸c˜oes dentro
de um mesmo arquivo ou armazenar valores que n˜ao podem ser
perdidos ao longo da execu¸c˜ao do programa. Ex: o display que est´a
atualmente ligado
´E feito atrav´es de vari´aveis ”globais-locais”3
As vari´aveis devem possuir o atributo static
Usar sempre o menor tamanho poss´ıvel pois estas vari´aveis s˜ao
alocadas permanentemente, reduzindo a mem´oria RAM dispon´ıvel.
Devem ser inicializadas dentro da fun¸c˜ao principal da biblioteca
3
Global dentro do escopo da biblioteca, local pois n˜ao pode ser acessada fora do
arquivo
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 23 / 29
24. Display de 7 segmentos
Cria¸c˜ao da biblioteca disp7seg
1#i n c l u d e "disp7seg.h"
2// v e t o r para armazenar a convers˜ao do d i s p l a y
3 s t a t i c const char valor [ ] = {0x3F , 0x06 , 0x5B , 0x4F , 0x66 , 0x6D ,
4 0x7D , 0x07 , 0x7F , 0x6F , 0x77 , 0x7C , 0x39 , 0x5E , 0x79 , 0x71 };
5 s t a t i c char display ; // armazena qual ´e o d i s p l a y d i s p o n´ı v e l
6 s t a t i c char v0 , v1 , v2 , v3 ; // armazena o v a l o r a s e r enviado ao ←
d i s p l a y
7void MudaDigito ( char val , char pos ) {
8 i f ( pos == 0) {
9 v0 = val ;
10 }
11 i f ( pos == 1) {
12 v1 = val ;
13 }
14 i f ( pos == 2) {
15 v2 = val ;
16 }
17 i f ( pos == 3) {
18 v3 = val ;
19 }
20}
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 24 / 29
25. Display de 7 segmentos
Cria¸c˜ao da biblioteca disp7seg
1void InicializaDisplays ( void )
2{
3 // c o n f i g u r a ¸c˜a o dos pinos de c o n t r o l e
4 BitClr ( TRISA , 2 ) ;
5 BitClr ( TRISA , 5 ) ;
6 BitClr ( TRISE , 0 ) ;
7 BitClr ( TRISE , 2 ) ;
8 // i n i c i a l i z a ¸c ˜a o das v a r i ´a v e i s
9 v0 = 0;
10 v1 = 0;
11 v2 = 0;
12 v3 = 0;
13 disp = 0;
14 // apenas AN0 ´e a n a l ´o g i c o
15 ADCON1 = 0b00001110 ;
16 // Porta de dados
17 TRISD = 0b00000000 ;
18}
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 25 / 29
26. Display de 7 segmentos
Cria¸c˜ao da biblioteca disp7seg
1void AtualizaDisplay ( void ) {
2 PORTA = 0x00 ; // d e s l i g a todos os d i s p l a y s
3 PORTE = 0x00 ;
4 PORTD = 0x00 ; // d e s l i g a todos os l e d s
5 switch ( display ) { // l i g a apenas o d i s p l a y da vez
6 case 0:
7 PORTD = valor [ v0 ] ; BitSet ( PORTA , 5 ) ; display = 1;
8 break ;
9 case 1:
10 PORTD = valor [ v1 ] ; BitSet ( PORTA , 2 ) ; display = 2;
11 break ;
12 case 2:
13 PORTD = valor [ v2 ] ; BitSet ( PORTE , 0 ) ; display = 3;
14 break ;
15 case 3:
16 PORTD = valor [ v3 ] ; BitSet ( PORTE , 2 ) ; display = 0;
17 break ;
18 d e f a u l t :
19 display = 0;
20 break ;
21 }
22} ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 26 / 29
27. Display de 7 segmentos
Cria¸c˜ao da biblioteca disp7seg
Header4
1#i f n d e f DISP7SEG H
2 #define DISP7SEG_H
3 void MudaDigito ( char val , char pos ) ;
4 void AtualizaDisplay ( void ) ;
5 void InicializaDisplays ( void ) ;
6#e n d i f
4 ´E interessante notar que as vari´aveis foram declaradas apenas no arquivo .c,
portanto n˜ao s˜ao acess´ıveis fora do disp7seg.c. A ´unica maneira de mudar o valor delas
´e atrav´es da fun¸c˜ao MudaDigito() e AtualizaDisplay().
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 27 / 29
28. Display de 7 segmentos
Utiliza¸c˜ao da biblioteca disp7seg
Utiliza¸c˜ao da biblioteca
A fun¸c˜ao AtualizaDisplay() deve ser chamada em intervalos regulares
dentro do programa principal
Ela deve ser repetida indefinidamente at´e o termino da execu¸c˜ao do
programa
1// i n i c i o do programa
2void main ( void )
3{
4 // d e c l a r a ¸c˜a o de v a r i ´a v e i s
5 // execu¸c˜ao do c´odigo
6 //mudan¸ca dos v a l o r e s dos d i s p l a y s
7 f o r ( ; ; ) // loop i n f i n i t o
8 {
9 // a t u a l i z a ¸c ˜a o do d i s p l a y
10 }
11}
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 28 / 29
29. Display de 7 segmentos
Utiliza¸c˜ao da biblioteca disp7seg
1// programa exemplo de u t i l i z a ¸c ˜a o da b i b l i o t e c a d i s p 7 s e g
2#i n c l u d e "basico.h"
3#i n c l u d e "config.h"
4#i n c l u d e "disp7seg.h"
5
6// i n i c i o do programa
7void main ( void )
8{
9 unsigned i n t tempo ;
10 InicializaDisplays () ;
11 MudaDigito (0 ,0) ;
12 MudaDigito (1 ,1) ;
13 MudaDigito (2 ,2) ;
14 MudaDigito (3 ,3) ;
15 f o r ( ; ; )
16 {
17 AtualizaDisplay () ;
18 // gasta um tempo para e v i t a r o e f e i t o f l i c k e r
19 f o r ( tempo =0;tempo <1000; tempo++);
20 }
21}
ELT024 Display de 7 segmentos rodrigomax@unifei.edu.br 29 / 29