MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051

Tamanho: px
Começar a partir da página:

Download "MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051"

Transcrição

1 MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051 José Wilson Lima Nerys Página: s: jwlnerys@gmail.com e jose_wilson_nerys@ufg.br Prof. José Wilson 1 Lima Nerys 1 Microprocessadores

2 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 2 Lima Nerys 2 Microprocessadores 2

3 Leitura de Tabela no 8085 x 8051 Mostra valores menores que 50H e valores maiores que 85H Início Início Fluxograma para o 8085 Configurações iniciais: SP ß 2070H, HL ß 2050H Configurações iniciais: SP ß 2FH, DPTR ß #Tabela R0 ß 00H, R7 ß 00H Fluxograma para o 8051 A ß ((H,L)) A ß R7 A ß ((A + DPTR)) A < 50H? N A > 85H? S S A = FFH? N A < 50H? S S Fim N Display ß A N A > 85H? S HL ß HL + 1 L ß A N N A = 60H? R7 ß R7 + 1 P1 ß A S Fim Prof. José Wilson 3 Lima Nerys 3 Microprocessadores

4 4 Assembly do 8085 Endereço Mnemônico Endereço Dado Endereço Mnemônico 2000H LXI SP, 2070H 2050H 10H 2030H MVI C,50H 2003H LXI H,2050H 2051H 50H 2032H DCR C 2006H MOV A,M 2052H 25H 2033H JNZ 2032H 2007H CPI 50H 2053H 60H 2036H RET 2009H JC 2014H 2054H 65H 200CH CPI 85H 2055H A0H 200EH JC 201CH 2056H 70H 2011H JZ 201CH 2057H 90H 2014H PUSH H 2058H 85H 2069H 2015H CALL MOSTRA 2059H 87H 206AH 2018H CALL ATRASO 205AH 45H 206BH 201BH POP H 205BH 39H 206CH 1BH 201CH INX H 205CH C5H 206DH 20H 201DH MOV A,L 205DH 11H 206EH 55H 201EH CPI 60H 205EH 33H 206FH 20H Prof. José Wilson 2020HLima JNZ Nerys 2006H 205FH D2H 2070H 4 Microprocessadores 4

5 Assembly do 8051 Universidade Federal de Goiás Rótulo Mnemônico Rótulo Mnemônico Rótulo Dado 0000H LJMP INICIO JC V2 TABELA: 10H JZ V2 50H ORG 30H MOSTRA: MOV P1,R0 25H INICIO: MOV SP,#2FH LCALL ATRASO 60H MOV DPTR,#TABELA V2: INC R7 65H MOV R7,#00H SJMP V0 A0H V0: MOV A,R7 70H MOVC ATRASO: MOV R1,#200 90H CJNE A,#0FFH,V1 DJNZ R1,$ 85H SJMP FIM RET 87H V1: CLR CY 45H MOV R0,A 39H SUBB A,#50H C5H JC MOSTRA 11H MOV A,R0 33H 5 SUBB A,#85H D2H Prof. José Wilson Lima Nerys 5 Microprocessadores FFH

6 Prof. José Wilson 6 Lima Nerys 6 Microprocessadores 6

7 Prof. José Wilson 7 Lima Nerys 7 Microprocessadores 7

8 Memória RAM Prof. José Wilson 8 Lima Nerys 8 Microprocessadores 8

9 Memória RAM Prof. José Wilson 9 Lima Nerys 9 Microprocessadores 9

10 Memória RAM Prof. José Wilson 10Lima Nerys 10 Microprocessadores 10

11 Memória RAM Prof. José Wilson 11 Lima Nerys 11 Microprocessadores 11

12 MOV R0,#80H MOV 80H,A Conteúdo de A é armazenado na posição 80H da memória RAM Conteúdo de A é armazenado no registrador especial 80H, que corresponde à Porta P0 Prof. José Wilson 12Lima Nerys 12 Microprocessadores 12

13 Registradores Especiais Prof. José Wilson 13Lima Nerys 13 Microprocessadores

14 Registradores Especiais Prof. José Wilson 14Lima Nerys 14 Microprocessadores

15 Algumas Instruções do 8051 Instrução MOV A,#Dado8 MOV Rn,#Dado8 MOV A,B MOV Rn,A MOV A,direto MOV dir1,dir2 MOV DPTR,#dado16 MOVC Descrição Carrega acumulador com o Dado de 8 bits Carrega registrador Rn (n=0 a 7) com o Dado de 8 bits Copia no registrador A (acumulador) o conteúdo do registrador B Copia no registrador Rn (n = 0 a 7) o conteúdo do acumulador Copia em A o conteúdo do registrador identificado pelo endereço direto Copia no registrador identificado pelo endereço dir1 o conteúdo do registrador identificado pelo endereço dir2 Copia o conteúdo de A na posição apontada por R0 O registrador duplo DPTR recebe um dado de 16 bits Carrega acumulador com o conteúdo da posição apontada por A+DPTR Prof. José Wilson 15Lima Nerys 15 Microprocessadores

16 Instrução CJNE A,#dado,Ender CJNE Rn,#dado,Ender DJNZ Rn,desvio SJMP ender LJMP ender Descrição Algumas Instruções do 8051 Compara conteúdo de A com o dado ; se não forem iguais, desvia para o endereço Ender Compara conteúdo do registrador Rn (n = 0 a 7) com o dado ; se não forem iguais, desvia para o endereço Ender Decrementa o registrador Rn (n = 0 a 7); se o resultado não for zero, desvia para desvio Desvia para o endereço ender. SJMP = Short Jump (2 bytes de código) Desvia para o endereço ender. LJMP = Long Jump (3 bytes de código) JNZ ender Desvia para o endereço ender, se a flag Z = 0 JZ ender Desvia para ender, se a flag Z = 1 JNC ender Desvia para ender, se a flag CY = 0 JC ender Desvia para ender, se a flag CY = 1 Codificação: 80 XX, onde XX = número de bytes (em complemento de 2) a ser adicionado ao endereço da próxima instrução, para desviar para o endereço ender Prof. José Wilson 16Lima Nerys 16 Microprocessadores

17 Algumas Instruções do 8051 Instrução ADD A,Rn ADD A,#dado8 SUBB A,direto SUBB RL A RR A DA A INC Rn INC DPTR CPL A Descrição Adiciona o conteúdo de Rn (n = 0 a 7) ao conteúdo do acumulador Adiciona o dado8, de 8 bits ao conteúdo do acumulador Subtrai o conteúdo do registrador identificado pelo endereço direto, do conteúdo do acumulador Subtrai o conteúdo da posição apontada pelo registrador R0 do conteúdo do acumulador Rotaciona o conteúdo de A para a esquerda Rotaciona o conteúdo de A para a direita Faz o ajuste decimal do conteúdo de A Incrementa em uma unidade o conteúdo do registrador Rn Incrementa em uma unidade o conteúdo do registrador duplo DPTR Complementa o conteúdo do acumulador Prof. José Wilson 17Lima Nerys 17 Microprocessadores

18 Algumas Instruções do 8051 Instrução MUL AB DIV AB ANL A,#dado ORL A,#dado SWAP A Descrição Multiplica o conteúdo de A pelo conteúdo de B. O resultado está em B A. O resultado da multiplicação é um número de 16 bits, por isso precisa de dois registradores para o resultado. Divide o conteúdo de A pelo conteúdo de B. A recebe o quociente e B o resto. Faz a operação AND, bit a bit, entre o acumulador e o dado de 8 bits Faz a operação OR, bit a bit, entre o acumulador e o dado de 8 bits Faz a troca dos nibbles do acumulador, ou seja, o nibble mais significativo passa a ocupar os quatro primeiros bits do acumulador e o nibble menos significativo passa a ocupar os quatro últimos bits. Por exemplo, se originalmente, A = 35 H, após a instrução, A = 53 H. Prof. José Wilson 18Lima Nerys 18 Microprocessadores

19 Algumas Instruções do 8051 Operações com bits Instrução JB bit,desvio Descrição Desvia para a posição desvio, caso o bit esteja setado (se bit=1). Exemplo: Se F0 = 1, então a instrução JB F0,V1 faz o processamento desviar para a posição V1 JNB bit,desvio Desvia para desvio, caso o bit seja zero (se bit = 0). SETB bit Faz bit = 1 CLR bit Faz bit = 0 CPL bit MOV bit,c Complementa o bit. Se bit = 1, então bit torna-se bit=0. Copia no bit o conteúdo da Flag de Carry. Prof. José Wilson 19Lima Nerys 19 Microprocessadores

20 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 20Lima Nerys 20 Microprocessadores

21 Contagem crescente Rótulo Mnemônico Comentário sobre o Efeito da Operação Tempo ORG 00H LJMP INICIO A próxima instrução estará no endereço 00h Pula para o endereço indicado com o rótulo inicio ORG 30H INICIO: MOV A,#00H A próxima instrução estará no endereço 30h Carrega acumulador com valor 00h Endereço da próxima instrução V1: MOV P1,A Transfere para a porta P1 o conteúdo do acumulador 1 µs Codificação: V1 corresponde ao endereço 0032H = FB (considerando somente o byte menos significativo) INC A Incrementa em 1 o conteúdo do acumulador. A ß A µs SJMP V1 Pula para o endereço indicado pelo rótulo V1 2 µs END Instrução obrigatória no fim de todo programa 4 µs 1 ORG 00H LJMP INICIO 3 4 ORG 30H INICIO: MOV A,#00H 0032 F590 6 V1: MOV P1,A INC A FB 8 SJMP V1 9 END Intervalo entre cada dois envios para a Porta P1: 4 µs Período: 256 x 4 µs = 1024 µs Prof. José Wilson 21Lima Nerys 21 Microprocessadores

22 Universidade Federal de Goiás Contagem crescente Resultado visual (saída do Conversor Digital-Analógico): Onda Dente de Serra Rótulo Mnemônico Tempo ORG 00H LJMP INICIO ORG 30H INICIO: MOV A,#00H V1: MOV P1,A 1 µs INC A 1 µs SJMP V1 2 µs END 4 µs Período medido com o Proteus: 1020 µs Intervalo entre cada dois envios para a Porta P1: 4 µs Cristal oscilador: 12 MHz Período calculado: 255 x 4 µs = 1020 µs 22 Prof. José Wilson Lima Nerys 22 Microprocessadores

23 Contagem crescente e decrescente Rótulo Mnemônico Comentário sobre o Efeito da Operação Início ORG 00H A próxima instrução estará no endereço 00h A ß 00H LJMP INICIO Pula para o endereço indicado com o rótulo inicio P0 ß A ORG 30H A próxima instrução estará no endereço 30h Aß A + 1 INICIO: MOV A,#00H Carrega acumulador com valor 00h N A = FFH? S P0 ß A V1: MOV P0,A Transfere para a porta P0 o conteúdo do acumulador INC A CJNE A,#0FFH,V1 Incrementa o conteúdo do acumulador Compara conteúdo do acumulador com 30h. Caso não seja igual (Compare, Jump if Not Equal), desvia para V1 N Aß A - 1 A = 00? S V2: MOV P0,A Transfere para a porta P0 o conteúdo do acumulador DJNZ ACC,V2 Decrementa conteúdo do acumulador e vai para V2 se não for zero SJMP V1 Pula para V1. Não precisa usar LJMP porque a distância é curta. END Instrução obrigatória no fim de todo programa Quando A = FFH, vai para a próxima linha. Acaba o ciclo crescente e começa o decrescente Prof. José Wilson 23Lima Nerys 23 Microprocessadores 23

24 Universidade Federal de Goiás Contagem crescente e decrescente Saída do Conversor Digital-Analógico: Onda Triangular Rótulo Mnemônico Tempo Período ORG 00H LJMP INICIO ORG 30H 1 µs CJNE A,#0FFH,V1 2 µs V2: MOV P0,A DJNZ ACC,V2 SJMP V1 END 1 µs 2 µs = 1020 µs INC A µs=765 µs 1 µs 255 x 3 V1: MOV P0,A 255 x 4 µs INICIO: MOV A,#00H O primeiro semi-período (crescente: 1020 µs, calculado e 1010 µs medido) é maior que o segundo (decrescente: 765 µs calculado e 781 µs medido) porque o número de instruções executadas é diferente para o primeiro e para o segundo semi-período Prof. José Wilson Lima Nerys 24 Microprocessadores

25 Universidade Federal de Goiás Contagem crescente e decrescente Saída do Conversor Digital-Analógico: Onda Triangular Rótulo Mnemônico Tempo Período ORG 00H LJMP INICIO ORG 30H 1 µs CJNE A,#0FFH,V1 2 µs V2: MOV P0,A 1 µs NOP 1 µs DJNZ ACC,V2 SJMP V1 END 25 Prof. José Wilson Lima Nerys 2 µs = 1020 µs INC A 1020 µs 1 µs 255 x 4µs = V1: MOV P0,A 255 x 4 µs INICIO: MOV A,#00H Com a inclusão da instrução NOP, os dois semiperíodos ficaram com tempos calculados iguais e tempos medidos muito próximos (1020 µs e 1030 µs) Instrução NOP (No Operation) usada apenas para gerar um atraso de 1 µs Microprocessadores

26 Universidade Federal de Goiás Onda quadrada no pino P1.0 Endereço 0000H Código Rótulo Mnemônico Comentário sobre o Efeito da Operação Tempo ORG 00H A próxima instrução estará no endereço 00h LJMP INICIO Pula para o endereço indicado com o rótulo inicio ORG 30H A próxima instrução estará no endereço 30h Complementa o bit 0 da Porta P1 1 µs MOV R0,#50 Carrega registrador R0 com valor decimal 50 1 µs D8 FE DJNZ R0,$ Decrementa o conteúdo de R0, até R0 = 0 80 F8 SJMP INICIO Retorna para o início END Instrução obrigatória no fim de todo programa 0030H B H H 0036H INICIO: CPL P H 100 µs 2 µs 104 µs Tempo calculado para meio período Tempo medido para meio período com o Proteus: 105,10 µs Cristal oscilador: 12 MHz 26 Prof. José Wilson Lima Nerys 26 Microprocessadores

27 Leitura de Tabela adaptada para ler 256 valores que, enviados para o Conversor DA, resulta em uma curva senoidal Rótulo Mnemônico CONTADOR EQU 07H ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV DPTR,#Tabela MOV CONTADOR,#00h Mnemônico Tempo V1: MOV A,CONTADOR 1 µs MOVC A,@A+DPTR 2 µs MOV P0,A 1 µs INC CONTADOR 1 µs SJMP V1 2 µs Tempo entre leituras: 7 µs Período senoide: 7 µs x 256 = 1792 µs Período medido: 1,80 ms 556 Hz Como a Tabela de seno tem 256 valores, não há necessidade fazer uma contagem desses valores, uma vez que o CONTADOR volta ao valor zero após atingir o valor máximo FFh. Assim, a leitura volta para o início da Tabela após CONTADOR = FFh. Prof. José Wilson 27Lima Nerys 27 Microprocessadores 27

