Programação Assembly                 8051 – Aula 131 de julho de 2012   Minicurso: Assembly para 8051 GDESTE   1
Agora, vamos ao que interessa...31 de julho de 2012   Minicurso: Assembly para 8051 GDESTE   2
Descrição                A família de microcontroladores MCS-51TM,                desenvolvida, fabricada e comercializada...
Partes do microcontrolador                • CPU: tem a função de acionar e se comunicar                  com todos os barr...
Partes do microcontrolador                • Periféricos de E/S: são todos os dispositivos                  externos ligado...
CPU                • Unidade de Controle: processa o controle do                  fluxo das informações a fim de executar ...
CPU                • Unidade de registradores: servem para o                  armazenamento temporário de dados de        ...
CPU                • Acumulador: principal registrador da CPU,                  pois várias instruções se referem a ele pa...
Arquitetura interna                Está dividida em unidade de processamento                central, oscilador interno, me...
Arquitetura externa                                                             AT89S5231 de julho de 2012   Minicurso: As...
Arquitetura externa                • VCC E GND: Entradas de tensão de                  alimentação de +5V e Terra.        ...
Arquitetura externa                • Porta 1 (P1.7 a P1.0): Nenhuma função                  alternativa está associada a e...
Arquitetura externa                • Porta 2 (P2.7 a P2.0): é bidirecional de 8 bits                  com resistores de pu...
Arquitetura externa        BIT       NOME FUNÇÃO ALTERNATIVA        P3.0      RXD     Receptor da porta serial assíncrona....
Arquitetura externa       P1             0    0         0         0         0        0       0   0               SETB P1.2...
Arquitetura externa                • RESET: Um nível alto nesse pino realiza uma                  inicialização do circuit...
Memória                O 𝜇 C8051 contém 210 localizações de bits                endereçáveis, dos quais 128 são os bytes  ...
7F                                                                           RAM de propósito geral           Memória     ...
FF                                                            F0    F7   F6   F5    F4     F3     F2    F1   F0    B      ...
Banco de registros                O conjunto de instruções do 8051 contem 8                registros, R0 até R7 e por defa...
Outros registros                Acumulador;                Registrador B;                Registro dos temporizadores;     ...
Primeiro contato com o Assembly                • Diretiva ORG: altera a localização para iniciar                  a nova c...
Conjunto de instruções                As operações possuem diferentes modos de                endereçamento.              ...
Instruções Aritméticas                  MNEMÔNICO                    OPERAÇÃO           TEMPO DE EXECUÇÃO(𝜇s)             ...
Instruções de transferência                MNEMÔNICO                   OPERAÇÃO            TEMPO DE EXECUÇÃO(𝜇s)          ...
Instruções booleanas                  MNEMÔNICO                     OPERAÇÃO           TEMPO DE EXECUÇÃO(𝜇s)              ...
Instruções booleanas                Exemplo:                LOOP: MOV C,P1.0                      ANL C,P1.1              ...
Prática 1: Criando uma porta NOR                ORG 00H                AJMP LOOP                ENT1 EQU P1.0             ...
Prática 2: Pisca LED                ORG 00H                AJMP INICIO                LED EQU P2.0                DELAY:  ...
Upcoming SlideShare
Loading in...5
×

Aula 1 - Assembly - 8051

