Escolar Documentos
Profissional Documentos
Cultura Documentos
br
APOSTILA
MICROPROCESSADORES II - EEUM
Internet -> no site www.ivair.com.br, ler texto de Sistema PDCA e acessar links de
Sistemas da Qualidade
07/06/2006 10/12/2006
x------------------------------------------------------------------x
Pré-Requisito -> 14 semanas -> Objetivo Final
EMENTA:
2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
METODOLOGIA
CRITÉRIO DE AVALIAÇÃO
CONTEÚDO PROGRAMÁTICO
3
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Mínimo com o TMS320. Estudo da rotina de filtro finito (FIR) e digitalização de sinais de
áudio.
BIBLIOGRAFIA
Internet:
www.microcontroller.com
www.8052.com
www.vidal.com.br
www.asm51.eng.br
www.icmaster.com
www.microchip.com
www.ti.com
www.zilog.com
www.freescale.com
www.cypress.com
www.asm51.eng.br
Início: 07/08/2006
Término: 27/11/2006
Prazo entrega final das notas: 14/12/2006
Falta Prevista: -
Aulas Previstas: 13 aulas de teoria.
4
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Planejamento (P):
Execução (D):
5
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
1.2.1) - Pinagem:
6
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- P3.0:
RxD (recepção serial) / port P3.0
- P3.1:
TxD (transmissão serial) / port P3.1
- P3.2:
INT0 (interrupção 0) / port P3.2
- P3.3:
INT1 (interrupção 1) / port P3.3
- P3.4:
T0 (entrada Timer 0) / port P3.4
- P3.5:
T1 (entrada Timer 1) / port P3.5
- P3.6:
WR (sinal de escrita da RAM externa)/port
P3.6
- P3.7: RD (sinal de leitura da RAM externa)/port
P3.7
7
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
8
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- Firmware: Se a chave liga/desliga estiver acionada e a porta fechada ligar todas as saídas
(menos o bip) por 1 minuto. Após este tempo, acionar o bip por 0,5 segundo e voltar ao
ínicio do processo. Se a porta abrir durante o tempo de 1 minuto, desligar as saídas e
esperar a porta fechar para finalizar processo.
Verificação:
1.5) – Exercício:
- Firmware:
lâmpadas externas-> ligar quando o sensor fotoelétrico estiver indicando escuro.
lâmpadas internas -> ligar quando for detectada a presença de alguma pessoa na
saída. Desligar na ausência.
- 89S53
- Teclado 16 teclas
- Comunicação serial RS232
- Conversor A/D de 8 canais (ADC0808) -> 0-1fffh
- Display 16x2 -> 2000h-3fffh
- 1 chave liga/desliga
- 1 solenóide
9
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- 1 lâmpada
- 1 sensor fotoelétrico
Ação
10
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
11
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
12
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Controle (C/D = 0)
Verificação (C):
Exercícios:
13
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- 89S52 com sensor de presença em P3.2, ventilador P3.3 e uma lâmpada em P3.4. LCD no
endereço E000-FFFFh.
14
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Planejamento (P):
Execução (D):
Rotina de Inicialização:
Para clock de 12 Mhz o WDT precisa ser reinicializado a cada (1 x 3fffh = 16,8
mseg.)
15
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
reset) e o modo IDLE deixa ativados apenas os periféricos internos (timer, uart,
interrupções, etc.) representando uma economia de energia de 85%. Sai do
modo IDLE através de interrupções ou reset.
Verificação (C)
- 89S51
- 1 chave (P1.0) para desligar sistema.
- Cristal de 11.059Mhz
- 1 sensor de presença (P1.1).
- 3 lâmpadas (P1.2 a P1.4).
- 3 ventiladores (P1.5 a P1.7)
- Display LCD (endereço 2000-3fffh).
Ação
16
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Planejamento (P):
17
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Verificação (C):
Exercícios:
3) - Supondo uma chave (ativa em nível alto) ligada a IE0 (pino 3.2), gerar um
pulso de 5 segundos em P1.0 cada vez que a chave for acionada. Enviar para o
LCD a mensagem CHAVE ATIVADA pelo mesmo tempo. Compilar, simular e
emular no KIT do laboratório este processo.
- Catraca com sensor tipo “reed switch” entrando a interrupção IE0. Contar o
número de eventos incrementando o registrador 30H (a partir do zero) tocando um
buzzer (P1.0) por 0,5 segundos a cada acesso. Quando o valor do registrador
30H chegar a 100 pessoas, acionar o buzzer por 5 segundos colocando pelo
mesmo tempo a mensagem LOTACAO MAXIMA 256 PESSOAS.
18
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Ação (A):
Ex.: Leitura de 16 chaves -> Port 1 e 2 (16 ports). Fazer um programa para ler
cada chave é colocar sua condição nos bits 20.0H a 21.7H (endereços binários 00
a 0Fh).
ORG 0
JMP INICIO
19
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
ORG 03h
JMP LETEC ;SALTA PARA A LEITURA DAS TECLAS
Verificação (C):
Exercício
2) - Idem com 4 leds (em P1.0 a P1.3) sendo que o primeiro led é controlado pela
chaves 1 e 2, o segundo led pelas chaves 3 e 4, etc. Utilizar IE1 para o teclado.
Ação (A):
20
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- Registrador de modo:
---------------------- ----------------------
TMOD: | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
---------------------- ----------------------
TIMER 1 TIMER 0
21
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- Registrador de controle
------------------------------------------------------
TCON: | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0|
----------------------- -------------------------------
TF0: bit de status. Em nível alto indica overflow do timer 0.
TR0: em nível alto habilita o funcionamento do timer 0. Precisa ser setado
para o timer operar.
IE0: bit de status. Em nível alto indica que houve pulso na
entrada do pino Tin0.
IT0: em nível alto indica pulso positivo na entrada do pino
Tin0. Em nível baixo indico pulso negativo.
Verificação (C):
Exercícios
6) - Fazer um projeto de um CLP para controlar nível de tanque. Fazer uma rotina
para a cada 100 mseg (supor que o cristal do microcontrolar é de 6 Mhz) o sensor
de nível de um posição da chave localizada no port P1.0 seja armazenado na
22
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
posição de memória booleana 20.0H. Se a chave estiver em nível alto, ligar uma
válvula de alívio localizado no port P1.1. Caso contrário, desligar a válvula.
Utilizar o timer 0 para implementar a temporização. Escrever em um LCD <
CONTROLE DE 1 TANQUE>. IMPORTANTE: COMPILAR ESTE PROGRAMA E
SIMULAR NO AMBIENTE DO LABORATÓRIO (SIMULADOR + KIT).
7) - Idem para 4 tanques (P1.0 a P1.3 para os sensores e P1.4 a P1.7 para as
válvulas). Utilizar Timer 1 com tempo de leitura de 30 msegundos e cristal de 12
Mhz. Escrever em um LCD < CONTROLE DE 4 TANQUES>.
8) - Fazer um programa para o port P1.0 gerar um pulso de 0,5 segundo quando
10 garrafas passarem por um feixe luminoso. Utilizar o timer 0 configurado como
contador.
11) - Utilizando o kit do laboratório, fazer o led do kit piscar 2 vezes por segundo
utilizando o timer 0. Escrever no LCD <LED PISCANDO 2 HZ>
Ação (A):
23
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
24
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
;* INICIO DO PROGRAMA
ORG 0
JMP INICIO
ORG 30H
INICIO: MOV SP,#60H
MOV IE,#10000010B ;HABILITA TIMER 0
MOV TH0,#0D8H ; TIMER 0 - 10 MSEG.
MOV TL0,#0EFH
MOV TMOD,#00010001B
SETB TR0 ;LIGA TIMER0
CLR TR1 ;DESLIGA TIMER1
.
;*SUBROTINA DA INTERRUPÇÃO
25
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
SETB LINHA2
SETB LINHA3
SETB LINHA4
;* INICIA VARREDURA DA LINHA1
CLR LINHA1 ;ZERA LINHA 1
JB COLUNA1,SALTO1 ;SE A TECHA1 NAO
ESTIVER
;ACIONADA, SALTA
SETB CHAVE1 ;INDICA CHAVE1 ACIONADA
SALTO1: JB COLUNA2,SALTO2 ;SE A TECLA2 NAO
ESTIVER
;ACIONADA, SALTA
SETB CHAVE2 ;INDICA CHAVE2 ACIONADA
SALTO2: JB COLUNA3,SALTO3
SETB CHAVE3
SALTO3: JB COLUNA4,SALTO4
SETB CHAVE4
SALTO4: SETB LINHA1 ;LIBERA LINHA 1
CLR LINHA2 ;ZERA LINHA 2
JB COLUNA1,SALTO5 ;SE A TECHA5 NAO
ESTIVER
;ACIONADA, SALTA
SETB CHAVE5 ;INDICA CHAVE5 ACIONADA
SALTO5: JB COLUNA2,SALTO6 ;SE A TECLA6 NAO
ESTIVER
;ACIONADA, SALTA
SETB CHAVE6 ;INDICA CHAVE6 ACIONADA
SALTO6: JB COLUNA3,SALTO7
SETB CHAVE7
SALTO7: JB COLUNA4,SALTO8
SETB CHAVE8
26
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
SALTO11: JB COLUNA4,SALTO12
SETB CHAVE12
Verificação (C):
Exercícios
1) - Fazer um projeto de um teclado telefônico de 12 teclas utilizando os ports
P1.1 a P1.7 (igual ao KIT do Laboratório). Fazer uma rotina LETECLADO
guardando a condição das teclas na área booleana 20.0 a 21.3. Criar um flag
F_TEC que indicará sempre que uma tecla for acionada. A área booleana será
zerada no tratamento da tecla. No programa principal, a tecla <*> irá ligar o led do
kit (P3.3) e a tecla <#> irá desligar o led do kit. Testar o programa no kit do
laboratório.
2) - Idem para a tecla 0 desligar o rele do kit e a tecla 1 ligar o rele do kit.
3) - Colocar um buzzer no kit do laboratório (P3.5). Acionar o buzzer 0,1 segundo
a cada acionamento do teclado.
4) - Fazer uma rotina para enviar a tecla digitada na o meio da segunda linha do
display.
TESTE TECLADO
X
Ação (A):
27
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Planejamento (P):
28
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
29
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
.
4.2) - Comunicação serial no 8051:
- Modo 0: comunicação serial de 8 bits (sem START e STOP BIT). Bit LSB
é o primeiro. Baud-rate fixo em 1/12 da freqüência do cristal.
- Modo 1: comunicação serial de 10 bits (com START e STOP BIT). Na
recepção, o STOP BIT vai para o RB8 do registrador SCON se SM2=0. Baud-rate
programável de acordo com carga do timer 1.
- Modo 2: comunicação serial de 11 bits (com START, STOP BIT e
PARIDADE). O bit de paridade é programável através do bit TB8 de SCON. Na
recepção, o bit de paridade é guardado em RB8 de SCON. O baud rate é
programável pelo bit SMOD do registrador PCON. Com SMOD=0, baud rate é
30
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
31
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Ex.:
1) - Colocar o processador em modo IDLE.
MOV PCON,#00000001B
32
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
smod
Taxa = 2 x (freq. cristal)
---- --------------
32 12 x (256 - TH1)
Exemplos:
33
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
...
WAITRX: JNB RI,WAITRX
MOV A,SBUF
MOV @R0,A
CLR RI
...
...
ORG 30 h
MOV TH1,# 0FD h ;carrega cristal 1 com reload
MOV TMOD,# 0010XXXXb ; programa timer 1 c/ reload
MOV TCON, # 010X0000b ;roda timer 1
MOV IE,# 10011XXXb ;habilita inter. serial e t1
MOV SCON, # 01010000b ;modo 1 e rx habilitado
...
TXBUF: MOV A,@R0
34
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Verificação (C):
Exercícios:
1) - Fazer uma rotina para transmitir uma string de uma tabela. Transmitir para
um computador a 9600 bps a string <ENGENHARIA MACKENZIE> . Testar
utilizando o Hiperterminal ou qualquer outro programa de comunicação.
Ação (A):
35
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
5) – Conversores Analógico/Digitais
Planejamento (P):
5.1) - Introdução:
36
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
fa = 2 x fmax
∆ V = Vmax / 2n
Ex: Para um valor Vmax = 5V, n=12 bits, qual a resolução do sinal?
∆ V = Vmax / 2n
∆ V= 5 / 4096 = 1,22 mV
Exemplos:
1) - Termômetro :
0 - 100 C
Vref = 2,5 V
n = 8 bits
37
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
38
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Verificação (C):
Exercícios:
- 89S51
- RAM 62256 (8000-FFFFh)
- LCD (end. 0-1fffh)
- Serial RS232
- Conversor ADC0808 (end. 2000h-3fffh) com 8 sensores de temperatura.
- 1 ventilador (P1.1)
- 1 aquecedor (P1.2)
- Firmware ligando o ventilador se o terceiro sensor indicar o valor maior que 80h e ligar o
aquecedor se o valor for menor que 30h.
Ação (A):
39
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
40
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
41
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
1)a) - Fazer uma rotina para habilitar as interrupções seriais, timer 1 e externa 0,
dando prioridade para a comunicação serial.
b)- Um microcontrolador desenvolvido no Laboratório de Microprocessadores do
Mackenzie (MACK3) possui uma entrada de reset ativa em nível baixo, entrada de
cristal até 20 Mhz, memória FLASH de 4 Kbytes (sem acesso a memória externa)
e 2 ports de comunicação (Port PA com 8 bits e Port PB com 6 bits). Fazer um
esquema mostrando
a ligação do MACK3 com um display LCD de 2 linhas x 20 caracteres.
42
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
43
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
9)- Vamos supor que você esteja programando um novo microcontrolador que
possua um temporizador interno com as seguintes características:
Contador DECRESCENTE de 16 bits. Entrada para o temporizador externo (pino
TENTR) que decrementa o temporizador de 1 unidade a cada pulso. Interrupção
com endereço 0010H
Registradores de modo (TMOD) e controle (TCON) idênticos ao 8051.
Mneumônicos para programação em linguagem Assembler compatível com o
8051.
a)- Supondo a entrada de um sinal de 100 Khz na entrada TENTR, qual o número
a ser colocado dentro do timer para o mesmo fornecer um tempo de 10 mseg?
Justificar mostrando o cálculo
b)- Fazer um programa em linguagem Assembler para incrementar apenas o
registrador R3 a cada 10 mseg.
44
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
45
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
46
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
47
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
48
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
49
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
50
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
51
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
52
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
53
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
54
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
55
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
56
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
57
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
58