28 Tabela: seno Universidade Federal de Goiás Parte 1 Parte 2 Parte 3 Parte 4 Parte 5 Parte 6 DB 127 DB 205 DB 250 DB 243 DB 186 DB 104 DB 130 DB 208 DB 251 DB 241 DB 183 DB 101 DB 133 DB 210 DB 252 DB 240 DB 180 DB 98 DB 136 DB 213 DB 252 DB 239 DB 177 DB 95 DB 139 DB 215 DB 253 DB 237 DB 174 DB 91 DB 143 DB 217 DB 253 DB 235 DB 171 DB 88 DB 146 DB 219 DB 253 DB 234 DB 168 DB 86 DB 149 DB 221 DB 254 DB 232 DB 166 DB 83 DB 152 DB 223 DB 254 DB 230 DB 163 DB 80 DB 155 DB 225 DB 254 DB 228 DB 159 DB 77 DB 158 DB 227 DB 254 DB 226 DB 156 DB 74 DB 161 DB 229 DB 254 DB 224 DB 153 DB 71 DB 164 DB 231 DB 254 DB 222 DB 150 DB 68 DB 167 DB 233 DB 254 DB 220 DB 147 DB 66 DB 170 DB 235 DB 253 DB 218 DB 144 DB 63 DB 173 DB 236 DB 253 DB 216 DB 141 DB 60 DB 176 DB 238 DB 252 DB 214 DB 138 DB 58 DB 179 DB 239 DB 252 DB 211 DB 135 DB 55 DB 181 DB 241 DB 251 DB 209 DB 132 DB 52 DB 184 DB 242 DB 251 DB 207 DB 129 DB 50 DB 187 DB 243 DB 250 DB 204 DB 125 DB 47 DB 190 DB 245 DB 249 DB 202 DB 122 DB 45 DB 193 DB 246 DB 248 DB 199 DB 119 DB 43 DB 195 DB 247 DB 247 DB 196 DB 116 DB 40 DB 198 DB 248 DB 246 DB 194 DB DB 38 DB 200 DB 249 DB 245 DB 191 DB 110 DB 36 Prof. José Wilson DB Lima 203Nerys DB 250 DB 244 DB 188 DB Microprocessadores DB 34 28

29 Parte 7 Parte 8 Parte 9 Parte 10 Parte 11 Parte 12 DB 32 DB 7 DB 0 DB 13 DB 44 DB 87 DB 30 DB 6 DB 1 DB 15 DB 46 DB 90 DB 28 DB 5 DB 1 DB 16 DB 49 DB 93 DB 26 DB 4 DB 1 DB 18 DB 51 DB 96 DB 24 DB 3 DB 2 DB 19 DB 54 DB 99 DB 22 DB 3 DB 2 DB 21 DB 56 DB 102 DB 20 DB 2 DB 3 DB 23 DB 59 DB 105 DB 19 DB 2 DB 4 DB 25 DB 61 DB 108 DB 17 DB 1 DB 4 DB 27 DB 64 DB 111 DB 15 DB 1 DB 5 DB 29 DB 67 DB 115 DB 14 DB 0 DB 6 DB 31 DB 70 DB 118 DB 13 DB 0 DB 7 DB 33 DB 73 DB 121 DB 11 DB 0 DB 8 DB 35 DB 75 DB 124 DB 10 DB 0 DB 9 DB 37 DB 78 DB 127 DB 9 DB 0 DB 11 DB 39 DB 81 DB 8 DB 0 DB 12 DB 41 DB 84 Prof. José Wilson 29Lima Nerys 29 Microprocessadores

30 Gerador de Função com valores fixos de frequência para cada onda: 1 Onda quadrada 2 Onda dente de serra 3 Onda triangular 4 Onda senoidal CONTADOR EQU 07H QUAD EQU P2.0 Chave de escolha Onda quadrada SERRA EQU P2.1 Chave de escolha Dente de serra TRI EQU P2.2 Chave de escolha Triangular SENO EQU P2.3 Chave de escolha Senoide Primeira parte do programa: INICIO: ORG 00H LJMP INICIO ORG 30H MOV SP,#2FH MOV DPTR,#Tabela MOV CONTADOR,#00h V1: MOV A,#00H JNB QUAD, QUADRADA Se QUAD = 0 quadrada JNB SERRA, DENTE_SERRA JNB TRI, TRIANGULAR JNB SENO, SENOIDAL Se SENO = 0 Senoidal SJMP V1 Prof. José Wilson 30Lima Nerys 30 Microprocessadores 30

31 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 31Lima Nerys 31 Microprocessadores

32 Leitura de Tabela com Quantidade de Dados menor que 256 Usando tabela para acionamento de motor de passo Prof. José Wilson 32Lima Nerys 32 Microprocessadores 32

33 Rótulo Universidade Federal de Goiás Acionamento de Motor de Passo com Passo Completo e Meio Passo Mnemônico ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV DPTR,#Tabela V1: MOV R7,#00h Rótulo Mnemônico V2: MOV A,R7 A subrotina de atraso de tempo não foi incluída MOVC A,@A+DPTR MOV P1,A LCALL ATRASO INC R7 CJNE R7,#04H,V2 SJMP V1 Rótulo Tabela Passo Completo Tabela: DB 03H DB 06H DB 0CH DB 09H Tabela Meio Passo DB 01H DB 03H DB 02H DB 06H DB 04H DB 0CH DB 08H DB 09H Essa tabela, com apenas 4 valores, pode ser usada para o acionamento de um motor de passo (PASSO COMPLETO). A tabela com 8 valores é para acionamento do motor de passo com MEIO PASSO. O motor deve estar conectado, através de um driver, ao nibble inferior da Porta P1. 33 Prof. José Wilson 33Lima Nerys 33 Microprocessadores END END Offset R

34 Acionamento de Motor de Passo Driver ULN 2803 Capacidade de corrente: 500 ma Tensão máxima no pino COM: 50 V Prof. José Wilson 34Lima Nerys 34 Microprocessadores

35 Rótulo Universidade Federal de Goiás Mnemônico CH0 EQU P2.0 CH1 EQU P2.1 CH2 EQU P2.2 CH3 EQU P2.3 ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH Rótulo ATRASO: V1: MOV R7,#00h Mnemônico MOV R0,#80 V3: MOV R1,#25 DJNZ R1,$ DJNZ R0,V3 RET Tabela3: Tabela4: Usando Chaves externas para escolher a configuração do acionamento CH0 sentido horário com passo completo CH1 sentido anti-horário com passo completo CH2 sentido horário com meio passo CH3 sentido anti-horário com meio passo Tarefa: 1. Escolher uma das chaves para Ligar/Desligar 2. Escolher uma das chaves para definir o sentido horário ou anti-horário 3. Escolher uma das chaves para definir se o acionamento é com meio passo ou passo completo Tabela1: DB 03H, 06H, 0CH, 09H, 0FFH Tabela2: DB 09H, 0CH, 06H, 03H, 0FFH DB 01H, 03H, 02H, 06H, 04H, 0CH, 08H, 09H, 0FFH DB 09H, 08H, 0CH, 04H, 06H, 02H, 03H, 01H, 0FFH Rótulo Mnemônico V0: JB CH0,VCH1 MOV DPTR,#Tabela1 SJMP V2 VCH1: JB CH1,VCH2 MOV DPTR,#Tabela2 SJMP V2 Prof. José Wilson 35Lima Nerys 35 Microprocessadores VCH2: JB CH2,VCH3 MOV DPTR,#Tabela3 SJMP V2 VCH3: JB CH3,V0 MOV DPTR,#Tabela4 V2: MOV A,R7 MOVC A,@A+DPTR CJNE A,#0FFH,V4 SJMP V1 V4: MOV P1,A LCALL ATRASO INC R7 SJMP V2

36 Mostra em P1 o Maior valor de uma Tabela R0 recebe o maior valor, antes de mostrar em P1 Início Configurações iniciais: SP ß 2FH, DPTR ß #Tabela R0 ß 00H, R7 ß 00H A ß R7 A ß ((A + DPTR)) A = FF? S S N A >= R0? P1 ß R0 R0 ß A N R7 ß R7 + 1 Fim Prof. José Wilson 36Lima Nerys 36 Microprocessadores

37 Mostra em P1 o Maior valor de uma Tabela Rótulo Mnemônico Rótulo Mnemônico Rótulo Mnemônico Offset R7 ORG 00H V1: MOV A,R7 Tabela: DB 0A3H 0 LJMP INICIO MOVC A,@A+DPTR DB 16H 1 CJNE A,#0FFH,SEGUE DB 05H 2 ORG 30H MOV P1,R0 DB 09H 3 INICIO: MOV SP,#2FH SJMP FIM DB 0A1H 4 MOV DPTR,#Tabela DB 35H 5 MOV R0,#00h SEGUE: CLR CY DB 0C5H 6 MOV R7,#00H MOV B,A DB 72H 7 SUBB A,R0 JC V2 MOV R0,B DB 40H DB 0FFH 8 9 V2: INC R7 FIM: END SJMP V1 Prof. José Wilson 37Lima Nerys 37 Microprocessadores

38 Contagem decimal crescente de 0 a 59 e decrescente de 59 a 0 Rótulo Mnemônico Rótulo Mnemônico ORG 00H ORG 00H LJMP INICIO LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV A,#00H V1: MOV P1,A ADD A,#01H DA A CJNE A,#60H,V1 SJMP INICIO END Enquanto A < 60H, continua contagem crescente ORG 30H INICIO: MOV SP,#2FH MOV A,#60H V1: ADD A,#99H Prof. José Wilson 38Lima Nerys 38 Microprocessadores DA A MOV P1,A CJNE A,#00H,V1 SJMP INICIO END Enquanto A > 00H, continua contagem decrescente

39 Relógio HH:MM:SS Prof. José Wilson 39Lima Nerys 39 Microprocessadores

40 RÓTULO MNEMÔNICO SEG EQU 10H MIN EQU 11H HORA EQU 12H ORG 00H LJMP INICIO Relógio HH:MM:SS RÓTULO MNEMÔNICO MOV A,SEG ADD A,#01H DA A MOV SEG,A RÓTULO MNEMÔNICO ADD A,#01H DA A MOV HORA,A CJNE A,#24H,V2 CJNE A,#60H,V2 SJMP V1 INICIO: ORG 30H MOV SP,#2FH V1: MOV SEG,#00H MOV MIN,#00H MOV HORA,#00H V2: MOV P2,SEG MOV P1,MIN MOV P0,HORA LCALL ATRASO MOV SEG,#00H MOV A,MIN ADD A,#01H DA A MOV MIN,A CJNE A,#60H,V2 MOV MIN,#00H MOV A,HORA ATRASO: MOV R0,#250 V3: MOV R1,#250 DJNZ R1,$ DJNZ R0,V3 Prof. José Wilson 40Lima Nerys 40 Microprocessadores RET END

41 Cronômetro: MM:SS Prof. José Wilson 41Lima Nerys 41 Microprocessadores

42 RÓTULO MIN SEG MNEMÔNICO EQU 11H EQU 12H BUZZER EQU P3.7 INICIO: ORG 00H LJMP INICIO ORG 30H MOV SP,#2FH CLR BUZZER MOV MIN,#20H MOV SEG,#00H V1: MOV P2,MIN MOV P1,SEG LCALL ATRASO Cronômetro Decrescente: MM:SS RÓTULO MNEMÔNICO MOV A,SEG ADD A,#99H DA A MOV SEG,A CJNE A,#99H,V1 MOV SEG,#59H MOV A,MIN ADD A,#99H DA A MOV MIN,A CJNE A,#99H,V1 MOV MIN,#00H MOV SEG,#00H RÓTULO ATRASO: MNEMÔNICO MOV P2,MIN MOV P1,SEG SETB BUZZER MOV R7,#10 V2: LCALL ATRASO DJNZ R7,V2 CLR BUZZER SJMP $ MOV R0,#250 V3: MOV R1,#250 DJNZ R1,$ DJNZ R0,V3 Prof. José Wilson 42Lima Nerys 42 Microprocessadores RET END

43 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 43Lima Nerys 43 Microprocessadores

44 Interrupções do 8051 Endereços de Desvio das Interrupções: Interrupção Solicitada Reset INT0\ Timer/counter 0 INT1\ Timer/counter 1 Canal Serial Endereço de desvio 0000h 0003h 000Bh 0013h 001Bh 0023h Registradores associados à interrupção: Registrador de Habilitação: IE (Interrupt Enable) = Registrador A8h Registrador de Prioridades: IP (Interrupt Priority) = Registrador B8h Registrador de Controle: TCON (Timer Control) = Registrador 88h Prof. José Wilson 44Lima Nerys 44 Microprocessadores

45 Registrador de Habilitação: IE (Interrupt Enable) = Registrador A8h pino P3.2 são atendidas. Com EX0 = 0 elas são ignoradas. Prof. José Wilson Lima Nerys 45 Microprocessadores 45 Bit 7 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 EA x x ES ET1 EX1 ET0 EX0 EA Enable All. Com EA = 1, todas as interrupções podem ser habilitadas individualmente. Com EA = 0, ficam todas mascaradas. ES Enable Serial. Com ES = 1, a interrupção pelo canal serial fica habilitada. Com ES = 0 os pedidos de interrupção da serial são ignorados. ET1 Enable Timer 1. Com ET1 = 1, as interrupções pedidas pelo Timer 1 são atendidas. Com ET1 = 0 elas são ignoradas. EX1 Enable External Interrupt 1. Com EX1 = 1, as interrupções pedidas através do pino P3.3 são atendidas. Com EX1 = 0 elas são ignoradas. ET0 Enable Timer 0. Com ET0 = 1, as interrupções pedidas pelo Timer 0 são atendidas. Com ET0 = 0 elas são ignoradas. EX0 Enable External Interrupt 0. Com EX0 = 1, as interrupções pedidas através

46 Registrador de Controle: TCON (Timer Control) = Registrador 88h TCON = TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IE1 Interrupt 1 Edge Flag - É setado pelo hardware quando uma interrupção externa através de INT1\ é detectada. É zerada quando da execução da instrução RETI (retorno da subrotina de atendimento). IT1 (Interrupt 1 Type) - Quando IT1 = 1 a interrupção externa 1 será reconhecida pela transição de 1 para 0 no pino P3.3. Quando IT1 = 0, a interrupção é reconhecida quando o sinal no pino P3.3 está em nível baixo (0 = interrupção por nível). IE0 (Interrupt 0 Edge Flag) - É setado pelo hardware quando uma interrupção externa através de INT0\ é detectada. É zerada quando da execução da instrução RETI. IT0 (Interrupt 0 Type) - Quando IT0 = 1 a interrupção externa 0 será reconhecida pela transição de 1 para 0 no pino INTO\. Quando IT0 = 0, a interrupção é reconhecida quando o sinal no pino INTO\ está em nível baixo (0). Prof. José Wilson 46Lima Nerys 46 Microprocessadores

47 Registrador de Prioridade: IP (Interrupt Priority) = Registrador B8h IP = X X X PS PT1 PX1 PT0 PX0 PS Priority of Serial Port Interrupt Sendo PS = 1, a interrupção serial tem prioridade alta. PT1 Priority of Timer Interrupt 1 Sendo PT1 = 1, a interrupção do temporizador 1 tem prioridade alta. PX1 Priority of External Interrupt 1 Sendo PX1 = 1, a interrupção externa 1 tem prioridade alta. PT0 Priority of Timer Interrupt 0 Sendo PT0 = 1, a interrupção do temporizador 0 tem prioridade alta. PX0 Priority of External Interrupt 0 Sendo PX0 = 1, a interrupção externa 0 tem prioridade alta. Prof. José Wilson 47Lima Nerys 47 Microprocessadores

48 Uma interrupção ter prioridade alta (Prioridade 1) significa que ela será atendida sempre que solicitada, mesmo quando o programa está executando uma outra interrupção. No caso de todos os canais de interrupção terem prioridade 0 ou 1, a escala de prioridade é como segue: Interrupção Externa 0 Prioridade Maior Temporizador 0 Externa 1 Temporizador 1 Serial Menor Prof. José Wilson 48Lima Nerys 48 Microprocessadores

