Curso de Microcontroladores Família MCS51 - Hardware e Software. 03/09/2012 Prof. Corradi - 1

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

Download "Curso de Microcontroladores Família MCS51 - Hardware e Software. 03/09/2012 Prof. Corradi - 1"

Transcrição

1 Curso de Microcontroladores Família MCS51 - Hardware e Software 03/09/2012 Prof. Corradi - 1

2 1. Introdução Tópicos a serem estudados Retrospectiva 2. Apresentação da Família de Microcntroladores-MCS51 [Algumas variações: 89S pinos; 89C51-40pinos; 89C1051; 89C2051 e 89C pinos] 1. Características 2. Pinagem 3. Arquitetura 3. Descrição de hardware e Software 1. Portas de E/S - [I/O] 2. Organização de memória/set de Instruções/Programação Estruturada 3. Barramento de Expansão 4. Sistema de interrupções/programação da Interrupção 5. Timer/Counter - Programação 6. Outras Características/Programação/Informações Extras 03/09/2012 Prof. Corradi - 2

3 Microcontroladores - Família-MCS51 Introdução 03/09/2012 Prof. Corradi - 3

4 Microcontrolador - Família-MCS51 - Introdução Família MCS - 48 Início da tecnologia de microcontroladores; Microcontroladores 8048, 8748 e 8035; Orientada para aplicações de controle. Anos 80 Família MCS - 51 Família 8048 estendida; Microcontroladores 8051, 8751 e 8031; Maior performance sobre a MCS Na atualidade: Família MCS - 51 CHMOS 80C51 Compatível com o original 8051; Microcontroladores 80C51, 87C51, 89C51 e 80C31 Modos de controle para redução de potência.; Referenciada como 80C51. 03/09/2012 Prof. Corradi - 4

5 Microcontrolador - Família-MCS51 Apresentação: Características; Pinagem; Arquitetura. 03/09/2012 Prof. Corradi - 5

