Usando Display Gráfico com C18 e C30

Documentos relacionados
Lista de Exercícios 1

SUPERTEC2007 SINCRONISMO DETETOR DE MODOS MICRO

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW

Prof. Adilson Gonzaga. Interface com Displays

MANUAL DO USUÁRIO. Figura 1: Tela de Apresentação do FaçaCalc.

DK105 GROVE. Temperatura e Umidade. Radiuino

Cerne Tecnologia e Treinamento

Sobre o Visual C

Conteúdo programático

Sistemas Embarcados. Introdução aos sistemas embarcados

MANUAL DE INSTALAÇÃO SAT DIMEP PDV CAKE

Circuito Decodificador BCD para Display de Sete Segmentos

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

2 Segmentação de imagens e Componentes conexas

Medição de Temperatura com DS1820

aplicação arquivo Condições Gerais de Utilização

Aula 03. Processadores. Prof. Ricardo Palma

MINISTÉRIO DA EDUCAÇÃO CHAMADA INTERNA PROEX Nº 02/2014 PARTICIPAÇÃO EM EVENTOS

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Software PHC com MapPoint 2007

MODULAÇÃO DE UM SINAL ANALÓGICO

Na figura abaixo é mostra os pinos do microcontrolador utilizado no montagem da placa, o PIC16F628A.

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

STV 8 SET uma polaridade de sincronismo negativa, com os pulsos de sincronismo na posição para baixo, como mostrado na figura abaixo

Atividade de Treinamento. Documentando Programas no SPDSW. HI Tecnologia Indústria e Comércio Ltda. Documento de acesso Público

EMENTA. Curso de Projetos Microcontrolados utilizando Linguagem C.

Introdução à orientação a objetos

ORIENTAÇÕES PARA ELABORAÇÃO DE RELATÓRIO DE INICIAÇÃO CIENTÍFICA

Flávia Rodrigues. Silves, 26 de Abril de 2010

NOVA VERSÃO SAFE DOC MANUAL

ENG1000 Introdução à Engenharia

Instruções para utilização dos Fóruns pelo Grupo dos Consensos Psiquiátricos para Clínicos Gerais 2005

Módulo de Aprendizagem I

CONSELHO REGIONAL DE ENFERMAGEM DE SÃO PAULO. Resposta aos questionamentos efetuados pela empresa TOTVS, temos a informar conforme segue:

Programação em BASIC para o PIC Projetos com Display Gráfico Vitor Amadeu Souza

Informática I. Aula Aula 19-20/06/06 1

Manual MicroICD. Soluções Eletrônicas

Fundamentos de Programação. Diagrama de blocos

Um Módulo de Desenvolvimento para o ARDUINO

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

INF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1

Sumário. CEAD - FACEL Manual do Aluno, 02

Microprocessadores e Aplicações

PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO

DOCUMENTO DE REQUISITO DE SOFTWARE

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Interface com Displays de 7 Segmentos. Interface com Displays

Universidade Federal do Paraná - Setor de Ciências da Terra

Obtenção Experimental de Modelos Matemáticos Através da Reposta ao Degrau

Monitores. Tipos de conexões:

PROGRAMAÇÃO DE COMPUTADORES

SISTEMA OPERACIONAL - ANDROID

EDITAL PARA INSCRIÇÃO DE TRABALHOS NO III CURSO DE EXTENSÃO SOBRE O TRABALHO DO ASSISTENTE SOCIAL NA EDUCAÇÃO DO IFMG

Tutorial. Georreferenciamento de Imagens. versão /08/2008. Autores: Rafael Bellucci Moretti, Vitor Pires Vencovsky

Procedimento Operacional Padrão nº 16 Anexo I 1. CONFIGURAÇÕES DO SISTEMA PARA IMPORTAÇÃO DE ARQUIVOS MULTIMÍDIA

BANCO DE DADOS PARA GERENCIAMENTO E DESENVOLVIMENTO DE SOFTWARE

Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Programação para Web HTML - Parte 2

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

Procedimento para Adequações às Mudanças Tecnológicas do Módulo Autorizador v4