49 Usando Interrupções (antes de estudar interrupções) Para escolher o valor inicial do cronômetro e para iniciar a contagem RÓTULO MNEMÔNICO COMENTÁRIO ORG 00H LJMP INICIO ORG 03H Endereço da Interrupção externa 0 (EX0) MOV A,MIN A recebe o valor atual dos Minutos ADD A,#01H Acrescenta 01H ao conteúdo de A DA A Faz o ajuste decimal do conteúdo de A MOV MIN,A Transfere para MIN o conteúdo atualizado dos minutos RETI Retorna da Interrupção externa 0 ORG 13H Endereço da Interrupção externa 0 (EX1) SETB F0 Faz F0 = 1 para dar início à contagem RETI Retorna da interrupção externa 1 Prof. José Wilson 49Lima Nerys 49 Microprocessadores

50 Usando Interrupções (antes de estudar interrupções) Para escolher o valor inicial do cronômetro e para iniciar a contagem RÓTULO MNEMÔNICO COMENTÁRIO ORG 30H INÍCIO: MOV SP,#2FH MOV IE,#85H Habilita as interrupções externas 0 e 1 MOV TCON,#05H As interrupções externas 0 e 1 são por transição CLR F0 Limpa a flag F0, que é usada para iniciar a contagem MOV SEG,#00H Faz o registrador SEG = 0 CLR BUZZER Limpa a saída que aciona o alarme V1: MOV P1,SEG Mostra valor atual de MINuto e SEGundo MOV P2,MIN JNB F0,V1 Aguarda enquanto F0 = 0 Prof. José Wilson 50Lima Nerys 50 Microprocessadores

51 Rotação de Leds à esquerda (CH0 = 0) e à direita (CH1 = 0) Rótulo Mnemônico CH0 EQU P3.2 CH1 EQU P3.3 ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV A,#01H V1: JB CH0,VCH1 Rótulo Mnemônico MOV P1,A RL A LCALL ATRASO SJMP V1 VCH1: JB CH1,V1 MOV P1,A RR A LCALL ATRASO SJMP V1 Rótulo Mnemônico ATRASO: MOV R0,#100 V2: MOV R1,#200 DJNZ R1,$ DJNZ R0,V2 RET END Prof. José Wilson 51Lima Nerys 51 Microprocessadores

52 Leds piscando (CH0 = 0) e alternando (CH1 = 0) Rótulo Mnemônico CH0 EQU P3.2 CH1 EQU P3.3 ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV R6,#00H MOV R7,#55H V1: JB CH0,VCH1 Rótulo Mnemônico MOV P1,R6 MOV A,R6 LCALL ATRASO CPL A MOV R6,A SJMP V1 VCH1: JB CH1,V1 MOV P1,R7 MOV A,R7 LCALL ATRASO CPL A MOV R7,A SJMP V1 Rótulo Mnemônico ATRASO: MOV R0,#100 V2: MOV R1,#200 DJNZ R1,$ DJNZ R0,V2 RET END Prof. José Wilson 52Lima Nerys 52 Microprocessadores

53 Multiplicação e Divisão de Números de 8 bits Rótulo Mnemônico Rótulo Mnemônico ORG 00H ORG 00H LJMP INICIO LJMP INICIO ORG 00H INICIO: MOV SP,#2FH MOV A,#200 MOV B,#40 MUL AB JB P3.2,$ MOV P2,A MOV P1,B END ORG 00H INICIO: MOV SP,#2FH MOV A,#200 MOV B,#40 DIV AB JB P3.2,$ MOV P2,A MOV P1,B END Prof. José Wilson 53Lima Nerys 53 Microprocessadores

54 Adição e Subtração de Números de 16 bits Prof. José Wilson 54Lima Nerys 54 Microprocessadores

55 ; ADIÇÃO DE NÚMEROS DE 16 BITS Z = X + Y XH EQU 10H ; Número X de 16 bits XL EQU 11H YH EQU 12H ; Número Y de 16 bits YL EQU 13H ZH EQU 14H ; Resultado da adição de 16 bits ZL EQU 15H ZOV BIT 00H ; Flag de carry do resultado de 16 bits ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV XH,#40H MOV XL,#00H MOV YH,#35H MOV YL,#50H MOV A,XL ADD A,YL MOV ZL,A MOV A,XH ADDC A,YH MOV ZH,A MOV ZOV,C ; Adição do byte inferior, sem carry ; Adição do byte superior, com carry END Prof. José Wilson 55Lima Nerys 55 Microprocessadores

56 ; SUBTRAÇÃO DE NÚMEROS DE 16 BITS Z = X - Y XH EQU 10H ; Número X de 16 bits XL EQU 11H YH EQU 12H ; Número Y de 16 bits YL EQU 13H ZH EQU 14H ; Resultado da adição de 16 bits ZL EQU 15H ZOV BIT 00H ; Flag de carry do resultado de 16 bits ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV XH,#40H MOV XL,#00H MOV YH,#35H MOV YL,#50H 56 MOV A,XL CLR CY SUBB A,YL MOV ZL,A MOV A,XH SUBB A,YH MOV ZH,A MOV ZOV,C END Prof. José Wilson Lima Nerys 56 Microprocessadores

57 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 57Lima Nerys 57 Microprocessadores

58 Exemplos Universidade Federal de Goiás Programa que envia uma contagem crescente para a porta P1 a cada solicitação da interrupção INT0 (através do pino P3.2). Contagem encerra quando A retorna para 00 RÓTULO MNEMÔNICO ORG 00H LJMP INICIO ORG 03H LJMP CONTAGEM RÓTULO MNEMÔNICO CONTAGEM: MOV P1,A INC A LCALL ATRASO CJNE A,#00H,CONTAGEM RETI ORG 30H INICIO: MOV SP, #2FH MOV IE, #81H MOV TCON, #01H MOV A, #00H SJMP $ ATRASO: MOV R0,#10 V1: MOV R1,#100 DJNZ R1, $ DJNZ R0, V1 RET END Habilita interrupção externa 0 por transição Laço infinito aguardando interrupção Prof. José Wilson 58Lima Nerys 58 Microprocessadores

59 RÓTULO Universidade Federal de Goiás Programa que envia uma contagem crescente para a porta P1 a cada solicitação da interrupção INT0 e uma decrescente a cada solicitação da INT1. MNEMÔNICO ORG 00H LJMP INICIO ORG 03H LJMP ATENDE0 ORG 13H LJMP ATENDE1 ORG 30H INICIO: MOV SP, #2FH MOV IE, #85H MOV TCON, #05H RÓTULO ATENDE0: PUSH ACC MNEMÔNICO MOV A,#00H V1: MOV P1,A INC A LCALL ATRASO CJNE A,#00H,V1 POP ACC RETI Exemplos Habilita Interrupções INT0 e INT1 por transição RÓTULO MNEMÔNICO ATENDE1: PUSH ACC MOV A,#0FFH V2: MOV P1,A LCALL ATRASO DEC A CJNE A,#0FFH,V2 POP ACC SJMP $ Laço infinito aguardando interrupção Prof. José Wilson 59Lima Nerys 59 Microprocessadores RETI ATRASO: MOV R0,#10 V3: MOV R1,#100 DJNZ R1, $ DJNZ R0, V3 RET END

60 Programa que envia uma contagem decimal crescente para a porta P1 a cada solicitação da interrupção INT0 e uma decimal decrescente a cada solicitação da INT1. RÓTULO MNEMÔNICO ORG 00H LJMP INICIO ORG 03H LJMP ATENDE0 ORG 13H LJMP ATENDE1 ORG 30H INICIO: MOV SP, #2FH MOV IE, #85H MOV TCON, #05H RÓTULO ATENDE0: PUSH ACC V1: MOV P1,A MNEMÔNICO ADD A,#01H DA A LCALL ATRASO CJNE A,#00H,V1 POP ACC RETI Adiciona 1 e faz ajuste decimal Exemplos Subtrai 1 e faz ajuste decimal Habilita Interrupções INT0 e INT1 por transição RÓTULO MNEMÔNICO ATENDE1: PUSH ACC V2: ADD A,#99H MOV A,#00H SJMP $ Laço infinito aguardando interrupção Prof. José Wilson 60Lima Nerys 60 Microprocessadores DA A MOV P1,A LCALL ATRASO CJNE A,#00H,V2 POP ACC RETI ATRASO: MOV R0,#250 V3: MOV R1,#250 DJNZ R1, $ DJNZ R0, V3 RET END

61 RÓTULO Universidade Federal de Goiás Programa que envia uma contagem crescente para a porta P1 a cada solicitação da interrupção INT0 e uma decrescente a cada solicitação da INT1 (Prioridade alta). SJMP $ Prof. José Wilson Lima Nerys Laço infinito aguardando interrupção 61 Microprocessadores 61 MNEMÔNICO ORG 00H LJMP INICIO ORG 03H LJMP ATENDE0 ORG 13H LJMP ATENDE1 ORG 30H INICIO: MOV SP, #2FH MOV IE, #85H MOV TCON, #05H MOV IP,#04H RÓTULO ATENDE0: PUSH ACC MNEMÔNICO MOV A,#00H V1: MOV P1,A INC A LCALL ATRASO CJNE A,#00H,V1 POP ACC RETI Exemplos Habilita Interrupções INT0 e INT1 por transição. INT1 tem prioridade alta RÓTULO MNEMÔNICO ATENDE1: PUSH ACC MOV A,#0FFH V2: MOV P1,A LCALL ATRASO DEC A CJNE A,#0FFH,V2 POP ACC RETI ATRASO: MOV R0,#10 V3: MOV R1,#100 DJNZ R1, $ DJNZ R0, V3 RET END

62 RÓTULO Universidade Federal de Goiás MNEMÔNICO ORG 00H LJMP INICIO ORG 03H LJMP ATENDE0 ORG 13H LJMP ATENDE1 Programa rotaciona Leds conectados à porta P1. INT0 rotaciona à esquerda; INT1 rotaciona à direita. RÓTULO ATENDE0: PUSH ACC MNEMÔNICO MOV A,#01H V1: MOV P1,A RL A LCALL ATRASO CJNE A,#01H,V1 POP ACC RETI Exemplos RÓTULO MNEMÔNICO ATENDE1: PUSH ACC MOV A,#80H V2: MOV P1,A LCALL ATRASO ORG 30H V3: MOV R1,#250 INICIO: MOV SP, #2FH DJNZ R1, $ DJNZ R0, V3 MOV IE, #85H Habilita Interrupções INT0 e INT1 por transição RET MOV TCON, #05H END SJMP $ Laço infinito aguardando interrupção Prof. José Wilson 62Lima Nerys 62 Microprocessadores RR A CJNE A,#80H,V2 POP ACC RETI ATRASO: MOV R0,#250

63 RÓTULO Universidade Federal de Goiás SJMP $ Prof. José Wilson Lima Nerys Laço infinito aguardando interrupção 63 Microprocessadores 63 MNEMÔNICO ORG 00H LJMP INICIO ORG 03H LJMP ATENDE0 ORG 13H LJMP ATENDE1 ORG 30H INICIO: MOV SP, #2FH Programa rotaciona Leds conectados à porta P1. INT0 rotaciona à esquerda; INT1 rotaciona à direita (com prioridade alta). MOV IE, #85H MOV TCON, #05H MOV IP,#04H RÓTULO ATENDE0: PUSH ACC MNEMÔNICO MOV A,#01H V1: MOV P1,A RL A LCALL ATRASO CJNE A,#01H,V1 POP ACC RETI Exemplos Habilita Interrupções INT0 e INT1 por transição. INT1 tem prioridade alta RÓTULO MNEMÔNICO ATENDE1: PUSH ACC MOV A,#80H V2: MOV P1,A LCALL ATRASO RR A CJNE A,#80H,V2 POP ACC RETI ATRASO: MOV R0,#250 V3: MOV R1,#250 DJNZ R1, $ DJNZ R0, V3 RET END

64 RÓTULO Universidade Federal de Goiás SJMP $ Prof. José Wilson Lima Nerys Laço infinito aguardando interrupção 64 Microprocessadores 64 Programa rotaciona Motor de Passo conectado ao nibble inferior da porta P1. INT0 rotaciona para a esquerda; INT1 rotaciona para a direita. MNEMÔNICO ORG 00H LJMP INICIO ORG 03H LJMP ATENDE0 ORG 13H LJMP ATENDE1 ORG 30H INICIO: MOV SP, #2FH MOV IE, #85H MOV TCON, #05H MOV A,#11H RÓTULO ATENDE0: PUSH ACC MNEMÔNICO MOV R7,#18 V1: MOV P1,A RL A LCALL ATRASO DJNZ R7,V1 POP ACC RETI São 18 passos de 5º Total: 90º Exemplos Habilita Interrupções INT0 e INT1 por transição RÓTULO MNEMÔNICO ATENDE1: PUSH ACC MOR R7,#36 V2: MOV P1,A RR A LCALL ATRASO DJNZ R7,V2 POP ACC RETI ATRASO: MOV R0,#250 V3: MOV R1,#250 DJNZ R1, $ DJNZ R0, V3 RET END

65 INT0 mostra em P1 maior valor de uma Tabela. INT1 mostra o menor valor Rótulo Mnemônico ORG 00H LJMP INICIO ORG 03H LJMP MAIOR ORG 13H LJMP MENOR Rótulo Mnemônico ORG 30H INICIO: MOV SP,#2FH MOV IE,#85H MOV TCON,#05H MOV DPTR,#TABELA V1: MOV R7,#00H MOV R0,#00H MOV R1,#0FFH SJMP V1 Prof. José Wilson 65Lima Nerys 65 Microprocessadores 65

66 Rótulo Universidade Federal de Goiás INT0 mostra em P1 maior valor de uma Tabela. INT1 mostra o menor valor MAIOR: Mnemônico MOV A,R7 MOVC A,@A+DPTR CJNE A,#0FFH,V2 MOV P1,R0 RETI V2: CLR CY MOV B,A SUBB A,R0 JC V3 MOV R0,B V3: INC R7 SJMP MAIOR Rótulo MENOR: Mnemônico MOV A,R7 MOVC A,@A+DPTR CJNE A,#0FFH,V4 MOV P1,R1 Prof. José Wilson 66Lima Nerys 66 Microprocessadores RETI V4: CLR CY MOV B,A SUBB A,R1 JNC V5 MOV R1,B V5: INC R7 SJMP MENOR 66 Rótulo TABELA: Dado DB 05H DB 35H DB 12H DB 98H DB 0A1H DB 0B5H DB 5AH DB 09H DB 72H DB 40H DB 0FFH END

67 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 67Lima Nerys 67 Microprocessadores

68 Breve Introdução aos Conversores AD e DA Como os dados de um microprocessador estão na forma digital e os dados do mundo exterior estão na forma analógica (contínua), é necessário fazer a conversão entre esses dados. Assim, tem-se o Conversor Analógico-Digital (ADC), que faz a conversão de sinal analógico para sinal digital e o Conversor Digital-Analógico (DAC), que faz a conversão de sinal digital para sinal analógico. Velocidade Temperatura Tensão Corrente Sinal Analógico ADC Sinal Digital Microcontrolador Sinal Digital DAC Sinal Analógico Pressão Prof. José Wilson 68Lima Nerys 68 Microprocessadores 68

