PUCRS - Faculdade de Informatica
Laboratorio de Programacao IV, semestre 2004/1.
Prof. Eduardo Augusto Bezerra
 
Trabalho 2 - Leitura de mensagem, apresentacao em display LCD e envio via comunicacao serial no 8051
 


O trabalho consiste na implementação de um programa para realizar a gerencia de entradas via botoes, escrita dessas entradas em um display de cristal liquido, codificacao desses valores, e envio via porta de comunicacao serial do 8051. O programa deverá ser escrito em assembly para a familia 8051 e compilado utilizando as ferramentas disponiveis para o processador existente na plataforma disponivel no laboratorio (MSC1210, da familia 8051). O objetivo principal do trabalho e' possibilitar ao aluno a oportunidade de desenvolver uma aplicacao real para um processador (microcontrolador) de larga utilizacao em todo o mundo. Neste trabalho o aluno ira' utilizar exercitar conceitos de grande importancia na computacao e em sistemas embarcados em geral como, por exemplo, gerencia de entrada/saida, uso de displays de cristal liquido, e comunicacao serial. A seguir estão listadas algumas dicas e ferramentas de apoio:
  • Programa exemplo para testar a plataforma alvo (acende LEDs) - COMPILAR COM O ASM51: codigo fonte, e definicao dos simbolos (utilizado como include no programa exemplo, e deve estar no mesmo diretorio do asm51.exe).
  • Documentacao sobre a plataforma de desenvolvimento a ser utilizada (para os que desejarem entender um pouco mais a fundo o trabalho):

 

 

Especificacao

 

O programa a ser implementado devera' permanecer em loop verificando os quatro botoes disponiveis na placa: Chave 1 (P1.4), Chave 2 (P1.5), Chave 3 (P1.6), e Chave 4 (P1.7). Os botoes funcionarao como um menu de opcoes. Quando for pressionado o botao 1, devera' ser escrito '0' no display (LCD). Ao ser pressionado o botao 2, devera' ser escrito '1' no display. Ao ser pressionado o botao 3, a mensagem binaria escrita no display devera' ser enviada via porta serial para o micro conectado a plataforma. Como na plataforma alvo nao e' possivel realizar a leitura dos dados contidos no display, sugere-se o salvamento das informacoes recebidas dos botoes em uma memoria auxiliar. Fazer o envio obdecendo a codificacao ASCII de 8 bits, ou seja, o ususario tera' que entrar dados com largura de 8 bits no display antes de solicitar o envio via serial (sequencias contendo 8 bits 0 ou 1).

 

Etapas sugeridas para o projeto e implementacao do trabalho

 

  1. Escolha de um simulador assembly para o 8031, e desenvolvimento de pequenas rotinas para se familiarizar com o mesmo (ex: JSIM51).
  2. Escolha de um assembler para o 8051. Sugestoes: ASM51 (free macro assembler) ou SDCC (compilador C e montador Assembly). Dicas de como utilizar essas ferramentas: resumo de interesse para o trabalho e pagina original.
  3. Estudo do 8051 com base no apresentado na aula dos dias 16/04, 23/04, 30/04, 07/05, 14/05 e detalhado em livros da biblioteca e no material disponivel na pagina (Arquitetura do microcontrolador e Guia do programador e conjunto de instrucoes). Enfase deve ser dada para as diferencas com relacao aos processadores estudados ate' o momento nas disciplinas de Organizacao de Computadores (Cleopatra e Rn), LABORG (Cleopatra), Arquitetura de Computadores I (Mips e Rn) e Lapro IV (80x86). Sugere-se estudar o conjunto de instrucoes, mapa de registradores, mapa de memoria, e perifericos disponiveis.
  4. Estudo dos recursos para comunicacao serial no 8031 (Guia do programador e conjunto de instrucoes pg. 11 - 12). Implementacao de um pequeno programa de testes utilizando esses recursos.
  5. Estudo do display de cristal liquido disponivel na plataforma (ver links acima).
  6. Estudo da plataforma disponivel no laboratorio (ver links acima).

 

 

Entrega e avaliacao

 

O trabalho poderá ser realizado por grupos de até três alunos, porém a avaliação é individual. Cada grupo deverá preparar um relatório descrevendo as estratégias utilizadas para implementar o sistema. No dia da apresentação serão realizadas perguntas especificas sobre recursos do 8051 utilizados na implementacao do trabalho (ex. funcionamento do sistema de comunicacao serial, programacao do mesmo para outros modos de funcionamento, ...), e tambem sobre as estrategias utilizadas para a implementacao do trabalho. Nesse momento o aluno deverá demonstrar possuir o conhecimento necessário para o desenvolvimento de programas em assembly para a arquitetura alvo (8051). A avaliação será realizada de acordo com a ordem da lista de chamada, e um aluno por vez. Os alunos deverao enviar o relatorio e o programa fonte por email para eduardob@inf.pucrs.br ate' 30 minutos antes do inicio da aula do dia da apresentacao. Programas nao recebidos por email ate' a data/hora limite nao serao avaliados (dia 21/05/2004 ate' as 20:45). Data da apresentação: 21/05/2004