Guia operação site

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Capítulo1 Tensão Normal

APOSTILA DE INFORMÁTICA INTERNET E

Universidade Federal de Juiz de Fora - Laboratório de Eletrônica - CEL037

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização


Gestão Documental. Gestão Documental

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES

Introdução à Programação de Computadores Parte I

Título do Case: O impacto do layout na agilidade dos processos

Implementação de um serviço de correio eletrônico na Intranet do Pólo de Touros utilizando o ambiente SQUIRELMAIL e POSTFIX em um Servidor Linux

Guia do usuário do Módulo de expansão de teclas (KEM) do Telefone IP. BCM Business Communications Manager

Sistema de Gestão VPPDT Procedimento Operacional Padrão

PREFEITURA DO MUNICÍPIO DE PORTO VELHO SECRETARIA MUNICIPAL DE ADMINISTRAÇÃO SEMAD DEPARTAMENTO DE RECURSOS DA TECNOLOGIA DA INFORMAÇÃO DRTI

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Prefeitura da Cidade de Nova Iguaçú. SEMED Secretaria Municipal de Educação. Coordenadoria Municipal de Ciência e Tecnologia

OBJETIVOS DA SEÇÃO. Após concluir com êxito o módulo sobre Área de Trabalho, o aluno deve estar apto a:

COMO CRIAR UM PEDIDO DE COMPRAS

Soluções Inovadoras. FlyFlex. Fly Solution

Manual Candidato Edital Público. Manual de Utilização de Inscrição On-Line em Edital Público

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

4 A Ferramenta Computacional

Processamento e Reprodução de Imagem com Arduíno 1

METODOLOGIA DE PROJETO

MARINHA DO BRASIL COMANDO DO CONTROLE NAVAL DO TRÁFEGO MARÍTIMO GUIA RÁPIDO PARA MANUSEIO DO SISTEMA CRIPTOGRÁFICO ÁTRIA

Módulo 8 Entradas Digitais 24 Vdc Monitorado. Os seguintes produtos devem ser adquiridos separadamente para possibilitar a utilização do produto:

Iniciação Científica no INATEL

Estrutura de Diretórios Linux. Rodrigo Gentini

COMUNICADO SOBRE CADASTRO DE AÇÕES NO PROJUDI 08/06/2016

FIQUE POR DENTRO DA INTERNET

Simulado de Linguagem de Programação Java

CATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar

GUIA RÁPIDO DE CONFIGURAÇÃO LINEAR-HCS / MONI SOFTWARE Baseado em: Moni Software v Conversor Serial-IP v1.100b Guarita IP va.

Transcrição:

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 destinada à aplicação do LCD Gráfico. 1. Introdução O presente documento é um descritivo técnico do firmware denominado LCDGRAFICO desenvolvido pela equipe de engenharia da Exsto Tecnologia. O LCDGRAFICO é uma aplicação do Lcd Gráfico para os compiladores C18 e C30. Estes firmwares de exemplo foram desenvolvidos focados nos KIT NEO 201 e Sigma128 para os microcontroladores 18F452 e dspic33f128 da Microchip respectivamente. Foi usado como plataforma de programação o MPLAB 7.43, também da Microchip. Foi escolhida como linguagem de programação a C. 2. Hardware O hardware necessário para a aplicação do C18 é o da figura seguinte, composto pelo GLCD e por um microcontrolador PIC18F452. O oscilador do circuito é de 12MHz. O portal D do microcontrolador tem acesso aos bits de dados do GLCD. Além dele, o portal E e A têm acesso ao bits de controle. Para ajuste do contraste do LCD é necessário um potenciômetro de 10K no pino Vl do Display. O canal 0 do conversor AD lê o potenciômetro de 10K. O hardware do código do C30 foi baseado no Sigma128, que é baseado no dspic33f128 e sua aplicação é feita para mostrar algumas figuras geométricas, um logo da exsto e uma string com o site da empresa. www.exsto.com.br 1

