O trabalho consiste na implementacao de um relogio digital com mostrador para apresentacao da hora, minuto e segundos, no LCD da plataforma de desenvolvimento utilizada nas aulas praticas. Devera' apresentar tambem no LCD a temperatura ambiente obtida do sensor de temperatura disponivel no chip. O programa devera' possuir facilidades para o usuario acertar o relogio utilizando as chaves e botoes disponiveis na placa, e tambem devera' ser implementado um protocolo que possibilite ao usuario obter informacoes sobre a hora e temperatura, via comunicacao serial em um computador hospedeiro. O programa deverá ser escrito em assembly para a familia 8051 e compilado utilizando as ferramentas disponiveis para o processador existente na plataforma disponibilizada (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 comercial. Neste trabalho o aluno ira' exercitar conceitos de grande importancia na computacao e em sistemas embarcados em geral como, por exemplo, gerencia de interrupcoes, gerencia de temporizacao, leitura de sensores e perifericos, e comunicacao serial. A seguir estão listadas algumas dicas e ferramentas de apoio:
O produto final (programa + placa com LCD fornecida) devera' ser utilizado para informar ao usuario a hora atual e a temperatura medida. Apresentar essas informacoes simultaneamente no display (LCD), na mesma linha ou nas duas linhas disponiveis. A hora devera' aparecer no formato HH:MM:SS, sendo atualizada a cada segundo. O relogio devera' funcionar nos dois modos: 24 horas ou am/pm. No caso de programado para o formato am/pm, o formato de apresentacao no display devera' ser: HH:MM:SS xx, onde "xx" sera' "am" ou "pm". A temperatura,em graus celcius, devera' ser apresentada no formato TT C, onde TT e' a temperatura, sendo atualizada aproximadamente a cada minuto. Para obter a temperatura utilizar o sensor de temperatura contido no circuito integrado do microcontrolador. Para atualizar a hora, e' sugerido programar um dos timers disponiveis no microcontrolador, e utiliza-lo para gerar interrupcoes para atualizar os segundos (minutos e horas). Para acertar o relogio, utilizar os botoes disponiveis na placa filha. Por exemplo, a chave 1 quando pressionada por mais de 3 segundos significa que o usuario deseja alterar a hora. Usar a chave 2, por exemplo, para incrementar a hora. Pressionar novamente a chave 1 para acertar os minutos, e assim por diante. Este e' um procedimento semelhante ao utilizado para acertar um relogio de pulso. A propria chave 1, por exemplo, pode ser utilizada para alternar entre os modos de exibicao am e pm. O produto devera' possuir tambem a capacidade de responder a comandos recebidos remotamente via porta serial. Ao receber o comando "All" (caracter 'a'), o produto devera' enviar a informacao de hora, minuto e segundo, e tambem a temperatura para o computador hospedeiro. Esta informacao devera' ser apresentada na tela do computador hospedeiro, sendo a mesma apresentada na tela do produto (com a possivel diferenca dos segundos). Ao receber o comando "Hora" (caracter 'h'), o produto devera', de forma semelhante, enviar apenas a informacao de hora, minuto e segundo. Ao receber o comando "Temperatura" (caracter 't'), o produto devera' enviar apenas a informacao de temperatura. Todas as informacoes fornecidas devem ser apresentadas na tela do hospedeiro. O programa terminal utilizado para realizar o download para a placa pode ser utilizado tambem para enviar os comandos, e apresentar as informacoes na tela.
O trabalho podera' ser realizado por grupos de ate' tres
alunos, porem a avaliacao e' individual. Cada grupo devera' preparar um
relatorio descrevendo as estrategias utilizadas para implementar o
sistema. No dia da apresentacao serao 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
devera' demonstrar possuir o conhecimento necessario para o
desenvolvimento de programas em assembly para a arquitetura alvo
(8051). A avaliacao sera' 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
02/07/2004 ate' as 20:45). Data da
apresentação: 02/07/2004. |