µcontroladores da Família 51

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

Download "µcontroladores da Família 51"

Transcrição

1 DEPARTAMENTO DE ELECTROTECNIA Sistemas Digitais µcontroladores da Família 51 João Paulo Baptista

2 Índice 1 Família de Micro Controladores Arquitectura Base 1 3 PinOut do µcontrolador 2 4 Sistema de Memória Memória de Programa Memória de Dados Memória de Dados Interna Memória de dados externa Multiplexagem de Barramentos 8 5 Portos de Entrada / Saída de Dados Porto Porto Porto Porto Temporizadores / Contadores Registo TMOD Registo TCON Funcionamento dos Temporizadores / Contadores Modo Modo Modo Modo Porto Série Funcionamento em transmissão de dados Funcionamento em recepção de dados Registo de Controlo do Porto Série Funcionamento em MODO Funcionamento em MODO Funcionamento em MODO Funcionamento em MODO Comunicações em Rede de µcs 19 8 Sistema de Interrupções Registo de Permissão das Interrupções Prioridade das Interrupções 22 ii

3 A1 Conjunto de Instruções do 8051 I A1.1 Endereçamento de Operandos I A1.1.1 Endereçamento por Registo I A1.1.2 Endereçamento directo I A1.1.3 Endereçamento Indirecto por Registo II A1.1.4 Endereçamento Imediato II A1.1.5 Endereçamento Indirecto por Registo Base + Registo Índex II A2 Tabelas de Instruções III Índice de figuras Figura 1 Diagrama de blocos dos μcs da família 51 1 Figura 2 Duas caixas possíveis para o μc 2 Figura 3 Memória interna de dados 4 Figura 4 Memória interna de dados (0 7F) 5 Figura 5 Mapa de memória dos SFRs 5 Figura 6 Registo de Estados (PSW) 7 Figura 7 Escrita na memória externa de dados 8 Figura 8 Leitura da memória externa de dados 8 Figura 9 Leitura de código da memória externa de programa 8 Figura 10 Interligação do 8051 com memória externa 9 Figura 11 Hardware de um bit do Porto 0 10 Figura 12 Hardware de um bit do Porto 1 10 Figura 13 Hardware de um bit do Porto 2 11 Figura 14 Hardware de um bit do Porto 3 11 Figura 15 Registo para definição do modo de funcionamento dos T/Cs 12 Figura 16 Registo de controlo dos T/Cs 13 Figura 17 T/C 1 programado em Modo 0 (contador de 13 bits) 14 Figura 18 T/C 1 programado em Modo 2: contador de 8 bits com auto recarga 14 Figura 19 T/C 0 programado em Modo 3 15 Figura 20 - Diagrama de blocos da UART 16 Figura 21 - Registo de controlo do Porto Série (SCON) 17 Figura 22 - Transmissão de dados em Modo 0 18 Figura 23 - Recepção de dados em Modo 0 18 Figura 24 - Rede de μcs master-slave 20 Figura 25 Sistema base de interrupções dos μcs da família Figura 26 Registo de permissão das interrupções (IE) 22 Figura 27 Registo de prioridade das interrupções (IP) 22 iii

4

5 1 Família de Micro Controladores 8051 O 8051 é um µcontrolador de 8 bits desenvolvido originalmente pela INTEL em Trata-se sem dúvida do núcleo de µcontrolador mais popular em todo o mundo, sendo desenvolvido por um grande número de fabricantes que lhe vão introduzindo ao longo do tempo novos melhoramentos essencialmente no que diz respeito aos periféricos que lhe estão associados. Um 8051 típico contém: CPU com processador booleano 6 fontes de interrupção com possibilidade de diferentes níveis de prioridade Temporizadores / Contadores de 16 bits Porto de comunicação série, com taxas de comunicação programáveis RAM de dados interna ROM / EPROM / EEPROM / FLASH interna para armazenamento de programa (não existente em alguns modelos) O conjunto de instruções do 8051 encontra-se optimizado para as operações ao bit permitindo uma mais fácil implementação de software de controlo em tempo real. O processador booleano fornece suporte directo para a manipulação de bits, conduzindo a programas mais eficientes no que toca às operações de entrada e saída de dados tão importantes na resolução de problemas de controlo digital. 2 Arquitectura Base A fig. 1 apresenta a arquitectura base dos µcontroladores da família 51. Figura 1 Diagrama de blocos dos μcs da família 51 CPU unidade de processamento central. Memória de Programa memória interna destinada a armazenar o código correspondente ao programa a executar pelo µc. Esta memória pode não existir em alguns modelos de µc. Memória de Dados memória interna destinada ao armazenamento de dados. 1

6 Controlo de Interrupções permite a detecção e consequente processamento de um conjunto de sinais de interrupção externos e internos. Timer 0 e Timer 1 temporizadores / contadores de 16 bits que podem ser activados a partir do exterior. Porto Série dispositivo implementado por uma UART (Universal Assynchronous Receiver Transmiter) permitindo efectuar comunicações série com o exterior. Portos de I/O conjunto de 4 portos paralelos para o interface com o exterior. Dois destes portos podem ser usados para implementar barramentos de acesso a dispositivos de memória exteriores. Controlo do Barramento quando é utilizada memória externa ao mc, este bloco contém o hardware necessário para o controlo das transferências de informação. Oscilador permite gerar os sinais de relógio necessários ao funcionamento do µc. 3 PinOut do µcontrolador Na fig. 2 mostram-se duas caixas possíveis para este µc. Figura 2 Duas caixas possíveis para o μc 4 Sistema de Memória Como já foi referido no parágrafo 2, os diferentes elementos da família 51 dispõe de memória interna de dados e, na maior parte das vezes, de memória interna de programa. Alguns exemplos de µcs desta família: 2

7 µcontrolador Mem. Programa Interna (bytes) Mem. Programa Externa (bytes) Mem. de Dados Interna (bytes) Mem. de Dados Externa (bytes) 80C31 0 Até 64K 256 Até 64k 87C51 4K (EPROM) Até 64K 256 Até 64k K (ROM) Até 64K 256 Até 64k 89C51 4K (Flash) Até 64K 384 Até 64k 89C51RD2 64K (Flash) Até 64K 384 Até 64k 89C2051 2K (Flash) Tabela 1 De notar que nestes µcs, o espaço de endereçamento da memória de programa é totalmente distinto do espaço de endereçamento da memória de dados, o que permite, com um barramento de endereços de 16 bits, obter 64K bytes de programa mais 64K bytes de dados. Comparando com o Z80, em que estes dois espaços de endereçamento se sobrepõe (64K programa + dados), este µc consegue endereçar o dobro de memória. A razão de ser deste aumento do espaço de endereçamento tem a ver com o barramento de controlo do No processador Z80, conforme foi estudado anteriormente, o barramento de controlo para o acesso às memórias dispõe unicamente de um sinal de escrita (WR) e de um de leitura (RD). Estes sinais são utilizados quer se esteja a fazer um acesso à memória de programa quer se esteja a aceder à memória de dados. No caso dos µcs 51, existe uma distinção entre o barramento de controlo para a memória de programa (PSEN) e o barramento de controlo para a memória de dados (WR e RD). Este duplo barramento aliado à existência de instruções específicas para acesso a cada uma daquelas zonas de memória, permite a duplicação da capacidade de endereçamento nestes µcontroladores. 4.1 Memória de Programa Os µcs da família 51 têm capacidade para endereçar um total de 64K bytes de memória de programa. Esta memória pode estar fisicamente situada no interior do µc no interior e no exterior do µc no exterior do µc Como foi referido na Tabela 1, a quantidade de memória de programa existente no interior do µc depende do modelo que se está a utilizar. Normalmente este valor pode variar entre 0 (p. ex. 8031) e 64K bytes (p. ex. T89C51RD2). Quando é utilizada memória externa de programa ou de dados, a comunicação com os dispositivos de memória é feita à custa de 3 barramentos: Barramento de Endereços, com 16 bits, implementado fisicamente a partir dos Portos 0 e 2 do µc. Barramento de Dados, com 8 bits, implementado fisicamente a partir do Porto 0 do µc. Barramento de Controlo que é constituído pelos sinais PSEN (pino 29) e ALE (pino 30). O PSEN é o sinal de leitura da memória de programa. A função do ALE será analisada num parágrafo posterior. 3