3. Firmware O firmware tem como objetivo principal apresentar uma aplicação do kit NEO201 e do Sigma128 utilizando o LCD Gráfico. Para o NEO 210 é apresentada a leitura do potenciômetro R26 com a escala de resistência mostrada em barras no LCD. Além disso, é desenhado o logo da empresa Exsto Tecnologia. No Sigma128 somente o logo é visualizado. A parte onde se aplica o código do usuário está contida no arquivo main.c. Além dele, existem três outros arquivos. Dois contêm as definições de hardware chamado definitions.h e o outro contém as definições para a biblioteca do GLCD chamado GLCD.h. O outro contém as rotinas gráficas e específicas para o LCD e se chama GLCD.c. Os arquivos com extensão.h são chamados de arquivos cabeçalhos, sendo que não possui nenhuma lógica implementada. Os arquivos com extensão.c são os que executam alguma lógica. Como citado anteriormente, o firmware é dividido em várias partes, em vários arquivos e em várias sub-rotinas, procura-se nos itens posteriores descrever todas esses citados. Como a biblioteca é padrão para todos os dois compiladores, é necessário, no inicio do programa, especificar o compilador. Usa-se: #define _C30_ para os códigos do Sigma128 e #define _C18_ para o NEO por exemplo. 2.1 Programa principal O programa principal se divide em: 1. Configuração dos Portais 2. Inicialização dos Portais 3. Código do usuário 2.1.1 Configuração dos Portais Nesta etapa o firmware configura os portais do microcontrolador como entrada e saída e seus estados iniciais. Esta configuração é feita no próprio main. Mas há também as definições de pinagem para o hardware, onde estão descritos os pinos do microcontrolador e seus respectivos nomes, por exemplo, o pino A2 é o CS1 do LCD, portanto usa-se a diretiva: #define CS1 PORTAbits.RA2 para definir o nome do pino. Utiliza para isso o arquivo de cabeçalho definitions.h. 2.1.3 Código do usuário É o espaço destinado ao usuário para colocar seu código. 2.2 Sub-Rotinas Essas sub-rotinas são utilizadas pelo programa para fazer determinadas funções, como apagar o display, desenhar retângulos e círculos, etc. Elas estão incluídas no arquivo GLCD.c. 2.2.1 void delay10us (void) Esta função gera um atraso de 10us. Esta www.exsto.com.br 2

2.2.2 void delay100us (void) Esta função gera um atraso de 100us. Esta 2.2.3 void delay5ms (void) Esta função gera um atraso de 5ms. Esta 2.2.4 void glcddat (unsigned char DAT) Esta função envia um dado ao Display Gráfico. 2.2.5 void glcdinst (unsigned char INST) Esta função envia uma instrução ao Display Gráfico. 2.2.6 void glcdwaitbusy (void) Esta função espera até que o Display Gráfico esteja pronto para receber mais instruções ou dados. 2.2.7 void glcdinit (void) Esta função inicia o LCD Gráfico. Os comandos são: * 0xC0 -> Especifica a linha da RAM que deve ser mostrada no topo da tela. Esta é a linha 0. * 0x40 -> Este é o endereço de coluna. Ele especifica uma das 64 colunas possíveis. Esta é a coluna 0. * 0xB8 -> Este é o endereço de páginas. Ele especifica uma das 8 páginas possíveis. Esta é a página 0. * 0x3F -> Display On/Off. 0x3F liga dislay e 0x3E o desliga. 2.2.8 void glcdclear (void) Esta função limpa a tela do LCD Gráfico. 2.2.9 void glcdprintimage (rom unsigned char *Msg) Esta função desenha uma imagem na tela do LCD Gráfico a partir da posição inicial da tela. 2.2.10 void glcdread (VOID) Esta função lê um dado na posição especificada do LCD Gráfico. Exemplo de código: glcdinst (64); //Posiciona em X glcdinst (0xB8); //Posiciona em Y readdat = glcdread ( ); //Recebe os dados em readdat 2.2.11 void glcdpixel (unsigned char X, unsigned char Y, unsigned char COLOR) Esta função acende ou apaga um Pixel em qualquer posição do LCD Gráfico. Os parâmetros de entrada contêm a posição de coluna (X) e de linha (Y), e se o pixel é aceso (COLOR= 1 ) ou apagado (COLOR= 0 ). Exemplo de código: glcdpixel (64, 34, 1); //Pixel aceso na coordenada (64, 34). glcdpixel (74, 24, 0); //Pixel apagado na coordenada (74, 24). 2.2.12 void glcdwritemsg (unsigned char *MSG, unsigned char X, unsigned char Y, unsigned char COLOR) Esta função escreve uma mensagem no LCD posição de coluna (X) e de linha (Y), onde a frase começará; os dados da mensagem a serem enviados ao display (*MSG); e se a frase terá o fundo apagado (COLOR= 0 ) ou fundo aceso (COLOR= 1 ). Exemplo de código: rom const char Msg1 [ ] = Hello world again ; //Declaração da mensagem glcdprintimage (Msg1); 2.2.13 void rectangle (unsigned char LENGTH, unsigned char WIDTH, unsigned char ORIGENX, unsigned char ORIGENY, unsigned char FILL) Esta função desenha um retângulo no LCD posição de coluna (ORIGENX) e de linha (ORIGENY), correspondente à coordenada central do retângulo; LARGURA (WIDTH) e COMPRIMENTO (LENGTH) informam as dimensões do retângulo; e se o retângulo terá o fundo apagado (FILL= 0 ) ou fundo aceso (FILL= 1 ). Exemplo de código: www.exsto.com.br 3

