Sistemas Embebidos I Semestre de Verão de 2012/2013 Sexta atividade prática

Tamanho: px
Começar a partir da página:

Download "Sistemas Embebidos I Semestre de Verão de 2012/2013 Sexta atividade prática"

Transcrição

1 1. Protocolo SPI Sistemas Embebidos I Semestre de Verão de 2012/2013 Sexta atividade prática Considere a implementação do protocolo SPI, pelo processo bit-bang, estudada em aula. Utilize o programa seguinte para teste e estudo do protocolo. #include <string.h> #include "spi.h" #include "lpc2106.h" #define CS_PIN 9 static void cs_init() { uint32_t iodir = GPIO->IODIR; GPIO->IODIR = 1 << CS_PIN; static void cs_set(int value) { if (value) GPIO->IOCLR = 1 << CS_PIN; else GPIO->IOSET = 1 << CS_PIN; Spi_device device = { 10, /* frequência de SCLK */ 0, /* CPHA */ 0, /* CPOL */ 9, /* numero de bits por palavra */ 0, /* LSBF */ cs_set ; int main() { lpc2106_clock_init(); cs_init(); spi_init(); while (1) { uint8_t output_buffer[2] = {0x1E, 0x1; uint8_t input_buffer[sizeof(output_buffer)]; spi_transaction_begin(&device); spi_transaction_transfer(&device, 1, output_buffer, input_buffer); spi_transaction_end(&device); Com um osciloscópio, observe os sinais MOSI e SCLK e confira com o programa. Se ligar o sinal MOSI ao sinal MISO irá receber em input_buffer aquilo que tiver enviado em output_buffer. 2. Display gráfico Nokia 6610 A documentação da placa MOD-LCD6610 está disponível no site da Olimex SE2 - primeira actividade prática - SPI e Ethernet 1