6 Apresentação do 80C51- Características Básicas Memória interna de programa (ROM) de 4KB, ou mais dependendo da versão do chip - [40 pinos] e 1KB a 4KB - [20 pinos]; Memória interna de dados (RAM) de 128 bytes, mais 128 bytes de registradores especiais [SFR] = 80C51. No 80C52 temos mais 128 bytes; 32 linhas de E/S - [I/O], para 40 pinos e 15 I/O para 20 pinos; 2 contadores/temporizadores de 16 bits - [ podendo chegar até 3 C/T para outras versões]; 5 fontes de interrupções - [ podendo chegar até 11 para outras versões]; Porta serial programável, [ possui outras formas de comunicação serial: CAN, I2C, USB]; Espaço de memória de programa externa até 64KB, [expansão usando P0 e P2]; Espaço de memória de dados externa até 64KB, [expansão usando P0 e P2]; Níveis lógicos CMOS compatíveis com TTL; 2 Modos para redução de potência: Power Down e Idle Oscilador interno; Velocidade de 4 MHz a 50 MHz; Disponível nas versões: Flash (reprogrammable), Flash ISP (In-System Programmable, Flash ISP - Single Cycle Core, Lighing MCUs, MP3 Reader MCUs, OTP (One-Time Programmable), ROM, EPROM. EEPROM, ROMless, Smart Card Reader MCUs e USB MCUs; Disponível nos encapsulamentos DIP e PLCC; Processador booleano. 03/09/2012 Prof. Corradi - 6

7 Apresentação do 80C51 - Pinagem Vcc Tensão de alimentação do chip, 5V ± 10%, Pino 40. Vss Terra do circuito, Pino 20. Aspecto Rst Entrada de reset do chip. É ativo em nível lógico 1. XTAL1 e XTAL2 - Entrada e saída, respectivamente, do oscilador interno, Pinos 18 e 19. P0.0 a P0.7 -Porta 0, Pinos 39 a 32; P1.0 a P1.7 -Porta 1, Pinos 1 a 8; P2.0 a P2.7 -Porta 2, Pinos 21 a 28; P3.0 a P3.7 -Porta 3, Pinos 10 a 17; PSEN Pulso de leitura para memória de programa externa, pino 29; 03/09/2012 Prof. Corradi - 7

8 Apresentação do 80C51 - Pinagem ALE/Prog Dupla função, pino30. o ALE - Saída do pulso de habilitação para o armazenamento no latch externo do byte de endereço de baixa ordem, durante acessos à memória externa (Address Latch Enable); o PROG Entrada para o pulso de programação da EPROM (Pino 30); EA/Vpp Dupla função, pino 31. o EA Entrada que Permite selecionar memória de programa interna ou externa (4KB): EA=1: Memória de programa interna; EA=0: Memória de programa externa. o Vpp Entrada p/ Tensão de alimentação durante a programação da EPROM (12,75V); 03/09/2012 Prof. Corradi - 8

9 Apresentação do 80C51 Arquitetura Básica Interrupções externas Interrupções internas TCON TMOD IE IP Controle de Interrupção Memória de Programa (4KB) Memória de Dados (256 bytes RAM) TH0 TH1 TL0 TL1 C/T 0 16 bits C/T 1 16 bits T0 T1 CPU ULA - 8 bits Registros associados ( A,B, PSW, SP e PC ) P C O N Oscilador Controle de barramento Latch P0 Latch P1 Latch P2 Portas de E/S (32 linhas) Latch P3 S C O N SBUF - Tx SBUF - Rx Porta Serial PSEN ALE RD WR Memória P0 P2 P1 P3 TXD RXD BARRAMENTO DADOS\ENDEREÇOS FUNÇOES SECUNDÁRIAS 03/09/2012 Prof. Corradi - 9

10 Apresentação do 80C51 - Arquitetura Mais Detalhes 03/09/2012 Prof. Corradi

11 Apresentação do 80C51 - Arquitetura 03/09/2012 Prof. Corradi

12 Apresentação do 80C51 - Arquitetura 03/09/2012 Prof. Corradi

13 Microcontrolador 80C51 Obs.: Atualmente as MCU s mais utilizados são: - AT89CXXXXX [ATMEL] - P89CXXXXX [PHILIPS] Hardware: Portas de E/S - [I/O]; Organização de memória; Barramento de expansão; Sistema de Interrupções. 03/09/2012 Prof. Corradi

14 Hardware do 80C51 Portas de E/S - [I/O] 1. Organização; 2. Função; 3. Estrutura básica dos bits. 03/09/2012 Prof. Corradi

15 Hardware 80C51 Portas de E/S [I/O] Organização O 80C51 possui 32 linhas de E/S organizadas como 4 portas paralelas bidirecionais de 8 bits e nomeadas da seguinte forma: P0, P1, P2 e P3; Função Funções básicas de E/S; Função de barramento de endereços e de dados (P0 e P2); Funções especiais associadas aos módulos internos do 80C51 (P3). 03/09/2012 Prof. Corradi

16 Hardware do 80C51 Portas de E/S O programador Processo de gravação Esquema elétrico 8 0 C /09/2012 Prof. Corradi

17 Hardware do 80C51 Portas de E/S ESTRUTURA DOS BITS DAS PORTAS DE E/S Bit da Porta 0 Bit da Porta 2 B2 B2 B1 B1 Mais detalhes 03/09/2012 Prof. Corradi

18 Hardware do 80C51 Portas de E/S ESTRUTURA DOS BITS DAS PORTAS DE E/S Bit da Porta 1 Bit da Porta 3 Saída alternativa B2 B2 B1 B1 Entrada alternativa 03/09/2012 Prof. Corradi

19 Hardware do 80C51 Organização de memória/set de Instruções 1. Memória de programa; 2. Memória de dados: 256 bytes de RAM; [128 bytes uso geral, mais 128 de SFR. Área de registradores especiais [SFR - mais 128 bytes]. 03/09/2012 Prof. Corradi

20 Hardware do 80C51 Organização de Memória ESTRUTURA DA MEMÓRIA DO 80C51 MEMÓRIA DE PROGRAMA MEMÓRIA DE DADOS PC ( 16 bits) 64KB Memória de program a externa Apenas implementado no 80C52 Upper KB Memória RAM externa EA=1 Interna EA=0 Externa 128 Área de registros especiais Lawer 00 Memória Interna (128) 0 PSEN RD WR 03/09/2012 Prof. Corradi

21 Hardware do 80C51 Organização de Memória 03/09/2012 Prof. Corradi

22 Hardware do 80C51 Organização de Memória MEMÓRIA INTERNA DE DADOS (128 bytes de RAM) 255 (FFH) 128 (80H) 127 (7FH) 0 Área de registradores de funções especiais Memória de dados (RAM de 128 bytes) 17H 10H 0FH 07H Área de bytes endereçáveis Área de bit e byte endereçáveis Banco 3 Banco 2 Banco 1 Banco 0 7FH 30H 2FH 20H 1FH 18H 07H 00H Banco com 8 registradores R7 R6 R5 R4 R3 R2 R1 R0 03/09/2012 Prof. Corradi

23 Hardware do 80C51 Organização de Memória 03/09/2012 Prof. Corradi

24 Hardware do 80C51 Organização de Memória 03/09/2012 Prof. Corradi

25 Hardware do 80C51 Organização de Memória 03/09/2012 Prof. Corradi

26 Hardware do 80C51 Organização de Memória Exemplo: AT89S /09/2012 Prof. Corradi

27 Hardware do 80C51 Organização de Memória Mais detalhes 03/09/2012 Prof. Corradi

28 Hardware do 80C51 Organização de Memória 03/09/2012 Prof. Corradi

29 Hardware do 80C51 Organização de Memória ÁREA DE REGISTRADORES DE FUNÇÕES ESPECIAIS Registrador A: Registro de 8 bits que armazena um operando fonte e também o resultado de uma operação; Registrador B: Registro de 8 bits utilizados nas operações de multiplicação e divisão e também para propósitos gerais; Registrador PSW [Program Status Word]: É a palavra de status do programa. Seus bits indicam quais as ocorrências na última operação lógica realizada. Permite selecionar o banco de registradores a ser acessado. 03/09/2012 Prof. Corradi

30 Hardware do 80C51 Organização de Memória ÁREA DE REGISTRADORES DE FUNÇÕES ESPECIAIS FORMATO DO REGISTRADOR PSW CY AC F0 RS1 RS0 OV - P CY AC F0 OV P BITS DE FLAGS Carry Carry auxiliar Definido pelo usuário overflow Paridade do Acumulador BITS DE SELEÇÃO DOS BANCOS RS1 RS0 Banco selecionado /09/2012 Prof. Corradi

31 Hardware do 80C51 Organização de Memória ÁREA DE REGISTRADORES DE FUNÇÕES ESPECIAIS Registrador DPTR É um registrador de 16 bits utilizado em endereçamento indireto na memória de programa e na memória de dados externa. Este registro é um concatenação dos registros DPH e DPL. Registrador das Portas de E/S [P0, P1, P2 e P3] São posições da memória RAM [SFR] associadas a cada bit das portas de E/S. Apontador de Pilha SP [STACK POINTER] Registro de 8 bits que contém o endereço do último dado armazenado na pilha (stack) ou o endereço do próximo dado a ser retirado da pilha. 03/09/2012 Prof. Corradi

32 Hardware do 80C51 - Após o RESET 03/09/2012 Prof. Corradi

33 MCS-51 Introdução ao Software 03/09/2012 Prof. Corradi

34 Introdução a Linguagem Assembly Linguagem assembly e assembler [ou COMPILADOR] são coisas diferentes. A primeira representa um conjunto de regras usadas para escrever um programa para um determinado microcontrolador e a outra, é um programa que roda em um computador pessoal que traduz a linguagem assembly para uma linguagem de zeros e uns e/ou um formato em hexadecimal [formato INTEL]. Um programa escrito em zeros e uns diz-se que está escrito em linguagem de máquina. O formato de uma instrução normalmente é retangular dividido em campos de bits. Cada campo pode assumir o valor: Op-code [código de operação = Set de Instruções], (primeiro campo) Valor de uma constante Endereço de memória Endereço/nome de um registrador op-code operando 03/09/2012 Prof. Corradi

35 Introdução a Linguagem Assembly O formato da Instrução - Formato INTEL Mostrar op-code DESTINO operando FONTE op-code DESTINO FONTE operando FONTE 03/09/2012 Prof. Corradi

36 Introdução a Linguagem Assembly Rn - Registrador R0 R7 do banco de registradores selecionado. direto - 8-bits de endereço da posição da RAM de dados interna. Podem ser referentes tanto à RAM interna (0 7F) como ao espaço SFR ( bits da RAM interna de dados (00 - FF) endereçada indiretamente através de R0 ou R1 do banco de registradores selecionado. #dado - valor de 8-bits contida na instrução. #dado16 - valor de 16-bits contida na instrução. addr16 - Endereço de destino em 16-bits. Usado pelas instruções LCALL e LJMP, podendo acessar toda a memória. addr11 - Endereço de destino em 11-bits. Usado pelas instruções ACALL e AJMP, podendo acessar 2Kb de distância da instrução usada. rel - Endereço relativo em 8-bits. Pode alcançar uma distância de -128 a +127 bytes de distância da instrução seguinte à instrução usada. Note que o valor negativo deve ser obtido por complemento de dois. bit - Endereço direto do bit. Pode acessar a RAM interna e o espaço SFR. 03/09/2012 Prof. Corradi

37 Introdução a Linguagem Assembly O Assembly e os Modos de endereçamento Linguagem Assembly Estrutura e sintaxe: Set de Instrução op-code DESTINO FONTE operando 03/09/2012 Prof. Corradi

38 Introdução a Linguagem Assembly O rótulo deve ser finalizado com dois pontos Os operandos devem ser separados por virgula O comentário deve ser precedido por ponto e virgula 03/09/2012 Prof. Corradi

39 Modos de Endereçamento da família MCS51 Tipos de Endereçamento Modo direto: MOV A,30h (A) (30h) Modo indireto: MOV R0,#10h (R0) 10h (10h) 20h Modo Registrador: MOV A,Rn (A) (Rn) Modo Específico a Registrador: RL A Rotaciona á esquerda MUL AB A = LSB B = MSB Modo imediato: MOV B,#0Fh (B) 0Fh Modo endereçamento á memória (MP) e (MD): MOVC A,@A+DPTR [MOVC = MOVE CODE] [MOVX = MOVE EXTERNAL] 03/09/2012 Prof. Corradi

40 Exemplo 03/09/2012 Prof. Corradi

41 Exemplos de rotações 03/09/2012 Prof. Corradi

42 Set de Instruções da família MCS51 03/09/2012 Prof. Corradi

43 Software do 80C51 - Algoritmo / Fluxograma 03/09/2012 Prof. Corradi

44 Software do 80C51 - Fluxograma SIMBOLOGIA BÁSICA PARA CONSTRUÇÃO DE DIAGRAMA DE BLOCOS (Fluxograma) 03/09/2012 Prof. Corradi

45 Software do 80C51 - Fluxograma 03/09/2012 Prof. Corradi

46 Software do 80C51 - Fluxograma [exemplo] 03/09/2012 Prof. Corradi

47 Codificação Assembly do /09/2012 Prof. Corradi

48 Codificação Assembly do /09/2012 Prof. Corradi

49 Codificação Assembly do /09/2012 Prof. Corradi

50 Codificação Assembly do /09/2012 Prof. Corradi

51 Codificação Assembly do /09/2012 Prof. Corradi

52 Codificação Assembly do /09/2012 Prof. Corradi

53 Modos de Endereçamento do /09/2012 Prof. Corradi

54 Modos de Endereçamento do /09/2012 Prof. Corradi

55 Modos de Endereçamento do /09/2012 Prof. Corradi

56 Modos de Endereçamento do /09/2012 Prof. Corradi

57 Modos de Endereçamento do /09/2012 Prof. Corradi

58 Modos de Endereçamento do /09/2012 Prof. Corradi

59 Modos de Endereçamento do /09/2012 Prof. Corradi

60 Exemplo de Programação - Assembly para o 80C51 Situação Problema: Acionar um LED Conforme Hardware abaixo Criar o Algoritmo e o fluxograma (Solução do Problema) Que tipo de movimento podemos utilizar? Resposta: Movimento de bit - uso do flag carry [cy ou apenas c] Proposta Ao acionarmos a chave SW1 o LED1 deve acender e ao acionarmos SW1 novamente o LED1 deve apagar. 03/09/2012 Prof. Corradi

61 Software do 80C51 - Fluxograma e Algoritmo Acionamento do LED através de uma chave retentiva Nome do programa Definição das Variáveis: SW1 = P1.0 LED = P1.2 SW1 equ p1.0 Led equ p1.2 Movimento de dados; utilizando o flag carry [c]. Mover SW1 para carry Mover o conteúdo do carry para LED Volta: mov c,sw1 mov led,c jmp volta end 03/09/2012 Prof. Corradi

62 Exemplo 02 03/09/2012 Prof. Corradi

63 Mnemônicos (Programa Assembly) 03/09/2012 Prof. Corradi

64 Mnemônicos (Programa Assembly) 03/09/2012 Prof. Corradi

65 Solução no uvision [editor de Assembly] 03/09/2012 Prof. Corradi

66 Exercício de aplicação - Baseado no sistema mínimo acima desenvolver um programa em Assembly para comutar o LED toda vez que o botão SW2 for acionado. Ao ligar o circuito pela primeira vez o LED deve estar apagado [desligado]. 03/09/2012 Prof. Corradi

67 Exemplo de Programação - Assembly para o 80C51 Exemplo 02- uso de sub-rotina Executando o programa acima, obtemos o seguinte efeito: 03/09/2012 Prof. Corradi

68 Decisões: Estruturas de Programação Desviam o fluxo de execução do programa conforme determinada condição for verdadeira ou falsa (IF - ELSE) Repetições: Permitem a repetição de um conjunto de ações (loop) enquanto determinada condição for verdadeira ou falsa (FOR, WHILE, DO - WHILE) 03/09/2012 Prof. Corradi

69 Exemplo: Estrutura de decisão MENOR: MAIOR: IGUAL: FIM: CLR C SUBB A, R0 JZ IGUAL JC MAIOR MOV R1, #01 SJMP FIM MOV R1, #02 SJMP FIM MOV R1, #00 ;faz carry=0 ;subtrai R0 de A ;se R0=A salta para IGUAL ;se R0>A salta para MAIOR ;sinaliza em R1 que R0<A ;sinaliza em R1 que R0>A ;sinaliza em R1 que R0=A ;segue em frente 03/09/2012 Prof. Corradi

70 Exemplo: Estrutura de repetição MOV R0, #16 ;repetições = 16 LOOP1: ;seqüência de instruções DJNZ R0, LOOP1 ;repete se R0! = 0 MOV A, #20H ;repetições = 32 LOOP2: ;seqüência de instruções DEC A JNZ LOOP2 ;repete se A! = 0 03/09/2012 Prof. Corradi

71 Sub-rotinas de tempo sem o uso de TIMER/COUNTER Utilizando um único registrador (8 bits) MOV R0,#kte (1 CM) DJNZ R0,$ (2 CM) RET (2 CM) Utilizando dois registradores (16 bits) T decorrido = 12 *(3 + F 2* cristal kte ) Kte: MOV R0,#Kte1 (1 CM) MOV R1,#kte2 (1 CM) DJNZ R1,$ (2 CM) DJNZ R0,Kte (2 CM) RET (2 CM) T decorrido = 12 *{3 + [ kte 1 (3 + 2* kte 2 F cristal )]} Obs.: As linhas de programas acima são sub-rotinas, assim é necessário serem finalizadas com RET e serem solicitadas com CALL. 03/09/2012 Prof. Corradi

72 Exemplo de uma sub-rotina de 1s ; Sub-rotina de tempo de 1 segundo ; As instruções do 8051 levam 1µs para serem executadas, porém algumas ;instruções de desvio como a DJNZ são executadas em 2µs. TEMPO_1S: MOV R5,#255 ;(1µs) MOV R6,#255 ;(1µs) MOV R7,#7 ;(1µs) SALTO1: DJNZ R5,SALTO1 ;(2µs) (2µs x 255 x 255 x 7) = 0.91 seg MOV R5,#255 ;(1µs) ( 1µs x 255 x 7) = 1.7ms DJNZ R6,SALTO1 ;(2µs) (2µs x 255 x 7) = 3.57ms MOV R6,#255 ;(1µs) (1µs x 7) = 7µs DJNZ R7,SALTO1 ;(2µs) (2µs x 7) = 14µs RET ;(2µs) Total: 0.92 segundos. 03/09/2012 Prof. Corradi

73 Exemplo de Sub-rotina de tempo para 24 Bits Tempo: tt0: tt1: mov R0,#kte1 mov R1,#kte2 mov R2,#kte3 djnz R2,$ djnz R1,tt1 djnz R0,tt0 ret Cálculo do tempo: Cálculo de kte3 para um determinado atraso. Se usarmos: fxtal = 12 MHz, kte1 = 255 e kte2 = 255; kte3 poderá ser calculada por: 03/09/2012 Prof. Corradi

74 Hardware do 80C51 Barramento de expansão 1. Expansão de memória de programa; 2. Expansão de memória de dados. 03/09/2012 Prof. Corradi

75 Hardware do 80C51 Barramento de Expansão PORTA 0 PORTA 2 AD0 AD7: Dados e parte baixa do endereço A15 - A8: Parte alta do endereço 80C51 ALE P3.7 P3.6 ALE: Separação de endereços/dados RD: Pulso de leitura para memória externa de dados WR: Pulso de escrita para memória externa de dados PSEN PSEN: Habilitação de leitura para memória externa de programa 03/09/2012 Prof. Corradi

76 Hardware do 80C51 Barramento de Expansão EXPANSÃO DE MEMÓRIA DE PROGRAMA - Espaço de endereçamento de 64Kb; - Espaço completo (64 Kbytes) é endereçável indiretamente via registrador de 16 bits PC ou DPTR; 80C51 PORTA 2 A8 A15 ROM/EPROM ALE PORTA 0 PSEN AD7-AD0 Armazena endereço (A0 A7) D7 - D0 A7-A0 Endereço Dados OE 03/09/2012 Prof. Corradi

77 Hardware do 80C51 Barramento de Expansão CICLO DE LEITURA DA MEMÓRIA DE PROGRAMA Ciclo de leitura = 6 períodos de clock XTAL ALE PSEN DADOS DADOS DADOS P0 PCL1 1 FLOAT PCL2 2 PCL3 3 P2 PCH1 PCH2 PCH3 03/09/2012 Prof. Corradi

78 Hardware do 80C51 Barramento de Expansão - Espaço de endereçamento de 64Kb; EXPANSÃO DE MEMÓRIA DE DADOS - Memória endereçável via registradores de 8 bits (R0 e R1): - Segmentos de 256 bytes; - Técnica de paginação de memória - Espaço completo (64 Kbytes) é endereçável indiretamente via registrador de 16 bits (DPTR); 80C51 PORTA 2 I/O Bits de páginas RAM ENDEREÇOS endereços Página (P2) 8 bits em P FFH FFH FFH ALE PORTA 0 WR RD Armazena endereço (A0 A7) Dados dados WR OE FFH FFH FFH FFH FFH 03/09/2012 Prof. Corradi

79 Hardware do 80C51 Barramento de Expansão CICLO DE LEITURA NA MEMÓRIA DE DADOS Ciclo de leitura = 12 períodos de clock XTAL ALE RD P0 DPL OU RI FLOAT DADOS FLOAT Se o próximo acesso for na memória de programa externa PCL P2 DPH OU SFR DE P2 PCH 03/09/2012 Prof. Corradi

80 Hardware do 80C51 Barramento de Expansão CICLO DE ESCRITA NA MEMÓRIA DE DADOS Ciclo de leitura = 12 períodos de clock XTAL ALE WR Se a próximo acesso for na memória de programa externa P0 DPL OU RI DADOS PCL P2 DPH OU SFR DE P2 PCH 03/09/2012 Prof. Corradi

81 Hardware do 80C51 Sistema de Interrupções 1. Descrição geral; 2. Regras para atendimento das interrupções; 3. Vetores de endereços das rotinas; 4. Registradores especiais. 03/09/2012 Prof. Corradi

82 Hardware do 80C51 Interrupções O SISTEMA DE INTERRUPÇÃO DO 80C51 5 fontes de interrupções: 2 interrupções externas /INT0 e /INT1 3 interrupções internas (TF0, TF1 e TI/RI, originadas dos módulos contador 0, contador 1 e módulo serial, respectivamente). 2 níveis de atendimento: Alta prioridade; Baixa prioridade. 3 registros de funções especiais para controle das interrupções: IE Habilitação das interrupções; IP Seleção de prioridade; TCON 4 bits LSB para configuração da interrupções externas. 03/09/2012 Prof. Corradi

83 Hardware do 80C51 Interrupções Obs. No software com interrupção, o instante de ocorrência da interrupção não é previsto, isto é, ela é assíncrona e depende de um evento externo. 03/09/2012 Prof. Corradi

84 Hardware do 80C51 Interrupções Não Vetorada -> dispositivo que o interrompe envia o endereço de desvio. Vetorada -> endereço fixo de desvio. Mascaramento -> propriedade do uc em permitir que um dispositivo interrompa-o. Prioridade -> podemos programar a prioridade da interrupção para evitar conflitos. Origem -> Interna e Externa Tipo de disparo -> por nível ou por borda 03/09/2012 Prof. Corradi

85 Hardware do 80C51 Interrupções REGRAS DE ATENDIMENTO DAS INTERRUPÇÕES Interrupções são atendidas de modo que, uma interrupção de baixa prioridade possa ser interrompida por uma de alta prioridade; Quando duas interrupções de mesma prioridade ocorrem simultaneamente, o 80C51 realiza uma varredura para selecionar a interrupção a ser atendida, obedecendo a seqüência: Prioridade Fonte Função Mais alta INT0 Interrupção externa 0 TF0 Interrupção do contador 0 INT1 Interrupção externa 1 TF1 Interrupção do contador 1 TI/RI Interrupção da porta serial 03/09/2012 Prof. Corradi

86 Hardware do 80C51 Interrupções VETOR DE ENDEREÇO DAS INTERRUPÇÕES Cada interrupção está associada a um endereço na memória de programa, que marca o início da rotina de serviço de interrupção. Endereços das rotinas de tratamento de interrupção reset 8 bytes Memória de programa 002BH 0023H 001BH 0013H 000BH 0003H 0000H ~ ~ Porta serial Contador 1 Interrupção externa 1 Contador 0 Interrupção externa 0 Rotinas de tratamento das interrupções Obs. Estes endereços são relativos à ROM/EPROM/FLASH do uc. Logo, se utilizarmos estas interrupções devemos deixar estes locais reservados. Se gravarmos um software neste locais e ocorrer uma interrupção o sistema se perde. 03/09/2012 Prof. Corradi

87 Hardware do 80C51 Interrupções Ilustração do processo de Interrupção [Vetorada] 03/09/2012 Prof. Corradi

88 Hardware do 80C51 Interrupções Obs.: O espaço 0003H à 0012H deve ser suficiente para criar o software de serviço de interrupção caso contrário deve se a partir do endereço inicial 0003H criar uma instrução desvio para outro local da MP que permita gravar todo o software e finalizar com a instrução RETI. 03/09/2012 Prof. Corradi

89 Hardware do 80C51 Interrupções [exemplo] 03/09/2012 Prof. Corradi

90 Hardware do 80C51 Interrupções REGISTROS ESPECIAIS DO SISTEMA DE INTERRUPÇÃO REGISTRADOR IE Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 EA - - ES ET1 EX1 ET0 EX0 Símbolo Função EA Habilitação global da Interrupções ES Hab/Desab. interrupção da porta serial ET1 Hab/Desab. interrupção do Contador 1 EX1 Hab/Desab. interrupção externa 1 ET0 Hab/Desab. interrupção do Contador 0 EX0 Hab/Desab. interrupção externa 0 Estado do bit Hab/desab. 1 Habilitada 0 Desabilitada 03/09/2012 Prof. Corradi

91 Hardware do 80C51 Interrupções REGISTROS ESPECIAIS DO SISTEMA DE INTERRUPÇÃO REGISTRADOR IP Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit PS PT1 PX1 PT0 PX0 Símbolo Função PS Define prioridade de interrupção da porta serial PT1 Define prioridade de interrupção do Contador 1 Estado do bit Prioridade 1 Alta 0 baixa PX1 Define prioridade de interrupção externa 1 PT0 Define prioridade de interrupção do Contador 0 PX0 Define prioridade de interrupção externa 0 03/09/2012 Prof. Corradi

92 Hardware do 80C51 Interrupções REGISTROS ESPECIAIS DO SISTEMA DE INTERRUPÇÃO REGISTRADOR TCON Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 SÍMBOLO FUNÇÃO IT0 0 INT 0 é ativa pelo nível 1 INT 0 ativa pela transição DE 1 0 IT1 0 INT 1 é ativa pelo nível 1 INT 1 ativa pela transição DE 1 0 IE0 1 Sinaliza um pedido de interrupção em INT 0. 0 Após atendimento de INT 0. IE1 1 Sinaliza um pedido de interrupção em INT 1. 0 Após atendimento de INT 1 03/09/2012 Prof. Corradi

93 Hardware do 80C51 Interrupções ESQUEMA DE INTERRUPÇÕES DO 80C51 BIT DE TCON IE IP Prioridade INT0 0 1 IT0 IE0 ALTA BAIXA TF0 INT1 0 1 IT1 IE1 TF1 RI TX Mais detalhes HABILITAÇÃO INDIVIDUAL HABILITAÇÃO GLOBAL 03/09/2012 Prof. Corradi

94 Software do 80C51 - Exemplo - Programa com Interrupção externa Fluxograma a nível de conceito para um programa de teste de uma Interrupção 03/09/2012 Prof. Corradi

95 Software do 80C51 - Resolução 03/09/2012 Prof. Corradi

96 Timer/Counter Modos de Trabalho do Timer/Counter Modo 0 = Contador com capacidade máxima de 13 bits Modo 1 = Contador com capacidade máxima de 16 bits Modo 2 = Contador com capacidade de 8 bits auto-reload Modo 3 = Contador de 8 bits/duplo temporizador Como programar o Timer/Counter (timer0 e timer1) Exercício: Programar os Timer/Counters para: 1- Timer/Counter 0 para contagem de 50ms 2- Timer/Counter 1 para contagem de 50us com autoreload 03/09/2012 Prof. Corradi

97 Resolução Obs.: Cristal de 12Mhz (pulso de 1us) - F = CLK/12.N - N = CLK/12.F Podemos usar o Modo 0? 03/09/2012 Prof. Corradi

98 Programação dos Modos TMOD = Timer mode End. (89h) TCON = Timer control End. (88h) TR1 e TR0 : Flag de liga/desliga (TRx) TRx = 1 liga TRx = 0 desliga TF1 e TF0 : flag de indicação de estouro de contagem ( overflow ) TFx = 1 overflow do contador TFx = 0 contador sem overflow 03/09/2012 Prof. Corradi

99 Como programar no Modo 1 ESPERA: MOV TMOD,#01H MOV TH0,#HIGH( ) MOV TL0,#LOW( ) SETB TR0 JNB TF0,ESPERA CLR TR0 END 03/09/2012 Prof. Corradi

100 Gerar tempo de 1 segundo Obs. 20 x 50 ms = 1000 ms = 1 s ORG 00h MOV TMOD,#01h ; C/T NO MODO 1 INI: VOLTA: MOV R0,#20d ; CARREGO R0 COM VALOR 20 MOV TH0,#HIGH( ) MOV TL0,#LOW( ) SETB TR0 ; LIGA O TIMER 0 JNB TF0,$ ; FICA EM LOOP ATÉ O TF0 ESTUORAR CLR TR0 CLR TF0 ; DESLIGA CONTADOR ; LIMPA FLAG PARA PRÓXIMA ; CONTAGEM DJNZ R0,VOLTA ; DECREMENTA R0, PASSANDO POR 20 ; VEZES NO TIMER DE 50 ms CPL P1.0 ; PULSA P1.0 JMP INI END ; RETORNA AO INÍCIO ; FIM DE PROGRAMAÇÃO 03/09/2012 Prof. Corradi

101 Outras características importantes em Microprocessadores/Microcontroladores As versões CHMOS (89C51, 89S52, etc ) da família MCS51 possuem dois modos de controle de redução de potência de operação do chip. 1. Modo Idle 2. Modo Power Down 03/09/2012 Prof. Corradi

102 Registrador envolvido no IDLE O Registrador (SFR) utilizado para o controle de potência é o PCON. PCON Não endereçável a Bit IDL = 1 -> o oscilador funciona somente para as Interrupções e os Timers. Não existe sinal de clock para a CPU. O status da CPU é preservado: o SP, o PC, o PSW, o ACC e todos os outros registradores mantêm seus dados durante o tempo em que a CPU estiver em Modo Idle. As Portas mantêm seus estados lógicos que tinham quando o Modo Idle foi ativado. 03/09/2012 Prof. Corradi

103 Existem 2 Modos de terminar o Modo Idle: 1. Ativação de uma Interrupção habilitada Zera automaticamente o bit IDL Atende a sub-rotina de Interrupção Ao executar o RETI entra novamente no Modo Idle Os Flags GF1 e GF2 podem ser utilizados para indicar se as interrupções ocorreram durante o modo normal de operação ou durante o Modo Idle 2. Reset de Hardware 03/09/2012 Prof. Corradi

104 Modo Power Down PD = 1 -> O oscilador pára. Todas as funções param. O conteúdo da RAM interna e dos SFRs se mantém. Neste Modo Vcc pode ser reduzido para até 2 Volts. A única forma de sair deste modo e através do reset de hardware. O consumo é da ordem de 10 ua. PD tem precedência sobre IDL 03/09/2012 Prof. Corradi

105 Outras características importantes em Microprocessadores/Microcontroladores Bits de Proteção (Lock Bits) São Bits que permitem a proteção do código do usuário gravado em um Microcontrolador. Para a família MCS51 existem 3 Bits de proteção que podem ser gravados durante a fase de programação do chip. Uma vez programados, os Bits de Proteção só podem ser alterados através de uma operação de Chip Erase. 03/09/2012 Prof. Corradi

106 Watchdog Timer Outras características importantes em Microprocessadores/Microcontroladores Dispositivo de temporização de Hardware que Reseta o Microcontrolador se o programa, devido a falhas, negar fornecer o serviço do watchdog (por exemplo, escrever em uma determinada posição de memória ou em determinado Bit). Simples -> apenas Reseta o Micro Complexo -> Salva informações de debug em mídias fixas. A rotina de atendimento ao Watchdog Timer pode colocar o Microcontrolador em um estado seguro desligando motores, saídas de alta tensão, etc; até que a falha seja resolvida. 03/09/2012 Prof. Corradi

107 Exemplo de Microcontrolador com Watchdog Timer implementado no chip. DS80C320 fabricado pela Dallas Semiconductor (núcleo do 8051) Quando o Watchdog é habilitado, o programa do usuário deve escrever em um determinado SFR regularmente permitindo ao Watchdog saber se o programa está executando corretamente. Se o programa não realizar a escrita dentro de um determinado período de tempo, o Watchdog assume que o programa falhou e realiza um Reset ou uma Interrupção, dependendo da configuração. 03/09/2012 Prof. Corradi

108 Programação de Microcontroladores Microcontroladores com Memória de Programa Flash podem ser programados de 3 maneiras: 1. Programação Paralela (método Tradicional) -> Exige um dispositivo Programador O chip do Microcontrolador é programado separadamente. Única metodologia de programação para dispositivos com memória EPROM. 2. In-System Programming (ISP) 3. In Application Programming (IAP) Programação In-Circuit Retorna O Programador 03/09/2012 Prof. Corradi

109 Programação paralela do Microcontrolador 89S52 Os endereços de cada linha do código deve ser fornecido através das portas P1 e P2 (P2.0 a P2.5). Os dados (códigos do programa) devem entrar através da porta P0. Os Pinos P2.6, P2.7, P3.6, P3.7 selecionam a operação: Apagar, Ler, Escrever, Gravar Lock Bit, etc 03/09/2012 Prof. Corradi

110 In-System Programming (ISP) Processo no qual um Microcontrolador montado em uma placa de circuito impresso pode ser apagado ou programado com o código final do usuário sem removê-lo da placa. Para a programação o Microcontrolador deve ser ligado no Modo ISP. O Microcontrolador recebe comandos e dados através de um software localizado, por exemplo, em um PC. Terminada a operação de ISP o dispositivo é reconfigurado para que possa operar normalmente. 03/09/2012 Prof. Corradi

111 In-System Programming (ISP) A programação in-circuit via ISP pode ser realizada através de canais seriais do Microcontrolador. Os Microcontroladores que possuem a possibilidade de programação ISP têm um programa localizado na parte superior da Memória de Programa (BOOTROM) chamado de BOOT LOADER. 03/09/2012 Prof. Corradi

112 In-System Programming (ISP) 03/09/2012 Prof. Corradi

113 In-System Programming (ISP) SPI (Serial Peripheral Interface) é um duto padrão serial, síncrono, desenvolvido pela Motorola e utilizado por diversos fabricantes de Microcontroladores. Os dispositivos se comunicam em uma relação Mestre/escravo onde o Mestre inicia a comunicação. SCLK -> Clock gerado pelo Mestre MOSI -> Master data Output, Slave data Input MISO -> Master data Input, Slave data Output SS -> Slave Select 03/09/2012 Prof. Corradi

114 In-System Programming (ISP) Em um esquema de múltiplos escravos, o Mestre deve gerar sinais separados de Slave Select (SS) para cada Escravo. O SPI não tem um mecanismo de confirmação de dado recebido (acknowledgement). O SPI é indicado para aplicações que transferem diretamente um cordão de Dados (Data Stream). Razão de Transmissão do SPI = 1Mbps 03/09/2012 Prof. Corradi

115 Utilização do duto SPI do Microcontrolador 89S52 para programação in-circuit. Durante a transferência dos dados o pino de RESET deve ficar em nível lógico 1. Após a gravação, deve-se colocar o pino de RESET em zero para operação normal do chip. 03/09/2012 Prof. Corradi

116 In Application Programming (IAP) Algumas aplicações tem a necessidade de apagar ou reprogramar o código do programa sob controle da própria aplicação. Exemplo: Armazenar informações de calibração em vôo Carregar novas partes do código do programa em vôo A capacidade de um Microcontrolador de apagar ou reprogramar o código do programa na aplicação do usuário (end-user) é conhecida como IAP. Em geral, as rotinas do Boot Loader que realizam a programação no modo ISP, também são responsáveis pelo Modo IAP. Não existe um Mestre para gravar o programa. A própria aplicação pode realizar a tarefa. 03/09/2012 Prof. Corradi

117 Introdução ao Protocolo I 2 C As comunicações em bus I 2 C (Inter-Integrated Circuit) processam-se de dois circuitos. As designações e as funções atribuídas a esses circuitos são as seguintes: SDA (Serial DAta Line):- serve de suporte à transmissão de dados e endereços. SCL (Serial CLock line):- suporta a transmissão de sinais que garantem o sincronismo entre dispositivos (sinais de relógio). O bus é bidirecional - pois, os sinais transmitidos podem ter origem em qualquer dispositivo e a sua gestão pode ser partilhada por vários dispositivos que possuam a capacidade de gerar sinais de relógio e controlar processos de transferência de informação - masters; diz-se, por isso, que, no bus I 2 C, é adotada uma filosofia multimaster. No bus, podem ligar-se dispositivos de vários tipos, incluindo os que podem receber dados -receptores-, os que podem enviar dados -emissores- e os que podem desempenhar ambas as funções. Cada dispositivo é reconhecido, no bus, por um endereço. Em bus I 2 C, são permitidos ritmos de transmissão até 100Kbits/s, no modo standard, e até 400Kbits/s, no modo fast; este modo é suportado apenas por alguns dispositivos, que exibem características próprias, como o fato de possuírem supressores de ruído e blocos do tipo schimit trigger, nos circuitos de ligação aos pinos SCL e SDA. 03/09/2012 Prof. Corradi

118 Introdução ao Protocolo I 2 C Dispositivos Ligados através de um BUS I 2 C Nas linhas SDA e SCL, inserem-se resistências de pull-up, viabilizando a ligação dos dispositivos, cujas saídas apresentam configurações do tipo open-drain ou open-collector. 03/09/2012 Prof. Corradi

119 Introdução ao Protocolo I 2 C A transmissão ocorre da seguinte forma: Se o microcontrolador desencadear um processo de transferência de dados para qualquer dispositivo do bus, o mesmo toma o controle e lança o endereço do dispositivo no circuito SDA, envia os dados, gera os sinais de relógio inerentes ao processo, na linha SCL, e encarrega-se de sinalizar o fim do processo. Esta transmissão processa-se entre um master-emissor e um slave-receptor. O oposto ocorre quando um dos dispositivos solicita a transmissão de dados. Nos dispositivos, a informação sobre o estado de ocupação do bus é obtida com base na detecção de condições START -(S) e STOP -(P); o bus considera-se ocupado após a geração de uma condição START e só considera livre a detecção de uma condição STOP 03/09/2012 Prof. Corradi

120 Introdução ao Protocolo I 2 C A condição START é definida pela ocorrência de um flanco descendente na linha SDA, quando a linha SCL está no estado high; a condição STOP é definida pela ocorrência de um flanco ascendente na linha SDA, quando a linha SCL está no estado high. Só os masters podem impor estas condições no bus. 03/09/2012 Prof. Corradi

121 Introdução ao Protocolo I 2 C Para projetar sistemas que transmitam informações através de um bus I 2 C, é necessário conhecer as características de cada um dos dispositivos que se ligam ao bus (endereço, palavras de instrução, tensão de alimentação,...); esta informação, deve ser obtida em manuais de fabricantes dos dispositivos. Para obtenção de informações adicionais sobre o bus, recomenda-se a consulta do material disponibilizado pela PHILIPS e por outros fabricantes de microcontroladores; aí, existe informação detalhada sobre alguns processadores derivados do 8051, que - como o 83C751 e o 83C752 - apresentam características adequadas para operarem em bus I 2 C, pois possuem SFRs e pinos (com configuração do tipo open-drain) dedicados para este efeito 03/09/2012 Prof. Corradi

122 Exemplo de Interfacing para o 80C51 External Memory Hex Keypad 7-segment LED displays 8-bit ADC and DAC 8255 PPI 03/09/2012 Prof. Corradi

123 Interfaceamento com o Mundo! Display 7 Segmentos ADC DAC 8051 External address, data, & control buses Teclado Hex RAM Memória Externa ROM 03/09/2012 Prof. Corradi

124 External Memory A 13 A 14 A 15 A B C E1 E2 E3 74HC138 O 0 O 1 O 2 O 3 O 4 O 5 O 6 O P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 ALE P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 G D D D D D D D D 373 Q Q Q Q D Q Q Q A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 OE CS 8 K EPROM D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 WR RD CS 8 K RAM A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 PSEN (P3.6) (P3.7) EA WR RD 03/09/2012 Prof. Corradi

125 Hex Keypad R O W row3 row2 row1 row0 C D E F 8 9 A B column 0 column 1 column 2 column 3 Column Key Pressed = row 4 + column 03/09/2012 Prof. Corradi

126 4 4 Matrix Hex Keypad 8051 Column 3 Column 2 Column 1 Column 0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 Row 3 Row 2 C D E F 8 9 A B Row Row 0 03/09/2012 Prof. Corradi

127 Scanning Algorithm #1 KSCAN: ; ROWRD: GOBK1: CALL ROWRD ; find which row has key-press JC KSCAN ; No key pressed, scan again CALL COLRD ; find which column has key-press CALL CONVRT ; convert key press to hex value RET ; return to calling program CLR C MOV P1,#0F0H ; make all column 0 and row 1 MOV R0,#0 ; Is key-press in row 0? JNB P1.0,GOBK1 ; Yes, return MOV R0,#1 ; Is key-press in row 1? JNB P1.1, GOBK1 ; Yes, return MOV R0,#2 ; Is key-press in row 2? JNB P1.2, GOBK1 ; Yes, return MOV R0,#3 ; Is key-press in row 3? JNB P1.3, GOBK1 ; Yes, return SETB C ; No key-press detected, return error (C=1) RET 03/09/2012 Prof. Corradi

128 Scanning Algorithm #2 COLRD: MOV P1,#0FH ; make all column 1 and row 0 MOV R1,#0 ; Is key-press in column 0? JNB P1.4,GOBK2 ; Yes, go back MOV R1,#1 ; Is key-press in column 1? JNB P1.5,GOBK2 ; Yes, go back MOV R1,#2 ; Is key-press in column 2? JNB P1.6,GOBK2 ; Yes, go back MOV R1,#3 ; Is key-press in column 3? JNB P1.7,GOBK2 ; Yes, go back JMP COLRD ; No key-press detected, keep reading GOBK2: RET ; ; multiply row by 4 and add product to column and exit with hex key-press in A. CONVRT: MOV B,#4 MOV A,R0 MUL AB ADD A,R1 RET 03/09/2012 Prof. Corradi

129 Debouncing for the key pressed KSCAN: MOV R2, #50 ; debounce count DEB: CALL ROWRD ; find which row has key-press JC KSCAN ; No key pressed, scan again DJNZ R2, DEB ; Yes, repeat 50 times CALL COLRD ; find which column has key-press CALL CONVRT ; convert key press to hex value RET ; return to calling program 03/09/2012 Prof. Corradi

130 Debouncing for the key pressed and released KSCAN: MOV R2, #50 ; debounce count DEB: CALL ROWRD ; find which row has key-press JC KSCAN ; No key pressed, scan again DJNZ R2, DEB ; Yes, repeat 50 times CALL COLRD ; find which column has key-press CALL CONVRT ; convert key press to hex value KSCAN1: MOV R2, #50 ; debounce count DEB1: CALL ROWRD ; find which row has key-press JNC KSCAN1 ; No key released, scan again DJNZ R2, DEB1 ; Yes, repeat 50 times RET ; return to calling program 03/09/2012 Prof. Corradi

131 CALL CONVRT Key Pressed = row 4 + column A = R0 4 + R1 CONVRT: MOV B,#4 (3,2) MOV A,R0 (1,1) MUL AB (1,4) ADD A,R1 (1,1) RET (6,8) CONVRT: MOV A,R0 (1,1) RL A (1,1) RL A (1,1) ADD A,R1 (1,1) RET (4,4) 03/09/2012 Prof. Corradi

132 7-segment LED displays f a g b Common Anode Common Cathode 0 == ON 1 == ON e d c h Exemplo: h g f e d c b a E (CA) 03/09/2012 Prof. Corradi

133 Interfacing to Two 7-segment LED V CC V CC Tr1 Tr P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 74LS07 a b c d e f g h a b c d e f g h LED 1 LED 2 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 03/09/2012 Prof. Corradi

134 Sample Program to display HI CHAR_H EQU 89H CHAR_I EQU 0F9H ; BEGIN: CLR P3.5 ; turn off LED2 MOV P1,#CHAR_H ; display H on LED1 SETB P3.4 CALL DELAY_25 ; delay for 25 ms ; CLR P3.4 ; turn off LED1 MOV P1,#CHAR_I ; display I on LED2 SETB P3.5 CALL DELAY_25 ; delay for 25 ms ; SJMP BEGIN ; repeat displays ; DELAY_25:.. ; END 03/09/2012 Prof. Corradi

135 Sample Program (cont.) #1 DELAY_25: MOV R1,#49 ; second-loop counter (1us) LOOP2: MOV R0,#0FFH ; first-loop counter (1us) LOOP1: DJNZ R0,LOOP1 ; loop 255 times (2us) DJNZ R1,LOOP2 ; loop 49 times (2us) RET (2us) Total time = 1 + ( ) = 25.1ms 03/09/2012 Prof. Corradi

136 Sample Program (cont.) #2 DELAY_25: MOV R1,#49 ; second-loop counter (1us) : MOV R0,#0FFH ; first-loop counter (1us) LOOP: DJNZ R0,LOOP ; loop 255 times (2us) DJNZ R1,LOOP ; loop 49 times (2us) RET (2us) Total time = ( ) + (2 x ) = 25.2ms 03/09/2012 Prof. Corradi

137 8-bit ADC and DAC Interfacing to 8-bit ADC + 5 V 8051 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 WR INTR RD CS V CC V in (+) V in (-) A. Gnd V ref /2 ADC0801 R CLK CLK IN D. Gnd NC 10 kω Analogue input 150 pf 03/09/2012 Prof. Corradi

138 ADC Sample Program ; An ADC conversion subroutine that gets a converted sample, ; places it in the R0 register and returns. CONVRT: MOV P1,#0FFH ; make both Port 1 & Port 3 MOV P3,#0FFH ; as input ports ; START: CLR P3.0 ; send start of conversion signal SETB P3.0 ; low-to-high to start conversion ; JB P3.1,$ ; wait for sample ; MOV R0,P1 ; get converted reading SETB P3.1 ; clear interrupt RET ; return to main program 03/09/2012 Prof. Corradi

139 Interfacing to 8-bit DAC + 5 V 1k Ω 8051 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P pf D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 COMP GND V CC MC1408L8 VEE V ref (+) +5V V ref (-) Io 1 1k Ω NC 4.7k Ω - + LM301 Vo -12V 03/09/2012 Prof. Corradi

140 8255 PPI Interfacing to 8255 PA PA4 PA PA5 PA PA6 PA PA7 /RD 5 36 /WR /CS 6 35 RESET GND 7 A1 8 A0 9 PC7 10 PC6 11 PC5 12 PC4 13 PC3 14 PC2 15 PC1 16 PC D0 33 D1 32 D2 31 D3 30 D4 29 D5 28 D6 27 D7 26 Vcc 25 PB7 24 PB6 PB PB5 PB PB4 PB PB3 03/09/2012 Prof. Corradi

141 Interfacing to 8255 (cont.) 8051 Port 0 Memory IC D 0 D D Q A 0 A 7 ALE G Port 2 A 8 A 15 Port A D0-D7 A0 A /WR /RD Port B Port C 03/09/2012 Prof. Corradi

142 Aspecto DIP 40 pinos 03/09/2012 Prof. Corradi

143 Aspecto DIP 20 pinos 03/09/2012 Prof. Corradi

144 Aspecto PLCC Retorna 03/09/2012 Prof. Corradi

145 Aspecto de Montagem 03/09/2012 Prof. Corradi

146 Programador de baixo custo 03/09/2012 Prof. Corradi

147 Programador de baixo custo - ISP 03/09/2012 Prof. Corradi

148 Programador Comercial Médio Custo 03/09/2012 Prof. Corradi

149 EXPANSÃO DE MEMÓRIA DE PROGRAMA SW VCC 0.1/50 4KB 1/50 EA K 9 RST P0.7 P0.0 D-FF OE A0 A1 D0 D7 20 P2.0 P2.2 ALE CK A11 CE OE PSEN 2732 With external program memory 03/09/2012 Prof. Corradi

150 EXPANSÃO DE MEMÓRIA DE DADOS 1/50 SW1 +5VCC EA +5VCC 0.1/ KB 10K 9 RST P0.7 P0.0 D-FF OE A0 A1 D0 D P2.0 P2.2 ALE RD WR CK A With external data memory CE OE WE 03/09/2012 Prof. Corradi

151 Procedimento

152 Processo de comunicação Retorna 03/09/2012 Prof. Corradi

153 Arquitetura INT0 INT1 P3.2 P3.3 P1.1 P1.0 P3.5 P3.4 T2EX T2 T1 T0 Interrupt Control Timer 2 Timer 1 Other Registers RAM 256 (8052, 8032) 128 (8051, 8031) ROM or EPROM 8K(8052, 8752) 4K(8051, 8751) 0K(8031, 8032) Timers Timer 0, 1 (8051, 8031) Timer 0,1,2 (8052, 8032) Timer 0 Serial port CPU Oscillator Bus Control si/o Ports sserial Port XTAL1 RD WR P3.7 P3.6 XTAL2 EA RST ALE PSEN P0 P1 (Address/Data) P2 (Address) P3 RxD P3.0 TxD P3.1 03/09/2012 Prof. Corradi

154 Arquitetura P0.0 ~ P0.7 P2.0 ~ P2.7 Vcc Vss RAM Addr. Register RAM Port 0 drivers Port 0 latch Port 2 drivers Port 2 latch EPROM /ROM PSEN ALE EA RST B Register Timing and Control Acc TEMP2 Instruction Register PSW ALU TEMP1 Stack Pointer PCON SCON TMOD TCON T2CON TH0 TL0 TH1 TL1 TH2 TL2 RCAP2H RCAP2L SBUF IE IP Internal Serial Port and Timer Block Program Address Register Buffer PC Incrementer Program Counter DPTR Port 1 latch Port 3 latch OSC Port 1 drivers Port 3 drivers XTAL1 XTAL2 P1.0 ~ P1.7 MCS-51 P3.0 ~ P3.7 03/09/2012 Prof. Corradi

155 Arquitetura Special Function Register Address Decoder RAM Address Decoder OSC & Timing Circuitry XTAL1 CY AC F0 RS1 RS0 OV P XTAL2 Acc B IP IE SBUF SCON TH1 TL1 TH0 TL0 TMOD TCON DPH DPL SP RAM Register Bank 3 Register Bank 2 Register Bank 1 Register Bank 0 Driver EA/VDD ALE/PROG PSEN Parity Rotate Control Interrupt Control Serial Port ALU Timer Control P1 PORT 1 PORT 3 Program Control PCH PCL P3 Control Control PLA Control Engine Instruction Decoder P2 PORT 2 Program Memory Address Decoder P0 PORT 0 4K 8 None (8031) ROM (8051) EPROM (8751) EEPROM (8951) Driver Vcc Vss 03/09/2012 Prof. Corradi

156 Low 128 bytes Internal Data Memory SFR ( Direct Addressing ) High 128 bytes 7FH 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H 1FH 18H 17H 10H 0FH 08H 07H 00H Direct and Indirect Addressing MOV 30H,A 7F 7E 7D 7C 7B 7A F 6E 6D 6C 6B 6A F 5E 5D 5C 5B 5A F 4E 4D 4C 4B 4A F 3E 3D 3C 3B 3A F 2E 2D 2C 2B 2A F 1E 1D 1C 1B 1A F 0E 0D 0C 0B 0A R7 R0 R7 R0 R7 R0 R7 R0 Bank 3 Bank 2 Bank 1 Bank 0 FFH F0H E0H D0H CDH CCH CBH CAH C8H B8H B0H A8H A0H 99H 98H 90H 8DH 8CH 8BH 8AH 89H 88H 87H 83H 82H 81H 80H F7 F6 F5 F4 F3 F2 F1 F0 B E7 E6 E5 E4 E3 E2 E1 E0 D7 D6 D5 D4 D3 D2 D1 D only 8052 only 8052 only 8052 only CF CE CD CC CB CA C9 C BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 AF - AD AC AB AA A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 9F 9E 9D 9C 9B 9A F 8E 8D 8C 8B 8A Acc PSW TH2 TL2 RCAP2H RCAP2L T2CON (8052) IPC P3 IEC P2 SBUF SCON P1 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0 FFH 80H 8052 only Indirect Addressing Only Byte Address Byte Address Byte address 03/09/2012 Prof. Corradi

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Outras características importantes em Microprocessadores/Microcontroladores Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos

Leia mais

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos de controle de redução de potência de operação do chip.

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

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

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador

Leia mais

MICROCONTROLADOR 8051

MICROCONTROLADOR 8051 MICROCONTROLADOR 8051 Notas de Aula (v.2014) Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca ARQUITETURA 8051 APLICAÇÕES MAIS FREQUENTES SISTEMAS COMPACTOS: MEMÓRIAS ROM / RAM

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

Aula 10 Microcontrolador Intel 8051 Parte 2

Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 INTROD À ORGANIZAÇÃO DE COMPUTADORES Prof Dr Marcelo A C Vieira SEL 415 Mapeamento das memórias internas Memória de dados interna (RAM) n 8051

Leia mais

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-5 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

Leia mais

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

Leia mais

O microcontrolador Quatro partes importantes

O microcontrolador Quatro partes importantes SEL-433 APLICAÇÕES DE MICROPROCESSADORES I A escolha do microprocessador mais adequado depende basicamente da aplicação, e deve se levar em conta os seguintes critérios: Técnicos: Velocidade, capacidade

Leia mais

14/3/2016. A escolha do microprocessador mais adequado depende basicamente da aplicação, e deve se levar em conta os seguintes critérios:

14/3/2016. A escolha do microprocessador mais adequado depende basicamente da aplicação, e deve se levar em conta os seguintes critérios: SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues A escolha do microprocessador mais adequado depende basicamente da aplicação, e deve se levar em conta os seguintes critérios: Técnicos:

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos Xtal1 e Xtal2 da CPU.

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

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

Memória de Dados Interna. Memória de Dados Interna

Memória de Dados Interna. Memória de Dados Interna Memória de Dados Interna Memória de Dados Interna - faixa de endereço endereçável diretamente: 00 a 7F hexadecimal. - faixa de endereço endereçável indiretamente: 00 a FF hexadecimal. - espaço endereçável

Leia mais

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso Temporização Interrupções Prof: Evandro L. L. Rodrigues Rotinas de Atraso Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar

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

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015) UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015) Interrupção e Contadores/Temporizadores Este texto apresenta uma

Leia mais

CAPÍTULO II FAMÍLIA MCS-51

CAPÍTULO II FAMÍLIA MCS-51 CAPÍTULO II 2.1. INTRODUÇÃO Este curso abordará somente a família MCS-51. Ela não é tão antiga e limitada como a MCS-48 nem tão cara como a MCS-96. Por isso mesmo é atualmente a família de controladores

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

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova 7. PROGRAMANDO O MICROCONTROLADOR 1 7. PROGRAMANDO O MICROCONTROLADOR: Hardware parte física do circuito eletrônico CPU onde está localizado o microcontrolador. Dentro do microcontrolador existe um conjunto

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA 1. Escreva as instruções para as configurações pedidas. Valor: 2,0 a) Habilita as interrupções externas zero e um e a interrupção do

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

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

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada MICROPROCESSADORES E MICROCONTROLADORES Prova 1 Resposta Esperada 1. Tema: Conceitos Gerais Valor: 1,0 Os microcontroladores da família 8051 possuem arquitetura CISC, e os microcontroladores da família

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) Resposta Esperada MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) Resposta Esperada 1. Tema: programação geral do microcontrolador 8051. Valor: 2,5 A Tabela 1 mostra um programa, em linguagem

