Grupo de Engenharia da Computação Departamento de Informática - UFPE

Slides:



Advertisements
Apresentações semelhantes
Capítulo 2 A família de Microcontroladores MCS-51 da Intel
Advertisements

Prentice HallMicrocontroladores Capítulo 8 A interface de comunicação serial da família de microcontroladores MCS-51 da Intel.
Chip-Select e Controle de Interrupção
Conhecendo Hardware Parte 1
Experimentos Práticos Introdução aos Sistemas Embarcados
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
Grupo de Engenharia da Computação Departamento de Informática - UFPE
Grupo de Engenharia da Computação Departamento de Informática - UFPE
Sergio Cavalcante Centro de Informática – UFPE
Experimentos Práticos Arquitetura de Software para Celulares
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI
Arquitetura 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi
Controlador para Teclado PS2
A família 80C51 Organização:
SVC  GRECO Escalonador de Processos de Tempo Real RTX Tiny.
Aula 13 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
SISTEMAS EMBARCADOS I UNIDADE 6 – SISTEMAS DE INTERRUPÇÃO TURMA: 7º Período DISCIPLINA: Sistemas Embarcados I PROFESSOR: Pedro Pacheco Bacheti
CCNA3 Conceitos Básicos de Switching e Roteamento Intermediário Módulo 1 VLSM – Subredes com máscaras variáveis Roteamento RIP versão 2 1 Tópicos Especiais.
1 RCO2 Protocolo HDLC. 2 High Level Data Link Control ● Definido nos padrões ISO 33009, 4335, 6159 e 6256) ● Baseado no protocolo SDLC da IBM (criado.
DSC/CEEI/UFCG Hardware (Parte I) Prof. a Joseana Macêdo Fechine Régis de Araújo Prof. a Joseana Macêdo Fechine Régis de Araújo
1 Sistemas Distribuídos – Capítulo 4 - Aula 5 Aula de hoje Chamada de Procedimento Remoto - RPC Aula Passada Clusters de Servidores Migração de Código.
OS – Cadastrar Ordem de Serviço. OBJETIVO: Cadastrar ordem de serviço para clientes sem que seja necessário efetuar uma venda ( semelhante ao orçamento,
Como funciona o processador Nomes: Fernando, Maurício, William Turma: 1J-1PC1 Disciplina: Fundamentos da Computação Curso: Técnico em Programação de Computadores.
CPU por dentro. Por dentro do CPU + ULA Teoria - Considerando que a ALU já tem dois números porque já fez LOAD - CPU recebe a instrução da RAM ( que está.
Arquiteturas de Redes de Computadores Prof. Dr. José Luís Zem Faculdade de Tecnologia de Americana Centro Paula Souza.
ARQUITETURA AULA 3 Prof. Luiz Ricardo Lima 2º sem de 2016.
Multiplexagem Multiplexadores (multiplexers)
COMUNICAÇÃO WIFI ESP /Cortex-M0/ AppInventor
Manutenção de Periféricos II
Atividades 3: Configuração de HW/SW
MICROPROCESSADORES E MICROCONTROLADORES
Ciclos de operação em processador
Organização e Arquitetura de Computadores II
PSI3441 – Arquitetura de Sistemas Embarcados
Conhecendo o Protocolo Rodrigo Borges. O Modbus é um protocolo de comunicação de dados industrial desenvolvido em 1979 pela Modicon para possibilitar.
NEANDERWin - Simulador
Prof. Anderson Terroso Redes de Comunicação sem Fio Agosto/2017
MICROPROCESSADORES E MICROCONTROLADORES
Modelos de Comunicação Digital
Aspectos de Interrupção
Gestão de periféricos Varrimentos vs Interrupções Cache
SISTEMAS OPERACIONAIS
Organização de Computadores 2º Semestre Aula 12 – Parte 2 Prof
INF1007: Programação 2 2 – Alocação Dinâmica
MICROPROCESSADORES E MICROCONTROLADORES
Sistemas de Redes de Filas
SISTEMAS UBÍQUOS E PERVASIVOS
XOR, Detecção de Erro, Comparadores
Ferramentas de comunicação
CAMADA DE ENLACE DE DADOS
FUNDAMENTO DE PROGRAMAÇÃO
Departamento de Informática Universidade Federal do Espírito Santo
Arquitetura e organização de computadores
CONFIGURAÇÃO RFS INTCON.
Inventário Balanço de Estoque
Introdução a Redes v5.1 Capítulo 5: Ethernet. © 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas.
Instalando e configurando a impressora Fiscal
Aplicações de Flip-Flops Registradores
Gerência de Dispositivos e Sistemas de Arquivos
Funcionamento básico de um processador de 8 bits
MEMORIAS.
TCP/IP CRD Filipe Pacheco.
Instalação configuração de HW/SW-Exp.3
Microprocessadores e Microcontroladores
Arquitetura 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi
Arquitetura de Computadores
ATOS MPC6006 e Lexium 32 Exemplo de Comunicação CLP Atos MPC6006 e servo acionamento Lexium 32 em Modbus RTU.
Questionário Cada questão valerá 0,1 décimo a mais na nota de umas das provas anteriores; Ordem de respostas: lista de chamada. Caso o aluno chamado não.
SISTEMAS DISTRIBUIDOS
Flip-Flops, Registradores e Contadores O campo da Eletrônica Digital é basicamente dividido em: Lógica Combinacional Saídas dependentes única e exclusivamente.
Transcrição da apresentação:

Grupo de Engenharia da Computação Departamento de Informática - UFPE Registradores do 8051 Sérgio Cavalcante Grupo de Engenharia da Computação Departamento de Informática - UFPE DEPARTAMENTO DE INFORMÁTICA UFPE Copyright, 1998, 1999 © Sérgio Cavalcante GRECO

Família 8051 RAM EPROM CPU Port1 Port0 Address Bus Port2 Port3 Latch Latch Port1 Port0 Address Bus Serial DPTR Interrupt PC MBR Latch Port2 Latch Data Bus Port3 Oscil. Timer0 Timer1

Timers/contadores Timer0 e Timer1 Duas funções: timer e contador Frequência máxima como timer Frequência do Clock / 12 Frequência máxima como contador Frequência do Clock / 24

Timer/contador Data Bus TH0 TL0 Contadores Entrada Interrupt RD WR RD Carry Carry TH0 TL0 Contadores Interrupt Entrada

Timers/contadores Vários modos de operação: Modo 0: Timer/contador de 13 bits Pode ter interrupção ao chegar em zero. Frequência Timer = Frequência do Clock (12 * (8192 - ValorInicial))

Timer 0 no Modo 0 Osc. 1/12 C / T interrupção TL0 5 bits TH0 8 bits T0 TF0 TR0 GATE INT0

Timers/contadores Modo 1: Timer/contador de 16 bits Pode ter interrupção ao chegar em zero. Frequência Timer = Frequência do Clock (12 * (65536 - ValorInicial))

Timer 0 no Modo 1 Osc. 1/12 C / T interrupção TL0 8 bits TH0 8 bits T0 TF0 TR0 GATE INT0

Timers/contadores Modo 2: Timer/contador de 8 bits Reload (recarga) automático Frequência Timer = Frequência do Clock (12 * (256 - Valor THi ))

Timer 0 no Modo 2 Osc. 1/12 C / T interrupção TL0 8 bits T0 TF0 recarga TR0 TH0 8 bits GATE INT0

Timers/contadores Modo 3: TL0 funciona como um timer/contador de 8 bits controlado por TR0. TH0 funciona como timer de 8 bits controlado por TR1 e usa TF1 para overflow Timer 1 fica habilitado todo o tempo, mas não pode gerar interrupção. Se Timer 1 também for posto no Modo 3, ele pára.

Timer/contador TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON TFi - flag de overflow do Timer i. Se o 8051 for configurado para gerar interrupção quando este flag vai para 1 (um), seu valor volta para 0 (zero) automaticamente após execução da rotina de interrupção. TRi - bit de controle do Timer i TRi = 0 Þ Timer i desligado = 1 Þ Timer i ligado OBS: os bits de TCON podem ser acessados diretamente

Timer/contador gate C/T M1 M0 gate C/T M1 M0 TMOD gate = 0 Þ Timer i é habilitado se TRi = 1 = 1 Þ Timer i é habilitado se INTi = 1 e TRi = 1 C/T = 0 Þ Timer i funciona como contador = 1 Þ Timer i funciona como timer M1,M0 = 00 Þ Timer i funciona no Modo 0 = 01 Þ Timer i funciona no Modo 1 = 10 Þ Timer i funciona no Modo 2 = 11 Þ Timer 0 funciona no Modo 3 Timer 1 pára. OBS: os bits de TMOD NÃO podem ser acessados diretamente

Timer 0 no Modo 1 #define FrClk 12000000 #define FreqTimer0_emHz 100 #define VALOR_TH0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 17 ))) >>8) #define VALOR_TL0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 17 ))) & 0xFF) O 17 TA ERRADO!!! main() { … EA=1; //Habilita o tratamento de interrupções }

Timer 0 no Modo 1 void timer0_inicializa() { TR0 = 0; // Desliga Timer0 TMOD = (TMOD & 0xF0) | 0x01; // Timer 0 programado como timer de 16 bits TH0 = VALOR_TH0; // Programa contagem do Timer0 TL0 = VALOR_TL0; ET0 = 1; // Habilita interrupcao do timer 0 TR0 = 1; // Habilita contagem do timer 0 } void timer0_int (void) interrupt 1 using 2 TH0 += VALOR_TH0; // Programa contagem do Timer0 TL0 += VALOR_TL0; ...

Interface Serial Vários modos de operação Modo 0 Modo 1 Transmissão síncrona, 8 bits Baudrate = Frequência do Clock / 12 Modo 1 Transmissão assíncrona, 10 bits sendo 1 start bit, 8 bits de dados e 1 stop bit Na recepção, o stop bit é armazenado em RB8i (i indica qual a interface serial usada, caso haja mais de uma). Baudrate variável

Interface Serial Vários modos de operação Modo 2 Modo 3 Transmissão assíncrona, 11 bits sendo 1 start bit, 8 bits de dados, 1 bit especial (valor definido por TB8i) e 1 stop bit. Na recepção, o bit especial é armazenado em RB8i Baudrate = 1/32 ou 1/64 Freq.Clock Modo 3 Transmissão igual ao Modo 2 Baudrate variável

Interface Serial Transmissão Recepção É realizada assim que um byte é armazenado em SBUF Ao transmitir faz com que o bit TIi seja 1 Recepção Ao receber faz com que o bit RIi seja 1. Modo 0 (comunicação síncrona): É realizada quando RIi =0 e RENi =1 Modo 1, 2 e 3 (comunicação assíncrona): É realizada quando RENi =1 e ocorre a chegada de um start bit.

Interface Serial Interrupção Pode ou não ser habilitada. Quando habiitada, é gerada se TIi = 1 ou RIi = 1. O mesmo vetor de interrupção é usado tanto para transmissão quanto para recepção. O valor de TIi e RIi deve ser testado para verificar se houve transmissão e/ou recepção, respectivamente.

Interface Serial SM0 SM1 SM2i RENi TB8i RB8i Tii RIi SiCON SM0,SM1: Se 00ÞModo 0; 01ÞModo 1; 10ÞModo 2; 11ÞModo 3 SM2i Þ Se Modo = 0, SM2i deve ser 0. Se Modo = 1, define se o stop bit deve ser igual a 1 para que RIi = 1 Se Modo = 2 ou 3, define se o bit especial deve ser igual a 1 para que RIi = 1. (Comun. em rede) RENi Þ Habilita a recepção. TB8i Þ Nos modos 0 e 1, guarda cópia do bit 8 de transmissão Nos modos 2 e 3, guarda o valor do bit especial. RB8i Þ No modo 0 não é usado. No modo 1, se SM2i = 0, guarda o stop bit recebido. Nos modos 2 e 3, guarda o valor do bit especial recebido. TIi Þ Flag de fim de transmissão. TIi = 1 quando o último bit começa a ser transmitido. RIi Þ Flag de fim de recepção. RIi = 1 quando o último bit é recebido.

Interface Serial Comunicação em Rede ou Multiprocessador Quando modo = 2 ou 3, e se SM2i = 1, a interrupção de recepção só é gerada se o bit especial = 1. Esta característica pode ser usada em redes mestre-escravo da seguinte forma: 1) Se o mestre deseja se comunicar com um dos escravos, primeiro ele envia o endereço do escravo. 2) Endereços diferem de dados porque endereços tem o bit especial = 1 e os dados tem este bit = 0. 3) Se SM2i = 1, nenhum escravo será interrompido por bytes de dados. Mas todos serão interrompidos por bytes de endereços. 4) Ao receber seu endereço, o escravo faz com que SM2i = 0 de modo a permitir a recepção de bytes de dados.

Interface Serial Taxas de Comunicação (Baud Rates) A interface serial requer um clock 16 vezes maior que a taxa de comunicação desejada. Baudrate Modo 0 = Freq. Clock / 12 Baudrate Modo 2 SMOD é o bit 7 do registrador PCON baudrate = (2SMOD/64) x Freq. Clock, ou Freq. Clock / 64 se SMOD = 0 Freq. Clock / 32 se SMOD = 1

Interface Serial Baudrate Modos 1 e 3 Pode ser fornecido pelo pelo Timer1 (padrão) ou pelo gerador de baudrate (apenas no 80517). Para usar o timer 1 faça BD = 0. Baudrate = (2SMOD / 32) x Freq.Timer1 Se Modo Timer1 = 2 (auto-reload) Baudrate = 2SMOD x Freq.Clock 12 x 32 x (256 - TH1) Para usar o gerador de baudrate faça BD = 1 (BD é o bit 7 do registrador ADCON). Bom para taxas de 4800 e 9600 bit/s) Baudrate = (Freq. Clock x 2SMOD) / 2496