Você está na página 1de 11

1

Universidade Federal de Gois

Escola de Engenharia Eltrica e de Computao

Roteiro de Experimentos de Laboratrio Parte 2 Micro crocontrolador 8051 51

Prof. Jos Wilson Lima Nerys

Ncleo de Estudo e Pesquisa em Processamento da Energia e Qualidade

Goinia, 2010

Microprocessadores e Microcontroladores ntroladores

Prof. Jos Wilson Lima Nerys

SUMRIO
1 2 INTRODUO AO MICROCONTROLADOR 8051 .................................................................3 ONDA QUADRADA E ROTAO DE LEDS .............................................................................4

2.1 PROCEDIMENTO EXPERIMENTAL .................................................................................................4 2.2 ONDA QUADRADA NO PINO P1.0 ...................................................................................................5 2.3 ROTAO DE LEDS .......................................................................................................................6 3 3.1 3.2 3.3 3.4 3.5 MOTOR DE PASSO E TECLADO ...............................................................................................7 INTRODUO AO MOTOR DE PASSO .............................................................................................7 INTRODUO AO TECLADO ...........................................................................................................8 MOTOR DE PASSO NO SIMULADOR ...............................................................................................9 MOTOR DE PASSO NO KIT ............................................................................................................10 TECLADO ......................................................................................................................................11

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

1 Introduo ao Microcontrolador 8051


O microcontrolador da famlia 8051 contm 2 contadores/temporizadores, 4 portas paralelas de 8 bits, 2 fontes de interrupo externas e 3 internas, uma porta serial com um canal de entrada e outro de sada, memria RAM e memria ROM. As Fig. 1 e 2 mostram, respectivamente, o di diagrama de blocos do 8051 e a pinagem do microcontrolador de 40 pinos. A Fig. 3 mostra um circuito mnimo necessrio para acionamento de um LED atravs do pino 0 da porta P2.

Fig. 1 Diagrama de blocos do 8051


5V
8051

5V

5V
10F

330
LED

12MHz 10 k
33pF 33pF

BC548

Fig. 3 Circuito mnimo para acionamento de um LED Fig. 2 Pinagem do microcontrolador 8051 de 40 pinos

Utiliza-se neste experimento um Kit didtico, cuja programao pode ser em linguagem C ou se Assembly do 8051. Para a linguagem C pode se utilizar o compilador que acompanha o kit de pode-se desenvolvimento; para o Assembly pode se utilizar o editor do simulador PEQui. pode-se

Microprocessadores e Microcontroladores ntroladores

Prof. Jos Wilson Lima Nerys

Onda Quadrada e Rotao de LEDs

2.1 Procedimento Experimental


Para cada um dos programas apresentados nesta seo, o aluno deve: (a) Digitar o programa proposto no programa AsmEditor ou no programa PEQui; (b) Compilar o programa, gerando, assim, o arquivo .HEX; (c) Simular o programa usando o simulador PEQui ou outro simulador do microcontrolador 8051. Analisar se o resultado da simulao corresponde ao esperado; (d) Conectar o kit de desenvolvimento da Exsto com o computador utilizando a interface Serial; (e) Gravar o arquivo .HEX no microcontrolador do kit de desenvolvimento da Exsto utilizando o programa Gravador XM851 que acompanha o kit.; Os passos para gravao no kit de desenvolvimento so: 1. Atravs do Menu Abrir Arquivo... carregue o arquivo .HEX compilado.

2. Ligue o kit e ento, atravs do menu Serial Conectar, conecte o kit ao computador.

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

3. Na parte direita do aplicativo, mantenha a opo Gravao selecionada e clique no boto Gravar.

4. Lembrete: O kit deve estar com o LED PROG aceso para ser possvel a gravao. Se ele estiver desligado e o LED RUN ligado, segure o boto Reset at o microcontrolador voltar ao estado de programao.

2.2 Onda Quadrada no Pino P1.0


(a) O Programa 1 mostrado na Tabela 1 gera uma onda quadrada no pino P1.0. Edite, Compile e Simule esse programa usando o programa PEQui. Observe o comportamento do pino 0 da Porta P1.
RTULO Tabela 1 programa que gera uma onda quadrada no pino P1.0 PROGRAMA COMENTRIOS $MOD51 ; Carrega biblioteca de configuraes do 8051 ORG 00H ; A prxima instruo est no endereo 00H LJMP INICIO ; Pula para o endereo 30H, incio do programa ORG 30H CPL P1.0 MOV R0,#50 DJNZ R0,$ SJMP INICIO END ; ; ; ; ; ; A prxima instruo est no endereo 30H da ROM Complementa o pino 0 da porta P1 Carrega registrador R0 com valor 50 decimal Atraso de tempo: decrementa R0 at R0 = 0 Volta para o incio do programa Diretiva para encerramento do programa

INICIO:

(b) Calcule a frequncia da onda quadrada resultante no pino P1.0 sabendo que o cristal oscilador de 11,0592 MHz. Perodo da Onda: ________________ Frequncia: ________________

