Download Organização de Aplicações de Microprocessadores

Transcript
Organização da disciplina de
Aplicações de Microprocessadores
(Licenciatura em Engenharia Eléctrica e Electrónica)
2006-2007
A disciplina de Microprocessadores II, é leccionada no 1º semestre, ao 3º ano do 1º ciclo,
do curso de Licenciatura em Engenharia eléctrica e Electrónica da Escola Superior de
Tecnologia da Universidade do Algarve. O novo modelo da disciplina tem como referência
o ECTS, European Credit Transfer System em que são introduzidas reformas ao
funcionamento da disciplina no âmbito da:
Organização curricular: Baseado nos objectivos para a obtenção das competências da
disciplina.
Organização Pedagógica: Mais activa e participativa pelos alunos, com base em trabalhos
práticos individuais e de grupo orientados aos objectivos.
Sistema de avaliação: São consideradas as vária componentes teórica e prática
devidamente pesadas para a classificação final.
COMPETÊNCIAS
COMPETÊNCIAS GENÉRICAS
Após a aprovação na disciplina o aluno deverá possuir competências:
− Projectar e manusear sistemas baseados em microcontroladores e
microprocessadores (na sua vertente de Hardware e de Software)
COMPETÊNCIAS ESPECIFICAS
Desenvolver sistemas baseados em microcontroladores e microprocessadores que inclui
o projecto de:
− Sistemas de memória
− Sistema de entrada/saída
− Integração de periféricos
− …
Desenvolver técnicas e mecanismos de software em linguagem assembly e em
linguagem de alto nível (linguagem C) que lhes permita desenvolver as diversas
aplicações
MÉTODOS DE ENSINO
Exposições orais nas aulas teóricas (uma aula semanal de 1 horas). Aulas de tutoria que
inclui a resolução de exercícios com objectivo de consolidar as noções apresentadas,
preparação dos trabalhos práticos e esclarecimento de duvidas. As aulas práticas serão
realizadas no laboratório de apoio à disciplina com componente experimental bastante
significativa. As turmas serão organizadas em grupos de 2 elementos cada.
-16-
APLICAÇÕES DE MICROPROCESSADORES - PROGRAMA TEÓRICO
Objectivos
−
−
−
−
−
Entender o funcionamento de um sistema de microprocessador;
Conhecer o funcionamento interno de um microcontrolador de 8 bits;
Compreender os diversos modos de endereçamentos do microcontrolador
Identificar os periféricos que integram um microcontrolador,
Saber como funcionam e como programar os periféricos que integram um
microcontrolador
− Compreender os ciclos de funcionamento de um microprocessador: ciclos de
leitura e de escrita em I/O e em memória
− Efectuar a implementação de um mapa de memória e consequente
descodificador de endereços
− Compreender o funcionamento de periférico diversos com sejam PPI, UARTs,
DAC, ADC, Timers, Watch-dog, CPU supervisor..)
1 REVISÕES SOBRE MICROPROCESSADORES
− Estrutura interna de um microprocessador
− Modos de endereçamento.
− Conjunto de instruções.
− Sistemas de interrupções.
− Interfaces com o exterior.
2 O MICROCONTROLADOR 8051 E SUA PROGRAMAÇÃO
− Características
dum
microcontrolador
e
sua
comparação
microprocessadores de uso geral.
− Arquitectura do microcontrolador 8051.
− Organização da memória do 8051. Modos de endereçamento.
− O conjunto de instruções.
− Rotinas. Passagem de par‚metros.
− Exemplos de programas.
− Os sistemas de desenvolvimento para o 8051.
com
3 OS SISTEMAS DO 8051 E SUA UTILIZAÇÃO
− Características dos portos do 8051.
− Os timers/event counters.
− I/O programado e interrupt.driver I/O.
− Características da comunicação série. O interface RS-232C.
− Utilização do canal série do 8051.
− Estados de reset no 8051.
− Os derivados da família 8051
4 INTERFACE COM O MICROCONTROLADOR
− Os sistemas de memória. Tipos de memória. A memória externa com o 8051.
− Espaço de endereçamento de I/O e I/O mapeado em memória.
− Exemplos de implementação de subsistemas de teclado e display.
-16-
− O chip 8255 e algumas das suas possibilidades de utilização.
− Exemplos simples de interface com sensores.
− SPI e o bus I2C
5 PROJECTO DE SISTEMAS BASEADOS EM MICROCONTROLADORES
− Filosofia e arquitectura dum projecto.
− As diferentes fases de desenvolvimento.
− Exemplos de projectos.
BIBLIOGRAFIA
− Rui Marcelino, “Folhas da disciplina de Microprocessadores II, - actualização
2006/2007”.
− Vidal Pereira da Silva, “Microcontrolador 8051 - Hardware e Software”
− Kenneth J. Ayala, “The 8051 Microcontroller”
− James W. Stewart, The 8051 Microcontroller - Hardware, Software and
Interfacing
− Thomas W. Schultz, “C and the 8051, Hardware, Modular, Programming and
Interfacing”, Vol. I
− Thomas W. Schultz, “C and the 8051, Building Efficient Applications”, Vol. II
− Douglas V. Hell, “Microprocessors and Interfacing - Programming and
Hardware”
− Dominique Paret, Carol Fenger, “The I2C Bus. From theory to practice”
Os livros indicados encontram-se todos na biblioteca da Escola Superior de Tecnologia.
-16-
WEB SITES
− www.keil.com – Excelência em ferramentas de desenvolvimento para os
microcontroladores da família 8051. Disponibiliza nas suas páginas inúmeros exemplos.
É uma referência imprescindível.
− www.8052.com – Enorme colecção de ligações para: ferramentas de hardware e
software, fabricantes, Documentação, Projectos. Tudo relacionado com a família 8051.
− www.circuitcellar.com – Revista de edição on-line, dispõe de arquivos sobre a
programação de sistemas embebidos com a utilização de microcontroladores. Refere-se
a aplicações concretas e pretender ser o mais abrangente nas escolhas dos
processadores para a implementação dos seus projectos.
− www.embbeded.com – Revista on-line de programação embebida, Tipicamente
efectua abordagem dos mais variados temas relacionados com aplicações de sistemas
embebidos de uma forma abstracta, indiferente à família de microcontrolador.
− www.techonline.com – Disponibiliza soluções de “e-learning” e formação on-line para
engenheiros sobre electrónica em geral, incluindo “whitepapers”
-16-
APLICAÇÕES DE MICROPROCESSADORES - PROGRAMA PRÁTICO
Objectivos
− Introduzir a arquitectura de Microcontroladores típicos, com particular ênfase
na família 8051 e as diferentes possibilidades de utilização em sistema
integrados
− Desenvolver, testar e implementar sistemas baseados em microcontroladores,
sendo para isso: Utilizar ambientes Integrados de desenvolvimento (IDE uvision
da Keil)
− Desenvolvimento de utilizando a linguagem assembly do 8051utilizando
ambiente de desenvolvimento integrado.
− Desenvolvimento de programas em linguagem C, para sistemas baseados em
microcontroladores, utilizando ambiente de desenvolvimento Integrado.
Equipamento necessário
− Kit de desenvolvimento 8051 baseado no microcontrolador da Atmel
89S8252.
− Computador pessoal tipo PC, em que deverá ser instalado software de
desenvolvimento Integrado uvision 3, e ATMELISP para carregamento do
código de programa em circuito do Atmel 89S8252Equipamento laboratorial:
Fonte de alimentação, Osciloscópio.
− Programador de dispositivos lógicos
Bibliografia geral de apoio (incluindo a bibliografia da Parte teórica)
− Kit de desenvolvimento 8051 baseado no microcontrolador da Atmel
89S8252., Manual do utilizador. Rui Marcelino Setembro 200.
− Getting Started with µVision2 and the C51 Microcontroller Development Tools.
User’s Guide 02.2001
− Cx51 Compiler, Optimizing C Compiler and Library Reference for Classic and
Extended 8051 Microcontrollers. User’s Guide 02.2001
− Macro Assembler and Utilities Macro Assembler, Linker/Locator, Library
Manager, and Object-HEX Converter for 8051, Extended 8051, and 251
Microcontrollers. User’s Guide 02.2001
Trabalho de Pesquisa
ESTUDO DA ARQUITECTURA E PERIFERICOS DE UM MICROCONTROLADOR
ESPECÍFICO
Objectivos:
1. Compreender a arquitectura e constituição interna de um microcontrolador
especificado no trabalho.
2. Compreender o contexto dos diversos tipos de microcontroladores existentes no
mercado, pela comparação as diversas famílias de microcontroladores
Trabalho Laboratorial 1 - FAMILIARIZAÇÃO COM FERRAMENTAS DE
DESENVOLVIMENTO – ESCRITA E LEITURA EM PORTO I/O
1. Prática no desenvolvimento e projecto de sistemas baseados em microcontrolador.
2. Saber utilizar o Kit de desenvolvimento 8051 baseado no ATMEL 89S8252
3. Entender os diversos componentes e utilização do Keil uVision.
4. Software Atmel ISP (In System Programming), para efectuar o carregamento
(downloading) do código de programa na memória flash do microcontrolador
-16-
5. Utilização de dispositivos de saída (visor de 7 segmentos). Escrever em portos de
saída do microcontrolador
6. Identificar os problemas associados a leitura de teclado.
7. Eliminar os problemas de debounce dos teclados.
Descrição:
Conhecimento das ferramentas de desenvolvimento
− Kit de desenvolvimento 8051 baseado no Atmel 89S8252.
− Ferramentas de software para a família 8051, compilador simuladoras e
utilitários. Criação de um IDE virtual com chamadas externas de compilador e
utilitários em modo de linha de comando.
Trabalho Laboratorial 2 - TEMPORIZADORES / CONTADORES
Objectivos:
1. Saber escolher o modo do temporizador de acordo com a aplicação.
2. Configurar os diferentes modos de temporizador.
3. Saber Configurar e utilizar os contadores.
4. Sedimentar os conceitos teóricos sobre mecanismos de watch-dog.
5. Entender os diferentes mecanismos de watch-dog.
6. Saber configurar watch-dog no microcontrolador.
Trabalho Laboratorial 3 - PORTA SÉRIE
Objectivos:
1. Saber configurar os parâmetros associados a uma comunicação série standard
assíncrona.
2. Implementar interface com o utilizador de um sistema usando um emulador de
terminal na porta série.
3. Entender o mecanismo utilizado no carregamento do código de programa no
microcontrolador.
4. Observar e analisar a técnica de comunicação série síncrona.
Trabalho Laboratorial 4 - INTERRUPÇÕES
Objectivos:
1. Sedimentar os conceitos teóricos sobre o mecanismo das interrupções.
2. Configurar as interrupções.
3. Saber construir rotinas de serviço à interrupção.
Trabalho Laboratorial 5 - PROGRAMAÇÃO DE MICROCONTROLADORES EM C
Objectivos:
1. Desenvolver aplicação para microcontrolador utilizando como plataforma a
linguagem C.
Trabalho Laboratorial 6 - MAPEAMENTO EM POSIÇÃO DE MEMÓRIA (VISOR LCD).
Objectivos:
1. Compreender os mapeamentos em Portos de I/O e de Memória dados externa.
2. Identificar os endereços na memória de dados externa em que se encontra o visor
LCD.
3. Saber configurar e escrever um LCD.
-16-
Trabalho Laboratorial 7 - DISPOSITIVOS DE COMUNICAÇÃO SÉRIE. SENSOR DE
TEMPERATURA DS1620
Objectivos:
1. Configurar dispositivos externos programáveis.
2. Implementar comunicação série síncrona.
Trabalho Laboratorial 8 - Integração de periféricos num sistema de microprocesadores
Objectivos:
1. Entender o funcionamento de um RTC, Real Time Clock e de um expansor de portos
8255
2. Implementar um mapa de memória e respectivo descodificador de endereços, com
base num dispositivo lógico programável
AVALIAÇÃO
No que respeita a quantificação, temos:
Avaliação Teórica: 60%
Avaliação Prática: 40%
Na avaliação teórica conta a nota mais elevada que o aluno tiver conseguido nas provas a
que se sujeitou.
AVALIAÇÃO TEÓRICA
A avaliação teórica é efectuada de forma individual. A avaliação teórica segue as regras
internas da Escola Superior de Tecnologia relativamente às notas mínimas e acesso a
provas Complementares e a exames de Recurso. Os alunos dispõem portanto de um exame
teórico na época normal e de uma prova de recurso.
Se se encontrarem dentro das condições instituídas, podem também aceder a um exame
teórico na época de Setembro.
Qualquer dos exames teóricos é efectuado em duas partes:
Parte sem consulta em que se considera importante avaliar os conhecimentos que o aluno
adquiriu a nível conceptual, propõem-se problemas concretos e solicita-se resposta com um
aceitável nível de abstracção e de síntese da solução que apresentam.
Parte com consulta em que se pretende avaliar os conhecimentos do aluno a nível
operacional, propõem-se problemas simples que podem surgir na resolução de uma
situação concreta. Apesar da situação de consulta a complexidade dos problemas
propostos nunca é exagerada. Aqui existe o cuidado especial na escolha dos problemas
bem como do encaminhamento para a sua resolução, de forma a evitar situações de cópia
e de colagem de elementos retirados de documentação levada pelo aluno.
Peso na avaliação Teórica
Sem consulta
0.25
Com consulta
0.75
Total
1.0
AVALIAÇÃO PRÁTICA
Existe aqui uma distinção entre dois tipos de trabalhos: Um trabalho prático de pesquisa a
realizar individualmente, em que se privilegia a pesquisa e a consulta de elementos para a
realização de um determinado processo, e os trabalhos práticos de frequência que são
realizados em grupo, constituído por dois alunos, de forma a dinamizar e a privilegiar este
modo de trabalho. Os alunos que compõem o grupo deverão sempre distinguir e atribuir as
-16-
várias tarefas para a implementação do trabalho por cada elemento, de forma a
possibilitar uma melhor classificação. Não serão válidas situações em que todos os
elementos efectuam o mesmo trabalho.
Na avaliação prática existe um peso uniforme por trabalho que tem a ver com a
sua duração e complexidade. Os trabalhos são de complexidadesemelhante, em que são
disponibilizadas para a sua resolução duas aulas práticas (4 horas). As aulas servem para
discutir com o professor e com os colegas e fazer os ensaios e não para preparar os
trabalhos práticos. Cada trabalho prático deve gerar um relatório escrito.
Peso na avaliação Prática
TP1
0.1
TP2
0.1
TP3
0.1
TP4
0.1
TP5
0.1
TP6
0.1
TP7
0.1
TP8
0.1
Pesquisa
0.2
Total
1.0
A nota do trabalho depende da avaliação que o docente faz do desempenho dos alunos
durante as aulas, do relatório e da qualidade de uma apresentação oral sumária (10
minutos) dos trabalhos. As proporções são as seguintes:
Avaliação nas aulas: 40%
Relatório e apresentação: 60%
CONCLUSÕES
O modelo apresentado para o funcionamento da disciplina resulta numa aproximação às
especificações do processo de Bolonha e de um histórico do funcionamento da disciplina
adquiridos pelo seccionamento ao longo de vários anos. Julgo pois que estão reunidas as
condições para os alunos criarem o gosto pela aprendizagem de microprocessadores .
-16-
Exame
(componente teórica)
-16-
UNIVERSIDADE DO ALGARVE – ESCOLA SUPERIOR DE TECNOLOGIA
CURSO DE ENGENHARIA ELÉCTRICA E ELECTRÓNICA
EXAME DA DISCIPLINA DE MICROPROCESSADORES II em 31-01-2006
1º CICLO - 1º SEMESTRE - 3º ANO - 2005 / 2006
PARTE TEÓRICA
(sem consulta)
1. Quando se utiliza linguagem C para efectuar a programação do 8051, podem ser
seleccionado vários modelos de memória. Esclareça quanto ao seu significado e
diferenças.
2. Como efectuar a leitura de um linha de um porto de entrada/saída, por exemplo
P3.7. Para a mesma linha como a colocar a 1 e como a colocar a zero (em assembly)
3. Indique uma situação em que se deve colocar a flag de TI a ‘0’ e em que se deve
colocar a linha a ‘1’.
Indique uma circunstâncias deve colocar a flag de TR0 a ‘0’ e em que se deve coloca
-16-
Exame
(componente prática)
-16-
UNIVERSIDADE DO ALGARVE – ESCOLA SUPERIOR DE TECNOLOGIA
CURSO DE ENGENHARIA ELÉCTRICA E ELECTRÓNICA
EXAME DA DISCIPLINA DE MICROPROCESSADORES II em 31-01-2006
1º CICLO - 1º SEMESTRE - 3º ANO - 2005 / 2006
PARTE PRÁTICA
(com consulta)
Considere o painel electrónico que indica as substituições num jogo de futebol. Consiste
em 4 visores, 2 visores para o jogador substituído (E) e 2 visores para o jogador substituto
(D). Quando se liga o painel todos os visores apresentam o valor 0. Para escrever os
números dos jogadores deve em primeiro lugar ser seleccionado quais os visores o E ou D e
em seguida escrever um ou dois dígitos correspondente ao numero do jogador, aqui o
primeiro digito a ser escrito é o das unidades e se for premido um segundo digito então este
passa a ser das unidade e o anterior das dezenas. Para corrigir é necessário premir a tecla de
selecção correspondente, o que faz reset aos visores correspondentes.
00-00
00-00
01-00
12-00
12-00
12-02
12-23
E
1
2
D
2
3
00-00
00-00
03-00
00-00
07-00
07-00
07-09
E
3
E
7
D
9
-16-
1- Considere uma correspondência em memoria interna de dados para cada visor,
visor 1-41H, visor 2-42H, visor 3-43H, visor 4-44H, Escreva uma rotina que
actualize os visores:
a. Em linguagem Assembly.
b. Em linguagem C.
2- Escreva a rotina para ler o teclado
a. Em linguagem Assembly usando amostragem
b. Em linguagem Assembly usando interrupções
c. Em linguagem C usando amostragem
d. Em linguagem C usando interrupção
3- Construa uma rotina de teste, para o painel que devera de forma sequencial
escrever e apagar todos os visores do painel
00-00
0,5 s
00-08
0,5s
00-88
0,5s
08-88
0,5s
88-88
1,5s
00-00
4- Considerando que a rotina de teste apenas é chamada quando se liga a
alimentação do painel com as teclas E e D simultaneamente premidas, escreva o
programa completo para a aplicação (pode optar entre Linguagem C ou
assembly)
CPU
MÓDULO TECLADO
D0:3
1
2
3
4
5
6
7
8
9
E
0
D
P3.4-P3.7
T_ON
ACK
P3.2
P3.3
Descrição do funcionamento do módulo teclado:
Quando não se encontra premida nenhuma tecla em D0:3 todas as linhas estão a
nível alto (Fh), a linha de indicação de tecla premida (T_ON) está a nível alto (‘1’).
Quando se prime uma tecla, o código correspondente á tecla é colocado nas linhas
de D0:3 e T_ON passa a nível baixo, até que na linha de ACK seja recebido um
pulso negativo indicando desta forma que o código da tecla foi lido pelo CPU, nesta
altura T_ON passa a nível alto e D0:3 volta a Fh.
-16-
TECLA
0
1
2
3
4
5
6
7
8
9
E
D
CÓDIGO
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
-16-
4
7 display led
drive interface
D0:3
A0
A1
D0:3
A0
A1
D
C
B
A
/WR
/8000h
/WR
/CE
-16-
3
2
1