8 Como se pode ver, os barramentos de endereços e de dados partilham um porto do 51 Porto 0. Este processo de partilha será analisado mais à frente no parágrafo que diz respeito à Multiplexagem de Barramentos. Ainda em relação ao acesso à memória de programa, o sinal EA (pino 31) permite-nos indicar ao µc se a memória de programa está no seu interior ou no seu exterior. Assim, se EA estiver ligado a VCC (nível lógico 1) o µc faz a pesquisa das instruções de programa a partir da sua memória interna de programa. Se EA estiver ligado ao nível lógico 0 (VSS), a pesquisa é feita da memória externa de programa, através dos barramentos descritos anteriormente. De notar que, mesmo que exista uma certa quantidade de memória interna de programa, é sempre possível fazer a sua expansão até 64K utilizando memória externa. Neste caso EA deverá ser colocado a 1 para permitir aceder à memória interna. O µc é capaz de detectar quando é feito um acesso a um endereço da memória externa, colocando automaticamente em funcionamento os barramento para que a instrução possa ser pesquisada do exterior. Como se pode ver na Tabela 1, há alguns µcs desta família que não permitem a expansão de memória. É o caso do 89C2051 que dispõe internamente de 2K bytes de memória de programa mas que, devido à sua construção, não apresenta os Portos 0 e 2, impossibilitando por isso a implementação dos barramentos de acesso ao exterior. 4.2 Memória de Dados Relativamente à memória de dados, os µcs da família 51 dispõe de 256 (384) bytes de RAM interna, permitindo ainda a implementação de 64K bytes no seu exterior. Em alguns elementos da família é possível encontrar ainda 64 a 2K bytes de memória com tecnologia E 2 Prom para o armazenamento de dados que necessitam de retenção em caso de falha de alimentação Memória de Dados Interna Como se mostra na fig. 3, a memória interna de dados é constituída por 2 ou 3 espaços de endereçamento. A existência do 3º espaço de endereçamento, que aparece a tracejado na figura, depende do modelo do µc. O primeiro espaço é constituído por 128 bytes (endereços 0 a 127) e destina-se ao armazenamento de operandos necessários ao processo computacional. Cada uma das posições de memória pode ser endereçada directa ou indirectamente, isto é, a operação de leitura ou escrita pode ser feita especificando o endereço ao qual se vai aceder ou especificando um registo no qual existe o endereço que vai ser acedido. Os 128 bytes mais altos do espaço de endereçamento são, em alguns modelos de µcs, partilhados por 2 blocos de memória. Figura 3 Memória interna de dados A única diferença existente entre estes 2 blocos tem a ver com o processo de endereçamento. Num deles, que existe em todos os µcs e que contém os registos de função especial (SFRs), o acesso é feito utilizando endereçamento directo. O outro bloco, cujas posições se destinam a uso genérico, só pode ser acedido utilizando endereçamento indirecto. 4

9 Os 128 bytes mais baixos da memória interna de dados do 8051 estão representados na fig. 4. Bancos de registos: as primeiras 32 posições de memória estão organizadas em 4 bancos de registos, cada um deles com 8 registos (R0, R1,..., R7). A selecção de cada um destes bancos é feita a partir dos bits RS0 e RS1 do registo PSW. Zona endereçável ao bit: as 16 posições de memória seguintes, endereços 20h a 2Fh, podem ser endereçadas ao bit. Os endereços de bit utilizados no endereçamento podem variar entre 0 e 127 (0 é o bit menos significativo da posição de memória 20h e 127 o bit mais significativo da posição de memória 2Fh). Início da stack: quando é feito o reset do µc, Figura 4 Memória interna de dados (0 7F) o ponteiro da stack é inicializado com o valor 07h. Isto quer dizer que a estrutura de stack irá crescer a partir desta posição de memória o que obriga, se não quisermos alterar o seu início, a ter certos cuidados na declaração das variáveis a utilizar no programa. Na zona superior da memória interna de dados encontram-se os registos de função especial SFRs. Estas posições de memória, que podem ser acedidas unicamente por endereçamento directo, estão ligadas ao hardware do µc. Na figura seguinte pode ser visto o conjunto base de SFRs. Figura 5 Mapa de memória dos SFRs 5

10 De notar que nesta zona de memória só os endereços correspondentes aos SFRs se encontram descodificados pelo que não deve ser tentado qualquer acesso às restantes posições de memória. Ainda nesta zona de memória, todos os SFRs cujo endereço termine em 0 ou 8 podem ser acedidos ao bit. Os diferentes registos de função especial podem ser agrupados de acordo com as suas funcionalidades: Registos Aritméticos o Registo B o Acumulador o Registo de Estados B ACC PSW Ponteiros o Ponteiro da Stack SP o Ponteiro de Dados DPH (8 bits + significativos) DPL (8 bits - significativos) Portos Paralelos de E/S de Dados o Porto 0 o Porto 1 o Porto 2 o Porto 3 Sistema de Interrupções o Controlo de Prioridade o Enable de Interrupções P0 P1 P2 P3 IP IE Temporizadores / Contadores o Modo de funcionamento TMOD o Controlo TCON o Timer 0 TH0 (8 bits + significativos) TL0 (8 bits - significativos) o Timer 1 TH1 (8 bits + significativos) TL1 (8 bits - significativos) Porto Série o Controlo da Com. Série o Buffer da Com. Série Outras Funções o Controlo de Potência SCON SBUF PCON Acumulador - Registo ligado à ALU do µc. Embora o nome deste registo seja ACC, as mnemónicas das instruções que o usam especificamente referem-se ao acumulador como A. Registo B - Este registo é usado especialmente nas operações de multiplicação e divisão. Fora destas operações pode ser utilizado como um registo de uso normal. 6