2 A informação aí disponível e necessária para esta atividade prática encontra-se também no Thoth. Esquema Controlador EPSON S1D15G00 MI1D/resources/914. Desenhe um esquema de ligações da placa MOD-LCD6610 ao LPC2106. Além da alimentação e dos sinais de comunicação SPI, ligue também o sinal de reset (LCD_RST) e o de controlo do backlight (LCD_BL). Proceda às ligações e comece por experimentar o controlo de backlight. static void lcd_io_init() { /* direcionar os pinos de CS, RESET E BACKLIGHT para o GPIO */ uint32_t pinsel = PINSEL0; PINSEL0 = pinsel & ~(3 << CS_PIN * 2) & ~(3 << BACKLIGHT_PIN * 2) & ~(3 << RESET_PIN * 2); /* desactivar os sinais; são todos active low */ GPIO->IOSET = 1 << CS_PIN 1 << BACKLIGHT_PIN 1 << RESET_PIN; /* e programá-los como saídas */ uint32_t iodir = GPIO->IODIR; GPIO->IODIR = iodir 1 << CS_PIN 1 << BACKLIGHT_PIN 1 << RESET_PIN; void lcd_backlight(int on) { if (on) GPIO->IOSET = 1 << BACKLIGHT_PIN; else GPIO->IOCLR = 1 << BACKLIGHT_PIN; A comunicação com o controlador S1D15G00 faz-se por uma interface série compatível com SPI, em modo 0, com palavras de 9 bits. No controlador SPI, integrado no microcontrolador LPC2106, na versão 00, o número de bits de dados é fixo em 8. A solução viável para comunicar com o controlador é usar a implementação SPI desenvolvida no ponto anterior. Spi_device spi_device = { 10, /* Frequência do sinal SCLK */ 0, /* CPHA */ 0, /* CPOL */ 9, /* numero de bits por palavra */ 0, /* LSBF */ cs_set ; As comunicações com o controlador são organizadas em sequências formadas por uma palavra de comando seguida de zero ou mais palavras de dados. O bits de maior peso define o tipo de palavra: a um indica palavra de dados e a zero indica palavra de comando. Os restantes 8 bits identificam o comando ou transportam os parâmetros do comando. static inline void write_command(uint8_t command) { uint16_t out_buffer[] = {~0x100 & command; uint16_t in_buffer[sizeof(out_buffer)]; SE2 - primeira actividade prática - SPI e Ethernet 2

3 spi_transaction_transfer(spi, sizeof_array(out_buffer), (uint8_t*)out_buffer, (uint8_t*)in_buffer); static inline void write_data(uint8_t data) { uint16_t out_buffer[] = {0x100 data; uint16_t in_buffer[sizeof(out_buffer)]; spi_transaction_transfer(spi, sizeof_array(out_buffer), (uint8_t*)out_buffer, (uint8_t*)in_buffer); Para iniciar o controlador do LCD aplica-se a sequência de comandos recomendada no ponto , página 54 do manual. write_command(disctl); /* Display control */ write_data(0x00); /* P1=0x00-2 divisions, switching period=8 (default)*/ write_data(32); /* P2=nlines/4-1 = 132/4-1 = 32) */ write_data(00); /* P3=0x00 - no inversely highlighted lines */ write_command(comscn); /* COM scan */ write_data(1); /* P1=0x01 - Scan 1->80, 160<-81 */ write_command(oscon); /* Internal oscilator ON */ write_command(slpout); /* sleep out */ write_command(volctr); /* Voltage control (contrast setting) */ write_data(contrast); /* P1 = 32 */ write_data(3); /* P2 = 3 resistance ratio (only value that works) */ write_command(pwrctr); /* Power control */ write_data(0x0f); /* reference voltage regulator on, circuit voltage follower on, BOOST ON */ write_command(datctl); /* Data control */ write_data(0x00); /* P1=0x00 - page address normal, column address normal, address scan in column direction */ write_data(0x00); /* P2=0x00 - RGB sequence (default value) */ write_data(0x02); /* P3=0x02-Grayscale->16 (select 12-bit color, type A)*/ write_command(dison); /* Display on */ Os comandos CASET e PASET do controlador permitem o endereçamento à memória de vídeo através das coordenadas gráficas. Com estes comandos é possível definir uma área de intervenção retangular em qualquer posição e com qualquer dimensão. Depois de definida a zona de memória a intervir descarregam-se, sequencialmente, os dados necessários. O controlador ajusta automaticamente os endereços da memória de vídeo, à medida que os dados vão sendo transferidos. Todas as funções básicas de desenho como, o desenho de pixel, o desenho de linhas horizontais e verticais e o preenchimento de áreas retangulares são baseadas nos comandos CASET e PASET. Na memória de vídeo cada componente de cor ocupa 4 bits, o que corresponde 1,5 byte por pixel. A transferência de dados para a memória é feita bytes-a-byte em que cada byte transporta duas componentes de cor. As transferências devem ser feitas em grupos de três bytes. O primeiro byte transporta as componentes R e G do primeiro pixel, o segundo byte a componentes B do primeiro pixel e a componente R do segundo pixel e o terceiro byte as componentes G e B do segundo pixel. Mesmo nas situações em que o número de pixeis é ímpar é necessário escrever um número de bytes múltiplo de três SE2 - primeira actividade prática - SPI e Ethernet 3

4 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 R R R R G G G G B B B B R R R R G G G G B B B B R R R R G G G G B B B B Primeiro pixel Segundo pixel Terceiro pixel void lcd_draw_point(int x, int y, int color) { /* Column address set (command 0x2A) */ /* Page address set (command 0x2B) */ /* write memory */ write_data((color << 4) & 0xf0); write_data(0); void lcd_draw_hor_line(int x, int y, int dx, int color) { write_data(x + dx - 1); for (i = (dx + 1) / 2; i > 0; --i) { write_data(((color << 4) & 0xf0) ((color >> 8) & 0xf)); write_data(color); void lcd_draw_ver_line(int x, int y, int dy, int color) { write_data(y + dy - 1); for (i = (dy + 1) / 2; i > 0; --i) { write_data(((color << 4) & 0xf0) ((color >> 8) & 0xf)); write_data(color); void lcd_fill_rectangle(int x, int y, int dx, int dy, int color) { SE2 - primeira actividade prática - SPI e Ethernet 4

5 write_data(x + dx - 1); write_data(y + dy - 1); for (i = (dx * dy + 1) / 2 + 1; i > 0; --i) { write_data(((color << 4) & 0xf0) ((color >> 8) & 0xf)); write_data(color); void lcd_copy_rectangle(int x, int y, int dx, int dy, uint8_t * bitmap) { write_data(x + dx - 1); write_data(y + dy - 1); for (i = (dx * dy + 1) / 2 + 1; i > 0; --i) { write_data(*bitmap++); Para teste sugere-se a utilização do seguinte programa: #include <string.h> #include "lpc2106.h" #include "spi.h" #include "lcd.h" #include "button.h" enum Color { WHITE = 0xFFF, BLACK = 0x000, RED = 0xF00, GREEN = 0x0F0, BLUE = 0x00F, CYAN = 0x0FF, MAGENTA = 0xF0F, YELLOW = 0xFF0, BROWN = 0xB22, ORANGE = 0xFA0, PINK = 0xF6A ; int main() { lpc2106_clock_init(); counter_init(); spi_init(); lcd_init(); lcd_backlight(1); // lcd_blank(); lcd_fill_rectangle(0, 0, 132, 132, WHITE); lcd_draw_hor_line(0, 1, 132, BLACK); lcd_draw_hor_line(0, 3, 132, BLACK); lcd_draw_hor_line(0, 5, 132, BLACK); lcd_draw_hor_line(0, 7, 132, BLACK); lcd_draw_ver_line(1, 0, 132, BLACK); lcd_draw_ver_line(3, 0, 132, BLACK); lcd_draw_ver_line(5, 0, 132, BLACK); lcd_draw_ver_line(7, 0, 132, BLACK); lcd_draw_hor_line(0, 124, 132, BLACK); lcd_draw_hor_line(0, 126, 132, BLACK); lcd_draw_hor_line(0, 128, 132, BLACK); lcd_draw_hor_line(0, 130, 132, BLACK); lcd_draw_ver_line(124, 0, 132, BLACK); lcd_draw_ver_line(126, 0, 132, BLACK); SE2 - primeira actividade prática - SPI e Ethernet 5

6 lcd_draw_ver_line(128, 0, 132, BLACK); lcd_draw_ver_line(130, 0, 132, BLACK); lcd_fill_rectangle(10, 10, 112, 112, RED); button_init(); while (1) { if (button_pressed()) { char button = button_read(); if (button == 'U') lcd_inc_contrast(); else if (button == 'D') lcd_dec_contrast(); return 0; SE2 - primeira actividade prática - SPI e Ethernet 6

Sistemas Embebidos II Semestre de Verão de 2012/2013 Segunda atividade prática

Sistemas Embebidos II Semestre de Verão de 2012/2013 Segunda atividade prática SPI Sistemas Embebidos II Semestre de Verão de 2012/2013 Segunda atividade prática ecos - Ethernet Device Driver Configurar a biblioteca ecos com o driver SPI. A configuração por omissão não inclui este

Leia mais

Transmitter MISO MOSI SCLK

Transmitter MISO MOSI SCLK Protocolo SPI O protocolo SPI (Serial Peripheral Interface bus) foi definido pela Motorola e é utilizado para ligar o processador a periféricos no âmbito de uma placa eletrónica. Cobre o mesmo campo de

Leia mais

O protocolo SPI. 1 - Introdução. 2 Ligação física

O protocolo SPI. 1 - Introdução. 2 Ligação física O protocolo SPI 1 - Introdução O protocolo SPI ( Serial Peripheral Interface ) é um protocolo síncrono de alta velocidade utilizado na comunicação de circuitos integrados. Atualmente existem conversores

Leia mais

Existem três formas básicas de efectuar operações de entrada/saída:

Existem três formas básicas de efectuar operações de entrada/saída: Unidades de I/O Interface Entrada/Saída Existem três formas básicas de efectuar operações de entrada/saída entrada/saída isoladaas instruções IN e OUT transferem dados entre o registo AX ou a memória e

Leia mais

EL08D - MICROCONTROLADORES

EL08D - MICROCONTROLADORES Teclado Matricial Curso Técnico de Nível Médio Integrado Eletrônica - 8o Período Disciplina de Microcontroladores 2 (EL08D) 1º Sem 2016 Professor Gabriel Kovalhuk Email: kovalhuk@utfpr.edu.br Página pessoal:

Leia mais

LINGUAGEM C PARA O 8051

LINGUAGEM C PARA O 8051 LINGUAGEM C PARA O 8051 Disciplina de Microcontroladores Prof. Ronnier e Rubão VARIÁVEIS E TIPOS DE DADOS SIMPLES Char 8 bits Short e int 16 bits Long 32 bits Float 32 bits Unsigned int 16 bits Unsigned

Leia mais

LINGUAGEM C PARA O 8051

LINGUAGEM C PARA O 8051 LINGUAGEM C PARA O 8051 Disciplina de Microcontroladores Prof. Rubão VARIÁVEIS E TIPOS DE DADOS SIMPLES Char 8 bits Short e int 16 bits Long 32 bits Float 32 bits Unsigned int 16 bits Unsigned long 32

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Por Fernando Koyanagi

Por Fernando Koyanagi Por Fernando Koyanagi Objetivo Faremos um termômetro digital utilizando um NodeMCU Esp8266, um display OLED e um sensor de umidade e temperatura AM2302 DHT22. No display mostraremos a temperatura e a umidade

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Roteiro de Laboratório 8 Serial Peripheral Interface (SPI) Prof. Walter Fetter Lages 21 de outubro de 2015

Roteiro de Laboratório 8 Serial Peripheral Interface (SPI) Prof. Walter Fetter Lages 21 de outubro de 2015 Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia Curso de Extensão Semana Acadêmica 2015 Engenharia de Controle e Automação 1 Objetivo

Leia mais

Por Fernando Koyanagi. ESP32 + chip SX1276

Por Fernando Koyanagi. ESP32 + chip SX1276 Por Fernando Koyanagi ESP32 + chip SX1276 Consumo Protocolo LoRaWAN LoRaWAN é uma especificação de protocolo construída em cima da tecnologia LoRa desenvolvida pela Aliança LoRa. Ele usa espectro radioelétrico

Leia mais

Usando display LCD tipo 16x2

Usando display LCD tipo 16x2 Prática 4: 4.1 Introdução e objetivos Usando display LCD tipo 16x2 Frequentemente, o PIC recebe algum tipo de dado e faz algum tipo de tratamento neste dado (segundo sua programação) e depois deve exibi-lo

Leia mais

Memórias. EL68E Sistemas Embarcados. Tecnologias de Memórias. Conceitos. Profs. Douglas Renaux e Hugo Vieira Neto

Memórias. EL68E Sistemas Embarcados. Tecnologias de Memórias. Conceitos. Profs. Douglas Renaux e Hugo Vieira Neto EL68E Sistemas Embarcados Profs. Douglas Renaux e Hugo Vieira Neto Memórias Tecnologias de Memórias Voláteis x Não-Voláteis Estáticas x Dinâmicas Tipos: ROM PROM EPROM Flash SRAM SDRAM DDR Conceitos Organização

Leia mais

Por Fernando Koyanagi

Por Fernando Koyanagi Por Fernando Koyanagi Intenção dessa aula 1. Introdução ao ESP-NOW. 1. Fazer vários ESP32 se comunicarem através do protocolo ESP-NOW 1. Um ESP32 irá fazer a leitura dos pinos e transmitir seus valores

Leia mais

2a Prova de ELT024 Programação para Sistemas Embarcados Prof. Rodrigo Maximiano Antunes de Almeida

2a Prova de ELT024 Programação para Sistemas Embarcados Prof. Rodrigo Maximiano Antunes de Almeida UNIFEI Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI 2a Prova de ELT024 Programação para Sistemas Embarcados Prof. Rodrigo Maximiano Antunes de Almeida

Leia mais

CAPÍTULO 5. Interfaces I 2 C e SPI. Interface I 2 C. Interfaces e Periféricos 37

CAPÍTULO 5. Interfaces I 2 C e SPI. Interface I 2 C. Interfaces e Periféricos 37 Interfaces e Periféricos 37 CAPÍTULO 5 Interfaces I 2 C e SPI Interface I 2 C Nos anos 80 a Philips desenvolveu um novo padrão de barramento chamado I²C, cujo objetivo era facilitar a comunicação entre

Leia mais

MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110

MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110 MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110 Imagem do Display Neste Lab trataremos da rotina de implementação de um código para comunicação entre o MSP430 e um display gráfico.

Leia mais

Módulo de Cristal Líquido LCD

Módulo de Cristal Líquido LCD Módulo de Cristal Líquido LCD 1 Introdução Os módulos LCD são interfaces de saída muito utilizadas em sistemas microprocessados e microcontrolados. Estes módulos podem ser gráficos e alfanuméricos. Os

Leia mais

Bravas shield sample app 2017

Bravas shield sample app 2017 Funcionamento A aplicação exemplo executa a leitura de duas entradas digitais da Shield Bravas e escreve nas saídas a relé da seguinte forma: Entrada digital 1 ativa: Reles são acionados, um a um, do relé

Leia mais

LCDs Inteligentes. LCD Inteligente. Gabriel Kovalhuk DAELN / UTFPR

LCDs Inteligentes. LCD Inteligente. Gabriel Kovalhuk DAELN / UTFPR LCD Inteligente LCD Display de Cristal Líquido; Dispositivo de saída, usado para mostrar informações do sistema; Os LCDs inteligentes possuem um controlador, que recebe as informações do sistema, processa

Leia mais

Interfaces Seriais. Disciplina de Microcontroladores. Prof. Rubão

Interfaces Seriais. Disciplina de Microcontroladores. Prof. Rubão Interfaces Seriais Disciplina de Microcontroladores Prof. Rubão Interfaces Seriais de Aplicação Industrial I 2 C (Inter Integrated Circuit) Microwire SPI (Serial Peripheral Interface) 1-Wire I 2 C Primeira

Leia mais

Prof. Dr. Rafael Traldi Moura Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos

Prof. Dr. Rafael Traldi Moura Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos Protocolos de Comunicação Prof. Dr. Rafael Traldi Moura 1 Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos Mecatrônica 2 Objetivo Para se evitar

Leia mais

UART vs SPI para comunicação Arduino- Arduino

UART vs SPI para comunicação Arduino- Arduino UART vs SPI para comunicação Arduino- Arduino Resumo Comparação entre UART e SPI para comunicação entre Arduino Mega 2560 e Arduino Uno em curtas distâncias Gabriel Yoshiaki Hotta Sumário 1 Introdução...

Leia mais

Usando Display Gráfico com C18 e C30

Usando Display Gráfico com C18 e C30 Usando Display Gráfico com C18 e C30 Elaborado por: Revisado por: Tiago Coelho Magalhães Marcelo M. M. do Couto José Domingos Adriano Todos os documentos aqui referidos neste material encontram-se na pasta

Leia mais

Por Fernando Koyanagi 1

Por Fernando Koyanagi 1 Por Fernando Koyanagi 1 Objetivo Nosso objetivo será criar um programa, no qual poderemos tanto fazer a leitura de um cartão (ou tag) RFID como gravar os dados nele. Utilizaremos um WiFi NodeMCU-32S e

Leia mais

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 10 Inter Integrated

Leia mais

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 8 Serial Peripheral

Leia mais

Bravas shield light sample app 2017

Bravas shield light sample app 2017 Funcionamento A aplicação exemplo executa a leitura de duas entradas digitais da Shield Bravas e escreve nas saídas a relé da seguinte forma: Entrada digital 1 ativa: Reles 1 acionado. Entrada digital

Leia mais

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda

Leia mais

Introdução à Disciplina de. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Introdução à Disciplina de. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Introdução à Disciplina de Estruturas de Dados Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2019 Software = Lógica + Dados Software Niklaus Wirth (1989). Lógica

Leia mais

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255 Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 Como discutido ao longo do livro, o 8031 deixa 8 bits para controle genérico de dispositivos. Em situações nas quais se necessita um

Leia mais

EL68E Sistemas Embarcados Prof. Douglas RENAUX

EL68E Sistemas Embarcados Prof. Douglas RENAUX EL68E Sistemas Embarcados Prof. Douglas RENAUX Memórias Tecnologias de Memórias Voláteis x Não-Voláteis Estáticas x Dinâmicas Tipos: ROM PROM EPROM Flash SRAM SDRAM DDR Conceitos Organização externa x

Leia mais

Revisão Linguagem C Parte 1

Revisão Linguagem C Parte 1 Revisão Linguagem C Parte 1 Comentários: Os comentários aparecem em verde e podem iniciados com /* e encerrados com */ quando utilizase várias linhas ou coloca-se // quando forem colocados em apenas uma

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

ESTV-ESI-Arquitecturas de Computador-Trabalho Prático Nº7-1/6

ESTV-ESI-Arquitecturas de Computador-Trabalho Prático Nº7-1/6 ESTV-ESI-Arquitecturas de Computador-Trabalho Prático Nº7-1/6 Trabalho Prático Nº 7 Instruções 8086: MOVSB,MOVSW,STOSB,STOSW (utilização do prefixo REP) Acesso à memória vídeo Chamadas à BIOS - Consulte

Leia mais

Trabalho Prático Nº3 Porta Paralela

Trabalho Prático Nº3 Porta Paralela Trabalho Prático Nº3 Porta Paralela 1. OBJECTIVOS - Utilização da porta paralela como porto genérico de Entrada e Saída. 2. INTRODUÇÃO A porta paralela é um meio frequentemente utilizado para efectuar

Leia mais

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores

Leia mais

SICILIANO TECNOLOGIA

SICILIANO TECNOLOGIA SICILIANO TECNOLOGIA Desenvolvimento de Projetos e Soluções www.sicilianotecnologia.com.br Manual da Placa Gravador AT89C51ED2-LP-RE2 - VER 1.0 Características: - Totalmente compatível com 8051; - Fácil

Leia mais

Suporte de funcionamento e interacção com o teclado

Suporte de funcionamento e interacção com o teclado Suporte de funcionamento e interacção com o teclado Autor: André Amaral Costa (nº 7578) Curso: Universidade de Aveiro Data: 6 de Dezembro de 006 Disciplina: Docente: Valery Sklyarov Introdução Neste trabalho

Leia mais

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Neste Lab iremos descrever a implementação de um sistema para testar antigas memórias RAM, estática, modelo HM6116LP-4 que ainda são utilizadas

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 23ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação Características

Leia mais

Projeto Final de Microcontroladores 2 Alarme de Temperatura

Projeto Final de Microcontroladores 2 Alarme de Temperatura Projeto Final de Microcontroladores 2 Alarme de Temperatura Aline Romanini 145157 Marlon Felipe 121207 Osvaldo Torezan 147558 Novembro de 2016 Conteúdo 1. Placa de Desenvolvimento Freescale KL25Z... 3

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss

Pedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss Programação Funcional 11 a Aula Gráficos usando Gloss Pedro Vasconcelos DCC/FCUP 2014 A biblioteca Gloss Para fazer desenhos, animações, simulações e jogos 2D; Simples: pensada para ensino de programação;

Leia mais

Programação em C Aplicações de Microprocessadores 2006/2007

Programação em C Aplicações de Microprocessadores 2006/2007 Programação em C 8051 Aplicações de Microprocessadores 2006/2007 Linguagem C Utilizar os mecanismos da linguagem C Estrutura do C Controlo de programa ciclos Sintaxe do C Necessário utilizar livraria especifica

Leia mais

Projecto de Sistemas Digitais. Trabalho Prático 1

Projecto de Sistemas Digitais. Trabalho Prático 1 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/07 2 o semestre Projecto de Sistemas Digitais Trabalho Prático 1 Modelação e simulação de uma interface de dados Objectivo Modelação

Leia mais

Victor Vision LTDA. Tutorial sobre criação e utilização de fontes no DGUS

Victor Vision LTDA. Tutorial sobre criação e utilização de fontes no DGUS Tutorial sobre criação e utilização de fontes no DGUS Versão 1 10/09/2014 Criação de fontes para o DGUS Introdução Para criar as fontes personalizadas, é utilizado o software Font Generator, que pode ser

Leia mais

09 Unidade de controlo. v0.1

09 Unidade de controlo. v0.1 09 Unidade de controlo v0.1 Introdução Um micro-processador pode consistir apenas em alguns elementos: ALU Registers Lógica de controlo (ou unidade de controlo) 18 December 2014 Sistemas Digitais 2 Lógica

Leia mais

Introdução a Engenharia Elétrica

Introdução a Engenharia Elétrica Introdução a Engenharia Elétrica -323100 Aula S12 Comunicação serial, Display LCD Escola Politécnica da Universidade de São Paulo Departamentos da Engenharia Elétrica PCS Computação e Sistemas Digitais

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

ALOCAÇÃO DINÂMICA DE MEMÓRIA

ALOCAÇÃO DINÂMICA DE MEMÓRIA INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador

Leia mais

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres

Leia mais

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira x86 Data types In C: char short int/long double/long long 2 O stack O stack cresce em direção a endereços de memória menores Instruções fundamentais: push, pop 0xFF90 0xA331 0xFF8E 0xFF8C 0xFF8A 0x4712

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Por Fernando Koyanagi 1

Por Fernando Koyanagi 1 Por Fernando Koyanagi 1 Intenção dessa aula 1. Mudança de frequência 2. Demonstrar um programa que modifica a frequência 3. Protocolo LoRaWan 4. Rádio Lora 5. Criptografia LoRaWan Objetivo Nosso objetivo

Leia mais

Microcontroladores PIC. Operação com Displays de Cristal Líquido LCDs

Microcontroladores PIC. Operação com Displays de Cristal Líquido LCDs Microcontroladores PIC Operação com Displays de Cristal Líquido LCDs 1 Sumário Características dos módulos LCDs Tipos de LCDs Informações Comuns aos LCDs Conexão de LCDs com MCUs Programação de LCDs Exemplo

Leia mais

Guia da Placa de desenvolvimento PD Mega16 N1

Guia da Placa de desenvolvimento PD Mega16 N1 Guia da Placa de desenvolvimento PD Mega16 N1 Este tutorial consiste mostrar detalhes de hardware da placa de desenvolvimento PD Mega16 N1, necessário para iniciar a programação e testes. Boa aprendizagem...

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores. Temporizadores e Interrupção, AD/DA, Display, Integração com MatLab

PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores. Temporizadores e Interrupção, AD/DA, Display, Integração com MatLab PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores Temporizadores e Interrupção, AD/DA, Display, Integração com MatLab Escola Politécnica da Universidade de São Paulo Prof. Gustavo

Leia mais

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade. 222222222222222222222222222 8 - FUNÇÕES 81 - Características básicas É um trecho independente de código, com objetivos bem definidos Programas em C, geralmente consistem em várias pequenas funções, ao

Leia mais

controle para pixels e fitas de LED digitais

controle para pixels e fitas de LED digitais Manual Placa DMX WS281x, controle para pixels e fitas de LED digitais 2015 Lumikit Sistemas para Iluminação rev.0 31/01/2015 Lumikit Sistemas para Iluminação www.lumikit.com.br 1 SUMÁRIO 1. INTRODUÇÃO...

Leia mais

Inicialmente a IBM (1981) disponibilizou uma porta paralela para ligação a impressoras (lentas)

Inicialmente a IBM (1981) disponibilizou uma porta paralela para ligação a impressoras (lentas) Inicialmente a IBM (1981) disponibilizou uma porta paralela para ligação a impressoras (lentas) Certos fabricantes introduziram novos modos (mais rápidos e bidireccionais). Esses fabricantes pediram ao

Leia mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos de controle de redução de potência de operação do chip.

Leia mais

PROJETOS DE TÓPICOS ESPECIAIS 2º SEMESTRE 2015 Professor Dr. Amauri Amorin Assef. Iniciar enviando os caracteres para escrever UTFPR na tela do PC:

PROJETOS DE TÓPICOS ESPECIAIS 2º SEMESTRE 2015 Professor Dr. Amauri Amorin Assef. Iniciar enviando os caracteres para escrever UTFPR na tela do PC: 1 PROJETOS DE TÓPICOS ESPECIAIS 2º SEMESTRE 2015 Professor Dr. Amauri Amorin Assef 1) Controlador PWM com frequência ajustável entre 20 khz e 50 khz (passo de 5 khz), razão cíclica entre 0 e 100% (passo

Leia mais

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial Periféricos Integrados do 8051 Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial Periféricos Integrados do 8051 Portas de entrada e saída O 8051

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Pipes Redirecionamento de entrada e saída 4/19/18 1 O Pipe: Características (1) Canal de comunicação entre processos parentes, usando a politica First-In-First-Out (FIFO) Tipicamente,

Leia mais

Interrupções Externas

Interrupções Externas Interrupções Externas Dois acontecimentos podem gerar o pedido de interrupção: Transição 1 0 Nível 0 A fonte destes acontecimentos é aplicada a um dos pinos INT0 e INT1. Logo que se faça a activação das

Leia mais

MsC. João Maria MsC. Liviane Melo

MsC. João Maria MsC. Liviane Melo Disciplina: Programação Orientada à Objetos AULA 02 Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo 2 Tipo Tamanho Alcance

Leia mais

Memórias Semicondutoras

Memórias Semicondutoras Memórias Semicondutoras Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução

Leia mais

RESUMO DE CONCEITOS BÁSICOS DE C

RESUMO DE CONCEITOS BÁSICOS DE C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação RESUMO DE CONCEITOS BÁSICOS DE C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010

Leia mais

Entrada e saída do ARC Prof. Luís Caldas Aula 08 pág.125 a 126

Entrada e saída do ARC Prof. Luís Caldas Aula 08 pág.125 a 126 8. Entrada e saída da arquitetura ARC Nos microcontroladores o sistema de entrada e saída de dados são ditos isolados da memória principal e acessado por instruções IN e OUT, onde o acumulador serve como

Leia mais

Por Fernando Koyanagi 1

Por Fernando Koyanagi 1 Por Fernando Koyanagi 1 Objetivo Nosso objetivo será criar um projeto no qual teremos dois ESP32 Lora se comunicando, um (EMISSOR) ligado ao sensor de barreira infravermelho e outro (RECEPTOR) ligado á

Leia mais

CG com OpenGL. Paulo Gandra de Sousa Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto

CG com OpenGL. Paulo Gandra de Sousa Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto CG com OpenGL Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Conteúdo O que é? Exemplos API do OpenGL demos Desenho, iluminação,

Leia mais

Exemplos de Programas em C para o 8051 para o compilador crossware EEL Prof. Raimes Moraes

Exemplos de Programas em C para o 8051 para o compilador crossware EEL Prof. Raimes Moraes Exemplos de Programas em C para o 8051 para o compilador crossware EEL7030 - Prof. Raimes Moraes /* HELLO.C Programa Exemplo No 1 - Ilustra programa para a escrita de dados na porta serial #include

Leia mais

KIT DE DESENVOLVIMENTO 8051 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR. Rui Marcelino (Nov. 2005)

KIT DE DESENVOLVIMENTO 8051 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR. Rui Marcelino (Nov. 2005) KIT DE DESENVOLVIMENTO 805 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR Rui Marcelino (Nov. 2005) ÍNDICE Introdução 3 2 Características do Kit 3 3 Mapa de memória 4 3. Memória de Programa 4 3.2 Memória de

Leia mais

Diagramas Sintáticos

Diagramas Sintáticos Diagramas Sintáticos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Cada classe X pública é declarada num ficheiro

Leia mais

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia de Electrónica e Telecomunicações

Leia mais

Cerne Tecnologia e Treinamento

Cerne Tecnologia e Treinamento Cerne Tecnologia e Treinamento Tutorial de Instalação da Placa X-Control I E-mail: Sumário Configurando o PC 3 Conectando a Placa 6 Conectores e Pinagem da Placa 7 Comandos para comunicação 13 2 Obs: A

Leia mais

Microcontroladores: Programação em C

Microcontroladores: Programação em C Aula 06 Microcontroladores: Programação em C Prof. Tecgº Flávio Murilo 02/04/2013 1 Microcontroladores PIC São fabricados pela Microchip Technology. PIC significa Programmabile Intelligent Computer, ou

Leia mais

Projeto para interligação do Teclado Matricial 4X3 o módulo PIC PCI-208 Princípio de Funcionamento:

Projeto para interligação do Teclado Matricial 4X3 o módulo PIC PCI-208 Princípio de Funcionamento: Projeto para interligação do Teclado Matricial 4X3 o módulo PIC PCI-208 Princípio de Funcionamento: O projeto acima atende às exigências das ligações de teclados matriciais que tem como base a utilização

Leia mais

Estruturas de Controle

Estruturas de Controle Estruturas de Controle Mário Meireles eixeira UMA DEIN ópicos Estruturas de Controle condicionais repetição Expressões Lógicas operadores relacionais operadores lógicos Estruturas de Controle 2 1 Introdução

Leia mais

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos

Leia mais

Rotinas, Modos e Tipos de Passagem de Parâmetros

Rotinas, Modos e Tipos de Passagem de Parâmetros Linguagens de Programação Rotinas, Modos e Tipos de Passagem de Parâmetros Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Chamada de Rotinas Rotina f Rotina g(w) g (k) Passagem

Leia mais

Monitor Full HD AOC E2270Swn LED

Monitor Full HD AOC E2270Swn LED Monitor Full HD AOC E2270Swn LED O AOC E2270Swn é um monitor full HD LED de 21,5 polegadas widescreen. Este proporciona uma experiência única com imagens mais vivas e em alta resolução com riqueza de detalhes.

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

Por Fernando Koyanagi

Por Fernando Koyanagi Por Fernando Koyanagi Recursos usados 18 jumpers fêmea x fêmea Módulo de 16 relés com optoacoplador Raspberry Pi 3 Rede interna (TCP/IP) Intenção dessa aula 1. Iniciar automação com Raspberry Pi PI 2.

Leia mais

Manual da Pinagem dos Microcontroladores BASIC Step 1 e M8 + Esquema de instalação do cabo

Manual da Pinagem dos Microcontroladores BASIC Step 1 e M8 + Esquema de instalação do cabo Manual da Pinagem dos Microcontroladores BASIC Step 1 e M8 + Esquema de instalação do cabo Pinagem Previous Top Next PWR - Alimentação (7-15V) GND - Terra PCO - Saída de comunicação com o PC PCI - Entrada

Leia mais

Revisão C++ - Parte 1

Revisão C++ - Parte 1 Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos

Leia mais

MOVING MINI LED. Manual de Operações

MOVING MINI LED. Manual de Operações MOVING MINI LED Manual de Operações INSTRUÇÕES DE SEGURANÇA Este equipamento foi desenvolvido para uso interno. Mantenha-o protegido contra umidade, respingos ou excesso de poeira e calor. Para prevenir

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Outras características importantes em Microprocessadores/Microcontroladores Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos

Leia mais

TERMÔMETRO COM O LM35 Parte I

TERMÔMETRO COM O LM35 Parte I TERMÔMETRO COM O LM35 Parte I ARDUINO UNO R3 Neste projeto vamos desenvolver um termômetro com o sensor de temperatura LM35, que é um sensor de baixo custo e de boa qualidade. Vamos dar uma incrementada

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Estruturas em C

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Estruturas em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Estruturas em C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA

Leia mais