Leia mais

Ex.: Rotinas de tempo

Ex.: Rotinas de tempo Ex.: Rotinas de tempo ORG 0000h PADRAO EQU 11111110b PORTA EQU P1 VBASE EQU 0800h mov r0,# PADRAO inicio: mov PORTA,r0 ;***********TEMPO DE 1S ************ mov dptr,#vbase ; Tt= 2T espera1: mov r1,#0f2h

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

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

programáveis por software

programáveis por software Temporizadores e Contadores (Timer/Counter) O 85 possui 2 T/C internos de 6 Bits programáveis e com capacidade de operação independente da CPU. Contadores crescentes (up-counter) que geram sinal de interrupção

Leia mais

Microprocessadores. Organização de Memória

Microprocessadores. Organização de Memória Microprocessadores Organização de Memória Prof. Clayrton Henrique rev. 01 fev. 2016 Roteiro Introdução; RAM Interna; Parte de Dados; Parte de SFR; Registradores; Assembly; Referências... 2 Introdução RAM

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Aluno: Matrícula: 1. Na figura a seguir 8 Leds são conectados à porta P1 e 8 à porta P2. Valor: 2,5 Faça um programa em assembly do 8051 em que as interrupções

Leia mais

Aula 4. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 8051

Aula 4. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 8051 Aula 4 Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 8051 Cenário: Sistema de Controle de LEDs Sistema Embarcado Sistema Engenharia de Sistemas Embarcados