11 Registo de Estados o registo PSW contém informações sobre o estado do programa. A sua constituição encontra-se na figura seguinte. Bit Símbolo Função PSW.7 CY Flag de Carry PSW.6 AC Flag de Carry auxiliar (para operações em BCD) PSW.5 F0 Flag de uso geral PSW.4 RS1 Bits de selecção do banco de registos da memória PSW.3 RS0 interna de dados PSW.2 OV Flag de overflow PSW.1 Flag definida pelo utilizador PSW.0 P Flag de paridade par do Acumulador Figura 6 Registo de Estados (PSW) Ponteiro da Stack trata-se de um registo de 8 bits cujo em cada instante contém o endereço do topo da estrutura de stack. Este ponteiro é incrementado antes de os dados serem guardados durante a execução de instruções de PUSH e CALL, e decrementado depois da recuperação dos dados durante a execução de instruções de POP e RETURN. Ponteiro de Dados o ponteiro DPTR é constituído por um byte mais significativo DPH e um byte menos significativo DPL. Este registo destina-se a conter um endereço de 16 bits para acesso indirecto às memórias de programa e de dados. Portos 0 a 3 portos de entrada / saída de dados, num total de 32 bits programáveis individualmente como entrada ou saída de dados. Buffer de Comunicação Série registo SBUF, composto por 2 registos separados que constituem o buffer de transmissão e o buffer de recepção, permitindo uma comunicação em full-duplex. Temporizadores / Contadores pares de registos (TH0, TL0) e (TH1, TL1) que constituem os dois temporizadores / contadores de 16 bits disponíveis no µc. Registos de Controlo os registos de função especial IP, IE, TMOD, TCON, SCON e PCON contém bits de controlo e de estados para o sistema de interrupções, temporizadores / contadores e porto série Memória de dados externa Em aplicações onde seja necessário utilizar uma quantidade de memória de dados superior à existente no interior do µc, é sempre possível adicionar memória externa de dados até um máximo de 64 Kbytes. No parágrafo seguinte será explicada a interligação entre diferentes tipos de memória externa e o

12 4.3 Multiplexagem de Barramentos Como foi visto no parágrafo anterior, nos µcs da família 51 que dispõe de barramentos para acesso a memória externa, o barramento de dados é partilhado com os 8 bits menos significativos do barramento de endereços através de um processo que se designa por multiplexagem de barramentos. Esta multiplexagem no tempo permite que, durante uma primeira fase do acesso ao exterior, o Porto 0 contenha os 8 bits menos significativos do endereço e, numa segunda fase, o barramento é comutado para conter os dados que vão ser transferidos (lidos ou escritos). Este processo pode ser analisado na fig. 7 na qual se mostra a evolução dos barramentos e sinais de controlo numa operação de escrita na memória externa de dados. Figura 7 Escrita na memória externa de dados No início do processo de escrita, os Portos P0 e P2 contem o endereço da posição de memória a aceder. O sinal de controlo ALE (Address Latch Enable) é activado para sinalizar que no porto 0 se encontram os 8 bits menos significativos do endereço. De seguida o conteúdo de P0 é comutado passando a conter os dados a serem escritos. Nesta altura é activado o sinal WR que vai efectuar a escrita daqueles dados no dispositivo de memória. Nas figuras 8 e 9 pode ser vista a evolução dos barramentos e sinais de controlo em operações de leitura da memória externa de dados e de leitura de código da memória externa de programa. Figura 8 Leitura da memória externa de dados Figura 9 Leitura de código da memória externa de programa 8

13 Como já é sabido, para que possa ser feita uma operação de leitura ou escrita num dispositivo de memória, é necessário que o barramento de endereços permaneça estável durante todo o processo. Analisando os casos anteriores, podemos verificar que os 8 bits menos significativos daquele barramento são retirados do porto 0 para dar lugar aos dados. É então necessário adicionar algum hardware externo para que possa ser feira a memorização de A0..7. Isto é feito com o circuito que se apresenta na figura 10 onde pode ser vista a utilização de uma latch (p. ex. 74HCT573) que permite a memorização dos 8 bits menos significativos do endereço sempre que é activado o sinal ALE. Figura 10 Interligação do 8051 com memória externa Embora estes µcs disponham de um barramento externo de endereços de 16 bits, a existência de diferentes barramentos de controlo para memória de programa (PSEN) e memória de dados (RD, WR) permite o endereçamento de um total 128K bytes (64K de programa + 64K de dados). A activação de cada um destes barramentos tem a ver com a execução de instruções próprias para cada um dos acessos. Assim, por exemplo, a instrução MOVC acede à memória de programa enquanto que a instrução MOVX permite aceder à memória externa de dados. 5 Portos de Entrada / Saída de Dados O µc8051 disponibiliza 4 portos de E/S de 8 bits cada, num total de 32 bits programáveis individualmente como entrada ou saída. Cada um destes bits é constituído por um FF D, um driver de saída e um buffer de entrada. O acesso a estes portos é feito através dos SFRs P0 a P3. Os drivers de saída dos portos 0 e 2 e o buffer de entrada do porto 0 podem ser utilizados no acesso à memória externa utilizando o processo de multiplexagem de barramentos analisado no parágrafo anterior. Os 8 bits que fazem parte do porto 3 disponibilizam, para além da normal E/S de dados, uma segunda função: P3.0 RxD (linha de recepção de dados do porto série) P3.1 TxD (linha de transmissão de dados do porto série) P3.2 INT0 (entrada de interrupção externa) P3.3 INT1 (entrada de interrupção externa) P3.4 T0 (entrada de relógio para o temporizador / contador 0) P3.5 T1 (entrada de relógio para o temporizador / contador 1) 9

14 P3.6 WR (sinal de escrita na memória externa de dados) P3.7 RD (sinal de leitura na memória externa de dados) 5.1 Porto 0 Na fig. 11 está representado o hardware correspondente a um bit do Porto 0. Podemos identificar a latch onde podem ser escritos os dados a enviar para a saída, o driver de saída e o buffer de entrada. De notar ainda a existência de um multiplexador que é comutado sempre que é necessário activar o barramento externo para operações de acesso a memória. Em operações de barramento este porto apresenta um driver de saída que pode ter 3 estados possíveis: 0, 1 e HiZ (alta impedância) Em operações de E/S de dados existem duas hipóteses possíveis: Figura 11 Hardware de um bit do Porto 0 Operação de Entrada de Dados: neste caso deve ser escrito um 1 na latch do porto. Desta maneira os fets do andar de saída são colocados no estado OFF e o porto fica em alta impedância permitindo assim a operação de entrada de dados. Operação de Saída de Dados: dado que o fet superior do andar de saída só entra em estado ON nas operações de barramento, o Porto 0, como saída de dados, possui um driver em dreno aberto. Isto obriga à utilização de resistências de pull-up no exterior para poder ser garantido o nível lógico Porto 1 A figura ao lado representa o hardware associado a um bit do Porto 1. A sua estrutura é bastante mais simples do que a dos restantes portos dado que este porto não possui segundas funções. Trata-se única e exclusivamente de um porto de E/S de dados. Relativamente ao Porto 0, umas das diferenças tem a ver com a constituição do driver de saída. Neste caso o fet superior é substituído por um pull-up que apresenta uma resistência de 20K a 40K. Operação de Entrada de Dados: para programar o bit do porto com entrada de dados é necessário Figura 12 Hardware de um bit do Porto 1 escrever um 1 na latch de dados de maneira a que o fet inferior seja colocado no estado OFF. De notar que os diferentes bits deste porto, quando programados como entrada, não apresentam alta impedância devido à existência do pull-up interno. 10