69 Conversor DA Básico de 4 bits I I I I I0 VREF I ( 2 D3 2 D2 2 D1 2 D0 ) R VREF I ( D3 0,5 D2 0,25 D1 0,125 D0 ) R Prof. José Wilson 69Lima Nerys 69 Microprocessadores V saída R saída I 69 I I I I 3 V R V REF REF 2R V REF 4R V REF 8R

70 Conversor DA Básico De 4 bits D 3 D 2 D 1 D 0 Corrente saída (V ref = 5 V e R = 5 kω) Prof. José Wilson 70Lima Nerys 70 Microprocessadores 70 Fração do máximo / / / / / / / / / / / / / / /15

71 Conversor DA Básico de 4 bits máx 1 LSB 0 Prof. José Wilson 71Lima Nerys 71 Microprocessadores 71

72 Resolução de um DA (a) Cada degrau (menor incremento possível) corresponde a 1 LSB (bit menos significativo) (b) Número de degraus de um conversor: 2 n 1, onde n é o número de bits. Para n = 4 15 degraus. Resolução: É a relação entre o menor incremento possível, 1 LSB e a saída máxima. Resolução = 2 n 1 1, onde n é número de bits. No caso de n = 4 Resolução = 1/15 Resolução Percentual = Resolução 100% No caso de 4 bits Resolução Percentual = 6.67% Prof. José Wilson 72Lima Nerys 72 Microprocessadores 72

73 Resolução do DA versus Número de bits Número de bits Resolução Resolução Percentual (%) 4 1/15 6,67 8 1/255 0, /1023 0, /4095 0, / , Prof. José Wilson 73Lima Nerys 73 Microprocessadores 73

74 Conversor DA com resistores em escada Prof. José Wilson 74Lima Nerys 74 Microprocessadores 74

75 Conversor DAC 0808 Prof. José Wilson 75Lima Nerys 75 Microprocessadores 75

76 Conversor ADC Básico Prof. José Wilson 76Lima Nerys 76 Microprocessadores 76

77 Conversor ADC com Aproximação Sucessiva Prof. José Wilson 77Lima Nerys 77 Microprocessadores 77

78 Conversor ADC 0804 Saída Sinais de Controle CS\ habilita o CI RD\ habilita a saída dos dados RW\ trigger Prof. José Wilson 78Lima Nerys 78 Microprocessadores 78

79 Diagrama de Temporização do Conversor ADC0804 Tempo de conversão aproximado: 100 µs Prof. José Wilson 79Lima Nerys 79 Microprocessadores 79

80 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 80Lima Nerys 80 Microprocessadores

81 Programa para leitura do Conversor AD Rótulo Instrução Rótulo Instrução Rótulo Instrução CS EQU P3.4 LE_AD: CLR CS ATRASO: MOV R0,#50 RS EQU P3.5 LCALL ATRASO DJNZ R0,$ RW EQU P3.6 SETB RW RET INICIO: ORG 00H LJMP INICIO ORG 30H MOV SP,#2FH V1: LCALL LE_AD MOV P1,A SJMP V1 Loop infinito: Chama subrotina de Leitura do AD e mostra resultado em A LCALL ATRASO CLR RW LCALL ATRASO SETB RW SETB CS JB P3.3,$ CLR CS CLR RS LCALL ATRASO MOV A,P2 SETB RS SETB CS RET ; Começa a conversão ; Aguarda fim de conversão ; Liberada dados na saída ; Transfere resultado para A Prof. José Wilson 81Lima Nerys 81 Microprocessadores 81 END Loop infinito: Aguarda sinal de fim de conversão. Pino INTR do AD conectado ao pino P3.3 do 8051

82 Temporização no problema anterior CS\ RS\ INTR Leitura habilitada (libera dados na saída) Fim da conversão WR\ Início da conversão Prof. José Wilson 82Lima Nerys 82 Microprocessadores

83 Rótulo Instrução ORG 00H LJMP INICIO Programa 2: Conversor AD usando interrupção O conversor AD está operando de forma independente e ininterrupta. O sinal de final de conversão é usado para dar início à próxima conversão. INICIO: ORG 03H MOV A,P2 RETI ORG 30H MOV SP,#2FH MOV IE,#81H MOV TCON,#01H A cada fim de conversão do conversor AD, um sinal de pedido de interrupção é enviado ao 8051, através do pino P3.2 (interrupção zero). Assim, o processamento desvia para o endereço 03H, onde o resultado da conversão (disponibilizado na porta P2) é transferido para A Interrupção externa zero é habilitada por transição. V1: MOV P1,A SJMP V1 END Loop infinito: O conteúdo de A é copiado na porta P1 (Leds). A atualização de A ocorre a cada final de conversão, através da interrupção externa zero. Prof. José Wilson 83Lima Nerys 83 Microprocessadores 83

84 Uso do Teclado com Interrupção (Decodificador de teclado: 74C922) A saída (AD3, AD2, AD1, AD0) do decodificador 74C922 é conectado ao nibble inferior da Porta P2 Sinal alto (saída) quando a conversão acaba Pedido de interrupção para o 8051 (na transição de alto para baixo) Sinal baixo (entrada) para liberar o resultado na saída A B C D Prof. José Wilson 84Lima Nerys 84 Microprocessadores 84

85 Rótulo Instrução ORG 00H LJMP INICIO ORG 13H MOV A,P2 ANL A,#0FH RETI Uso do Teclado com Interrupção (Decodificador de teclado: 74C922) Endereço da interrupção externa 1 O conteúdo da porta P2 é copiado no acumulador. A instrução ANL A,#0FH (AND) elimina o nibble superior da leitura de P2. ORG 30H INICIO: MOV SP,#2FH MOV IE,#84H MOV TCON,#04H V1: MOV P1,A interrupção externa 1 por transição Loop infinito: Mostra o conteúdo de A, que é atualizado, através da interrupção externa 1, a cada vez que o teclado é pressionado SJMP V1 END Prof. José Wilson 85Lima Nerys 85 Microprocessadores 85

86 Uso do Teclado com Interrupção (Decodificador de teclado: 74C922) Nesse programa o Teclado é usado para entrar com um número de dois dígitos. Rótulo INICIO: Instrução ORG 00H LJMP INICIO ORG 13H LJMP LE_TECLADO ORG 30H MOV SP,#2FH MOV IE,#84H MOV TCON,#04H CLR F0 V1: MOV P1,A SJMP V1 Rótulo LE_TECLADO: NIBBLE2: Instrução JB F0,NIBBLE2 MOV A,P2 ANL A,#0FH SWAP A MOV B,A SETB F0 RETI MOV A,P2 ANL A,#0FH ORL A,B CLR F0 RETI END Leitura do dígito superior do número de dois dígitos. O dado lido de P2 passa por uma operação AND para eliminar o nibble superior (lixo). A instrução SWAP A transfere o dado lido (nibble inferior) para o nibble superior. O resultado é guardado em B. A flag F0 é setada para direcionar a próxima interrupção para NIBBLE2. Leitura do dígito inferior do número de dois dígitos. O dado lido de P2 passa por uma operação AND para eliminar o nibble superior (lixo). A instrução OR entre junta conteúdo de A (dígito inferior) com o conteúdo de B (dígito superior). A flag F0 é zerada para direcionar a próxima interrupção para a primeira parte dessa subrotina. Loop infinito: Mostra o conteúdo de A, que é atualizado, através 86 da interrupção externa 1, a cada vez que o teclado é pressionado Prof. José Wilson 86Lima Nerys 86 Microprocessadores

87 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 87Lima Nerys 87 Microprocessadores

88 Temporizadores O 8051 tem 2 temporizadores/contadores de 16 bits que podem operar de 4 modos distintos: Modo 0 Contador/Temporizador de 13 bits com divisor de frequência de até 32 vezes. Pode contar até 8192 (32 255). Modo 1 Contador/Temporizador de 16 bits. Pode contar até Modo 2 2 contadores/temporizadores de 8 bits com recarga automática. Modo 3 2 contadores/temporizadores independentes de 8 bits. O microcontrolador AT89S8252 possui 3 temporizadores. Prof. José Wilson 88Lima Nerys 88 Microprocessadores

89 Temporizadores Os registradores que comandam o Contador-Temporizador são: Registrador do Temporizador: TMOD (Timer Mode) = Registrador 89h TMOD = G1 C/T1 M11 M10 G0 C/T0 M01 M Modo Modo Modo Modo Modo Modo Modo Modo 3 Registrador de Controle: TCON (Timer Control) = Registrador 88h TCON = TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Temporizador 1 Temporizador zero Prof. José Wilson 89Lima Nerys 89 Microprocessadores

90 Temporizadores Registrador do Temporizador: TMOD (Timer Mode) = Registrador 89h TMOD = G1 C/T1 M11 M10 G0 C/T0 M01 M00 G Gate Sendo 0, o disparo do temporizador/contador é interno, através de TR. Sendo 1, o disparo pode ser através de TR ou através do pino externo P3.2 (INT0\) ou P3.3 (INT1\). C/T\ Sendo 0, a operação é como temporizador, onde a freqüência de operação é 1/12 da frequência do cristal oscilador. Sendo 1, a frequência é determinada por um componente externo, através do pino P3.4 (T0) ou P3.5 (T1). Prof. José Wilson 90Lima Nerys 90 Microprocessadores 90

91 Temporizadores Registrador de Controle: TCON (Timer Control) = Registrador 88h TCON = TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TR Quando G = 0, fazendo-se TR = 1, o temporizador inicia a contagem a partir do valor armazenado em TH e TL. TR = 0 para o temporizador. TF A cada fim de contagem TF é setado (TF = 1) pelo hardware. Se a interrupção do temporizador estiver habilitada, ocorre o desvio para o endereço correspondente, 0Bh para o temporizador 0 e 1Bh para o temporizador 1. Prof. José Wilson 91Lima Nerys 91 Microprocessadores 91

92 Temporizadores Lógica para habilitar contagem Prof. José Wilson 92Lima Nerys 92 Microprocessadores 92

93 Temporizadores O bit C/T\ do registrador TMOD define se o funcionamento é como contador (C/T\ = 1), ou como temporizador (C/T\ = 0). Como temporizador, o clock é interno, vindo do oscilador. A frequência é 1/12 da frequência do cristal oscilador. Como contador, o clock é externo, vindo através de T0 (P3.4). O pino Gate\ define se o sinal de disparo do contador/temporizador vem através de software (bit TR0), ou de um sinal externo, através do pino INT0\ (P3.2). Se Gate\ = 0, o comando SETB TR0 dispara o contador/temporizador e CLR TR0 interrompe. Prof. José Wilson 93Lima Nerys 93 Microprocessadores 93

94 Exemplos com temporizadores e contadores Cristal de 12 MHz ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#01H MOV TH0,#HIGH(55535) MOV TL0,#LOW(55535) SETB TR0 SJMP $ END TH0 = D8H TL0 = EFH Nesse exemplo o temporizador zero foi configurado para o modo 1 (TMOD = ) e a primeira contagem começa do valor Toda contagem vai até , e, então, o valor de TH0-TL0 torna-se zero e a contagem continua. A contagem não para, enquanto TR0 permanecer em nível lógico alto (TR0 = 1). Assim, a primeira contagem, nesse exemplo, conta pulsos. A partir da segunda contagem, no entanto, TH0-TL0 contam, continuamente, de 0 a Prof. José Wilson 94Lima Nerys 94 Microprocessadores 94

95 Exemplos com temporizadores e contadores Cristal de 12 MHz ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#01H V1: MOV TH0,#HIGH(15535) MOV TL0,#LOW(15535) SETB TR0 CPL P1.0 JNB TF0,$ CLR TF0 SJMP V1 END Nesse exemplo o temporizador zero foi configurado para o modo 1 (TMOD = ). Ao contrário do exemplo anterior, todas as contagens começam do valor porque, a cada final de contagem (quando TF0 = 1), o processamento retorna para V1, onde os valores de TH0 e TL0 são recarregados. Assim, a contagem é de pulsos. Sendo o cristal de 12 MHz, o contador conta 50 ms. O exemplo também apresenta uma forma de verificar o tempo de contagem do temporizador, gerando uma onda quadrada no pino P1.0. Loop de espera do fim da contagem A Flag TF0 (fim de contagem) deve ser zerada antes de recarregar TH0 e TL0 Prof. José Wilson 95Lima Nerys 95 Microprocessadores

96 Exemplos com temporizadores e contadores Cristal de MHz ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#01H V1: MOV TH0,#4BH MOV TL0,#0FFH SETB TR0 CPL P1.0 JNB TF0,$ CLR TF0 SJMP V1 END Esse exemplo é idêntico ao anterior, com a diferença de usar um cristal oscilador de MHz. Dessa forma, cada período do temporizador corresponde a 1,085 µs, ao invés de 1 µs. Assim, para gerar uma contagem de 50 ms, são necessários pulsos, ou seja, a contagem deve começar de TH0-TL0 = 4BFFH, que corresponde ao número decimal No programa poderia ter sido usado: MOV TH0, #HIGH(19455) MOV TL0,#LOW(19455) Prof. José Wilson 96Lima Nerys 96 Microprocessadores

97 Exemplos com temporizadores e contadores Cristal de MHz ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#09H SETB TR0 V1: MOV TH0,#HIGH(19455) MOV TL0,#LOW(19455) CPL P1.0 JNB TF0,$ CLR TF0 SJMP V1 END Nesse exemplo, o temporizador zero, no modo 1, gera uma onda quadrada com período de 100 ms (contagem de a 65535, com cristal de MHz). No entanto, o disparo do temporizador é EXTERNO, através do pino P3.2 (uma chave tipo push-button deve ser conectada entre o pino P3.2 e o Terra). Com P3.2 = 0, o temporizador fica parado; com P3.2 = 1, o temporizador prossegue a contagem. TMOD = 09H = Pino G\ = 1 (disparo externo) e M1-M0 = 01 (temporizador zero no modo 1) A Flag TR0 é setada para habilitar esse disparo externo. Prof. José Wilson 97Lima Nerys 97 Microprocessadores

98 Exemplos com temporizadores e contadores Cristal de MHz ORG 00H LJMP INICIO Nesse exemplo tem-se um CONTADOR no modo 1 (16 bits). ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#05H SETB TR0 V1: MOV P2,TH0 MOV P1,TL0 SJMP V1 END O valor de TH0 é mostrado na porta P2 O valor de TL0 é mostrado na prota P1 O Sinal de clock é aplicado ao pino P3.4. Duas situações podem ser criadas, no Proteus: 1. Conectar uma chave entre os pinos P3.4 e o Terra. A cada pulso dessa chave, a contagem em TH0-TL0 é incrementada em Conectar um gerador de função, com pulso quadrado, ao pino P3.4. A contagem em TH0-TL0 seguirá esse clock., TMOD = 05H = Pino C/T\ = 1 (contador) e M1-M0 = 01 (contador zero no modo 1) A Flag TR0 é setada para o início da contagem Prof. José Wilson 98Lima Nerys 98 Microprocessadores

99 Exemplos com temporizadores e contadores ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#04H SETB TR0 V1: MOV P2,TH0 MOV P1,TL0 SJMP V1 END O valor de TH0 é mostrado na porta P2 O valor de TL0 é mostrado na prota P1 Cristal de MHz Nesse exemplo tem-se um CONTADOR no modo 0 (13 bits). O Sinal de clock é aplicado ao pino P3.4. As mesmas situações do exemplo anterior podem ser utilizadas. A diferença é que os valores mostrados em P2 e P1 são diferentes: P1 (valor de TL0) mostra uma contagem de 00h até 1Fh, continuamente. Ao final de cada contagem, o valor mostrado em P2 (valor de TH0) é incrementado em 1 TMOD = 04H = Pino C/T\ = 1 (contador) e M1-M0 = 00 (contador zero no modo 0) A Flag TR0 é setada para o início da contagem Prof. José Wilson 99Lima Nerys 99 Microprocessadores