11,621

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
11,621
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
285
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Aula 1 - Assembly - 8051

  1. 1. Programação Assembly 8051 – Aula 131 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 1
  2. 2. Agora, vamos ao que interessa...31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 2
  3. 3. Descrição A família de microcontroladores MCS-51TM, desenvolvida, fabricada e comercializada pela Intel é baseada em padrões industriais de microcontroladores de 8 bits, sendo o 8051 o componente inicial desta família. O 8051 possui 128 bytes de RAM, 4 Kbytes de memória de programa, 2 contadores/temporizadores de 16 bits e 32 linhas de entrada/saída bidirecionais e individualmente endereçáveis – 4 portas de E/S.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 3
  4. 4. Partes do microcontrolador • CPU: tem a função de acionar e se comunicar com todos os barramentos obedecendo as diretivas gravadas na ROM. É responsável pela execução de instruções programadas, interpretar e executar comandos. • Memória: utiliza uma memória ROM para ler as instruções que deve executar e se utiliza de uma memória RAM para armazenar temporariamente dados de uso das instruções ou variáveis do programa.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 4
  5. 5. Partes do microcontrolador • Periféricos de E/S: são todos os dispositivos externos ligados à CPU, como teclados, displays, motores, timers, porta serial etc.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 5
  6. 6. CPU • Unidade de Controle: processa o controle do fluxo das informações a fim de executar a instrução recebida pela ROM. Envia impulsos elétricos para controlar em sequencia apropriada e sincronizada as operações dos componentes. • Unidade de lógica e aritmética: realiza todas as operações de lógica e aritmética da CPU.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 6
  7. 7. CPU • Unidade de registradores: servem para o armazenamento temporário de dados de utilidade interna e externa à CPU. Proporcionam um tempo rápido de transferência de bits. Dentre eles podemos destacar o contador de programa, o registro de instruções e o acumulador. • Contador de programa: armazena o endereço da célula que contém o código da próxima instrução a ser executada.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 7
  8. 8. CPU • Acumulador: principal registrador da CPU, pois várias instruções se referem a ele para operar, como por exemplo ADD A,#40H. O resultado das operações é guardado no próprio acumulador.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 8
  9. 9. Arquitetura interna Está dividida em unidade de processamento central, oscilador interno, memória ROM interna, memória RAM interna, dois temporizadores, uma porta serial, quatro portas paralelas de 8 bits, circuito de controle de interrupção e circuito de controle de barramento.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 9
  10. 10. Arquitetura externa AT89S5231 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 10
  11. 11. Arquitetura externa • VCC E GND: Entradas de tensão de alimentação de +5V e Terra. • Porta 0 (P0.7 a P0.0): Porta bidirecional de 8 bits, com saída de dreno aberto, ou entrada de alta impedância. Multiplexa o barramento de dados e o barramento de endereços. Pode servir como saída de bytes de instrução, sendo necessária a colocação de resistores de pull-up’s externos. Seus pinos podem ser individualmente endereçáveis.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 11
  12. 12. Arquitetura externa • Porta 1 (P1.7 a P1.0): Nenhuma função alternativa está associada a esta porta, ela é usada apenas para conectar dispositivos externos. Necessita de pull-up’s externos para suprir ou drenar cargas. Seus pinos podem ser individualmente endereçáveis.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 12
  13. 13. Arquitetura externa • Porta 2 (P2.7 a P2.0): é bidirecional de 8 bits com resistores de pull-up’s internos. Seus pinos podem suprir ou drenar cargas TTL sem resistores externos e podem ser individualmente endereçáveis. • Porta 3 (P3.7 a P3.0): Porta de 8 bits bidirecional. Seus pinos podem ser individualmente endereçáveis, servindo também para as funções especiais descritas a seguir.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 13
  14. 14. Arquitetura externa BIT NOME FUNÇÃO ALTERNATIVA P3.0 RXD Receptor da porta serial assíncrona. TXD/ Saída de transmissão da porta serial ou saída de clock P3.1 clock para os registradores de deslocamento externos. Interrupção externa 0 ou bit de controle para o P3.2 INT0 timer/contador 0. Interrupção externa 1 ou bit de controle para o P3.3 INT1 timer/contador 1. P3.4 T0 Entrada para o timer/contador 0. P3.5 T1 Entrada para o timer/contador 1. P3.6 WR Strobe de escrita na memória externa. P3.7 RD Strobe de leitura na memória externa.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 14
  15. 15. Arquitetura externa P1 0 0 0 0 0 0 0 0 SETB P1.2 P1 0 0 0 0 0 1 0 0 MOV P1,#075H P1 0 1 1 1 0 1 0 1 CLR P1.6 P1 0 0 1 1 0 1 0 1 MOV P1,#00H P1 0 0 0 0 0 0 0 031 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 15
  16. 16. Arquitetura externa • RESET: Um nível alto nesse pino realiza uma inicialização do circuito. • EA: Deve ser ligado ao nível alto, para que o processador tenha acesso a memória interna de programa. Se estiver ligado ao nível baixo, toda a área de programa será considerada externa. • XTAL1 e XTAL2: entradas para o clock externo.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 16
  17. 17. Memória O 𝜇 C8051 contém 210 localizações de bits endereçáveis, dos quais 128 são os bytes endereçados de 20H até 2FH e os restantes estão nos registros de funções especiais.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 17
  18. 18. 7F RAM de propósito geral Memória 30 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 Localização dos bits endereçáveis 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 27 3F 3E 3D 3C 3B 3A 39 38 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 22 17 16 15 14 13 12 11 10 21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00 1F Banco 3 18 17 Banco 2 10 0F Banco 1 08 07 Banco 0 00 RAM31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 18
  19. 19. FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B Memória E0 D0 E7 D7 E6 D6 E5 D5 E4 D4 E3 D3 E2 D2 E1 D1 E0 D0 ACC PSW B8 BF BE BD BC BB BA B9 B8 IP B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 A8 AF AE AD AC AB AA A9 A8 IE Localização dos bits endereçáveis A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 99 Bits não endereçáveis SBUF 98 9F 9E 9D 9C 9B 9A 99 98 SCON 90 97 96 95 94 93 92 91 90 P1 8B Bits não endereçáveis TH1 8C Bits não endereçáveis TH0 8B Bits não endereçáveis TL1 8A Bits não endereçáveis TL0 89 Bits não endereçáveis TMOD 88 8F 8E 8D 8C 8B 8A 89 88 TCON 87 Bits não endereçáveis PCON 83 Bits não endereçáveis DPH 82 Bits não endereçáveis DPL 81 Bits não endereçáveis SP 80 87 86 85 84 83 82 81 80 P0 REGISTROS DE FUNÇÕES ESPECIAIS31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 19
  20. 20. Banco de registros O conjunto de instruções do 8051 contem 8 registros, R0 até R7 e por default estão com endereços de 00H-07H. O banco de registro ativo pode ser alterado trocando os bits de seleção dos bancos de registros. A ideia de banco de registros permite uma rápida e efetiva troca de dados.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 20
  21. 21. Outros registros Acumulador; Registrador B; Registro dos temporizadores; Registro de palavra de status de programa (PSW); DPTR; SP; SBUF; PCON.31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 21
  22. 22. Primeiro contato com o Assembly • Diretiva ORG: altera a localização para iniciar a nova contagem do programa. • END: Finaliza o processo de montagem. • EQU: iguala um rótulo com outro ou com um valor numérico. Exemplos: LED EQU P2.0 DEZ EQU 1031 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 22
  23. 23. Conjunto de instruções As operações possuem diferentes modos de endereçamento. ADD A , 7FH ; Endereçamento direto ADD A , @R0 ; Endereçamento indireto ADD A , R7 ; Endereçamento de registro ADD , #10H ; Endereçamento imediato31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 23
  24. 24. Instruções Aritméticas MNEMÔNICO OPERAÇÃO TEMPO DE EXECUÇÃO(𝜇s) ADD A, <byte> A = A + <byte> 1 ADDC A, <byte> A = A + <byte> + C 1 SUBB A, <byte> A = A + <byte> - C 1 INC A A=A+1 1 INC <byte> <byte> = <byte> + 1 1 INC DPTR DPTR = DPTR + 1 2 DEC A A=A–1 1 DEC <byte> <byte> = <byte> -1 1 MUL AB B,A = B X A 4 DIV AB A = Int(A/B) e 4 B = Resto(A/B)31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 24
  25. 25. Instruções de transferência MNEMÔNICO OPERAÇÃO TEMPO DE EXECUÇÃO(𝜇s) MOV A, <fonte> A = <fonte> 1 MOV <destino> , A <destino> = A 1 MOV <destino> , <fonte> <destino> = <fonte> 2 XCH A,<byte> Troca dados 1 MOV DPTR,#<2bytes> DPTR = <2bytes> 2 Exemplos: MOV R7,#10H MOV A,R0 MOV SP,#5FH31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 25
  26. 26. Instruções booleanas MNEMÔNICO OPERAÇÃO TEMPO DE EXECUÇÃO(𝜇s) ANL C,<bit> C = C AND <bit> 2 ORL C,<bit> C = C OR <bit> 2 SETB <bit> <bit> = 1 1 CLR <bit> <bit> = 0 1 CPL <bit> <bit> = NOT <bit> 1 MOV C, <bit> C = <bit> 1 MOV C, /<bit> C = NOT <bit> 131 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 26
  27. 27. Instruções booleanas Exemplo: LOOP: MOV C,P1.0 ANL C,P1.1 MOV P1.2,C AJMP LOOP 8051 P1.0 P1.1 P1.231 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 27
  28. 28. Prática 1: Criando uma porta NOR ORG 00H AJMP LOOP ENT1 EQU P1.0 ENT2 EQU P1.1 SAIDA EQU P2.0 LOOP: MOV C,ENT1 ORL C,ENT2 CPL C MOV SAIDA,C AJMP LOOP END31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 28
  29. 29. Prática 2: Pisca LED ORG 00H AJMP INICIO LED EQU P2.0 DELAY: MOV R2,#10 VOLTA2: MOV R1,#200 VOLTA: MOV R0,#250 DJNZ R0,$ DJNZ R1,VOLTA DJNZ R2,VOLTA2 RET INICIO: CLR LED ;LED inicia desligado LOOP: CPL LED ACALL DELAY AJMP LOOP END31 de julho de 2012 Minicurso: Assembly para 8051 GDESTE 29
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×