15 Operação de Saída de Dados: a escrita de um 0 na latch de dados coloca em condução o fet do driver de saída ligando à massa o pino exterior. A escrita de um 1 na mesma latch coloca o fet em estado OFF colocando o pino do porto ligado a VDD através do pull-up interno. De notar ainda que, quando se processa uma transição de 0 para 1 no bit de saída, o pull-up é curto circuitado durante 2 períodos de relógio de maneira a reduzir a 0 a constante de tempo de carga dos circuitos externos e consequentemente reduzir praticamente a 0 o tempo de subida do sinal no pino do µc. 5.3 Porto 2 O hardware de um bit do Porto 2 está representado na fig. 13. Este porto apresenta um driver de saída semelhante ao existente no Porto 1 e, dado que uma das suas funções é colocar no exterior os 8 bits mais significativos do endereço nas operações de acesso à memória externa, possui também um multiplexador como acontecia com o porto 0. Os processos ligados às operações de E/S de dados são iguais aos descritos para o Porto 1. Figura 13 Hardware de um bit do Porto Porto 3 O hardware que implementa os diferentes bits do Porto 3 do µc8051 é idêntico ao apresentado para os Portos 1 e 2. A diferença existente tem a ver com a possibilidade de os bits deste Porto poderem apresentar funções alternativas como se referiu no início do parágrafo 5. Estes sinais, que podem estar ligados à UART (TxD, RxD), ao sistema de interrupções (INT0, INT1), aos temporizadores / contadores (T0, T1) e à unidade de controlo (WR, RD), são lidos ou escritos através das linhas que se apresentam na fig. 14. De notar que neste porto podem coexistir, em funcionamento normal, bits de E/S e bits com funções especiais. Em termos de operações de E/S, o funcionamento é o mesmo que foi visto para os Portos 1 e 2. Figura 14 Hardware de um bit do Porto 3 11

16 6 Temporizadores / Contadores Os µcs da família 51 possuem pelo menos 2 temporizadores / contadores de 16 bits, Timer 0 e Timer 1. podendo ser cada um deles configurado para funcionar como temporizador ou como contador de eventos. Os registos físicos que implementam o T/C 0 (TH0 e TL0) e o T/C 1 (TH1 e Tl1) estão mapeados na zona de memória dos SFRs. No modo de temporizador os registos são incrementados em cada ciclo máquina através de um sinal obtido do oscilador interno do µc e cuja frequência é fosc/12. No modo de funcionamento de contador, os registos são incrementados no flanco descendente do sinal que é introduzido nos pinos T0 (para o T/C 0)e T1 (para o T/C 1). Neste caso, o método de amostragem do sinal de entrada, que necessita de 2 ciclos máquina para reconhecer uma transição de 1 para 0, limita a frequência do sinal de entrada a fosc/ Registo TMOD GATE C/T Quando este bit está igual a 1, o Timer/Counter x só funciona se o pino exterior INTx e o bit de controlo TRx estiverem a nível lógico 1. Quando este bit for igual a 0, o Timer/Counter x funciona se TRx=1. =1 permite o funcionamento do Timer/Counter x como contador utilizando para isso o sinal introduzido a partir do pino exterior Tx =0 permite o funcionamento do Timer/Counter x como temporizador utilizando para isso o sinal resultante do oscilador interno (fosc 12) M1 M0 Modo de Funcionamento 0 0 T/C de 8 bits crescente com um prescaler de 5 bits ( 32) 0 1 T/C crescente de 16 bits (THx + TLx) 1 0 T/C crescente de 8 bits (TLx) com recarga (THx) 1 1 O T/C 0 funciona como 2 T/Cs independentes de 8 bits (TH0 e TL0) Este modo de funcionamento para o T/C 1 serve unicamente para parar o seu funcionamento Figura 15 Registo para definição do modo de funcionamento dos T/Cs 12

17 6.2 Registo TCON Bit Símbolo Função TCON.7 TF1 Flag que sinaliza o overflow do T/C 1. Esta flag é automaticamente colocada a 0 quando o processador entra na rotina de atendimento da interrupção. Pode também ser colocada a 0 por software. TCON.6 TR1 0 - T/C 1 parado 1 - T/C 1 em funcionamento TCON.5 TF0 Flag que sinaliza o overflow do T/C 0. Esta flag é automaticamente colocada a 0 quando o processador entra na rotina de atendimento da interrupção. Pode também ser colocada a 0 por software. TCON.4 TR0 0 - T/C 0 parado 1 - T/C 0 em funcionamento TCON.3 IE1 Flag de activação da interrupção externa INT1 (activação por flanco). Esta flag é colocada a 1 quando é detectado o pedido de interrupção. O seu reset é feito por hardware quando o processador entra na rotina de atendimento da interrupção. TCON.2 IT1 0 Interrupção externa INT1 activada pelo nível 0 1 Interrupção externa INT1 activada por flanco descendente TCON.1 IE0 Flag de activação da interrupção externa INT0 (activação por flanco). Esta flag é colocada a 1 quando é detectado o pedido de interrupção. O seu reset é feito por hardware quando o processador entra na rotina de atendimento da interrupção. TCON.0 IT0 0 Interrupção externa INT0 activada pelo nível 0 1 Interrupção externa INT0 activada por flanco descendente Figura 16 Registo de controlo dos T/Cs 6.3 Funcionamento dos Temporizadores / Contadores Os 2 temporizadores / contadores, T/C 0 e T/C 1, podem funcionar quer como temporizadores quer como contadores de eventos. Estas duas funções podem ser escolhidas, para cada um deles, através dos bits C/T do registo de função especial TMOD. Cada um destes T/Cs dispõe de 4 modos de funcionamento. A selecção de um modo de funcionamento é feita através dos bits M1 e M0 do registo TMOD. Os modos de funcionamento 0, 1 e 2 são iguais para os dois T/Cs. No modo 3 os dois T/Cs apresentam diferenças de funcionamento. Nos parágrafos seguintes são analisados os diferentes modos Modo 0 Programando qualquer um dos T/Cs em Modo 0 permite a implementação de um contador de 8 bits com um divisor de frequência por 32. Este modo de funcionamento é mostrado, para o T/C 1, na fig. 18. Em Modo 0 o T/C é configurado como um registo de 13 bits em que os 8 bits mais significativos são implementados pelo registo TH1 e os 5 bits menos significativos pelo TL1. Neste último registo os 3 bits mais significativos não são utilizados. Como podemos ver na figura, os impulsos de contagem podem ter origem no oscilador interno ou no pino exterior T1 dependendo do valor do bit T/C do registo TMOD. A entrada desses impulsos no contador depende dos valores existentes em TR1, Gate e pino exterior INT1. Assim, se Gate=0 então o ON/OFF do 13