rectangle (10, 10, 50, 30, 0); //Faz um quadrado com centro em (50, 30) e laterais de raio igual a 10 unidades de comprimento. Ele terá seu fundo apagado, ou seja, somente as bordas aparecerão. 2.2.14 void circle (char RAY, charx, char Y) Esta função desenha um círculo no LCD posição de coluna (X) e de linha (Y), correspondente à coordenada central do círculo; RAY informa o raio do círculo. Exemplo de código: circle (10, 50, 30); //Faz um círculo com centro em (50, 30) e raio igual a 10 unidades de comprimento. 2.2.15 void line (char X1, char Y1, char X2, char Y2) Esta função desenha uma reta no LCD Gráfico. Os parâmetros de entrada contêm a posição de coluna (X1) e de linha (Y1), correspondente à coordenada inicial da reta e a posição de coluna (X2) e de linha (Y2), correspondente à coordenada final da reta. Exemplo de código: 2.2.16 Delay (int tempo) É uma rotina de atraso em milisegundos, determinado pelo valor tempo. Esta rotina é exclusiva para o C30. 2.2.17 Delay_Us (int tempo) É uma rotina de atraso em microsegundos, determinado pelo valor tempo. Esta rotina é exclusiva para o C30. 4. Software Para a geração do código.hex da imagem a ser desenhada no display, utiliza-se o software conversor BmptoAsm. Para converter a imagem, é necessário primeiramente editá-la para um formato de 128x64 pixels, que corresponde ao tamanho do GLCD. Depois, basta carregar a imagem no software e fazer a conversão. O código gerado é dado na própria janela do software. 5. Anexos Junto a este arquivo se encontram o manual do Display Gráfico e um material que auxilia o entendimento quanto ao funcionamento do display. line (10, 10, 50, 30); //Faz uma reta com origem em (10, 10) e fim em (50, 30).. 6. Organização dos Arquivos 6.1 Arquivos main.c: Este arquivo contém a iniciação do microcontrolador e aplicação do usuário. GLCD.c: contém as funções do display gráfico. definitions.h: contém as definições de hardware, variáveis globais, protótipos e inclusões de bibliotecas de funções. GLCD.h: contém as definições para a biblioteca do GLCD. www.exsto.com.br 4

7. Sobre os autores Marcelo M. M. do Couto, graduado no Inatel, é engenheiro de desenvolvimento atuante nas áreas de software e hardware utilizando sistemas microcontrolados. Atualmente cursando mestrado em redes de telecomunicações Tiago Coelho é Técnico em Eletrônica pela ETE Francisco Moreira da Costa e cursa Engenharia de Telecomunicações no INATEL. Atualmente encontra-se nos EUA participando de um programa de intercâmbio. www.exsto.com.br 5