100 Exemplos com temporizadores e contadores ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#06H SETB TR0 MOV TH0,#40H V1: MOV P2,TH0 MOV P1,TL0 SJMP V1 END Cristal de MHz Nesse exemplo tem-se um CONTADOR no modo 2 (8 bits com recarga automática). No modo 2 (recarga automática), cada nova contagem começa do valor de TH0. Assim, no programa mostrado, cada nova contagem começa de TH0 = 40H. O sinal de clock deve ser conectado ao pino P3.4. TMOD = 06H = Pino C/T\ = 1 (contador) e M1-M0 = 10 (contador zero no modo 0) O valor de TH0 é mostrado na porta P2 O valor de TL0 é mostrado na prota P1 Valor da recarga Prof. José Wilson 100Lima Nerys 100 Microprocessadores

101 Exemplos com temporizadores e contadores ORG 00H LJMP INICIO ORG 03H MOV A,TH0 ADD A,#5 MOV TH0,A RETI ORG 30H INICIO: MOV SP,#2FH MOV IE,#81H MOV TCON,#01H MOV TMOD,#06H SETB TR0 MOV TH0,#40H V1: MOV P2,TH0 MOV P1,TL0 SJMP V1 END Cristal de MHz Nesse exemplo tem-se um CONTADOR no modo 2 (8 bits com recarga automática). É idêntico ao exemplo anterior, com uma exceção: A interrupção externa zero (por transição) é usada para incrementar em 5 o valor da recarga, TH0. Assim, cada nova contagem começa do valor anterior de TH Subrotina de atendimento da interrupção externa zero IE = 81h = Interrupção externa zero habilitada TCON = 01H = Interrupção externa zero por transição Prof. José Wilson 101Lima Nerys 101 Microprocessadores

102 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 102Lima Nerys 102 Microprocessadores

103 Exemplos com temporizadores e contadores COM INTERRUPÇAO ORG 00H LJMP INICIO ORG 0BH MOV TH0,#HIGH(19455) MOV TL0,#LOW(19455) CPL P1.0 RETI ORG 30H INICIO: MOV SP,#2FH MOV IE,#82H MOV TMOD,#01H MOV TH0,#HIGH(19455) MOV TL0,#LOW(19455) SETB TR0 SJMP $ END 103 Cristal de MHz Nesse exemplo tem-se um TEMPORIZADOR no modo 1 (16 bits), com interrupção ao final de cada contagem. A cada final de contagem (de a 65535) o processamento desvia para o endereço 0BH. Nesse endereço, recarrega-se TH0 e TL0 e complementa-se o pino P1.0 (gera onda quadrada). Com uma contagem de e um cristal de MHz, tem 50 ms para cada meio período (onda quadrada com 100 ms de período) Subrotina de atendimento da interrupção do temporizador zero. IE = Interrupção do temporizador zero habilitada. Loop infinito esperando interrupção Prof. José Wilson Lima Nerys 103 Microprocessadores

104 Cristal de MHz Universidade Federal de Goiás Exemplos com temporizadores e contadores COM INTERRUPÇAO ORG 00H LJMP INICIO ORG 0BH MOV TH0,#HIGH(19455) MOV TL0,#LOW(19455) DJNZ R0,V1 CPL P1.0 MOV R0,#10 V1: NOP RETI ORG 30H INICIO: MOV SP,#2FH MOV IE,#82H MOV TMOD,#01H MOV TH0,#HIGH(19455) MOV TL0,#LOW(19455) MOV R0,#10 SETB TR0 SJMP $ Nesse exemplo tem-se um TEMPORIZADOR no modo 1 (16 bits), com interrupção ao final de cada contagem. A cada final de contagem (de a 65535) o processamento desvia para o endereço 0BH. Nesse endereço, recarrega-se TH0 e TL0. No entanto, o pino P1.0 somente é complementado a 10 passagens pela subrotina (R0 = 10). Com uma contagem de e um cristal de MHz, tem 50 ms para cada meio período, mas o pino P1. 0 é complementado a cada 10 x 50 ms = 0,5 s (resulta em onda quadrada com 1,0 s de período) Subrotina de atendimento da interrupção do temporizador zero. P1.0 somente é complementado a cada 10 atendimentos dessa subrotina. IE = Interrupção do temporizador zero habilitada. R0 = 10 contador para contar 10 vezes 50 ms END Loop infinito esperando interrupção Prof. José Wilson 104Lima Nerys 104 Microprocessadores

105 Cristal de MHz Universidade Federal de Goiás Exemplos com temporizadores e contadores COM INTERRUPÇAO ORG 00H LJMP INICIO Nesse exemplo tem-se o TEMPORIZADOR zero no modo 0 (13 bits) e o TEMPORIZADOR 1 no modo 1 (16 bits) ORG 0BH ORG 1BH ORG 30H INICIO: CPL P1.0 RETI CPL P1.1 RETI MOV SP,#2FH MOV IE,#8AH MOV TMOD,#10H SETB TR0 SETB TR1 SJMP $ END Ambos começam a contagem de 0 e ambos utilizam suas interrupções. Ao final de cada contagem de 13 bits (0 a 8.191) o processamento desvia para o endereço 0Bh, onde o pino P1.0 é complementado (gerando uma onda quadrada no pino P1.0). Ao final de cada contagem de 16 bits (0 a ) o processamento desvia para o endereço 1Bh, onde o pino P1.1 é complementado (gerando uma onda quadrada no pino P1.1). IE = Interrupções dos temporizadores zero e 1 habilitadas. TMOD = 10h = Temporizador zero no modo 0 (13 bits); Temporizador 1 modo 1 (16 bits) Prof. José Wilson 105Lima Nerys 105 Microprocessadores

106 Exemplos com temporizadores e contadores COM INTERRUPÇAO Período da onda quadrada no modo zero: 17,77 ms Período da onda quadrada no modo 1: 141,92 ms 1 período no modo 16 bits corresponde a 8 períodos do modo 13 bits. Prof. José Wilson 106Lima Nerys 106 Microprocessadores 106

107 Programa com uma subrotina de atraso de tempo com temporizador RÓTULO ORG 00H MNEMÔNICO LJMP INICIO ORG 30H INICIO: MOV SP, #2FH MOV TMOD,#01H V1: CPL P1.0 LCALL ATRASO SJMP V1 Onda quadrada em P1.0 Cristal oscilador: 12 MHz RÓTULO MNEMÔNICO ATRASO: MOV R0,#20 V2: MOV TH0,#3CH MOV TL0,#0AFH CLR TF0 DJNZ R0, V2 CLR TR0 RET END São 20 contagens de 50 ms (tempo total: 1 s) Contador conta de até ( pulsos) SETB TR0 Dispara o temporizador Espera o final de cada ESPERA: JNB TF0, ESPERA contagem do temporizador Limpa a flag que indica fim de contagem Decrementa R0; se não der zero, volta para nova contagem de 50 ms Para o temporizador Prof. José Wilson 107Lima Nerys 107 Microprocessadores 107

108 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 108Lima Nerys 108 Microprocessadores

109 Relógio HH:MM:SS Prof. José Wilson 109Lima Nerys 109 Microprocessadores

110 SEG MIN HORA ORG 00H LJMP INICIO EQU 10H EQU 11H EQU 12H ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#01H CLR P3.7 V1: MOV SEG,#00H MOV MIN,#00H MOV HORA,#00H V2: MOV P1,SEG MOV P2,MIN MOV P0,HORA LCALL ATRASO MOV A,SEG ADD A,#01H DA A MOV SEG,A CJNE A,#60H,V2 MOV SEG,#00H MOV A,MIN ADD A,#01H DA A MOV MIN,A CJNE A,#60H,V2 MOV MIN,#00H MOV A,HORA ADD A,#01H DA A MOV HORA,A CJNE A,#24H,V2 SJMP V1 ATRASO: SETB TR0 V3: MOV TH0,#HIGH(15535) MOV TL0,#LOW(15535) JNB TF0,$ CLR TF0 DJNZ R0,V3 MOV R0,#20 CLR TR0 RET END Subrotina de atraso de 1 s Relógio HH:MM:SS Cristal de 12 MHz Prof. José Wilson 110Lima Nerys 110 Microprocessadores

111 HH MM SS Prof. José Wilson 111Lima Nerys 111 Microprocessadores

112 Cronômetro: MM:SS Prof. José Wilson 112Lima Nerys 112 Microprocessadores

113 SEG EQU 10H MIN EQU 11H BUZZER EQU P3.7 ORG 00H LJMP INICIO ORG 03H MOV A,MIN ADD A,#01H DA A MOV MIN,A RETI ORG 13H SETB F0 RETI ;======Configurações iniciais ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#01H MOV IE,#85H MOV TCON,#05H MOV R0,#20 CLR F0 CLR BUZZER MOV SEG,#00H 113 V4: MOV P2,MIN MOV P1,SEG JNB F0,V4 ; V1: MOV P2,MIN MOV P1,SEG LCALL ATRASO MOV A,SEG ADD A,#99H DA A MOV SEG,A CJNE A,#99H,V1 MOV SEG,#59H MOV A,MIN ADD A,#99H DA A MOV MIN,A CJNE A,#99H,V1 MOV MIN,#00H MOV SEG,#00H MOV P2,MIN MOV P1,SEG SETB BUZZER MOV R7,#3 V2: LCALL ATRASO DJNZ R7,V2 CLR BUZZER CLR F0 SJMP INICIO ATRASO: SETB TR0 V3: MOV TH0,#3CH MOV TL0,#0AFH JNB TF0,$ CLR TF0 DJNZ R0,V3 MOV R0,#20 CLR TR0 RET Prof. José Wilson Lima Nerys 113 Microprocessadores 1 s END Cristal de 12 MHz

114 MM SS Prof. José Wilson 114Lima Nerys 114 Microprocessadores

115 Acionamento temporizado de Motor de Corrente Contínua: 1. Motor gira no sentido horário por 10 s e para por 5 s 2. Motor gira no sentido anti-horário por 10 s e para. IN1 EQU P2.3 IN2 EQU P2.2 LIGA EQU P3.2 ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV TMOD,#01H MOV R0,#20 CLR IN1 CLR IN2 MOV R7,#5 V2: LCALL ATRASO DJNZ R7,V2 CLR IN1 SETB IN2 MOV R7,#10 V4: LCALL ATRASO DJNZ R7,V4 ATRASO: SETB TR0 V3: MOV TH0,#3CH MOV TL0,#0AFH JNB TF0,$ CLR TF0 DJNZ R0,V3 MOV R0,#20 CLR TR0 RET END V0: JB LIGA,$ SETB IN1 CLR IN2 MOV R7,#10 V1: LCALL ATRASO DJNZ R7,V1 CLR IN1 CLR IN2 SJMP V0 Cristal de 12 MHz Prof. José Wilson 115Lima Nerys 115 Microprocessadores 115

116 Acionamento temporizado de Motor de Passo: 1. Motor gira no sentido horário por 10 s e para por 5 s 2. Motor gira no sentido anti-horário por 10 s e para. ORG 00H LJMP INICIO ORG 0BH LJMP TEMPO_R7s ;===== Configurações ===== ORG 30H INICIO: MOV SP,#2FH MOV IE,#82H MOV TMOD,#01H MOV TH0,#4BH MOV TL0,#0FFH MOV R0,#20 LIGA: JB P3.2,$ SAI: MOV TH0,#4Bh CLR TR0 MOV TL0,#0FFH CLR F0 RETI MOV R7,# SETB TR0 END MOV A,#01H Cristal de MHz Prof. José Wilson Lima Nerys 116 Microprocessadores 116 DIRETO: VF0: MOV P1,A LCALL ATRASO RL A CJNE A,#10H,VF0 MOV A,#01H JNB F0,DIRETO CLR TR0 CLR F0 MOV R7,#5 SETB TR0 JNB F0,$ CLR TR0 CLR F0 MOV R7,#10 SETB TR0 MOV A,#08H REVERSO:MOV P1,A LCALL ATRASO RR A CJNE A,#80H,VF1 MOV A,#08H VF1: JNB F0,REVERSO SJMP LIGA ;== Atraso para o motor de passo ATRASO: MOV R6,#150 V1: MOV R5,#250 DJNZ R5,$ DJNZ R6,V1 RET ; TEMPO_R7s: DJNZ R0,SAI MOV R0,#20 DJNZ R7,SAI SETB F0

117 Temporizador no modo 2 recarga automática (Temp_9_6A) Modo 2 com interrupção complementa TH Modo 2 com interrupção complementa TH e P1.0 PWM fixo para acionamento de motor CC Incrementa TH e complementa P1.0 Aciona motor CC com velocidade variável Aciona motor CC com velocidade variável e mudança de sentido de rotação Prof. José Wilson 117Lima Nerys 117 Microprocessadores 117

118 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 118Lima Nerys 118 Microprocessadores

119 Comunicação Serial Prof. José Wilson 119Lima Nerys 119 Microprocessadores 119

120 Comunicação Serial A comunicação serial consiste em enviar ou receber pacotes de informação bit a bit. No caso do 8051 o canal de comunicação serial é do tipo full duplex, o que significa que ele pode, ao mesmo tempo, receber e transmitir dados. Uma grande questão da transmissão serial é como informar o receptor do início e do final do pacote de informação, ou seja, qual o primeiro bit da informação e qual é o último. Assim, existem dois tipos de comunicação: síncrona e assíncrona. Prof. José Wilson 120Lima Nerys 120 Microprocessadores 120

121 Na comunicação serial síncrona, são utilizados dois canais: um para transmitir/receber os dados e outro para transmitir/receber o sinal de sincronismo. No caso do 8051 a transmissão e também a recepção síncrona de dados são feitas através do pino RxD (pino P3.0). O pino TxD (pino P3.1) é usado para o sinal de sincronismo. Prof. José Wilson 121Lima Nerys 121 Microprocessadores 121

122 Na comunicação assíncrona não há a sinal de sincronismo e, portanto, alguns cuidados especiais devem ser tomados: As taxas de recepção e de transmissão devem ser iguais. Um bit de início e outro de fim de transmissão devem ser enviados, além dos dados. O bit de início de transmissão é zero, isto porque o canal normalmente fica em repouso no nível lógico alto. Assim, a primeira passagem para zero, após a habilitação da transmissão, é interpretada como o sinal de início. O sinal de parada é de nível lógico alto, após ser recebida a quantidade de bits previstos. Além do bit de início (Start bit) e do bit de fim (Stop bit), também pode existir um terceiro bit extra, que é o bit de paridade, usado para verificar a consistência dos dados. Prof. José Wilson 122Lima Nerys 122 Microprocessadores 122

123 Formato da Comunicação Serial Assíncrona Prof. José Wilson 123Lima Nerys 123 Microprocessadores 123

124 Registrador SCON Configuração da Comunicação Serial Prof. José Wilson 124Lima Nerys 124 Microprocessadores 124