18 contador é controlado exclusivamente por TR1 (0=OFF, 1=ON). Se Gate=1 então a chegada dos impulsos de contagem ao contador depende do valor de TR1 e do valor lógico aplicado ao pino exterior INT1. Só existe contagem de impulsos se TR1=1 e se INT1=1. Isto permite o controlo ON/OFF do contador a partir de um sinal exterior ao µc. Figura 17 T/C 1 programado em Modo 0 (contador de 13 bits) Quando se verifica o overflow do contador, é activada a flag TF1 que, como veremos mais à frente, está ligada ao sistema de interrupções do µc. Embora na fig. 17 esteja representado o T/C 1, tudo o que foi dito também se aplica ao T/C 0, substituindo TL1 e TH1 por TL0 e TH0, TF1 por TF0, T1 por T0 e TR1 por TR0 e INT1 por INT0. Os bits Gate e T/C terão que ser os correspondentes ao T/C 0 no registo TMOD Modo 1 O Modo 1 de funcionamento é igual ao Modo 0 com a única diferença de que o contador de 13 bits é substituído por um contador de 16 bits. Neste caso todos os bits de TL1(0) estarão activos podendo então ser efectuadas contagens entre 0000h e FFFFh. Os sinais de controlo são os mesmos apresentados no parágrafo anterior Modo 2 O Modo 2 de funcionamento configura o T/C como um contador crescente de 8 bits (TL1) com recarga automática, como se mostra na fig. 18. Figura 18 T/C 1 programado em Modo 2: contador de 8 bits com auto recarga 14

19 O overflow do contador TL1 não só activa a flag TF1 como também provoca a recarga de TL1 com o valor contido em TH1. Este valor, carregado em TH1 por software, não é alterado após a operação de recarga. Este modo de funcionamento aplica-se igualmente ao T/C Modo 3 A programação do T/C 1 em Modo 3 provoca simplesmente a paragem do processo de contagem. A programação em Modo 3 do T/C 0 configura-o como 2 contadores independentes de 8 bits (TL0 e TH0) como se mostra na fig. 19. Figura 19 T/C 0 programado em Modo 3 Neste modo de programação, o contador TL0 utiliza os sinais de controlo do T/C 0: C/T, Gate, INT0, TR0 e TF0. No que diz respeito ao contador implementado por TH0, os seus sinais de controlo são os normalmente atribuídos ao T/C 1: TR1 e TF1. Estes sinais de controlo ficam assim indisponíveis para serem utilizados pelo T/C 1. De notar que, neste modo de programação do T/C 0, a interrupção do T/C 1 é activada pelo overflow do contador TH0. Este modo de funcionamento permite dotar uma aplicação com 3 temporizadores / contadores independentes, embora fiquem diminuídas algumas funcionalidades do T/C 1. Contudo este T/C pode ser parado não através de TR1 mas através da sua reprogramação em Modo 3, podendo ainda ser utilizado em todas as aplicações que não necessitem de interrupções, incluindo como gerador de taxa de transmissão para a UART como poderemos ver nos parágrafos seguintes. 7 Porto Série O porto série que se encontra em todos os µcs da família 51 permite comunicações série síncronas e assíncronas, utilizando para isso uma UART. No caso das comunicações assíncronas, estas podem ser feitas em modo full-duplex. Na figura seguinte é apresentado um diagrama de blocos que descreve a UART do µc. 15

20 Figura 20 - Diagrama de blocos da UART Neste diagrama de blocos podemos ver que a UART é constituída por duas zonas distintas que correspondem à recepção de dados (à direita na figura) e à transmissão de dados (à esquerda na figura). Estas duas zonas independentes partilham unicamente o sistema de relógio que permite gerar a taxa de transmissão. Os dois registos SBUF, embora partilhem um endereço único na zona dos SFRs, são na realidade implementados em hardware por registos independentes (um só de escrita e o outro só de leitura). 7.1 Funcionamento em transmissão de dados A escrita no registo SBUF de transmissão provoca a entrada em funcionamento da metade da UART correspondente à transmissão de dados. Logo que é detectada a escrita neste registo, o seu valor é transferido para o shift-register de transmissão começando imediatamente o processo de transmissão série dos dados de acordo com a programação da UART. Os diferentes bits que fazem parte da trama a transmitir são colocados sucessivamente no pino exterior TxD a uma taxa que é definida pelo gerador de taxa de transmissão. Como veremos a seguir esta taxa é programável. Logo que termina a transmissão da trama em questão, é activada a flag TI que está ligada ao sistema de interrupções do µc podendo, se autorizada, gerar uma interrupção com o consequente processo inerente a este tipo de evento. 7.2 Funcionamento em recepção de dados Desde que activado, o sistema de recepção de dados faz uma amostragem do pino exterior RxD a uma taxa 16 vezes superior à taxa de comunicação que foi definida. Logo que seja detectado um start bit (transição de RxD de 1 para 0) é desencadeado todo o processo de leitura da informação que irá chegar por RxD. Após a detecção do flanco descendente do start bit, a UART retira 16 amostras consecutivas da linha de recepção e, a partir das amostras 7, 8 e 9, correspondentes ao meio do bit, decide por maioria se se trata ou não de um start bit. Este processo implementa uma detecção de falsos start bits permitindo anular ruídos que surjam na linha, desde que estes não ultrapassem o tempo de meio bit. Para os restantes bits que compõe a trama, o processo é idêntico. São feitas 16 amostras do bit e a decisão sobre a leitura de um 0 ou de um 1 é feita por maioria a partir das amostras 7, 8 e 9. Após a determinação do valor de um novo bit, este é deslocado para dentro do shift-register de recepção. Logo que tenha sido recebida a trama completa, se a flag RI=0, então a nova palavra é transferida para o registo de recepção SBUF e é activada a flag RI. Esta flag, que está ligada ao sistema de interrupções do µc, 16

21 indica a recepção de uma nova palavra. O software implementado deve ler o registo SBUF e colocar a 0 a flag RI. No caso de ter sido recebida uma nova palavra e a flag RI se encontrar em 1, o conteúdo do shift-register de recepção não é passado para o SBUF ficando a palavra recebida provisoriamente armazenada no próprio shift-register. Logo que seja detectada a passagem de RI a 0 é feita a sua transferência para o SBUF de recepção. Isto quer dizer que o sistema de recepção da UART tem capacidade para armazenar até 2 palavras sem que haja leitura por parte do CPU, constituindo aquilo que normalmente se designa por um duplo buffer de recepção. 7.3 Registo de Controlo do Porto Série SM0 e SM1 especificam o modo de funcionamento do porto série de acordo com a seguinte tabela: SM0 SM1 Modo Funcionamento Taxa de Comunicação bits síncrono fosc/ bits UART variável bits UART fosc/64 ou fosc/ bits UART variável SM2 REN TB8 RB8 TI Bit de recepção condicional. Nos modos 2 e 3, se SM2=1, RI só será activada se o 9º bit recebido for igual a 1. No modo 1, se SM2=1, a flag RI só é activada se for recebido um stop bit válido. Coloca em funcionamento o hardware de recepção da UART. Deve ser escrito por software um 1 para activar a unidade de recepção da UART, deve ser escrito um 0 para a sua desactivação. 9º bit a ser transmitido nos modos 2 e 3. Colocado em 0 ou 1 por software. 9º bit recebido nos modos 2 e 3. No modo 1, se SM2=0, RB8 contém o stop bit recebido. Flag de transmissão concluída. É colocada em 1 pelo hardware quando termina a transmissão do 8º bit no modo 0 ou quando começa a transmissão do stop bit nos restantes modos de funcionamento. Deve ser colocada em 0 por software. RI Flag de recepção completa. Colocada em 1 por hardware no final da recepção do 8 bit em modo 0 ou durante a recepção do stop bit nos restantes modos de funcionamento. Deve ser colocada em 0 por software. Figura 21 - Registo de controlo do Porto Série (SCON) 17