(c) Grave o Programa da Tabela 1 no kit de desenvolvimento e, usando um osciloscpio, observe a onda quadrada no pino P1.0. Anote o valor MEDIDO do perodo e da frequncia da onda: Perodo da Onda: ________________
Microprocessadores e Microcontroladores

Frequncia: ________________
Prof. Jos Wilson Lima Nerys

(d) Modifique o programa da Tabela 1 de modo que a frequncia gerada no pino P1.0 seja mxima. Anote os valores medidos. Perodo da Onda: ________________ Frequncia: ________________

(e) O pino 30 (Address Latch Enable ALE) usado para o endereamento de perifricos conectados com o microcontrolador. Use o osciloscpio para registrar a onda de sada nesse pino. Qual a freqncia registrada? Frequncia no pino 30 (ALE): ___________ Frequncia do cristal:______________

2.3 Rotao de LEDs


(a) O Programa mostrado na Tabela 2 rotaciona para a esquerda, um a um, os LEDs conectados Porta P1. Edite, compile e simule esse programa usando o simulador PEQui ou outro simulador do 8051. Observe no simulador o comportamento dos pinos da Porta P1. Comente, na Tabela 2, a funo de cada uma das instrues usadas no programa. Lembrete: Para a simulao no PEQui retire a rotina de atraso. Voc pode comentar a linha colocando na frente da mesma o caracter ;.
RTULO Tabela 2 Programa para rotacionar LEDs na porta P2 PROGRAMA COMENTRIOS $MOD51 ORG 00H LJMP INICIO ORG 30H MOV SP,#2FH MOV A,#01H MOV P1,A LCALL ATRASO RL A CJNE A,#10H,VOLTA SJMP VOLTA MOV R5,#200 MOV R6,#200 DJNZ R6,$ DJNZ R5,REP RET END (b) Grave o programa no kit de desenvolvimento e observe o resultado nos LEDs da Porta P1.

INICIO: VOLTA:

ATRASO: REP:

(c) Substitua a instruo RL A do programa da Tabela 2 pela instruo RR A. Compile, Simule e grave o programa. O que acontece de diferente do programa anterior?

(d) Se diminuirmos os valores na rotina de atraso para valores muito baixos, o que acontece com os LEDs da Porta P1?

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

3
3.1

Motor de Passo e Teclado

Introduo ao Motor de Passo

O motor de passo consiste de um estator contendo bobinas que so acionadas usando corrente contnua e um rotor de m permanente, que gira a cada mudana das bobinas acionadas. Embora nas figuras a seguir as quatro bobinas sejam mostradas como nicas (concentradas), na prtica elas so distribudas ao longo do estator. Assim, pode-se obter um passo bem pequeno entre um pedao de bobina e outro. O ngulo de passo tpico do motor de passo utilizado aqui 7.5. As figuras abaixo ilustram, de maneira simplificada, o funcionamento de um motor de passo. Observe que, na figura, uma volta completa do motor alcanada aps percorrer todas as bobinas uma vez. Na prtica, uma volta completa conseguida aps uma passagem por todas as partes de cada bobina. Se cada passo for de 7.5, uma volta completa alcanada com 48 passos. Na figura abaixo tambm so mostrados os transistores usados no acionamento e as bobinas concentradas. Ainda temos uma tabela que mostra os comandos que devem ser enviados para a porta de sada (Na verdade, dados enviados ao perifrico motor de passo) de forma que o motor de passo gire de meio em meio passo e com passo completo.

Fig. 1: Esquema que demonstra a ligao padro de um motor de passo A Tabela 1 representa a atuao de um motor de passo com passo completo, sendo este utilizado kit MM8051.

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

Tabela 1: Valores para acionamento de motor de passo


Passo 1 2 3 4 5 T0 1 0 0 0 1 T1 0 1 0 0 0 T2 0 0 1 0 0 T3 0 0 0 1 0 HEX 08 04 02 01 08

O circuito da Fig. 1 o circuito tpico utilizado no acionamento de motor de passo, entretanto, h pastilhas integradas que so tambm utilizadas para essa funo. Na plataforma implementada foi utilizado o CI ULN2804A para acionamento dos motores de passo. A estrutura interna desse componente mostrada na Fig. 2. Trata-se de um conjunto de transistores do tipo darlington, com capacidade de corrente de 500 mA. Cada uma das 4 bobinas do motor ligada ao terminal comum (COM), que conectado ao Vcc, e a uma das sada (OUT).

Fig. 2: Driver para motor de passo - ULN2804A

3.2 Introduo ao Teclado