Leia mais

Temporizadores e Contadores (Timer/Counter)

Temporizadores e Contadores (Timer/Counter) SEL-433 APLICAÇÕES DE MICROPROCESSADORES I O 8051 possui 2 (ou 3) T/C internos de 16 Bits programáveis e com capacidade de operação independente da CPU. Contadores crescentes (up-counter) que geram sinal

Leia mais

9/3/2009. Aula 4. Engenharia de Sistemas Embarcados. Cenário: Sistema de Controle de LEDs

9/3/2009. Aula 4. Engenharia de Sistemas Embarcados. Cenário: Sistema de Controle de LEDs Cenário: Sistema de Controle de LEDs Sistema Embarcado Aula 4 Sistema Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 851 Engenharia de Sistemas Embarcados

Leia mais

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Como conhecer/estudar um Microprocessador/Microcontrolador As 5 partes fundamentais Programação de Microprocessadores Prof: Evandro L. L. Rodrigues Arquitetura

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

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga SEL-433 Aplicação de Microprocessadores I Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador

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

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

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

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

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: Interrupções Externas e Relés Alunos: Matrícula:

Leia mais

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

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

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

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Exemplo de Projeto com Microcontrolador MCS-51 Prof. Adilson Gonzaga Definições Iniciais: Microcontrolador Tamanho da Memória de Programa Interna define o tamanho da Memória de Programa Externa a ser utilizada.