22 7.4 Funcionamento em MODO 0 Trata-se de um modo de comunicação síncrona em que o sinal de sincronismo é emitido pelo µc quer na transmissão quer na recepção. Neste modo de funcionamento os dados são transmitidos ou recebidos através de RxD e o sinal de sincronismo é emitido através de TxD. No processo de transmissão, logo que é detectada a escrita no registo SBUF a UART começa a efectuar a transmissão dos 8 bits (primeiro o bit sig) de acordo com o diagrama seguinte: Figura 22 - Transmissão de dados em Modo 0 A recepção de uma palavra é iniciada, neste modo de funcionamento, pela condição REN=1 e RI=0. Logo que esta condição se verifique, o µc começa a emitir o sinal de sincronismo para que o hardware exterior comece a disponibilizar os diferentes bits que compõe a palavra. Este processo encontra-se esquematizado no diagrama seguinte: Figura 23 - Recepção de dados em Modo 0 Trata-se de uma comunicação feita a uma taxa fixa igual a fosc/12. Isto significa que, para um µc a funcionar com uma frequência de relógio de 12 MHz, a comunicação será efectuada a 1 Mbit/s. Este modo de funcionamento pode ser utilizado para uma expansão dos portos do µc utilizando um processo de conversão paralelo / série (porto de entrada) ou série / paralelo (porto de saída). 7.5 Funcionamento em MODO 1 Neste modo de funcionamento a trama transmitida ou recebida é composta por 10 bits: Start bit + 8 bits de dados + stop bit Como em qualquer um dos outros modos de funcionamento, a transmissão é iniciada quando é efectuada uma operação de escrita no registo SBUF. A partir deste momento a UART começa a colocar em TxD o start bit, a seguir os 8 bits de dados (primeiro o sig) e finalmente o stop bit. O processo de recepção é iniciado sempre que, na amostragem que é feita à linha RxD, é encontrado um start bit válido (ver 7.2). Quando isto acontece, as amostragens seguintes de RxD colocam os diferentes bits da trama no shift-register de recepção, terminando o processo com a activação da flag RI (caso se encontre em 0) e a transferência da palavra lida para o SBUF de recepção. A taxa de comunicação neste modo de funcionamento é conseguida através do T/C1 que deve ser programado em modo 2 (auto-reload). O valor com que deve ser carregado o registo de recarga (TH1) é calculado através da seguinte fórmula: 18

23 em que SMOD é o bit 7 do registo PCON. Na tabela seguinte são indicadas algumas configurações possíveis para a obtenção de taxas de comunicação normalizadas. Timer 1 Taxa de comunicação fosc SMOD C/T Modo Valor de recarga bps MHz FDh 9600 bps MHz FDh 4800 bps MHz FAh 2400 bps MHz F4h 1200 bps MHz E8h Tabela 2 - Configurações para taxas de comunicação normalizadas De notar que, tanto no modo 1 como no modo 3 de funcionamento, o T/C1 fica reservado para gerador da taxa de comunicação, devendo ser desactivada a sua interrupção. 7.6 Funcionamento em MODO 2 Neste modo de funcionamento, a trama transmitida ou recebida é composta por 11 bits: Start bit + 8 bits de dados + 9º bit + stop bit O 9º bit da trama pode ser utilizado para controlo de erros de comunicação, p. ex. bit de paridade, ou para a implementação do protocolo master-slave que será estudado num dos parágrafos seguintes. A taxa de comunicação neste modo de funcionamento é dada por 7.7 Funcionamento em MODO 3 O modo 3 de funcionamento da UART utiliza uma trama igual à que foi descrita para o modo 2 e uma taxa de comunicação que é obtida da maneira indicada para o modo Comunicações em Rede de µcs Uma das maneiras mais simples de implementar uma rede de mcs é a utilização de um protocolo do tipo Master-Slave. Neste tipo de protocolo existe uma disciplina muito rígida de acesso ao meio de comunicação o que permite evitar colisões de informação e portanto uma grande simplificação nos processos de comunicação. Na figura seguinte representa-se uma rede de µcs que poderá funcionar com um protocolo deste tipo. 19

24 Figura 24 - Rede de μcs master-slave Num sistema deste tipo, qualquer comunicação só pode ser feita por iniciativa do sistema master. Para isso, o µc master começa por enviar para a rede o endereço do dispositivo slave com quem quer comunicar. Todos os slaves, que se encontram a ouvir a rede, recebem este endereço e só aquele a quem o endereço diz respeito fica autorizado a estabelecer uma troca de dados com o master, ficando os restantes à espera que seja lançado na linha um novo endereço. Para que seja possível distinguir uma palavra de endereço de uma palavra de dados é normal utilizar o 9º bit de dados da trama de comunicação. Desta maneira, se o 9º bit for 1 significa que a palavra contém um endereço. Caso contrário, 9º bit igual a 0, a palavra contém dados para a comunicação entre o master e o slave endereçado anteriormente. Em resumo, numa troca de informação entre o master e um slave, só a primeira palavra emitida pelo master deve conter o 9º bit a 1. Todas as restantes palavras trocadas entre os dois devem conter esse bit a 0. Uma maneira eficiente de funcionar dentro de uma rede deste tipo é a utilização das interrupções ligadas às UARTs dos µcs master e slave. Quer isto dizer que cada vez que uma nova palavra é enviada para a linha, os µcs que se encontram a ouvir a linha serão interrompidos. É evidente que para os slaves que não estão endereçados, a troca de mensagens entre o master e o slave endereçado não tem qualquer tipo de interesse pelo que todas as interrupções sofridas poderiam ser evitadas. Os µcs da família 51 dispõe de um mecanismo específico que permite resolver este problema e melhorar o desempenho da rede onde se encontram inseridos. Este mecanismo tem a ver com a utilização do bit SM2 existente no registo SCON. Quando a UART funciona em modo 2 ou 3 este bit, quando se encontra activado, permite que só sejam recebidas palavras da linha série quando o 9º bit for igual a 1 e consequentemente só será gerada uma interrupção ao CPU se isto acontecer. O processo de comunicação na rede será o seguinte: O master quando necessita de comunicar com um slave envia o seu endereço para a linha, com o 9º bit a 1. Todos os slaves que devem estar à escuta da linha, e que tem SM2=1, são interrompidos recebendo o endereço enviado pelo master e comparando-o com o seu próprio endereço. O slave endereçado deve colocar o SM2=0 de maneira a conseguir receber por interrupção a restante comunicação do master. SM2 será novamente colocado em 1 quando termina a troca de informação. Os slaves não endereçado devem manter o SM2=1. Desta maneira a troca de informação entre o master e o slave endereçado não provocará interrupções no funcionamento do µc. Só quando for emitido um novo endereço para a linha, no início de uma nova comunicação, é que existirá uma nova interrupção do slave. 20