125 Serial Modo 0 (síncrono registrador de deslocamento) Taxa de comunicação (baud rate): igual à frequência de clock dividida por 12. Recepção: Fica habilitada fazendo REN = 1 e RI = 0. Ao final da recepção o bit RI é setado por hardware, e deve ser ressetado por software (CLR RI) antes da recepção seguinte. O conteúdo recebido é transferido para o registrador SBUF. Transmissão: É iniciada automaticamente quando o conteúdo de um registrador é transferido para o registrador SBUF. Ao final da transmissão o bit TI é setado por hardware, e deve ser ressetado por software (CLR TI) antes da transmissão seguinte. Obs.: Há um registrador SBUF para transmissão e outro para recepção Prof. José Wilson 125Lima Nerys 125 Microprocessadores 125

126 Rótulo Instruções MOV SCON,#00H MOV A,#00H V1: MOV SBUF,A JNB TI,$ CLR TI INC A SJMP V1 END Instrução que dá início à transmissão Aguarda a transmissão de todos os bits. Quando o processo acaba, o micro faz TI = 1. Sinais de RxD e TxD durante uma transmissão síncrona Prof. José Wilson 126Lima Nerys 126 Microprocessadores 126

127 Serial Modo 1 (assíncrono de 8 bits) Taxa de comunicação (baud rate): Bit 7 do registrador especial PCON O pacote de comunicação inclui 8 bits de dados, 1 bit de start e um bit de stop. Recepção: Fica habilitada fazendo REN = 1 e RI = 0. Tem início quando há uma transição de nível alto para baixo no pino P3.0 (RxD) Ao final da recepção o bit RI é setado por hardware, e deve ser ressetado por software (CLR RI) antes da recepção seguinte. O conteúdo recebido é transferido para o registrador SBUF. Transmissão: É iniciada automaticamente quando o conteúdo de um registrador é transferido para o registrador SBUF. Ao final da transmissão o bit TI é setado por hardware, e deve 127 ser ressetado por software (CLR TI) antes da transmissão seguinte. 127 Recarga do Temporizador 1 no modo 2 Prof. José Wilson Lima Nerys 127 Microprocessadores

128 Rótulo Instruções MOV SCON,#40H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 MOV A,#00H Configura serial modo 1 (assíncrono modo 1) Timer 1 no modo 2. Baud rate de 9600 bps, para cristal de 11,0592 MHz. Sinal de TxD (P3.1) durante uma transmissão assíncrona no modo 1 V1: MOV SBUF,A JNB TI,$ CLR TI INC A SJMP V1 Instrução que dá início à transmissão END Aguarda a transmissão de todos os bits. Quando o processo acaba, o micro faz TI = 1. Prof. José Wilson 128Lima Nerys 128 Microprocessadores

129 ORG 00H LJMP INICIO Transmissão Serial no Modo 1 ORG 30H INICIO: MOV SP,#2FH MOV SCON,#40H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 MOV DPTR,#MSG1 Baud-rate de 9600 bps, no modo 1 Cristal oscilador: 11,0592 MHz V1: MOV R7,#00 V2: MOV A,R7 MOVC A,@A+DPTR CJNE A,#0FFH,ENVIA SJMP V1 ENVIA: MOV SBUF,A JNB TI,$ CLR TI INC R7 SJMP V2 MSG1: DB 'HELLO WORLD!!!', 0DH, 0FFH MSG2: DB 'MICRO 2017 ', 0Dh, 0FFH end Código ASCII para mudança de linha Prof. José Wilson 129Lima Nerys 129 Microprocessadores 129

130 ; Transmissão de mensagem via serial. Cristal: MHz. Taxa de transmissão: 4800 bps ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH ; Posição inicial da Pilha: 2FH MOV SCON,#40H ; Serial no modo 1: assíncrona de 8 bits MOV TMOD,#20H ; Timer 1 no modo 2 (recarga automática) MOV TH1,#0FAH ; Valor da recarga: FAH baud rate: 4800 bps SETB TR1 ; Dispara Timer 1 MOV DPTR,#MSG ; DPTR assume o valor do endereço inicial da tabela MSG V2: MOV R7,#00H ; Offset para leitura da MSG assume valor inicial 00H V3: MOV A,R7 ; Acumulador recebe o valor atual do Offset MOVC A,@A+DPTR ; Acumulador recebe o conteúdo da posição A+DPTR da MSG CJNE A,#0FFH,V1 ; Verifica se A = FFH (fim da MSG). Se não for, desvia para V1 SJMP V2 ; Retorna para V2 após cada fim de MSG V1: MOV SBUF,A ; Transfere de A para SBUF o valor ser transmitido via serial JNB TI,$ ; Aguarda final da transmissão do conteúdo de SBUF CLR TI ; Limpa a flag TI, de transmissão serial INC R7 ; Incrementa o valor do Offset SJMP V3 ; Retorna para V3, para ler o próximo caractere de MSG MSG: MSG1: END DB ' MICRO 2016 ', 0DH, 0FFH DB 4DH, 49H, 43H, 52H, 4FH, 20H, 32H, 30H, 31H, 37H, 0DH, 0FFH As mensagens MSG e MSG1 são equivalentes Prof. José Wilson 130Lima Nerys 130 Microprocessadores 130

131 LAMP EQU P2.7 ORG 00H LJMP INICIO ORG 30H INICIO: Universidade Federal de Goiás MOV SP,#2FH MOV SCON,#40H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 CLR RI SETB REN MOV A,#01H V0: JNB RI,$ MOV R0,SBUF CLR RI CJNE R0,#'D',V1 SJMP LED_DIREITA V1: CJNE R0,#'E',V3 SJMP LED_ESQUERDA V3: CJNE R0,#'L',V4 CPL LAMP SJMP V0 Se R0 = 4CH (ASCII de L), aciona 131 a lâmpada (apaga/liga) Prof. José Wilson Lima Nerys 131 Microprocessadores 131 Recepção Serial no Modo 1 Se R0 = 4DH (ASCII de M), aciona o motor CC (liga/desliga) Aguarda receber dados via serial e transfere os dados para R0 Se R0 = 43H (ASCII de D), rotaciona Leds para a direita. Enquanto RI = 0, continua rotacionando para a esquerda Se R0 = 44H (ASCII de E), rotaciona Leds para a esquerda. São 64 passos para a esquerda, que corresponde a 8 giros completos para a esquerda. V4: CJNE R0,#'M',V0 MOTOR: CLR P2.3 CPL P2.2 SJMP V0 LED_DIREITA: V5: MOV P1,A RR A LCALL ATRASO JNB RI,V5 SJMP V0 LED_ESQUERDA: MOV R3,#64 V6: MOV P1,A RL A LCALL ATRASO DJNZ R3,V6 SJMP V0 ATRASO: MOV R1,#100 V2: MOV R2,#200 DJNZ R2,$ DJNZ R1,V2 RET END

132 LAMP EQU P2.7 ORG 00H LJMP INICIO ORG 23H ORG 30H INICIO: Universidade Federal de Goiás MOV R0,SBUF CLR RI RETI MOV SP,#2FH MOV IE,#90H MOV SCON,#40H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 CLR RI SETB REN MOV A,#01H V0: CJNE R0,#'D',V1 SJMP LED_DIREITA V1: CJNE R0,#'E',V3 SJMP LED_ESQUERDA V3: CJNE R0,#'L',V4 SETB LAMP SJMP V0 V4: CJNE R0,#'F',V5 CLR LAMP 132 Recepção Serial no Modo 1 Com interrupção Se R0 = 4DH (ASCII de M), aciona o motor CC (liga/desliga) R0 recebe os dados recebidos via serial, através de interrupção Se R0 = 43H (ASCII de D), rotaciona Leds para a direita. Continua rotação, até R0 receber outro caractere. Se R0 = 44H (ASCII de E), rotaciona Leds para a esquerda. Enquanto R0 = 44H, continua rotacionando para a esquerda Se R0 = 4CH (ASCII de L), liga a lâmpada. Se R0 = 45H (ASCII de F), desliga a lâmpada. V5: CJNE R0,#'M',V6 MOTOR: CLR P2.3 SETB P2.2 SJMP V0 V6: CJNE R0,#'N',V0 CLR P2.3 CLR P2.2 SJMP V0 LED_DIREITA: MOV P1,A RR A LCALL ATRASO SJMP V0 LED_ESQUERDA: MOV P1,A RL A LCALL ATRASO SJMP V0 ATRASO: MOV R1,#100 V2: MOV R2,#200 DJNZ R2,$ DJNZ R1,V2 132 RET SJMP V0 Prof. José Wilson Lima Nerys END 132 Microprocessadores

133 Serial Modo 2 (assíncrono de 9 bits) Taxa de comunicação (baud rate): Bit 7 do registrador especial PCON O pacote de comunicação inclui 8 bits de dados, 1 bit extra (RB8 ou TB8), 1 bit de start e um bit de stop. O bit extra pode ser a paridade. Recepção: Fica habilitada fazendo REN = 1 e RI = 0. Tem início quando há uma transição de nível alto para baixo no pino P3.0 (RxD) Ao final da recepção o bit RI é setado por hardware, e deve ser ressetado por software (CLR RI) antes da recepção seguinte. O nono bit chega através do bit RB8. Transmissão: É iniciada automaticamente quando o conteúdo de um registrador é transferido para o registrador SBUF. Ao final da transmissão o bit TI é setado por hardware, e deve 133 ser ressetado por software (CLR TI) antes da transmissão seguinte. O nono bit é transmitido através de TB Prof. José Wilson Lima Nerys 133 Microprocessadores

134 Serial Modo 3 (assíncrono de 9 bits) Taxa de comunicação (baud rate): Bit 7 do registrador especial PCON O pacote de comunicação inclui 8 bits de dados, 1 bit extra, 1 bit de start e um bit de stop. Recepção: Fica habilitada fazendo REN = 1 e RI = 0. Tem início quando há uma transição de nível alto para baixo no pino P3.0 (RxD) Ao final da recepção o bit RI é setado por hardware, e deve ser ressetado por software (CLR RI) antes da recepção seguinte. O conteúdo recebido é transferido para o registrador SBUF. Transmissão: É iniciada automaticamente quando o conteúdo de um registrador é transferido para o registrador SBUF. Ao final da transmissão o bit TI é setado por hardware, e deve 134 ser ressetado por software (CLR TI) antes da transmissão seguinte. 134 Recarga do Temporizador 1 no modo 2 Prof. José Wilson Lima Nerys 134 Microprocessadores

135 Prof. José Wilson 135Lima Nerys 135 Microprocessadores 135

136 Prof. José Wilson 136Lima Nerys 136 Microprocessadores 136

137 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 137Lima Nerys 137 Microprocessadores

138 INICIO: Universidade Federal de Goiás RS EQU P3.5 RW EQU P3.6 EN EQU P3.7 DADOS EQU P0 ORG 00H LJMP INICIO ORG 23H CLR RI MOV A,SBUF MOV P1,A LCALL TEXTO_WR RETI ORG 30H MOV SP,#2FH MOV SCON,#40H MOV IE,#90H MOV TMOD,#20H MOV TL1,#0FDH MOV TH1,#0FDH MOV R7,#0FFH SETB TR1 SETB REN LCALL INICIA SJMP $ 138 Mensagens: Computador Micro LCD INICIA: MOV A,#38H LCALL INSTR_WR MOV A,#38H LCALL INSTR_WR MOV A,#0EH LCALL INSTR_WR MOV A,#06H LCALL INSTR_WR MOV A,#01H LCALL INSTR_WR RET INSTR_WR: SETB EN CLR RW CLR RS MOV DADOS,A CLR EN LCALL ATRASO_LCD RET A recebe valor via serial e envia para P1 e para o LCD Serial_LCD_22_6.asm Subrotina para escrever instrução no LCD TEXTO_WR:SETB EN CLR RW SETB RS MOV DADOS,A CLR EN LCALL ATRASO_LCD RET ATRASO_LCD: MOV R4,#10 V6: MOV R5,#80 DJNZ R5,$ DJNZ R4,V6 RET Prof. José Wilson Lima Nerys 138 Microprocessadores END Subrotina de inicialização do LCD Subrotina para escrever dados no LCD

139 Motor de Passo via serial Rótulo 139 Mnemônico ORG 00H LJMP INICIO ORG 23H CLR RI MOV R0,SBUF RETI ORG 30H INICIO: MOV SP,#2FH MOV SCON,#40H MOV IE,#90H MOV TMOD,#20H MOV TL1,#0FDH MOV TH1,#0FDH MOV R0,#00H MOV A,#11H SETB TR1 SETB REN Rótulo Serial_Passo_22_6.asm Mnemônico V2: CJNE R0,#44H,V1 LJMP DIREITA V1: CJNE R0,#45H,V2 LJMP ESQUERDA DIREITA: MOV P1,A RR A LCALL ATRASO SJMP V2 ESQUERDA: MOV P1,A RL A LCALL ATRASO SJMP V2 ATRASO: MOV R7,#200 V3: MOV R6,#250 DJNZ R6,$ DJNZ R7,V3 RET END Prof. José Wilson Lima Nerys 139 Microprocessadores 139

140 CHAVE EQU P3.3 ; CHAVE (P3.3) MOTOR LIGA (P3.3 = 0) OU DESLIGA (P3.3 = 1) STATUS EQU 22H ; registrador que guarda o estado das chaves M0 EQU P2.2 ; IN0 do driver para acionamento do motor CC M1 EQU P2.3 ; IN1 do driver para acionamento do motor CC ORG 00H LJMP INICIO Serial_estado_22_6.asm ORG 30H INICIO: MOV SP,#2FH ; Pilha no endereço inicial 2Fh MOV TMOD,#20H ; Temporizador 1 no modo 2 (recarga automática) para o gerar o baud rate MOV SCON,#40H ; SCON = Serial no modo 1 MOV TH1,#0FAH ; Recarga para baud rate de 4800 bps MOV TL1,#0FAH ; Valor inicial de contagem, desde a primeira contagem SETB TR1 ; Dispara temporizador 1 MOV R7,#00H ; Contador (offset) para leitura das mensagens a serem enviadas via serial MOV STATUS,#00H ; Zera o registrador de STATUS para eliminar a possibilidade de lixo CLR M0 CLR M1 ; Motor CC parado Transfere conteúdo de P3 para A, isola o pino P3.3 e verifica se houve mudança de estado V1: MOV A,P3 ; Leitura da porta P3 (onde está a chave que liga e desliga o motor) ANL A,# B ; Faz uma operação AND entre A e 08H, para isolar o pino P3.3 XRL A,STATUS ; Verifica se houve alteração no STATUS JZ V1 ; Se A XOR STATUS for zero, não houve mudança, então volta para V1 (A=0 e Z=1) ; Se houve mudança na posição da CHAVE, atualiza a situação e o STATUS JNB CHAVE,LIGA_M ; Se CHAVE = 0, liga o motor MOV DPTR,#M_OFF ; DPTR aponta para o início da mensagem de motor desligado LCALL SERIAL ; Chama subrotina para mostrar a mensagem de motor desligado CLR M0 CLR M1 ; Motor desligado SETB STATUS.3 ; Atualiza registrador de STATUS com valor 1 na posição STATUS SJMP V1 Prof. José Wilson 140Lima Nerys 140 Microprocessadores