O teclado utilizado no kit possui uma estrutura geomtrica de 4x4, porm eletricamente ele ligado como 8x2, ou seja, 8 linhas e 2 colunas. Utilizando assim um decodificador equivalente. A leitura da tecla digitada feita atravs de um decodificador de teclado que gera um cdigo de oito bits. A leitura realizada por varredura. Para realiz-la envia-se um cdigo de 8 bits equivalente a uma das duas colunas do teclado (cdigos 80H e 40H, vistos na Fig. 3). Aps a ativao da coluna verifica-se cada linha, enviando o cdigo entre parnteses mostrado na Fig. 3, at encontrar qual tecla foi pressionada.

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

Fig. 3 Esquema de ligao do teclado 8x2

3.3 Motor de Passo no Simulador


O Programa mostrado na Tabela 2 para acionamento de um motor de passo com passo completo. Edite, Compile e Simule esse programa usando o programa PEQui. Observe o funcionamento do motor de passo, conectado porta P1. Tabela 2: Programa para simulao de motor de passo
RTULO INSTRUO $MOD51 ORG 00H LJMP INICIO ORG 30H MOV SP, #2FH MOV P1, #01H LCALL ATRASO MOV P1, #02H LCALL ATRASO MOV P0, #04H LCALL ATRASO RTULO INSTRUO MOV P0, #08H LCALL ATRASO SJMP REPETE MOV R0, #7FH MOV R1, #7FH DJNZ R1, $ DJNZ R0, VOLTA RET END

INICIO: REPETE:

ATRASO: VOLTA

No programa da Tabela 2, mude os valores de R0 e R1 para 3FH. O que muda no funcionamento do motor de passo?

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

10

3.4 Motor de passo no kit


Para a utilizao no kit deve-se enviar para o microcontrolador o endereo do componente para que ento os valores da tabela sejam enviados. O endereo do motor de passo do kit 0FFE6h. Edite, compile e rode o programa da Tabela 3. Aps a observao do programa em funcionamento, edite o cdigo para que o motor rode o sentido inverso. Tabela 3: Programa para motor de passo do kit
RTULO INSTRUO $MOD51 ORG 00H LJMP INICIO ORG 30H MOV DPTR, #0FFE6H MOV A, #01H MOVX @DPTR, A LCALL ATRASO MOV A, #02H MOVX @DPTR, A LCALL ATRASO MOV A, #04H RTULO INSTRUO MOVX @DPTR, A LCALL ATRASO MOV A, #08H MOVX @DPTR, A LCALL ATRASO SJMP REPETE MOV R0, #0FFH MOV R1, #0FFH DJNZ R1, $ DJNZ R0, VOLTA RET END

INICIO: REPETE:

ATRASO: VOLTA:

No programa da Tabela 3, como pode ser implementada a mudana de sentido de rotao do motor de passo? Verifique sua resposta implementando no kit a soluo encontrada.

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

11

3.5 Teclado
Edite, compile e rode o programa da Tabela 4 utilizando o kit de desenvolvimento. Tabela 4: Uso do teclado no kit
RTULO INSTRUO $MOD51 ORG 00H LJMP INICIO ORG 30H MOV DPTR, #0FFE3H MOV A, #00H MOV P1, A MOV A, #80H MOVX @DPTR, A MOVX A, @DPTR CJNE A, #40H, TC2 MOV P1, #01H LJMP FIM INSTRUO MOV P1, #05H LJMP FIM CJNE A, #08H, TCB MOV P1, #06H LJMP FIM CJNE A, #02H, TC7 MOV P1, #0BH LJMP FIM MOV A, #40H MOVX @DPTR, A MOVX A, @DPTR CJNE A, #10H, TC8 MOV P1, #07H LJMP FIM CJNE A, #01H, TC9 MOV P1, #08H LJMP FIM CJNE A, #08H, TCC MOV P1, #08H LJMP FIM RTULO TC2: INSTRUO CJNE A, #20H, TC3 MOV P1, #02H LJMP FIM CJNE A, #80H, TCA MOV P1, #03H LJMP FIM CJNE A, #04H, TC4 MOV P1, #0AH LJMP FIM CJNE A, #10H, TC5 MOV P1, #04H LJMP FIM CJNE A, #01H, TC6 INSTRUO CJNE A, #02H, TCF MOV P1, #0CH LJMP FIM CJNE A, #80H, TC0 MOV P1, #0FH LJMP FIM CJNE A, #20H, TCE MOV P1, #00H LJMP FIM CJNE A, #40H, TCD MOV P1, #0EH LJMP FIM CJNE A, #04H, FIM MOV P1, #0DH LJMP FIM LJMP TECLADO

TC3:

INICIO:

TCA:

TECLADO:

TC4:

RTULO

TC5: RTULO TCC:

TC6:

TCF:

TCB:

TC0:

TC7:

TCE:

TCD:

TC8:

FIM:

TC9:

Explique o funcionamento do programa da Tabela 4.

Faa um programa onde a tecla 01 usada para rotacionar o motor de passo para a esquerda e a tecla 02 usada para rotacionar o motor de passo para a direita.

Microprocessadores e Microcontroladores

Prof. Jos Wilson Lima Nerys

Você também pode gostar