25 8 Sistema de Interrupções O sistema base de interrupções dos µcs da família 51 é constituído por 6 fontes de interrupção, duas das quais pertencem a um mesmo periférico (UART), e encontram-se representadas na figura seguinte. Figura 25 Sistema base de interrupções dos μcs da família 51 Podemos ver a existência de 6 fontes de interrupção sendo as duas últimas provenientes de um mesmo periférico que é a UART. Estas 6 fontes dão origem a 5 diferentes níveis de interrupção, correspondendo a cada um deles um determinado vector de interrupção localizado na memória de programa. As interrupções externas INT0 e INT1 podem ser activadas por nível ou flanco dependendo do valor dos bits IT0 e IT1 do registo TCON. As flags que provocam a interrupção são IE0 e IE1, pertencentes também ao registo TCON. Para o caso das interrupções externas, se estiverem activas por flanco, as flags IE0 e IE1 são colocadas a zero pelo hardware quando é feita a chamada à rotina de serviço da interrupção. No caso de serem activadas por nível, o sofware da rotina de serviço da interrupção é responsável pela sua colocação a zero. As interrupções dos T/Cs são activadas sempre que se verifique uma situação de overflow dos contadores, através da activação das respectivas flags TF0 e TF1. Estas flag são colocadas a zero pelo hardware sempre que é feita a chamada à rotina de interrupção. A interrupção do porto série é gerada a partir do OU lógico das flags TI (transmissão) e RI (recepção). Dado que qualquer uma destas flags provoca a chamada da mesma rotina de atendimento, o hardware não faz o seu reset para permitir o reconhecimento da origem da interrupção por parte do software de serviço. Este reset deve ser feito pelo próprio software. Qualquer uma das flags acima descritas pode ser colocada a 0 ou 1 por software, com os mesmos resultados que seriam gerados se fossem desactivadas ou activadas pelo hardware, isto é, podem ser geradas interrupções por software ou podem ser canceladas interrupções pendentes. Cada uma destas interrupções pode ser permitida ou inibida a partir do registo IE que se descreve no parágrafo seguinte. 21

26 8.1 Registo de Permissão das Interrupções Bit Símbolo Função IE.7 EA EA=0 inibe todas as interrupções independentemente do valor que possam ter os bits de permissão individuais. EA=1 permite o desencadear das interrupções cujos bits de permissão individual estejam activados. IE Reservado IE Reservado IE.4 ES Permite ou inibe as interrupções geradas pela UART. IE.3 ET1 Permite ou inibe a interrupção gerada pelo overflow do T/C1. IE.2 EX1 Permite ou inibe a interrupção gerada pela entrada externa INT1. IE.1 ET0 Permite ou inibe a interrupção gerada pelo overflow do T/C0. IE.0 EX0 Permite ou inibe a interrupção gerada pela entrada externa INT0. Figura 26 Registo de permissão das interrupções (IE) 8.2 Prioridade das Interrupções A cada fonte de interrupção pode ser atribuído um de dois níveis de prioridade - prioridade baixa ou prioridade alta, através do preenchimento dos respectivos bits do registo IP. Bit Símbolo Função IP.7 Reservado IP.6 Reservado IP.5 Reservado IP.4 PS Prioridade da interrupção gerada pela UART. PS=1 define prioridade elevada IP.3 ET1 Prioridade da interrupção gerada pelo T/C1. ET1=1 define prioridade elevada IP.2 EX1 Prioridade da interrupção gerada por INT1. EX1=1 define prioridade elevada IP.1 ET0 Prioridade da interrupção gerada pelo T/C0. ET0=1 define prioridade elevada IP.0 EX0 Prioridade da interrupção gerada por INT0. EX0=1 define prioridade elevada Figura 27 Registo de prioridade das interrupções (IP) 22

27 A rotina de serviço de uma interrupção de baixa prioridade pode ser interrompida por uma interrupção de mais alta prioridade, mas não por uma interrupção de baixa prioridade. Uma rotina de serviço de alta prioridade não pode ser interrompida por qualquer outra fonte de interrupção. Se forem recebidos simultaneamente dois pedidos de interrupção de níveis de prioridade diferente, é servido em primeiro lugar o pedido correspondente à interrupção de mais alta prioridade, sendo o outro pedido servido quando terminar a rotina de serviço da interrupção mais prioritária. No caso de termos pedidos simultâneos de periféricos com o mesmo nível de prioridade, o serviço das interrupções é feito atendendo à sequência que se apresenta a seguir: Fonte Prioridade dentro do mesmo nível 1. IE0 Prioridade mais alta 2. TF0 3. IE1 4. TF1 5. RI + TI Prioridade mais baixa 23

28

29 ANEXO A1 Conjunto de Instruções do 8051 As instruções assembly do 8051 devem ter o seguinte formato: instrução [operando destino [, operando fonte]] A1.1 Endereçamento de Operandos Endereçamento por registo Endereçamento directo Endereçamento indirecto por registo Endereçamento imediato Endereçamento indirecto por registo base + índex Estes cinco métodos podem ser utilizados para o endereçamento dos operandos FONTE. Os 3 primeiros podem ser utilizados para o endereçamento dos operandos DESTINO A1.1.1 Endereçamento por Registo Permite o endereçamento dos 8 registos R0.. R7 pertencentes ao actual banco de registos (definido pelo PSW). Permite ainda aceder aos registos A, B, C (bit), AB, DPTR. Ex: MOV A,R2 MOV C,bit MOV DPTR,#dado(16) MUL AB DIV AB A1.1.2 Endereçamento directo Permite o acesso aos SFRs, aos bits dos SFRs e da RAM interna e aos bytes da RAM interna (endereços entre 0 e 127). Ex: MOV A,P0 MOV A,60h CLR P0.5 MOV C,0 I

30 A1.1.3 Endereçamento Indirecto por Registo Permite o acesso à RAM interna de dados através dos registos R0 e R1 do actual banco de registos. Este acesso também pode ser feito através do SP (Stack Pointer) com as instruções PUSH e POP. Permite ainda o acesso à RAM externa de dados, também utilizando os registos R0 e R1. Pode ainda ser utilizado o DPTR para o acesso à totalidade dos 64K bytes de RAM externa de dados. Ex: MOV A,@R0 PUSH A MOVX A,@R0 MOVX A,@DPTR A1.1.4 Endereçamento Imediato O operando existe na própria instrução. Ex: MOV A,#26h A1.1.5 Endereçamento Indirecto por Registo Base + Registo Índex Utilizado para o acesso a tabelas existentes na memória de programa Ex: MOVC A,@A+DPTR MOVC A,@A+PC II