141 Continuação do programa Serial_estado_22_6.asm LIGA_M: MOV DPTR,#M_ON ; DPTR aponta para o início da mensagem de motor ligado LCALL SERIAL ; Chama subrotina para mostrar a mensagem de motor ligado SETB M0 CLR M1 ; Motor ligado CLR STATUS.3 ; Atualiza registrador de STATUS com valor 0 na posição STATUS.3 SJMP V1 SERIAL: MOV A,R7 ; Transfere para A o valor do offset MOVC A,@A+DPTR ; A recebe o conteúdo da tabela CJNE A,#0FFH,ENVIA ; Verifica se já chegou ao final da tabela MOV R7,#00H ; Se a tabela já acabou, faz R7 = 0 RET ; Retorna da subrotina SERIAL ENVIA: MOV SBUF,A ; Envia conteúdo da tabela/mensagem para o computador JNB TI,$ ; Aguarda terminar a transmissão CLR TI ; limpa flag de transmissão INC R7 ; incrementa R7 (offset para leitura da tabela / mensagem) SJMP SERIAL ; retorna para SERIAL M_ON: M_OFF: DB 'MOTOR DE CORRENTE CONTINUA LIGADO', 0DH, 0DH, 0FFH DB 'MOTOR DE CORRENTE CONTINUA DESLIGADO', 0DH, 0DH, 0FFH END Prof. José Wilson 141Lima Nerys 141 Microprocessadores 141

142 Aula Data Conteúdo 10 13/04 (Qui) Instruções básicas do microcontrolador /04 (Ter) Programação usando o assembly do /04 (Qui) Programação usando o assembly do /04 (Ter) Princípio de funcionamento das interrupções do /04 (Qui) Programação com e sem interrupções 15 02/05 (Ter) Programação do 8051 com e sem interrupções 04/05 (Qui) CET 16 09/05 (Ter) Programação do 8051 com e sem interrupções 17 11/05 (Qui) Princípio de funcionamento dos temporizadores do microcontrolador /05 (Ter) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Qui) Programação utilizando interrupções e temporizadores do microcontrolador /05 (Ter) Princípio de funcionamento da comunicação serial 21 25/05 (Qui) Programação utilizando a comunicação serial 22 30/05 (Ter) Programação utilizando a comunicação serial 23 01/06 (Qui) Prova 2 conteúdo das aulas 10 a 22 (interrupções, temporizadores e serial do 8051) Prof. José Wilson 142Lima Nerys 142 Microprocessadores

143 Serial_Leds_28_6.asm Universidade Federal de Goiás Rotação de Leds via serial Rótulo Mnemônico ORG 00H LJMP INICIO ORG 23H CLR RI MOV R0,SBUF RETI Rótulo Mnemônico V2: CJNE R0,#44H,V1 MOV B,#44H SJMP DIREITA V1: CJNE R0,#45H,V4 MOV B,#45H SJMP ESQUERDA V4: CJNE R0,#50H,V5 SJMP V2 ORG 30H INICIO: MOV SP,#2FH MOV SCON,#40H MOV IE,#90H MOV TMOD,#20H MOV TL1,#0FDH MOV TH1,#0FDH MOV R0,#00H MOV A,#01H SETB TR1 SETB REN V5: MOV R0,B SJMP V2 DIREITA: MOV P1,A RR A LCALL ATRASO SJMP V2 ESQUERDA: MOV P1,A RL A LCALL ATRASO SJMP V2 END Prof. José Wilson 143Lima Nerys 143 Microprocessadores 143

144 Acionamentos diversos com informação de status para o computador Prof. José Wilson 144Lima Nerys 144 Microprocessadores

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - Uma Solução Possível

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - Uma Solução Possível Parte 3 Parte 1 Parte 2 Goiânia, 5 de junho de 2014. MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - Uma Solução Possível 1. Suponha um sistema com um conjunto de 8 LEDs conectados à porta P1 e duas

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 4: Motor de Passo e Display LCD Alunos: Matrícula:

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!!

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!! MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Aluno: Matrícula: UMA SOLUÇÃO POSSÍVEL Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!! 1. Escreva um pequeno, em assembly do

Leia mais

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução Prova Substitutiva Uma Solução Aluno: Matrícula: Uso de Interrupções e do Temporizador 1. Faça um programa (usando o assembly do 8051) para acionamento de um motor de corrente contínua, com as seguintes

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 2: Teclado e Rotação de LEDs Alunos: Matrícula:

Leia mais

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

Laboratório de Microprocessadores e Microcontroladores. Experimento 7: Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 7: Conversor Analógico/Digital e Conversor Digital/Analógico

Leia mais

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Programação de Microprocessadores Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários

Leia mais

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ Assembly do 805 satoutfpredubr Sobre o material Essas transparências foram baseadas em materiais elaborados

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 4: Temporizadores e Motor de Passo Alunos: Matrícula:

Leia mais

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma Jogo de Memória (Memorex v. 3.0) José Wilson Lima Nerys Universidade Federal de Goiás jwlnerys@gmail.com Abstract No presente projeto uma sequência de Leds é criada pelo microcontrolador, e deve ser repetida

Leia mais

Interrupção. Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga Interrupção Prof. Adilson Gonzaga Estrutura de Programação Assembly Programa Principal Chamada de Sub-rotina1 Programa Principal Chamada de Sub-rotina2 Sub-rotina1 Subrotina2 Programa Principal Chamada

Leia mais

EXERCÍCIOS RESOLVIDOS

EXERCÍCIOS RESOLVIDOS EXERCÍCIOS RESOLVIDOS Modos de endereçamento direto ; inclui no programa assembly o arquivo (REG51.inc) ORG 0000H ; o programa inicia na linha 0000H da EPROM MOV A,#01010101B ; carrego no ACC por binário

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários armazenados em memória. Prof. Adilson Gonzaga 1 As ordens ou comandos

Leia mais

PROJETOS COM MICROCONTROLADORES

PROJETOS COM MICROCONTROLADORES Escola de Engenharia Elétrica e de Computação Universidade Federal de Goiás PROJETOS COM MICROCONTROLADORES Versão em Processo de Atualização Prof. Dr. José Wilson Lima Nerys Goiânia, 2009 Projetos com

Leia mais

Organização de Memórias

Organização de Memórias Intel 8051 O Intel 8051 é um microcontrolador de 8 bits que pertence a família MCS-51 da Intel e foi lançado em 1977. É tido como o microcontrolador mais popular do mundo, pois é muito versátil e possui

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1 MICROPROCESSADORES E MICROCONTROLADORES PROVA 1 1. A expressão a seguir pode ser usada para avaliar o desempenho de um microprocessador. Comente cada um dos termos dessa expressão. Valor: 2,5 Tempo de

Leia mais

Conjunto de Instruções do 8051

Conjunto de Instruções do 8051 Apêndice B Conjunto de Instruções do 8051 A.G. e E.T.M. / 2001 (revisão) O 8051 apresenta 111 tipos de instruções, sendo 49 de um byte, 45 de dois bytes e 17 de três bytes. Levando-se em contas as variações

Leia mais

Temporizadores e Contadores

Temporizadores e Contadores Temporizadores e Contadores Temporizadores e Contadores (Timer/Counter) O 8051 possui 2 T/C internos de 16 Bits programáveis e com capacidade de operação independente da CPU. Contadores crescentes (up-counter)

Leia mais

Notas de Aula Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca

Notas de Aula Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca Notas de Aula Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca SISTEMAS COMPACTOS: MEMÓRIAS ROM/RAM INTERNAS E/S INTERNOS: 1 CANAL SERIAL (CONSOME P3.0 E P3.1) 2 TIMERS/CONTADORES

Leia mais

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR BARRAMENTO [BUS] DE ENDEREÇOS UNIDAD CENTRAL DE PROCESO C.P.U INTERFACE SERIE UNIDADE DE CONTROLE U.L.A REGITRADORES TIMERS ROM RAM PORTAS E/S [I/O] BUS DE DADOS

Leia mais

Família 8051 (introdução) 2011/1

Família 8051 (introdução) 2011/1 Família 8051 (introdução) 2011/1 Refresh Microprocessador vs. microcontrolador. Periféricos built-in. Single-chip computer 2 Objetivos Histórico Modelos da família original Principais características Diagrama

Leia mais

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET Tópicos: 1 - Modos de endereçamento do 8051 2 - Pilha e instruções de Pilha 3 - Instruções que usam pilha: - instrução CALL - instrução RET 4 - Interrupção 1 - Modos de Endereçamento do 8051 Os modos de

Leia mais

Microcontrolador 8051

Microcontrolador 8051 Microcontrolador 8051 Inicialmente fabricado pela INTEL, atualmente fabricado por várias empresas; Possui uma grande variedade de dispositivos, com diversas características, porém compatíveis em software;

Leia mais

Microcontroladores 8051

Microcontroladores 8051 Microcontroladores 8051 1. Microcontroladores Microcontrolador é o nome dado ao componente que incorpora em um só "chip" todos os elementos necessários a um microcomputador. Deve ter : CPU, Memória e Interfaces

Leia mais

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III Orientações: Esta lista de Exercícios deve ser entregue juntamente com a

Leia mais

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO Parte I Fundamentos Teóricos O que diferencia um microcontrolador (como o 8051) de um microprocessador é o fato de que o primeiro pode apresentar, integrados

Leia mais

SEMINÁRIO ASSEMBLY: Arquitetura 8051

SEMINÁRIO ASSEMBLY: Arquitetura 8051 UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA Curso de Ciências da Computação SEMINÁRIO ASSEMBLY: Arquitetura 8051 Fernando Takeshi Sato Diego Schmitt

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Memória de Dados Interna (RAM Interna) O endereçamento é feito com 8 bits Chips com 128 bytes de RAM não possuem a área I (Apenas Endereçamento Indireto) Memória de Dados Interna

Leia mais

Microcontrolador 8051:

Microcontrolador 8051: Microcontrolador 8051: Fonte: CORRADI 2009 O Microcontrolador 8051: Começou a ser produzido no início da década de 80, pela Intel; Hoje é fabricado por várias empresas e com muitas variações; Atualmente,

Leia mais

Apontamentos sobre o 8051 Prof. Eng Luiz Antonio Vargas Pinto Versão revista e ampliada em 01/07/2009 Revisada em 28/02/2006 Revisada em 18/11/2007

Apontamentos sobre o 8051 Prof. Eng Luiz Antonio Vargas Pinto Versão revista e ampliada em 01/07/2009 Revisada em 28/02/2006 Revisada em 18/11/2007 1 Apontamentos sobre o 8051 Prof. Eng Luiz Antonio Vargas Pinto Versão revista e ampliada em 01/07/2009 Revisada em 28/02/2006 Revisada em 18/11/2007 Revisada em 17/03/2011 Revisada em 13/01/2013 1. Introdução:...

Leia mais

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051 SEL 0415 Departamento de Engenharia Elétrica e de Computação EESC-USP SEL 0415 Introdução à Organização de Computadores Aula 8 Microcontrolador 8051 Profa. Luiza Maria Romeiro Codá Autores: Prof. Dr. Marcelo

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores

Leia mais

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga Aplicações de Microprocessadores I Prof. Adilson Gonzaga Exercício -1 Fazer um programa em Assembly do 8051 que informe a temperatura de um forno. O programa deve enviar inicialmente um String em ASCII

Leia mais

Laboratório de Microprocessadores e Microcontroladores. Experimento 7: Conversor Analógico/Digital e Conversor Digital/Analógico

Laboratório de Microprocessadores e Microcontroladores. Experimento 7: Conversor Analógico/Digital e Conversor Digital/Analógico Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 7: Conversor Analógico/Digital e Conversor Digital/Analógico

Leia mais

NOTAS DE AULA 06 MICROCONTROLADOR 8051

NOTAS DE AULA 06 MICROCONTROLADOR 8051 NOTAS DE AULA 06 MICROCONTROLADOR 8051 SUMÁRIO DO VOLUME NOTAS DE AULA 06 1 INTRODUÇÃO AOS MICROCONTROLADORES 2 PROGRAMANDO EM LINGUAGEM ASSEMBLY - 8051 3 INSTRUÇÕES: JUMPS, LOOPS E CALL 4 DESCRIÇÃO DOS

Leia mais

2.4 Temporização da CPU

2.4 Temporização da CPU 2.4 Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste devese conectar um cristal entre os pinos Xtal1 e Xtal2. Pode-se também utilizar um oscilador

Leia mais

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk Assembly 8051 Num sistema microprocessado, geralmente, não existe um sistema operacional; O programa desenvolvido pelo programador deve cuidar tanto da lógica do programa, bem como da configuração e acesso

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Sistemas de interrupções Interrupção... Acontecimento assíncrono, inesperado para um processador Resulta na invocação automática de uma subrotina desencadeada

Leia mais

Interrupções por hardware

Interrupções por hardware Interrupções Existem interrupções por software e por hardware, embora as que nos interessem mais neste contexto sejam as interrupções por hardware As interrupções por software são instruções que causam

Leia mais

Técnicas de Interface: conversor A/D e D/A

Técnicas de Interface: conversor A/D e D/A Técnicas de Interface: conversor A/D e D/A Prof. Adilson Gonzaga Interface com Conversores A/D e D/A Conversor A/D ADC Converte um Valor Analógico para Digital Conversor D/A DAC Converte um Valor Digital

Leia mais

8051 Estudo de Caso. Prof. Carlos E. Capovilla - CECS/UFABC 1

8051 Estudo de Caso. Prof. Carlos E. Capovilla - CECS/UFABC 1 8051 Estudo de Caso Prof. Carlos E. Capovilla - CECS/UFABC 1 8051 - Características O 8051 é membro da família MCS-51, e constitui o núcleo de todos os dispositivos MCS-51. Diversos fabricantes produzem

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 20 de Outubro de 2005 Microprocessadores

Leia mais

Memória de dados interna

Memória de dados interna Memória de dados interna A MD interna na família 51 proporciona 128 bytes ou 256 bytes de MD interna (conforme a versão do componente) Os endereços 0 a 7FH incluem os bancos de registos R0 a R7, posições

Leia mais

LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES

LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES Escola de Engenharia Elétrica e de Computação Universidade Federal de Goiás LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES Prof. Dr. José Wilson Lima Nerys Goiânia, 1º semestre de 2012 Laboratório

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ENGENHARIA DE COMPUTAÇÃO. Vinicius Zanetti Tiago Dambros Rodrigo Yoshida Takeda

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ENGENHARIA DE COMPUTAÇÃO. Vinicius Zanetti Tiago Dambros Rodrigo Yoshida Takeda PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ENGENHARIA DE COMPUTAÇÃO Vinicius Zanetti Tiago Dambros Rodrigo Yoshida Takeda Projeto apresentado às disciplinas do Curso de Engenharia de Computação do Centro

Leia mais

CAPÍTULO 4 CONJUNTO DE INSTRUÇÕES

CAPÍTULO 4 CONJUNTO DE INSTRUÇÕES CAPÍTULO 4 CONJUNTO DE INSTRUÇÕES 4.1. INTRODUÇÃO Todos os membros da família MCS-51 executam o mesmo conjunto de instruções. As instruções são otimizadas para aplicações de controle de 8 bits. Elas permitem

Leia mais

Sistemas Embarcados:

Sistemas Embarcados: Sistemas Embarcados Microcontroladores Prof. Protásio Laboratório de Microengenharia/DEE/CEAR/UFPB Fundamentos de microcontroladores Bit (Binary digit) Zero lógico (Ø) e Um lógico (1) 0V e 5V ou 3,3V Byte

Leia mais

Lista de Exercícios 1

Lista de Exercícios 1 Conceitos envolvidos: a) Memória de Dados (interna e externa) b) Memória de Programa (interna e externa) c) Operações aritméticas e lógicas d) Portas e) Endereçamento a Bit f) Contadores e Temporizadores