Leia mais

SEL 337 Aplicação de Microprocessadores II

SEL 337 Aplicação de Microprocessadores II SEL 337 SEL 337 Aplicação de Microprocessadores II Prof. Dr. Marcelo A. C. Vieira SEL 337 DIREÇÃO DE TRANSFERÊNCIA DE DADOS TRANSM Fluxo de Dados RECEP SIMPLEX TRANSM RECEP Fluxo de Dados TRANSM RECEP

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL Aluno: Matrícula: 1. Escreva as instruções necessárias para atender a cada uma das configurações solicitadas. Valor: 2,0 (a) Interrupção

Leia mais

Estrutura Básica de um Computador

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

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

Disc.: Sistemas Microprocessados Curso Técnico em Eletrônica

Disc.: Sistemas Microprocessados Curso Técnico em Eletrônica Disc.: Sistemas Microprocessados Curso Técnico em Eletrônica Prof. Paulo Demantova Sistemas Microprocessados - Prof: Demantova 1 1. Objetivo da Disciplina: Apresentar características e conceitos de um

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: Interrupções Externas e Relés Alunos: Matrícula:

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

Interface Serial. Prof. Adilson Gonzaga

Interface Serial. Prof. Adilson Gonzaga Interface Serial Prof. Adilson Gonzaga Comunicação de Dados em Microprocessadores. Comunicação Paralela Tipos de Comunicação FONTE DADOS READY STROBE GND DESTINO Distância < 30 metros Amplificação complexa

