Curso de Microcontroladores Família MCS51 - Hardware e Software. 03/09/2012 Prof. Corradi - 1
|
|
- Beatriz Silva Bennert
- 7 Há anos
- Visualizações:
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 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 mais07/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 maisMicrocontrolador 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 maisMicrocontrolador 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 maisSEL-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 maisMICROCONTROLADOR 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 maisMicrocontroladores 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 maisAula 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 mais29/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 maisTemporizaçã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 maisO 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 mais14/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 maisProf. 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 maisNotas 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 maisInterrupçã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 maisMemó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 maisTemporizaçã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 mais8051 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 maisUTFPR 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 maisCAPÍ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 maisFamí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 mais7. 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 maisMICROPROCESSADORES 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 maisAula 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 maisAula 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 maisMICROPROCESSADORES 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 maisMICROPROCESSADORES 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 maisEx.: 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 maisEXERCÍ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 maisOrganizaçã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 maisprogramá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 maisMicroprocessadores. 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 maisMICROPROCESSADORES 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 maisAula 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 maisTemporizadores 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 mais9/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 maisAs 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 maisProgramaçã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 maisSEL-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 maisDIAGRAMA 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 maisTemporizadores 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 maisProf. 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 maisSistemas 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 maisLaborató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 maisMICROPROCESSADORES 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 maisUNIVERSIDADE 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 maisApontamentos 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 maisProf. 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 maisSEL 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 maisMICROPROCESSADORES 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 maisEstrutura 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 maisProf. 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 maisDisc.: 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 maisLaborató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 mais2.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 maisInterface 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 maisSEL 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 maisSistemas 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 maisLaborató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 maisCONJUNTO 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 maisLaborató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 maisInterrupçõ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 mais17/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 maisPorta 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 maisLaborató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 maisMicroprocessadores 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 maisMICROPROCESSADORES 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 maisEEC2104 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 maisLaborató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 maisInterrupçõ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 maisAula 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 maisLista 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 maisMemó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 maisLaborató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 maisMicrocontroladores. 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 maisMICROPROCESSADORES 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 maismov 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 maisJadsonlee 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 maisNOTAS 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 maisConjunto 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 maisLista 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 maisAcetatos 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 maisMicroprocessadores 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 maisMICROCONTROLADOR 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 maisPorta 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 maisMicrocontroladores. 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 maisUCP 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 maisLaborató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 maisSEMINÁ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 maisMicroprocessadores 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 maisLaborató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 maisLaborató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 mais14/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 maisSEL-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 mais1. 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 maisComunicaçã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 maisEXERCÍ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 maisEEC2104 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 maisIntroduçã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