Leia mais

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória Microprocessadores e Microcontroladores Parte 3 Expansão de Memória José Wilson Lima Nerys www.eee.ufg.br/ jwilson 2013 Um microcontrolador padrão da família 8051 possui normalmente uma memória de programa

Leia mais

Instruções Assembly x Código de máquina Microprocessador Didático

Instruções Assembly x Código de máquina Microprocessador Didático Instruções Assembly x Código de máquina Microprocessador Didático Professor Afonso Ferreira Miguel (afmiguel@rla01.pucpr.br) Disciplina de Projetos Lógicos e Microprocessadores Curitiba, 1 de junho de

Leia mais

MICROCONTROLADOR 8051

MICROCONTROLADOR 8051 Sumário 1 Introdução aos Microcontroladores... 1 1.1 O Microcontrolador - História e Aplicação... 1 1.2 Motivação para o Estudo de um Microcontrolador... 1 1.2.1 O 8051... 2 1.3 Sistemas Microprocessados...

Leia mais

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte

Leia mais

Ocircuito da Fig.1 é usado para o acionamento dos Leds do Cubo.

Ocircuito da Fig.1 é usado para o acionamento dos Leds do Cubo. Cubo de Leds José Wilson Lima Nerys Universidade Federal de Goiás jwlnerys@gmail.com Abstract Esse projeto é um bom exemplo de uso das instruções setb e clr do 8051. Elas são usadas para ativar e desativar

Leia mais

Contador crescente e decrescente...

Contador crescente e decrescente... Contador crescente e decrescente... Hardware Quatro LEDS (P1.7 a P1.4) Um interruptor (P1.0) LEDS e interruptor activos a zero f x = 12MHz P1 VCC Problema Visualizar nos LEDs uma contagem cíclica entre

Leia mais

GOVERNO DO ESTADO DE SÃO PAULO

GOVERNO DO ESTADO DE SÃO PAULO Centro Estadual de Educação Tecnológica Paula Souza GOVERNO DO ESTADO DE SÃO PAULO Etec JORGE STREET TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM AUTOMAÇÃO INDUSTRIAL Esteira Seletora Caique de Siqueira Flavio

Leia mais

Instruções de movimentação de dados

Instruções de movimentação de dados Instruções de movimentação de dados Instrução MOV O 8051 possui instruções que permitem copiar o conteúdo de um registrador ou localidade para outro registrador ou localidade de memória. Nas seções anteriores

Leia mais

Sistemas Digitais e Microcontrolados

Sistemas Digitais e Microcontrolados UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA TECNOLOGIA EM AUTOMAÇÃO INDUSTRIAL Sistemas Digitais e Microcontrolados Contador/Temporizador

Leia mais

USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO. EXP4 : Interrupções do uc 8051

USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO. EXP4 : Interrupções do uc 8051 USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO EXP4 : Interrupções do uc 8051 Prof. Vladimir Chvojka Jr Eng. Elétrica- Lab. Integrado - uc 8051 - Prof. Vladimir Chvojka Jr Exp4:

Leia mais

Os temporizadores / contadores (T/C) do 80C51

Os temporizadores / contadores (T/C) do 80C51 Os temporizadores / contadores (T/C) do 80C51 Existem dois T/C com 16 bits, podendo cada um funcionar como temporizador (T) ou contador (C): Como temporizador o registo é incrementado por cada ciclo máquina

Leia mais

1345 Arquitectura de Computadores

1345 Arquitectura de Computadores 1345 Arquitectura de Computadores Relatório do 2º Teste formativo Ano lectivo 1999/2000 Resolução da questão 1 O mapa de memória pedido é o seguinte: Endereço do fim da página FFFFH DFFFH BFFFH 9FFFH 7FFFH

Leia mais

INTRODUÇÃO: MICROCONTROLADORES

INTRODUÇÃO: MICROCONTROLADORES INTRODUÇÃO: MICROCONTROLADORES MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de R$ 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento

Leia mais

Porta Série SÉRIE x PARALELO PORTA SÉRIE. Comunicação série SÉRIE PARALELA

Porta Série SÉRIE x PARALELO PORTA SÉRIE. Comunicação série SÉRIE PARALELA Porta Série 8051 Aplicações de Microprocessadores 2006/2007 SÉRIE x PARALELO SÉRIE EMISSOR RECEPTOR PARALELA EMISSOR RECEPTOR 2 2 PORTA SÉRIE Comunicação série Síncrona Existe um sinal de relógio entre

Leia mais

Aula 14 Funcionamento de Processadores (Visão específica)

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm

Leia mais

Prof. Adilson Gonzaga. Técnicas de Interface

Prof. Adilson Gonzaga. Técnicas de Interface Prof. Adilson Gonzaga Técnicas de Interface Técnicas de Interface com Microcontroladores (8051) Estrutura das Portas do 8051: Todas as quatro Portas (P0,P1,P2,P3) da família de Microcontroladores MCS-51

Leia mais

EPAC Microcontroladores Organização do curso 30/8/2007

EPAC Microcontroladores Organização do curso 30/8/2007 EPAC 2007 Microcontroladores 8051 Thiago B. Ló Guilherme Galante Organização do curso 1. Parte I Introdução Visão Geral da família 8051 O circuito básico Atividades Práticas 2. Parte II Interrupções Contadores

Leia mais

CEFET-SP. Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão 6.0 2004 Wilson Ruiz. Wilson Ruiz

CEFET-SP. Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão 6.0 2004 Wilson Ruiz. Wilson Ruiz CEFET-SP Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão 6.0 2004 Wilson Ruiz Harpia harpyja Harpia ou Águia Real Brasil 1 CAPÍTULO 1: HARDWARE DOS MICROCONTROLADORES DA FAMÍLIA

Leia mais

Sistemas Embarcados:

Sistemas Embarcados: Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Embarcados: Temporizadores e Contadores DCA0119 Sistemas Digitais Heitor Medeiros Florencio Temporizadores

Leia mais

EXERCÍCIOS DE PROGRAMAÇÃO

EXERCÍCIOS DE PROGRAMAÇÃO EXERCÍCIOS DE PROGRAMAÇÃO A seguir são apresentados exercícios de programação que podem ser testados nas placas de laboratório de processadores que utilizam o MSC1211. São propostos vários exercícios.

Leia mais

EPUSP PCS2355 Laboratório Digital MICROPROCESSADORES

EPUSP PCS2355 Laboratório Digital MICROPROCESSADORES MICROPROCESSADORES M.M. / 2001 (revisão) L.M.S. e P.S.C. / 2001 (revisão) E.T.M./2004 (revisão) E.T.M./2005 (revisão) Resumo Nesta experiência serão estudados os conceitos básicos de microprocessadores

Leia mais

NEANDERWIN - Resumo operacional

NEANDERWIN - Resumo operacional NEANDERWIN - Resumo operacional Sumário Listagem geral das instruções... 2 NOP... 2 LDI imed... 2 STA ender... 2 LDA ender... 3 ADD ender... 3 SUB ender... 3 OR ender... 4 AND ender... 4 NOT... 4 JMP ender...

Leia mais

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga Aplicações: Conversão de Códigos e Motor de Passo Aplicação 1 Conversão de Código ASCII para Hexadecimal Alguns periféricos, tais como Teclados Alfa-numéricos, Monitores de Vídeo, Displays de Cristal Líquido,

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Contadores / Temporizadores Contadores/temporizadores em geral... Hardware para contagem de impulsos Externos Internos (derivados do relógio interno) Contagem

Leia mais

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira SEL-0415 Introdução à Organização de Computadores Conceitos Básicos Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção dos dispositivos

Leia mais

Comunicação Serial. Comunicação Serial

Comunicação Serial. Comunicação Serial RECEPÇÃO TRANSMISSÃO D7 D6 D5 D4 D3 D2 D1 D0 DESLOCAMENTO DESLOCAMENTO D7 D6 D5 D4 D3 D2 D1 D0 D0 D0 D7 D6 D5 D4 D3 D2 D1 D1 D0 D1 D7 D6 D5 D4 D3 D2 D2 D0 D1 D2 D7 D6 D5 D4 D3 D3 D0 D1 D2 D3 D7 D6 D5 D4

Leia mais

Neander - características

Neander - características NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados

Leia mais

MICROCONTROLADORES FAMÍLIA 8031/8051

MICROCONTROLADORES FAMÍLIA 8031/8051 MANUAL MICROCONTROLADORES FAMÍLIA 8031/8051 PROF. EDSON PEDRO FERLIN CURITIBA, PR ABRIL 2004 Sumário CAPÍTULO 1 INTRODUÇÃO... 3 CAPÍTULO 2 VISÃO GERAL... 4 1.1) Características de Hardware... 6 1.1) Pinagem

Leia mais

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO

EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO Autores: Prof. Dr. André Riyuiti Hirakawa, Prof. Dr. Carlos Eduardo Cugnasca e Prof. Dr. Paulo Sérgio Cugnasca Versão 1.0-05/2005 1. OBJETIVO Esta experiência

Leia mais

Organização Básica III

Organização Básica III Barramento de endereços É unidirecional, porque a informação flui apenas em uma direção, da CPU para a memória ou para os elementos de E/S. Barramento de endereços Quando a CPU quer ler de ou escrever

Leia mais

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone Departamento de Engenharia Elétrica ELE 1084 - Microprocessadores II Prof. Carlos Antonio Alves Sala 59 Fone 3743-1224 caa@dee.feis.unesp.br 1 ELE 1084 Microprocessadores II P R O G R A M A D E E N S I

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM ELETRÔNICA MÁQUINA DE VENDAS AUTOMÁTICA

TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM ELETRÔNICA MÁQUINA DE VENDAS AUTOMÁTICA Centro Estadual de Educação Tecnológica Paula Souza GOVERNO DO ESTADO DE SÃO PAULO ETEC JORGE STREET TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM ELETRÔNICA MÁQUINA DE VENDAS AUTOMÁTICA CARLOS SÉRGIO L. NAVARRO

Leia mais

Controladores do IBM-PC. Gustavo G. Parma

Controladores do IBM-PC. Gustavo G. Parma Controladores do IBM-PC Gustavo G. Parma IBM-PC baseado em ISA Sistema de interrupção do x86 Duas entradas de solicitação de interrupção NMI: Non-maskable interruption Erro de paridade da RAM Channel Check

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Arquitectura de um microprocessador básico (Qual o hardware necessário para executar instruções e poder chamar subrotinas?) Uso da memória Guardar instruções

Leia mais

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador MICROCONTROLADORES HARDWARE 1 Prof. Mauricio Aula 03: Objetivos 2 Arquitetura de um Microcontrolador Unidade Central de Processamento Portas de Entrada e Saída Porta Serial Temporizador / Contador Conversor

Leia mais

PROJETO CONTROLE DE ACESSO Á AMBIENTES BASEADO EM I-BUTTON

PROJETO CONTROLE DE ACESSO Á AMBIENTES BASEADO EM I-BUTTON UnicenP Centro Universitário Positivo Núcleo de Ciências Exatas e Tecnológicas Curso de Engenharia da Computação PROJETO CONTROLE DE ACESSO Á AMBIENTES BASEADO EM I-BUTTON Autor: Fernando Bomfim Boszczowski

Leia mais

Programação de Microcontroladores I

Programação de Microcontroladores I Programação de Microcontroladores I M.M. / 2001 (revisão) L.M.S. e P.S.C. / 2001 (revisão) E.T.M./2004 (revisão) E.T.M./2005 (revisão) E.T.M./2010 (revisão) E.T.M./2011 (revisão da parte experimental)

Leia mais

Aula 5: Introdução a Arquitetura do Microcontrolador 8051

Aula 5: Introdução a Arquitetura do Microcontrolador 8051 Microprocessadores - 2013-1 06/05/2013 Aula 5: Introdução a Arquitetura do Microcontrolador 8051 Professor: Eraldo Silveira e Silva eraldo@ifsc.edu.br 1 Objetivos da Aula apresentar as principais características

Leia mais

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são:

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: Linguagem Assembly Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: INSTRUÇÕES DE TRANSFERÊNCIA DE DADOS - Movem dados entre Registradores, Registradores e Memória e Valores Fixos para

Leia mais

Lista de Exercícios 2

Lista de Exercícios 2 Lista de Exercícios 2 Conceitos envolvidos, além dos desenvolvidos na Lista 1: a) Interface com Teclado Matricial b) Interface com Displays de 7 segmentos c) Interface com LCD d) Interface com Conversores

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES

MICROPROCESSADORES E MICROCONTROLADORES MICROPROCESSADORES E MICROCONTROLADORES Microprocessador8085 José Wilson Lima Nerys jwilson@eee.ufg.br Goiânia, 2009 1 1 Microprocessador 8085 Evolução de Conhecimentos até Microprocessadores 2 2 Microprocessador

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

A família de microcontroladores 8051

A família de microcontroladores 8051 EEL7030 A família de microcontroladores 8051 1 Comentários sobre microcontroladores Um microcontrolador é um componente que tem, num único chip, além de uma CPU, elementos tais como memórias ROM e RAM,

Leia mais

PROJETO DE TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM ELETRÔNICA. Aquário Eletrônico

PROJETO DE TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM ELETRÔNICA. Aquário Eletrônico Centro Estadual de Educação Tecnológica Paula Souza GOVERNO DO ESTADO DE SÃO PAULO Etec JORGE STREET PROJETO DE TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM ELETRÔNICA Aquário Eletrônico Amanda Alves Magalhães

Leia mais

Experiência 1 -Introdução ao Módulo Didático MC-1 e Instruções de Transferência de Dados

Experiência 1 -Introdução ao Módulo Didático MC-1 e Instruções de Transferência de Dados UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO FACULDADE DE ENGENHARIA DE ILHA SOLTEIRA DEPARTAMENTO DE ENGENHARIA ELÉTRICA LABORATÓRIO DE MICROPROCESSADORES I ELE 1078 Experiência 1 -Introdução

Leia mais

Capítulo 8 Interface com o mundo analógico

Capítulo 8 Interface com o mundo analógico Capítulo 8 Interface com o mundo analógico.0 Introdução A maioria das grandezas físicas é analógica por natureza e pode assumir qualquer valor dentro de uma faixa de valores contínuos. Podemos citar: temperatura,

Leia mais

Parte II O microcontrolador Intel 8051

Parte II O microcontrolador Intel 8051 Parte II O microcontrolador Intel 8051 1 Comentários sobre microcontroladores Um microcontrolador é um componente que tem, num único chip, além de uma CPU, elementos tais como memórias ROM e RAM, temporizadores,

Leia mais

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086). Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972

Leia mais

Conversor Analógico Digital do MSP430G2553

Conversor Analógico Digital do MSP430G2553 UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA CURSO TÉCNICO INTEGRADO DE NÍVEL MÉDIO - ELETRÔNICA MICROCONTROLADORES 2 Conversor Analógico Digital do MSP430G2553 O MSP430G2553

Leia mais

Real Time Clock MC146818A,DS12C887

Real Time Clock MC146818A,DS12C887 Real Time Clock MC146818A,DS12C887 Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Microprocessadores II Copyright

Leia mais

KIT S51 Kit didático para microcontrolador AT89S51/52

KIT S51 Kit didático para microcontrolador AT89S51/52 2008 KIT S51 Kit didático para microcontrolador AT89S51/52 Requisitos - Placa de circuito impresso KIT S51 V1.1. - Componentes para montagem da placa. - Cabo para gravação. - Fonte DC. - Aplicativo RIDE

Leia mais