Leia mais

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES SEL 0415 Aula 11 Microcontrolador 8051 Parte 3 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 415 INTERRUPÇÃO Estrutura de Interrupção do 8051 n 5 Fontes [ 2 Externas

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 3: Temporizadores e Display LCD Alunos: Matrícula:

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES Rn - Registrador R0 R7 do banco de registradores selecionado. direto - 8-bits de endereço da posição da RAM de dados Podem ser referentes tanto à RAM interna (0 7F) como ao espaço

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 3: Temporizadores e Display LCD Alunos: Matrícula:

Leia mais

Interrupções do Interrupções Gabriel Kovalhuk. UTFPR DAELN - Tecnologia em Mecatrônica Industrial

Interrupções do Interrupções Gabriel Kovalhuk. UTFPR DAELN - Tecnologia em Mecatrônica Industrial Interrupções do 8051 Interrupções Interrupções do 8051 Evento aleatório à sequência normal do programa; Quando ocorre o evento, o programa é desviado para a função de atendimento da interrupção; O endereço

Leia mais

17/04/2017. Comunicação Serial. Comunicação Serial. Comunicação de Dados em Microprocessadores. . Comunicação Paralela. Comunicação Serial

17/04/2017. Comunicação Serial. Comunicação Serial. Comunicação de Dados em Microprocessadores. . Comunicação Paralela. Comunicação Serial DESLOCAMENTO DESLOCAMENTO 1/0/01 SEL- APLICAÇÕES DE MICROPROCESSADORES I Comunicação de Dados em Microprocessadores. Comunicação Paralela Tipos de Comunicação FONTE DADOS READY STROBE DESTINO Distância

Leia mais

Porta série no dscope...

Porta série no dscope... Porta série no dscope... Interface série - 22 Comunicação multiprocessador Porta série nos modos 2 ou 3 Bit 8 utilizado para distinguir dois tipos de tramas (0=dados, 1=endereços) Funcionamento de SM2

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 3: Temporizadores e Display LCD Alunos: Matrícula:

Leia mais

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização Microprocessadores I Aula 6 Arquitetura do Microprocessador 8085 - Pinagem e Diagrama de Temporização 1 O 8085 contém em seu CI circuitos para executar operações de cálculos e comunicação com periféricos.

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

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

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 5: Comunicação Serial Alunos: Matrícula: Prof. Dr.

Leia mais

Interrupções Externas

Interrupções Externas Interrupções Externas Dois acontecimentos podem gerar o pedido de interrupção: Transição 1 0 Nível 0 A fonte destes acontecimentos é aplicada a um dos pinos INT0 e INT1. Logo que se faça a activação das

Leia mais

Aula 10 Microcontrolador Intel 8051 Parte 1

Aula 10 Microcontrolador Intel 8051 Parte 1 Aula 10 Microcontrolador Intel 8051 Parte 1 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 0415 Microcontroladores Grupo de Sistemas Digitais n Microcontrolador é o nome

Leia mais

Lista de Exercícios 2

Lista de Exercícios 2 Conceitos envolvidos: a) Contadores e Temporizadores b) Interface serial RS232 c) Interrupções Lista de Exercícios 2 1. Fazer um contador hexadecimal que coloque o valor de contagem na porta P1 em intervalos

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, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 6: Comunicação Serial Alunos: Matrícula: Prof. Dr.

