UNIVERSIDADE DA MADEIRA Departamento de Matemática e Engenharias Licenciatura em Engenharia de Sistemas e Computadores (LESC) Laboratórios III (Microprocessadores) º Trabalho prático Calculadora Não preencher Classificação: Peso na avaliação: 0% Data da realização: 0/0/00 Data de entrega: /0/00 Penalização: Recebido: Visto: Dionísio Barros Ano lectivo 00/00
. Objectivos Os objectivos do de laboratórios III são os seguintes: Programar o microcontrolador 0C para comunicar através da porta série com um computador; Construir um programa em Assembly e na linguagem C para o microcontrolador 0C com a finalidade de efectuar operações aritméticas; Comparar o programa feito em Assembly com o feito na linguagem C; Implementar e testar em laboratório o programa da calculadora.. Interface da porta série RS- No microcontrolador 0C os pinos que permitem comunicar com a porta série são o RXD (P.0) e o TXD (P.), em que o nível lógico é representado por V e o nível lógico 0 por 0 V. No interface do computador, a porta série é normalmente implementada num conector de pinos, mas também pode ser apresentado num conector de pinos. A Figura representa o conector de pinos e na Tabela está indicado a função de cada pino. Figura. Conector de pinos da porta série do computador. Tabela. Descrição dos pinos do conector do computador. Pino Símbolo Descrição Pino DCD Detector de sinal (detecção da portadora) Pino RXD Recepção de dados Pino TXD Transmissão de dados Pino DTR Terminal de dados pronto Pino GND Terra Pino DSR Dados prontos Pino RTS Pedido de envio de dados Pino CTS Permissão para envio de dados Pino RI Indicador de linha telefónica Como no microcontrolador só temos acessível o RXD, o TXD e o GND não é necessário usar todos os pinos da porta série do computador. Assim para estabelecer uma comunicação correcta entre o microcontrolador e o computador os pinos, e devem estar ligados entre si. Também deve existir uma ligação entre os pinos e. A Figura representa as ligações que devem ser feitas na porta série do computador para efectuar a comunicação de dados com o microcontrolador. RXD TXD GND Figura. Ligações a efectuar no conector da porta série do computador. UMa - DB - 00/00 TP -
A aplicação mais comum de comunicação série assíncrona é conhecida como RS-. Este standard de comunicação foi criado nos anos 0s. O 0C suporta este tipo de comunicação com um circuito adicional para adaptar os níveis de tensões. No interface RS- o nível lógico 0 é representado por uma tensão de V e o nível lógico é representado por uma tensão de V. É então necessário usar um circuito eléctrico de adaptação das tensões. A Figura representa o circuito integrado ICL que permite adaptar os sinais do microcontrolador (0 V e V) com os sinais da porta RS- do computador ( V e V). Nas entradas TIN e TIN podemos ligar tensões com níveis 0 V ou V e nas saídas TOUT e T OUT obtemos tensões com níveis V e - V, respectivamente. Nas entradas RIN e RIN podemos ligar tensões com níveis V e V e obtemos nas saídas ROUT e ROUT tensões com níveis V e 0 V, respectivamente. Note que o circuito é alimentado com a tensão de V.. Lista de material Equipamento Multímetro Fonte de alimentação Osciloscópio Programador Universal Software Hyperterminal do Windows Keil Figura. Diagrama funcional do circuito integrado ICL. UMa - DB - 00/00 TP -
Acessórios Placa de montagem Condutores Alicates Componentes Microcontrolador ATC Circuito integrado: ICL Condensadores: pf, 00 nf, µf e 0 µf, Resistências:. kω Cristal de Quartzo:.0 MHz. Enunciado Neste trabalho prático pretende-se que os alunos desenvolvam um programa no microcontrolador ATC para implementar uma calculadora que permita efectuar as operações aritméticas de soma, subtracção -, multiplicação x e divisão /. A inserção e visualização dos dados é feita no Hyperterminal do Windows através da porta série do microcontrolador. Os passos para a realização do trabalho de laboratório e as respectivas cotações são os seguinte:.. () Faça a montagem do circuito eléctrico da Figura que permite comunicar entre o microcontrolador e a porta série COM do computador. C p C p C CON CRY.0 MHz ATC P.0 P. P. P. P. P. P. P. XTAL XTAL EA/VPP RST 0 P0.0/AD0 P0./AD P0./AD P0./AD P0./AD P0./AD P0./AD P0./AD ALE/PROG PSEN GND P.0/A P./A P./A0 P./A P./A P./A P./A P./A P.0/RXD P./TXD P./INT0 P./INT P./T0 P./T P./WR P./RD 0 0 C uf C uf C uf ICL 0 RIN ROUT RIN ROUT C uf GND TIN TIN C C- C C- V V- C 00n TOUT TOUT ICL V PORTASERIE 0 uf R.k ATC 0 Figura. Esquema de ligação do microcontrolador à porta série do computador... () Configure o Hyperterminal do Windows para comunicar com o microcontrolador através da porta série COM, com a taxa de transmissão de bit de 00 bps, bits de dados, sem bit de paridade, bit de paragem igual a e sem sinais de controlo de linha. UMa - DB - 00/00 TP -
.. () Ligue o microcontrolador à porta série COM do computador e faça um programa em Assembly que continuamente pergunte ao utilizador, no Hyperterminal do Windows, o seguinte: x y o As entradas x e y são valores numéricos e a entrada o indica a operação aritmética a efectuar (, -, x ou / ). Os valores introduzidos são enviados do computador para o microcontrolador através da porta série. O microcontrolador efectua as operações e envia o resultado ( x y, x y, x x y ou x / y )... () Repita a pergunta.., mas com um programa feito na linguagem C, para o microcontrolador 0C. Faça o #include <reg.h> para poder trabalhar com os registos do 0C... () Compare a complexidade, o desempenho, o espaço ocupado na memória de programa e a manutenção do programa feito em Assembly com o feito na linguagem C... () Analise o código Assembly gerado a partir do programa escrito na linguagem C e compare com o programa feito directamente em Assembly.. Bibliografia Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Prentice Hall, Second Edition,. José Manuel Martins Ferreira, Introdução ao Projecto com Sistemas Digitais e Microcontroladores, ª edição, FEUP edições,. Myke Predko, Programming and Customizing the 0 Microcontroller, McGraw-Hill,. Dogan Ibrahim, Microcontroller Projects in C for the 0, Newnes, 000. UMa - DB - 00/00 TP -