31 A2 Tabelas de Instruções III

32 IV

33 V

34 VI

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 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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Acetatos de apoio às aulas teóricas

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

Leia mais

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

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

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 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

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

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

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

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

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

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

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

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

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

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

ORGANIZAÇÃO DE MEMÓRIA NO 8051: Microcontroladores - Prof: Demantova 1

ORGANIZAÇÃO DE MEMÓRIA NO 8051: Microcontroladores - Prof: Demantova 1 ORGANIZAÇÃO DE MEMÓRIA NO 8051: 1 8. ORGANIZAÇÃO DE MEMÓRIA NO 8051: 00H 0000H BANCOS DE REGISTROS 00H 7FH 80H RAM INTERNA REGISTROS ESPECIAIS REGISTROS ENDEREÇÁVEIS POR BIT RAM DE USO GERAL 1FH 20H 2FH

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

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, 27 de Outubro de 2004 Microprocessadores

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

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

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

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

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

Faculdade de Engenharia da Universidade do Porto Projecto Seminário Trabalho de Fim de Curso. A Memória

Faculdade de Engenharia da Universidade do Porto Projecto Seminário Trabalho de Fim de Curso. A Memória A Memória Introdução Num microcontrolador convencional é usual encontrar três blocos de memória para fins distintos. Existe a memória interna que é principalmente usada para gestão de stack e/ou para guardar

Leia mais

Interrupções por hardware

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

Leia mais

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

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

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

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

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

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

Interrupções 8051 Porta Serial

Interrupções 8051 Porta Serial Interrupções 8051 Porta Serial Disciplina de Microcontroladores Prof. Ronnier Prof. Rubão Finalidade Introduzir ao aluno a ideia de que se possa interromper o programa, de forma temporária, e desta vez

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

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

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

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

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

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

TIMER2 no ATMEL AT89S8252 TIMER 2 - CARACTERISTICAS TIMER 2 MODOS

TIMER2 no ATMEL AT89S8252 TIMER 2 - CARACTERISTICAS TIMER 2 MODOS TIMER2 no ATMEL AT89S8252 Aplicações de Microprocessadores 2006/2007 TIMER 2 - CARACTERISTICAS Temporizador / Contador de 16 bits Funcionamento como Temporizador (conta ciclos máquina = 1/12 da Freq. Relógio)

Leia mais

Comunicação Serial II. Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03

Comunicação Serial II. Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03 Comunicação Serial II Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03 Roteiro Registradores Especiais Configuração: Modo 0 Modo 1 Modo 2 Modo 3 Exemplos Referências SCON.7: SM1 SCON.6: SM0 Modo

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

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

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

Organização Básica III

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

Leia mais

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

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

Leia mais

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

Trabalho Prático Nº3 Porta Paralela

Trabalho Prático Nº3 Porta Paralela Trabalho Prático Nº3 Porta Paralela 1. OBJECTIVOS - Utilização da porta paralela como porto genérico de Entrada e Saída. 2. INTRODUÇÃO A porta paralela é um meio frequentemente utilizado para efectuar

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

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

COMUNICAÇÃO SERIAL. Prof. Clayrton Henrique Microprocessadores Aula 30 Rev.02

COMUNICAÇÃO SERIAL. Prof. Clayrton Henrique Microprocessadores Aula 30 Rev.02 COMUNICAÇÃO SERIAL Prof. Clayrton Henrique Microprocessadores Aula 30 Rev.02 Roteiro Introdução EIA RS232 UART Arquitetura Registradores Especiais Configuração Exemplo Referências Introdução Serial É o

Leia mais

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

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

Microcontroladores (µcs) e microprocessadores (µps) A família 80C51. 80C51: Arquitectura do núcleo de base. Os µcs da família 80C51

Microcontroladores (µcs) e microprocessadores (µps) A família 80C51. 80C51: Arquitectura do núcleo de base. Os µcs da família 80C51 A família 80C51 Organização: Microcontroladores versus microprocessadores Os microcontroladores da família 80C51 Interface com o exterior Modelo de programação Processamento dos pedidos de interrupção

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

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007 Assembly 8051 Aplicações de Microprocessadores 2006/2007 Sintaxe do Assembly [Label] Op-code [Operando] [Comentário] tabela: movc a,@a+dptr ; vai à tabela buscar o seu correspondente ASCII 2 2 Instruções

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

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

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

MICROCONTROLADOR 8051

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

Leia mais

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

Arquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão

Arquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão Arquitetura do 8051 Disciplina de Microcontroladores Prof. Ronnier Prof. Rubão Objetivo fim Entender as noções básicas de microprocessadores, microcontroladores e sistemas embarcados Estudar a arquitetura

Leia mais

Microcontroladores. Contadores e Temporizadores. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Microcontroladores. Contadores e Temporizadores. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão Microcontroladores Contadores e Temporizadores Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão Introdução Como fazer um temporizador? 2 maneiras 2 Introdução Como fazer um

Leia mais

EEC2104 Microprocessadores

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

Leia mais

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

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

Leia mais

KIT DE DESENVOLVIMENTO 8051 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR. Rui Marcelino (Nov. 2005)

KIT DE DESENVOLVIMENTO 8051 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR. Rui Marcelino (Nov. 2005) KIT DE DESENVOLVIMENTO 805 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR Rui Marcelino (Nov. 2005) ÍNDICE Introdução 3 2 Características do Kit 3 3 Mapa de memória 4 3. Memória de Programa 4 3.2 Memória de

Leia mais

Barramentos: interface e temporização

Barramentos: interface e temporização Barramentos: interface e temporização Os barramentos (endereços, dados, controlo) são o meio de comunicação entre o microcontrolador e o exterior A nossa análise deste assunto incidirá sobre dois tipos

Leia mais

Aula 6. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento

Aula 6. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento Aula 6 Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento Interrupção É um evento externo ou interno que obriga o microprocessador a suspender suas

Leia mais

16/3/2009. Aula 6. Engenharia de Sistemas Embarcados

16/3/2009. Aula 6. Engenharia de Sistemas Embarcados Interrupção Aula 6 Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Arquitetura e Ambiente de Desenvolvimento É um evento externo ou interno que obriga o microprocessador a suspender suas

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

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

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

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

Conteúdo! " #!!! $ " % "!

Conteúdo!  #!!! $  % ! Interfaces Seriais Conteúdo! "#!!! $"%"! Como conectar equipamentos uns aos outros? " & '!! (! ) Interface Paralela Dados + controle Equipamento 1 Equipamento 2 Interface Paralela Todos os bits de uma

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

INTRODUÇÃO: MICROCONTROLADORES

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

Leia mais

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

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

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Fluxo Seqüencial de Controle e Desvios (1) Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Fluxo

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

Símbolos e abreviaturas utilizadas na descrição das instruções

Símbolos e abreviaturas utilizadas na descrição das instruções Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte

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