Leia mais

Microcontroladores. Conjunto de Instruções do Prof. Guilherme Peron Prof. Heitor Lopes Prof. Ronnier Rohrich Prof. Rubão

Microcontroladores. Conjunto de Instruções do Prof. Guilherme Peron Prof. Heitor Lopes Prof. Ronnier Rohrich Prof. Rubão Microcontroladores do 805 Prof. Guilherme Peron Prof. Heitor Lopes Prof. Ronnier Rohrich Prof. Rubão Introdução Os microcontroladores: Têm instruções limitadas Precisam tratar os dados da forma correta

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) 1. Tema: programação geral do microcontrolador 8051. Valor: 2,0 A Figura a seguir mostra um sistema no qual um motor de passo

Leia mais

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1 --------------------------------------------------------------- Programa: primeiro.asm Move dado da acumulador para o registro B e vice-versa. Autor: Vargas Data:16:52 16/02/01 ---------------------------------------------------------------

Leia mais

Jadsonlee da Silva Sá

Jadsonlee da Silva Sá Introdução aos Sistemas Microcontrolados Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br www.univasf.edu.br/~jadsonlee.sa Introdução aos Sistemas Microcontrolados Assembly, C, java,... Circuito Reset

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

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

Lista de Exercícios 1

Lista de Exercícios 1 Conceitos envolvidos: a) Contadores e Temporizadores b) Interface serial RS2322 c) Interrupções Lista de Exercícios 1 1. Fazer um contador hexadecimal que coloque o valor de contagem na porta P1 em intervalos

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, 22 de Novembro de 2004 Microprocessadores

Leia mais

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento Microprocessadores e Microcontroladores Professor Lucas Araujo do Nascimento REVISÃO Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores COMPUTADOR Microprocessadores e Microcontroladores

Leia mais

MICROCONTROLADOR 8051

MICROCONTROLADOR 8051 MICROCONTROLADOR 8051 NOTA IMPORTANTE: Esta documentação está em processo de revisão. Estamos trabalhando duro para assegurar que todas as informações contidas neste documento estejam corretas. Não nos

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

Microcontroladores. Interface Serial e RTC. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Microcontroladores. Interface Serial e RTC. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão Microcontroladores Interface Serial e RTC Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão Conceitos Paridade Bit acrescentado ao dado, destinado à detecção de erro. A paridade

Leia mais

UCP 8051 (parte 02) Professor Adão de Melo Neto

UCP 8051 (parte 02) Professor Adão de Melo Neto UCP 85 (parte 2) Professor Adão de Melo Neto Barramento de endereços UCP 85 É unidirecional (6 BITS), porque a informação flui apenas em uma direção, da CPU para a memória ou para os elementos de E/S.

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 5: Comunicação Serial Alunos: Matrícula: Prof. Dr.

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

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 1 Introdução ao Microcontrolador 8051 Alunos: Matrícula:

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 1 Introdução ao Microcontrolador 8051 Alunos: Matrícula:

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais

1. Instruções de Desvio

1. Instruções de Desvio 1. Instruções de Desvio Def.: Estas instruções permitem que, de forma condicional ou não, seja feito um desvio na seqüência de uma programa. O desvio é efetuado fazendo com que o valor carregado no PC

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

EXERCÍCIOS 2 Prof. Adilson Gonzaga

EXERCÍCIOS 2 Prof. Adilson Gonzaga LISTA DE EXERCÍCIOS 2 Prof. Adilson Gonzaga 1) Um robô como mostrado na figura é acionado por dois motores de corrente contínua, um para cada roda, conforme o esquema, e possui um sensor localizado na

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC24 Microprocessadores Edição 25/26 Interface série Interfaces série em geral... Hardware para comunicação série (um bit de cada vez) Universal Assincronous Receiver Transmitter Universal Syncronous

Leia mais

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários

Leia mais