Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui...

102
MICROCONTROLADORES MICROCONTROLADORES Pós Pós- graduação graduação em em Automação Industrial Automação Industrial Prof. Prof. Msc Msc . Rogério Malta Branco . Rogério Malta Branco CEFET CEFET-PR / Pato Branco PR / Pato Branco

Transcript of Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui...

Page 1: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

MICROCONTROLADORESMICROCONTROLADORES

PósPós--graduaçãograduaçãoemem

Automação IndustrialAutomação Industrial

Prof. Prof. MscMsc. Rogério Malta Branco. Rogério Malta Branco

CEFETCEFET--PR / Pato BrancoPR / Pato Branco

Page 2: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

MicrocontroladoresMicrocontroladores

Parte I Parte I –– Definições gerais básicasDefinições gerais básicas

Parte II Parte II –– Microcontrolador 8051Microcontrolador 8051

Parte III Parte III –– Aplicações práticas com 8051Aplicações práticas com 8051

Parte IV Parte IV –– Comparativos entre famíliasComparativos entre famílias

Page 3: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE IPARTE I

Definições gerais básicasDefinições gerais básicas

Page 4: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte IParte I

1.1. IntroduçãoIntrodução2.2. Revisão de conceitos básicosRevisão de conceitos básicos3.3. O sistema microprocessadoO sistema microprocessado4.4. O microcontroladorO microcontrolador5.5. Arquiteturas básicasArquiteturas básicas6.6. Filosofias R.I.S.C e C.I.S.C.Filosofias R.I.S.C e C.I.S.C.

Referências bibliográficas:Referências bibliográficas:••MiniMini--curso Saber curso Saber jan/2001jan/2001••NicolosiNicolosi••VidalVidal••PaixãoPaixão

Page 5: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE I PARTE I -- IntroduçãoIntrodução

Page 6: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE I PARTE I –– Revisão de conceitosRevisão de conceitos

1.1. Representação da informaçãoRepresentação da informação(sistemas de numeração)(sistemas de numeração)

2.2. Aritmética bináriaAritmética binária3.3. Lógica combinacional Lógica combinacional

(somadores, (somadores, subtratoressubtratores, codificadores, decodificadores), codificadores, decodificadores)

4.4. Lógica seqüencialLógica seqüencial((flipflip--flopsflops, registradores), registradores)

5.5. MemóriasMemórias((RAMsRAMs, , ROMsROMs))

Page 7: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE I PARTE I –– SistSist. Microprocessado. Microprocessado

1.1. DefiniçãoDefinição2.2. Partes fundamentaisPartes fundamentais

Leitura sugeridaLeitura sugerida: Mini-curso SaberMicrocontrolador 8051 detalhadoAplicaç. Práticas 8051 (Vidal)

Page 8: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

SistSist. . µµPP -- DefiniçãoDefinição

Tem como propósito executar uma tarefa Tem como propósito executar uma tarefa específica gravada em sua memória de código específica gravada em sua memória de código ROM, e em geral comunicaROM, e em geral comunica--se com o mundo real se com o mundo real para obter informações do sistema que está para obter informações do sistema que está inserido e também poder atuar sobre ele.inserido e também poder atuar sobre ele.

É uma máquina É uma máquina sequêncialsequêncial e síncrona, e síncrona, necessitando de sinais de necessitando de sinais de clockclock para funcionar.para funcionar.

Page 9: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

SistSist. . µµPP –– Partes FundamentaisPartes Fundamentais

É constituído basicamente de: É constituído basicamente de: cpu, cpu, memórias, programa, memórias, programa, dispdisp. . I/OI/O, , clockclock..

Page 10: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

SistSist. . µµPP –– Partes FundamentaisPartes Fundamentais

CPU CPU –– Controla todas as funções realizadas pelo Controla todas as funções realizadas pelo sistema. Composta de registradores, contadores, ULA ...sistema. Composta de registradores, contadores, ULA ...

Page 11: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

SistSist. . µµPP –– Partes FundamentaisPartes FundamentaisRegistradoresRegistradores: Equivalentes a uma RAM, interna a CPU. : Equivalentes a uma RAM, interna a CPU. Armazenam temporariamente uma informação de utilidade interna ouArmazenam temporariamente uma informação de utilidade interna ouexterna à CPU. Podem ter ou não nomes e serem de função geral ouexterna à CPU. Podem ter ou não nomes e serem de função geral ouespecífica.específica.ProgramProgram CounterCounter: Aponta o próximo endereço da próxima instrução : Aponta o próximo endereço da próxima instrução a ser executada pela CPU.a ser executada pela CPU.InstructionInstruction RegisterRegister:É o local onde fica registrada a instrução :É o local onde fica registrada a instrução trazida da ROM para ser executada.trazida da ROM para ser executada.DecodeDecode UnitUnit:É o local onde a instrução locada no IR é traduzida. :É o local onde a instrução locada no IR é traduzida. Atua junto com a Unidade de ControleAtua junto com a Unidade de ControleUlaUla:Local de operação de lógica e aritmética.:Local de operação de lógica e aritmética.AccumulatorAccumulator:Registrador principal. Várias operações o envolvem.:Registrador principal. Várias operações o envolvem.OntrolOntrol UnitUnit:.è onde são processados os controles de fluxo das :.è onde são processados os controles de fluxo das informaçõesainformaçõesa fim de realizar a instrução recebida.fim de realizar a instrução recebida.

Page 12: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE I PARTE I –– O O µµCC

1.1. DefiniçãoDefinição2.2. Diferenças entre Diferenças entre µµP e P e µµCC3.3. PropPropóósito de aplicasito de aplicaççãoão4.4. Comparativos com a lComparativos com a lóógica fixagica fixa

Page 13: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

O O µµC C -- DefiniDefiniççãoão

O microcontrolador é conhecido como O microcontrolador é conhecido como microcomputador de um só chipmicrocomputador de um só chip, pois reúne , pois reúne num único componente vários elementos de um num único componente vários elementos de um sistema, antes baseado em microprocessador e sistema, antes baseado em microprocessador e que eram desempenhados por vários que eram desempenhados por vários componentes independentes tais como RAM, componentes independentes tais como RAM, ROM, comunicação serial, etc. ROM, comunicação serial, etc.

Page 14: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

O O µµC C -- Diferenças entre Diferenças entre µµP e P e µµCC

O O hardwarehardware internointerno do do µµCC é diferente, ou é diferente, ou seja, tem mais funções que o do seja, tem mais funções que o do µµPP..

ÉÉ importante enfatizar que, para a maioria importante enfatizar que, para a maioria das aplicadas aplicaçções, necessitaões, necessita--se, alse, aléém do m do chipchip do do µµPP, da ROM, do , da ROM, do latchlatch (bus (bus demuxdemux), da ), da adaptaadaptaçção serial, etc...ão serial, etc...

A figura a seguir ressalta algumas A figura a seguir ressalta algumas diferendiferençças: mostra um as: mostra um µµC e indica neste as C e indica neste as partes correspondentes a um partes correspondentes a um µµPP..

Page 15: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

O O µµC C -- Diferenças entre Diferenças entre µµP e P e µµCC

O O µµPP éé o o chipchip que contque contéém: IR, PC, ALU, INT, etc.m: IR, PC, ALU, INT, etc.O O µµC inclui num sC inclui num sóó chip, o chip, o µµPP, TIMER, SERIAL, e um , TIMER, SERIAL, e um

pedapedaçço da RAM o da RAM e/oue/ou ROM. ROM.

Existem Existem µµCsCs que que englobam ainda uma ROM englobam ainda uma ROM ou EPROM dentro do ou EPROM dentro do chipchip, , então não tementão não tem--se nada se nada fora. Esta é uma real fora. Esta é uma real utilização do utilização do µµC, ou seja, C, ou seja, um chip só com tudo um chip só com tudo integrado.integrado.

Page 16: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

O O µµC C –– Propósito de aplicaçãoPropósito de aplicação

Controlar um processo industrial, servir de interface homemControlar um processo industrial, servir de interface homem--máquina, controlar um terminal bancário, controlar uma impressormáquina, controlar um terminal bancário, controlar uma impressora, a, um brinquedo, atuar junto a sensores no sistema de injeção de um brinquedo, atuar junto a sensores no sistema de injeção de combustível de um motor, etc.combustível de um motor, etc.

Page 17: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

O O µµC C –– Comparat. com lComparat. com lóógica fixagica fixa

Os Os µµP/P/µµCC têm pretêm preçço baixo baixííssimo e estssimo e estáá difdifíícil cil comparar com os custos de circuitos montados com comparar com os custos de circuitos montados com CICI´́ssdigitais com ldigitais com lóógica fixa, pois estes gica fixa, pois estes gastam mais gastam mais áárea de rea de placa de PCIplaca de PCI, , diminuem a confiabilidadediminuem a confiabilidade (quanto maior, (quanto maior, maior a possibilidade de falhas em soldas, por ex.) e maior a possibilidade de falhas em soldas, por ex.) e não não são flexsão flexííveis como o veis como o éé uma muma mááquina programquina programáávelvel..

Entretanto, quando o assunto é Entretanto, quando o assunto é nanosegundosnanosegundos, os , os µµP/P/µµCC esbarram em suas esbarram em suas limitalimitaçções de ões de clockclock..

Na ordem de Na ordem de microsegundosmicrosegundos, os , os µµP/P/µµCC são são imbatimbatííveisveis (existem (existem µµC com ROM interna por C com ROM interna por U$0U$0,70).,70).

Page 18: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE I PARTE I –– Arquiteturas BásicasArquiteturas Básicas

1.1. VonVon--NewmannNewmann2.2. HarvardHarvard

Leitura sugeridaLeitura sugerida: Saber 360 – ComparativoTécnico Parte I

Page 19: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

VonVon--Newman Newman

Nesta arquitetura, os barramentos de dados e Nesta arquitetura, os barramentos de dados e endereços são endereços são compartilhadoscompartilhados entre memórias de entre memórias de programas e dadosprogramas e dados..

Internamente, só existe um Internamente, só existe um barramentobarramento por onde por onde trafegam dados e instruções.trafegam dados e instruções.

Page 20: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

HarvardHarvard

Apresenta barramentos de dados e endereços Apresenta barramentos de dados e endereços distintosdistintos, assim enquanto uma instrução é executada, , assim enquanto uma instrução é executada, outra é buscada da memória de programa. Este sistema outra é buscada da memória de programa. Este sistema de de busca/execuçãobusca/execução é também conhecido como é também conhecido como PIPELINE.PIPELINE.

Internamente temInternamente tem--se barramentos distintos para se barramentos distintos para dados e instruções.dados e instruções.

Page 21: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE I PARTE I –– C.I.S.C e R.I.S.CC.I.S.C e R.I.S.C

1.1. CISCCISC2.2. RISCRISC

Leitura sugeridaLeitura sugerida: Saber 360 – ComparativoTécnico Parte I;

Desbravando o PIC;Mini-curso Saber

Page 22: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

C.I.S.C.C.I.S.C.

A filosofia A filosofia COMPLEX INSTRUTION SET COMPLEX INSTRUTION SET COMPUTERCOMPUTER baseiabaseia--se em quanto maior a complexidade se em quanto maior a complexidade da instrução, mais espaço ela ocupará no da instrução, mais espaço ela ocupará no chipchip..

Ter um Ter um complexocomplexo setset de instruções de instruções C.I.S.C.C.I.S.C. nem nem sempre é interessante, pois pode comprometer o sempre é interessante, pois pode comprometer o desempenho do processador.desempenho do processador.

A IBM avaliou que de 200 instruções disponíveis A IBM avaliou que de 200 instruções disponíveis em um dado em um dado setset, apenas 35 eram comumente usadas. , apenas 35 eram comumente usadas. Muitas podiam ser implementadas por meio de outras, Muitas podiam ser implementadas por meio de outras, surgindo assim a filosofia R.I.S.C.surgindo assim a filosofia R.I.S.C.

Page 23: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

R.I.S.C.R.I.S.C.

A A REDUCED INSTRUCTION SET COMPUTERREDUCED INSTRUCTION SET COMPUTERbaseiabaseia--se em um se em um SETSET reduzido de instruções, muito reduzido de instruções, muito menos que os microcontroladores da filosofia menos que os microcontroladores da filosofia CISCCISC..

Apresenta a vantagem de ter um aprendizado Apresenta a vantagem de ter um aprendizado muito mais muito mais din^micodin^mico das das instruç~esinstruç~es e a desvantagem de e a desvantagem de ter de construir muitas funções por não existir uma ter de construir muitas funções por não existir uma instrução direta, o que implica em maior habilidade do instrução direta, o que implica em maior habilidade do programador. programador.

Page 24: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE IIPARTE II

Definições gerais básicasDefinições gerais básicas

Page 25: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte IIParte II1.1. IntroduçãoIntrodução2.2. Arquitetura internaArquitetura interna3.3. Descrição externaDescrição externa4.4. Organização das memóriasOrganização das memórias5.5. O O ResetReset6.6. Os Os PortsPorts de de I/OI/O7.7. Instruções Instruções AssemblyAssembly8.8. InterrupçãoInterrupção9.9. Timers/countersTimers/counters10.10. Canal serialCanal serial Referências bibliográficas:Referências bibliográficas:

••MiniMini--curso Saber curso Saber jan/2001jan/2001••NicolosiNicolosi••VidalVidal••AplicationAplication notes notes AtmelAtmel

Page 26: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- IntroduçãoIntrodução

No início da década de 80, a Intel lançou o 8051, No início da década de 80, a Intel lançou o 8051, fruto de uma evolução da já existente família fruto de uma evolução da já existente família MCsMCs 48.48.

Inicialmente existiam: Inicialmente existiam: 80518051, com ROM interna , com ROM interna programável de fábrica; programável de fábrica; 8751, 8751, com EPROM interna com EPROM interna programável pelo usuário;programável pelo usuário; 8031,8031, com a necessidade de ter com a necessidade de ter chips de EPROM externamente.chips de EPROM externamente.

Após, a linha expandiuApós, a linha expandiu--se para os modelos: se para os modelos: 80528052, , com um Timer a mais que o com um Timer a mais que o 80518051; ; 87528752, com EPROM , com EPROM interna; interna; 80328032, sem , sem ROM/EPROMROM/EPROM interna. Surgiu ainda o interna. Surgiu ainda o 8052 8052 –– basicbasic, com um interpretador , com um interpretador basicbasic interno, que interno, que permite a programação em permite a programação em basicbasic..

Page 27: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Arquitetura InternaArquitetura Interna

De maneira geral, o 8051 contém internamente:De maneira geral, o 8051 contém internamente:

ll RAM interna de 128 bytes Uso Geral + 128 bytes RAM interna de 128 bytes Uso Geral + 128 bytes SFRsSFRs;;ll ROM interna de 4Kbytes;ROM interna de 4Kbytes;ll 4 portas de 4 portas de I/OI/O;;ll 2 Timers/Counters de 16 bits;2 Timers/Counters de 16 bits;ll 1 Interface serial;1 Interface serial;ll Capacidade máx. 64Kbytes de RAM;Capacidade máx. 64Kbytes de RAM;ll Capacidade máx. 64Kbytes de ROM;Capacidade máx. 64Kbytes de ROM;ll Ciclos típicos de 1 e 2Ciclos típicos de 1 e 2µµs a 12MHz;s a 12MHz;ll InstruInstruççãoão diretadireta de de divisãodivisão e e multiplicamultiplicaççãoão;;ll EntradasEntradas de de interrupinterrupççãoão externaexterna;;

Page 28: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Arquitetura InternaArquitetura Interna

Page 29: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Arquitetura InternaArquitetura Interna

Page 30: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Descrição externaDescrição externa

As portas de As portas de I/OI/O P0P0, , P1P1, , P2P2, , P3P3, cada uma com 8 , cada uma com 8 linhas, são destinadas à comunicação externa. linhas, são destinadas à comunicação externa.

P0P0 e e P2P2 destinamdestinam--se a gerenciar as vias de dados e se a gerenciar as vias de dados e endereços da comunicação do microcontrolador com a endereços da comunicação do microcontrolador com a ROM, RAM ou periféricos tipo ROM, RAM ou periféricos tipo I/OI/O Mapeado.Mapeado.

P1P1 e e P3P3 destinamdestinam--se às vias de comunicação se às vias de comunicação externa, sendo tipicamente usadas para interfaces com o externa, sendo tipicamente usadas para interfaces com o mundo externo.mundo externo.

Page 31: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Descrição externaDescrição externa

Page 32: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Descrição externaDescrição externa

Dentre as Portas de Dentre as Portas de I/OI/O, , P3P3 tipicamente é a mais tipicamente é a mais compartilhada ...compartilhada ...

Page 33: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Descrição externaDescrição externaE E P0P0 e e P2P2 atuam no endereçamento externo do 8051 ...atuam no endereçamento externo do 8051 ...

Page 34: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Descrição externaDescrição externaDentre os pinos aplicados ao controle, temDentre os pinos aplicados ao controle, tem--se:se:

PSENPSEN: : ProgramProgram StoreStore EnableEnable, é um dos quatro pinos de controle do , é um dos quatro pinos de controle do chipchip. . Aciona automaticamente a memória de programa externa nas Aciona automaticamente a memória de programa externa nas operações de busca de instruçãooperações de busca de instrução..

ALEALE: : AddressAddress LatchLatch EnableEnable, é o pino que comanda a , é o pino que comanda a demultiplexaçãodemultiplexação das informações de dados e endereços menos significativos das informações de dados e endereços menos significativos do do PortPort 0. Acionado automaticamente.0. Acionado automaticamente.

EAEA: : ExternalExternal AccessAccess, , determindetermin qual memória de programa será qual memória de programa será acionada: a interna, quando em 1 lógico e a externa, quando em 0acionada: a interna, quando em 1 lógico e a externa, quando em 0 lógico. lógico. Quando em 1, o chip irá ler internamente e, após acabar todo o eQuando em 1, o chip irá ler internamente e, após acabar todo o espaço spaço interno, irá automaticamente acessar a interno, irá automaticamente acessar a memmem. Externa, caso ela exista.. Externa, caso ela exista.

ResetReset: Quando em nível lógico 1 por mais de 2 ciclos de máquina, : Quando em nível lógico 1 por mais de 2 ciclos de máquina, organiza os valores organiza os valores defaultdefault dos registradores, a fim de começas o serviço dos registradores, a fim de começas o serviço adequadamente.adequadamente.

Page 35: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

Tipicamente, o Tipicamente, o 80518051 separa dados de instruções, e pode separa dados de instruções, e pode gerenciar gerenciar ROM/EPROMROM/EPROM interna ou externa, e ainda ....interna ou externa, e ainda ....

ou

PSEN

65 535d

4096d4095d

ROMEXT.

ROMINT.

0000d

Pino EA = 1

PSEN

65 535d

0000d

ROMEXT.

Pino EA = 0

Page 36: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

... pode fazer um controle semelhante na RAM interna ou externa.... pode fazer um controle semelhante na RAM interna ou externa.

e

RD

255d

128d127d

SFR´S

USOGERAL

00d

65 535d

00d

RAMEXT.

WR

Page 37: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

Quanto ao acesso, podeQuanto ao acesso, pode--se utilizar instruções específicas para se utilizar instruções específicas para acessar cada tipo de memória já mencionadaacessar cada tipo de memória já mencionada..

*ROM/EPROMEXTERNA

PSEN libera esta memória.

* 64K Máx.RAM

INTERNA

*RAM EXTERNA

RD e WRLiberam esta mem. para

escrita/leitura.

* 64K Máx.0000h

00FFh

FFFFh

Interior ao µC Exterior ao µC

MOV MOVC MOVX

Page 38: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

Observando mais detalhadamente a RAM interna, vêObservando mais detalhadamente a RAM interna, vê--se os se os registradores que a compõe, sejam de uso geral, sejam de funçõesregistradores que a compõe, sejam de uso geral, sejam de funçõesespeciaisespeciais..

255d

128d127d

00d

SFR´S

USOGERAL

Page 39: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

255d

128d127d

00d

SFR´S

USOGERAL

Assembly:

BYTE endereçável:

MOV 2Fh, #20hMOV R0, #20h

MOV A, P1

BIT endereçável:

SETB 7Fh

CLR 09h

Page 40: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

255d

128d127d

00d

SFR´S

USOGERAL

Assembly:

BYTE endereçável:

MOV PCON, #20hMOV 87h, #20h

MOV A, P1

BIT endereçável:

SETB P3.7SETB B7h

CLR P1.0

Page 41: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

Os Registradores podem ser melhor apresentados:Os Registradores podem ser melhor apresentados:

ACC:ACC: Acumulador Acumulador –– UtilizaUtiliza--se como operando na maioria das se como operando na maioria das instruções do instruções do µµC.C.

Ex. de Ex. de instruinstruççõesões::add A, add A, RnRn: : conteconteúúdodo de de RnRn + + conteconteúúdodo de A e de A e guardaguarda emem A;A;anlanl A,#dadoA,#dado: : fazfaz AND AND llóógicogico do do dadodado com o com o conteconteúúdodo do A;do A;movmov A, A, RnRn: : copiacopia o o conteconteúúdodo de de RnRn parapara AA

ACC0ACC0ACC1ACC1ACC2ACC2ACC3ACC3ACC4ACC4ACC5ACC5ACC6ACC6ACC7ACC7

E0E0E1E1E2E2E3E3E4E4E5E5E6E6E7E7

Nome: ACC

End. Bit:

End. Byte: E0h

Page 42: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

B:B: Registrador Auxiliar B Registrador Auxiliar B –– Em poucas funções existe seu Em poucas funções existe seu nome explicitamente citado, como abaixonome explicitamente citado, como abaixo..

Ex. de Ex. de instruinstruççõesões::amulamul AB: AB: multiplicamultiplica osos conteconteúúdosdos de A e B e de A e B e guardaguarda emem AAdiv AB: div AB: divide o divide o conteconteúúdosdos de A de A porpor B e B e guardaguarda emem AA

----------------

F0F0F1F1F2F2F3F3F4F4F5F5F6F6F7F7

Nome: B

End. Bit:

End. Byte: F0h

Page 43: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

P0P0, , P1P1, , P2P2 e e P3P3:: RegitradoresRegitradores que espelham a situação atual que espelham a situação atual dos pinos físicos dos dos pinos físicos dos portsports do microcontrolador.do microcontrolador.

Ex. de Ex. de instruinstruççõesões::MOV P1, #00hMOV P1, #00hMOV A, P1MOV A, P1SETB P3.7SETB P3.7CLR P1.0CLR P1.0

P0.0P0.0P0.1P0.1P0.2P0.2P0.3P0.3P0.4P0.4P0.5P0.5P0.6P0.6P0.7P0.7

80808181828283838484858586868787

Nome: P0

End. Bit:

End. Byte: 80h (P1=90H, P2=A0h, P3=B0h)

Page 44: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

PSW:PSW: ProgramProgram Status Word Status Word –– Registrador de Registrador de statusstatusdada última última operação realizada no operação realizada no AccAcc..

PP--OVOVRS0RS0RS1RS1FOFOACACCYCY

PSW.0PSW.0PSW.1PSW.1PSW.2PSW.2PSW.3PSW.3PSW.4PSW.4PSW.5PSW.5PSW.6PSW.6PSW.7PSW.7

D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7End. Bit:

End. Byte: D0h

CarryCarry

AuxAux. . CarryCarry

RegReg. Uso geral. Uso geral

BankBank SelectSelect

OverflowOverflow

ParityParity

Page 45: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memóriaCarryCarry:: Bit indicador de “vai um” em operações aritméticas Bit indicador de “vai um” em operações aritméticas –– vai para “1” vai para “1” quando ocorre “estouro” da capacidade de A.quando ocorre “estouro” da capacidade de A.

Ex: Ex: MOV A, #0FFh; ADD A,#01h;MOV A, #0FFh; ADD A,#01h; /* /* FFhFFh + 01h => + 01h => A=00hA=00h e e CY=1CY=1 */*/

AuxiliaryAuxiliary CarryCarry:: Bit indicador de “vai um” do Bit indicador de “vai um” do niblenible inferior para o superior, inferior para o superior, também conhecido como também conhecido como HALF CARRYHALF CARRY. Muito usado em aritmética com . Muito usado em aritmética com BCDBCD, , onde onde númnúm. binários . binários represrepres. decimais de 0 a 9.. decimais de 0 a 9.

FlagFlag 0:0: Bit sem função especificada.Bit sem função especificada.

RS1RS1 e e RS0RS0:: Bits de habilitação de banco de registradores ativos. Banco 0 éBits de habilitação de banco de registradores ativos. Banco 0 édefaultdefault..

OverflowOverflow:: Bit indicador de Bit indicador de resultaoresultao > +127 ou < > +127 ou < --128 (128 (signedsigned))

ParityParity: : Quando a paridade do Quando a paridade do AccAcc for 1, o BIT é for 1, o BIT é setadosetado....

33

22

11

00

BANCOBANCO

1111

0011

1100

0000

RS0RS0RS1RS1

Page 46: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

IE:IE: InterruptInterrupt EnableEnable –– Permite habilitar as interrupções;Permite habilitar as interrupções;

IP:IP: InterruptInterrupt PriorityPriority –– Permite controlar a prioridade das Permite controlar a prioridade das interrupções. Serão abordados à interrupções. Serão abordados à posterióriposterióri..

DPTR, DPH e DPL:DPTR, DPH e DPL: Par de registradores compostos como Par de registradores compostos como se fossem uma só palavra de 16 bits. Com 16 bits podese fossem uma só palavra de 16 bits. Com 16 bits pode--se se acessar dados externos até 64Kbytes. Existem instruções acessar dados externos até 64Kbytes. Existem instruções que usam DPTR como ponteiro de memória.que usam DPTR como ponteiro de memória.

Ex. Ex. MOV DPTR,#2000hMOV DPTR,#2000hMOVX A, @DPTRMOVX A, @DPTR

Page 47: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Organização da memóriaOrganização da memória

PCON: PCON: PowerPower ControlControl RegisterRegister –– É um byte miscelânea.É um byte miscelânea.

SMODSMOD: Bit usado no cálculo de tempos do Timer, quando envolver canal: Bit usado no cálculo de tempos do Timer, quando envolver canal serial.serial.GF1GF1 e e GF0GF0: Sem função específica. Bits de uso geral.: Sem função específica. Bits de uso geral.PDPD: : PowerPower downdown –– Forçando 1, será a última instrução a ser executada pelo Forçando 1, será a última instrução a ser executada pelo mcmc

antes de entrar em “antes de entrar em “PowerPower downdown””(Oscilador para, todas as funções param, (Oscilador para, todas as funções param, valores da RAM int. ficam mantidos, Níveis dos valores da RAM int. ficam mantidos, Níveis dos portsports são são matidosmatidos, ALE e , ALE e \\PSEN PSEN ficam em 0, só com RESET para sair deste estado)ficam em 0, só com RESET para sair deste estado)..

IDLIDL: : IdleIdle modemode –– Forçando 1, será a última instrução a ser executada antes de Forçando 1, será a última instrução a ser executada antes de entrar neste modo entrar neste modo (o (o clockclock é liberado para a CPU, mas não para as interrupções, é liberado para a CPU, mas não para as interrupções, timerstimers e serial; estados de CPU e RAM interna são mantidos; e serial; estados de CPU e RAM interna são mantidos; niveisniveis dos dos timerstimerssão mantidos; ALE e PSEN ficam em nível 1; finalizado por RESET são mantidos; ALE e PSEN ficam em nível 1; finalizado por RESET ou por ou por alguma interrupção já liberada, que zeram alguma interrupção já liberada, que zeram automautom. O bit IDL). O bit IDL)

IDLIDLPDPDGF0GF0GF1GF1XXXXXXSMODSMOD

----------------

End. Byte: 87h

Page 48: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– O O ResetReset

O O RESETRESET do microcontrolador é um do microcontrolador é um pinopinofísico do chip, chamado físico do chip, chamado RSTRST..

Deve haver um circuito no referido pino Deve haver um circuito no referido pino para que, no ligamento do chip, tenhapara que, no ligamento do chip, tenha--se estado se estado lógico 1, ao menos por lógico 1, ao menos por dois ciclos de máquinadois ciclos de máquina. A . A este circuito dáeste circuito dá--se o nome de se o nome de ResetReset automático automático na na energizaçãoenergização. Assim, pode. Assim, pode--se garantir que o se garantir que o chip será iniciado sempre da mesma forma.chip será iniciado sempre da mesma forma.

É importante que exista, um botão para se É importante que exista, um botão para se forçar oforçar o ResetReset quando quando necesárionecesário..

Page 49: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– O O ResetReset

Page 50: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– O O ResetReset

NÃO ALTERANÃO ALTERA--Ram após Ram após resetreset forçadoforçado

INDEFINIDOINDEFINIDO--Ram ao ligarRam ao ligar

0XXXXXXXb HMOS / 0XXX0000b CMOS0XXXXXXXb HMOS / 0XXX0000b CMOSPCONPCONPowerPower controlcontrol

XXHXXHSBUFSBUFSerial BufferSerial Buffer

00H00HSCONSCONSerial Serial ComunicationComunication

00H00HTMODTMODTimer Timer ModeMode

00H00HTCONTCONTimer Timer ControlControl

00H00HTH e TLTH e TLTH e TLTH e TL

XXX00000bXXX00000b 8051 / 8051 / XX000000bXX000000b 80528052IPIPInteruptInterupt PriorityPriority

0XX00000b 8051 / 0X000000b 8052 0XX00000b 8051 / 0X000000b 8052 IEIEInterruptInterrupt EnableEnable

FFHFFHP0P0....P3P3P0P0, , P1P1, , P2P2, , P3P3

0000H0000HDPTRDPTRData PointerData Pointer

00H00HPSWPSWProgramProgram Status WordStatus Word

07H07HSPSPStackStack PointerPointer

00H00HBBRegistrador BRegistrador B

00H00HACCACCAcumuladorAcumulador

0000H0000HPCPCProgramProgram countercounter

Page 51: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Os Os PortsPorts de de I/OI/O

São eles: São eles: P0P0, , P1P1, , P2P2, , P3P3. . Têm capacidade para 8 cargas digitais tipo “LS” para Têm capacidade para 8 cargas digitais tipo “LS” para

P0P0 e 4 para os demais e 4 para os demais portsports. Equivalente a duas cargas . Equivalente a duas cargas TTL no TTL no P0P0 e uma nos demais e uma nos demais portsports..

P0P0: Bidirecional : Bidirecional –– quando usado como quando usado como portport é como é como se fosse se fosse open open draindrain, isto é, deve, isto é, deve--se utilizar resistores se utilizar resistores de de pullpull--upup, afim de excitarmos devidamente o ambiente , afim de excitarmos devidamente o ambiente externo ao externo ao µµC. C. QuandoQuando usadousado no no controlecontrole dada memmemóóriariaexternaexterna, , estesestes resistoresresistores sãosão desnecessdesnecessááriosrios. . NesteNestecasocaso, o port P0 , o port P0 éé vistovisto comocomo um port um port ““tritri--statestate””..

Page 52: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Os Os PortsPorts de de I/OI/O

P1P1, , P2P2 e e P3P3: Quase: Quase--bidirecionais bidirecionais –– Estes Estes portsportsdiferem de diferem de P0P0 pois já apresentam resistores de pois já apresentam resistores de pullpull--upupinternos, logo nunca ficarão realmente em internos, logo nunca ficarão realmente em TriTri--statestate..

CUIDADOCUIDADO com as com as instruçõesinstruções queque alteramalteramdiretamentediretamente o o conteúdoconteúdo dos ports dos ports –– ReadRead--ModifyModify--WriteWrite. .

Ex: Ex: orlorl P1,#11111110bP1,#11111110b ((seráserá lido P1 lido P1 pelopelo latch, latch, operaroperar a a instruçãoinstruçãoOR com o dado e OR com o dado e devolverdevolver o o resultadoresultado emem P1. Se a P1. Se a intençãointenção era era lerler o bit o bit msbmsb, , empregouempregou--se se erroneamenteerroneamente a a instruçãoinstrução, , poispois serãoserão ligadosligados todostodos ososdemaisdemais bits)bits)

Ex: Ex: movmov A, P1A, P1orlorl A,#11111110bA,#11111110b

Page 53: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Os Os PortsPorts de de I/OI/O

XRL XRL P1P1,#XX,#XXXRLXRL

ORL ORL P0P0,A,AORLORL

ANL ANL P0P0,A,AANLANL

DJNZ DJNZ P1P1,#XX,#XXDJNZDJNZ

JBC JBC P1.0P1.0,#XX,#XXJBCJBC

CPL CPL P1P1CPLCPL

DEC DEC P3P3DECDEC

INC INC P1P1INCINC

Função exemploFunção exemploInstrução e forma básicaInstrução e forma básica

Page 54: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Instruções Instruções AssemblyAssemblyO O µµC C entendeentende apenasapenas algumasalgumas instruinstruççõesões, , emem contrastecontraste aoao

nossonosso vocabulvocabulááriorio, , assimassim, , precisaprecisa--se se conhecerconhecer as as suassuas instruinstruççõesõesparapara queque se se possapossa desenvolverdesenvolver tarefastarefas parapara eleele..

Algumas características básicas de instruções podem ser Algumas características básicas de instruções podem ser desenvolvidas: desenvolvidas:

a)a) Não há instrução para somar, diretamente, dado Não há instrução para somar, diretamente, dado de uma posição de memória com outra;de uma posição de memória com outra;

b)b)Não há instrução que some uma posição de Não há instrução que some uma posição de memmem. . externa diretamente com o externa diretamente com o AccAcc;;

c)c) Posições externas de Posições externas de memmem. são de 16 bits e não . são de 16 bits e não cabem direto dentro da instrução; só indiretamente. Referecabem direto dentro da instrução; só indiretamente. Refere--se a se a posição apontada por DPTR. Ex: posição apontada por DPTR. Ex: movxmovx A , @DPTRA , @DPTR

Page 55: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Instruções Instruções AssemblyAssemblyModos de endereçamento:Modos de endereçamento:

A fim de que qualquer ação possa existir, é importante que o A fim de que qualquer ação possa existir, é importante que o µµC C tenhatenha acessoacesso aosaos dados, e dados, e parapara tantotanto, , exitemexitem mméétodostodos ttíípicospicosatravatravééss dos dos quaisquais o o processadorprocessador podepode fazêfazê--lo.lo.

Modo registrador: Modo registrador: Conhecidos genericamente por Conhecidos genericamente por RnRn, os , os registradores registradores R0R0, , R1R1, ..., , ..., R7R7 podem ser acessados com um único podem ser acessados com um único byte, pois o byte, pois o opcodeopcode contém o indicador do registrador.contém o indicador do registrador.

Ex: Ex: MOV MOV R4R4,A;,A; ((R4R4 <= A)<= A)MOV A, MOV A, R2R2;; (A <= (A <= R2R2))DEC DEC R2R2;; ((R2R2 <= <= R2R2 -- 1)1)XRL A,XRL A,R1R1;; (A <=A XOR (A <=A XOR R1R1))XCH A,XCH A,R6R6;; ((A<=R6A<=R6; ; R6<=AR6<=A))CJNE CJNE R5R5, #33, VOLTA;, #33, VOLTA; ((Compara Compara R5R5 cc\\ 33d e salta33d e salta

para VOLTA se não igual.para VOLTA se não igual.Se igual, segue)Se igual, segue)

Page 56: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Instruções Instruções AssemblyAssemblyModo direto: Modo direto: Empregado para acessar os 128 bytes da RAM Empregado para acessar os 128 bytes da RAM

interna do 8051 ou os endereços de interna do 8051 ou os endereços de I/OI/O ou ainda, os registradores de ou ainda, os registradores de status e controle.status e controle.

Ex: Ex: MOV A, 77H;MOV A, 77H; (A <= cont. end 77H)(A <= cont. end 77H)MOV 40H,A;MOV 40H,A; (end. 40h <= A)(end. 40h <= A)MOV 40H, 45H;MOV 40H, 45H; (end. 40h <= cont. end. 45h)(end. 40h <= cont. end. 45h)ADD A,55H;ADD A,55H; (A <= A + cont. end. 45h)(A <= A + cont. end. 45h)ANL A,55;ANL A,55; (A <= A AND cont. end. 55(A <= A AND cont. end. 55dd))DEC DEC P1P1;; ((DecrementaDecrementa o registrador o registrador P1P1))

Modo indireto: Modo indireto: O endereço alvo é obtido através dos O endereço alvo é obtido através dos registradores registradores R0R0 ou ou R1R1, designados nesta condição como , designados nesta condição como RiRi..

Ex: Ex: Supondo Supondo R1R1 <= 44H<= 44HMOV @MOV @R1R1, #77H;, #77H;(end. @(end. @pontadopontado por por R1R1 (44h) <= 77H)(44h) <= 77H)ANL A,@ANL A,@R1R1;; (A <= A AND cont. end. @(A <= A AND cont. end. @pontadopontado por por R1R1 ))

Page 57: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Instruções Instruções AssemblyAssemblyModo Imediato: Modo Imediato: O código da instrução já é codificado junto O código da instrução já é codificado junto

com uma constante, ou “dado imediato”com uma constante, ou “dado imediato”. .

Ex: Ex: MOV A,#25H;MOV A,#25H; (A <= 25H)(A <= 25H)MOV A, #00100101B;MOV A, #00100101B; (A <= 00100101B)(A <= 00100101B)MOV DPTR,#1FFFH ;MOV DPTR,#1FFFH ; (DPTR <= 1FFFH)(DPTR <= 1FFFH)ORL A,#67H;ORL A,#67H; (A <= A OR 67H)(A <= A OR 67H)

Modo Relativo: Modo Relativo: Utilizado em instruções de salto, empregando Utilizado em instruções de salto, empregando um byte sinalizado para tanto. Pode deslocarum byte sinalizado para tanto. Pode deslocar--se da posição do PC se da posição do PC em em --128 a +127 posições128 a +127 posições. .

Ex: Ex: SJMP 03H;SJMP 03H;

XXHXXH01040104

------01030103

------01020102

------01010101

03H03H01000100

80H80H00FF00FF Código de SJMP 03H

PC = PC+03H

PCROMINTERNA

Page 58: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Instruções Instruções AssemblyAssemblyModo Absoluto: Modo Absoluto: ACALL e AJMP são instruções que utilizamACALL e AJMP são instruções que utilizam--

se desta modalidade de endereçamento. Permitem um salto de até se desta modalidade de endereçamento. Permitem um salto de até 2Kbytes de endereços com apenas 2Kbytes de endereços com apenas 2 bytes de instrução2 bytes de instrução..

Ex: Ex: 0100 H ACALL 01FFH;0100 H ACALL 01FFH; (Faz uma chamada ao end. 01FFh)(Faz uma chamada ao end. 01FFh)-------- -------- --------01FFH01FFH NOP;NOP; (Não faz nada)(Não faz nada)0200H0200H RET;RET; (Não faz nada)(Não faz nada)

Modo Longo: Modo Longo: LCALL e LJMP são instruções que utilizamLCALL e LJMP são instruções que utilizam--se se desta modalidade de endereçamento. Permitem um salto de até desta modalidade de endereçamento. Permitem um salto de até 64Kbytes de endereços. Consome 3 bytes de instrução.64Kbytes de endereços. Consome 3 bytes de instrução.

Ex: Ex: 0100 H LCALL 01FFH;0100 H LCALL 01FFH; (Faz uma chamada ao end. 91FFh)(Faz uma chamada ao end. 91FFh)-------- -------- --------9FFFH9FFFH NOP;NOP; (Não faz nada)(Não faz nada)9200H9200H RET;RET; (Não faz nada)(Não faz nada)

Page 59: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Instruções Instruções AssemblyAssemblyModo Indexado: Modo Indexado: As instruções que usam este tipo de As instruções que usam este tipo de

endereçamento são: JMP e MOVC. endereçamento são: JMP e MOVC. Dependem do endereço inserido Dependem do endereço inserido na instrução aliado ao conteúdo de A.na instrução aliado ao conteúdo de A.

Ex: Ex: JMP @JMP @A+DPTRA+DPTR;; (Salta p(Salta p\\ end. Apontado por A + DPTR)end. Apontado por A + DPTR)

DPTR aponta para a “cabeça” da tabela e A permite DPTR aponta para a “cabeça” da tabela e A permite escursionarescursionarpor até 256 endereços por até 256 endereços subsequentessubsequentes; ;

......MOV DPTR, #0100H;MOV DPTR, #0100H;MOV A, #01H;MOV A, #01H;JMP @JMP @A+DPTRA+DPTR;;......

Rotina Rotina RAM.asmRAM.asm em PDFem PDFRotina .Rotina .asmasm para cópia de bancos de registradores.para cópia de bancos de registradores.

Page 60: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Instruções Instruções AssemblyAssemblyConjunto de InstruçõesConjunto de Instruções

Operações AritméticasOperações AritméticasADD, SUBB, INC, DEC, MUL, DIV, DA;ADD, SUBB, INC, DEC, MUL, DIV, DA;

Operações LógicasOperações LógicasANL, ORL, XRL, CLR, CPL;ANL, ORL, XRL, CLR, CPL;RL, RLC, RR, RRC, SWAP;RL, RLC, RR, RRC, SWAP;

Transferências de dadosTransferências de dadosMOV, MOVX, MOVC, PUSH, POP,SCH, XCD;MOV, MOVX, MOVC, PUSH, POP,SCH, XCD;

Manipulação de variáveis Manipulação de variáveis boleanasboleanas (bit)(bit)CLR, SETB, CPL, ANL, ORL, MOV;CLR, SETB, CPL, ANL, ORL, MOV;JC, JNC, JB, JNB, JBC;JC, JNC, JB, JNB, JBC;

Controle de Fluxo de execuçãoControle de Fluxo de execuçãoACALL, LCALL, RET, RETI, AJMP, SJMP, JMP;ACALL, LCALL, RET, RETI, AJMP, SJMP, JMP;JZ, JNZ, CJNE, NOP;JZ, JNZ, CJNE, NOP;

Page 61: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- InterrupçãoInterrupção

A A interrupçãointerrupção é um evento externo ou interno que é um evento externo ou interno que obriga o obriga o µµC a suspender C a suspender temporariamentetemporariamente suassuas atividadesatividades, , a a fimfim de de atenderatender e e esteeste eventoevento queque o o interrompeuinterrompeu. .

ApApóóss atendidaatendida a a interrupinterrupççãoão, o , o µµC C desviadesvia--se se novamentenovamente e e exatamenteexatamente parapara ondeonde estavaestava antes de antes de tertersidosido interrompidointerrompido. .

SempreSempre aoao ttéérminormino do do atendimentoatendimento de de umaumainterrupinterrupççãoão éé necessnecessááriorio a a presenpresenççãã dada instruinstruççãoão RETIRETI. .

Page 62: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- InterrupçãoInterrupçãoPropriedades da InterrupçãoPropriedades da Interrupção. .

VetoradaVetorada ouou NãoNão--vetoradavetorada:: QuandoQuando ocorreocorre a a interrupinterrupççãoão, o , o µµC C devedevedirigirdirigir--se se parapara o o endereendereççoo dada interrupinterrupççãoão solicitadasolicitada.. QuandoQuando esteeste éé fixofixo, , dizdiz--se se queque a a interupinterupççãoão éé vetoradavetorada –– casocaso do 8051, com do 8051, com endereendereççosos prpréé--definidosdefinidosparapara cadacada interrupinterrupççãoão. . CasoCaso contrcontrááriorio, , éé nãonão--vetoradavetorada, , e o e o programadorprogramador devedevedefinirdefinir o o endereendereççoo de de atendimentoatendimento dada interrupinterrupççãoão..

MascaramentoMascaramento: : CapacidadeCapacidade de de permitirpermitir ouou nãonão queque certocerto dispositivodispositivo o o interrompainterrompa..

PrioridadePrioridade: : CasoCaso o o sistemasistema estejaesteja habiliadohabiliado a a atenderatender maismais de de umaumainterrupinterrupççãoão, , devedeve--se a se a sequênciasequência de de prioridadesprioridades, , ondeonde o o µµC C sabersaberáá comocomo agiragir..

OrigemOrigem: : PodePode ser ser internainterna aoao chipchip ouou externaexterna..

TipoTipo de de disparodisparo: De : De propriedadepropriedade externaexterna aoao chipchip, , podepode--se se programarprogramaro o chipchip parapara ser ser interrompidointerrompido externamenteexternamente porpor nníívelvel (0 (0 ouou 1) 1) ouou bordaborda ((subidasubidaouou descidadescida).).

Page 63: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- InterrupçãoInterrupção

Interrupções no 8051:Interrupções no 8051:NãoNão--mascarávelmascarável:: ResetResetMascarávelMascarável:: int0int0, , int1int1, , timer0timer0, , timer1timer1, serial, serial

000bh000bhInt. Int. –– PerifPerif..TIMER/COUNTERTIMER/COUNTER 00

002bh002bhInt. Int. –– PerifPerif..TIMER/COUNTERTIMER/COUNTER 22

0023h0023hInt. Int. –– PerifPerif..SERIALSERIAL

001bh001bhInt. Int. –– PerifPerif..TIMER/COUNTERTIMER/COUNTER 11

0013h0013hEXT. EXT. –– P3.3P3.3INT1INT1

0003h0003hEXT. EXT. –– P3.2P3.2INT0INT0

0000h0000hEXT. EXT. –– RSTRSTRESETRESET

End. ROM de desvioEnd. ROM de desvioTipoTipoInterrupçãoInterrupção

Prio

ridad

e natu

ral

Page 64: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- InterrupçãoInterrupção

Como programar as Como programar as interupçõesinterupções::

InterruptInterrupt EnableEnable (IE) : (IE) : Byte de habilitação de interrupções;Byte de habilitação de interrupções;

InterruptInterrupt PriorityPriority (IP): (IP): Byte de definição de prioridade de Byte de definição de prioridade de interrupções (2 níveis);interrupções (2 níveis);

IT0IT0 ((TCON.0TCON.0) e ) e IT1IT1 ((TCON.2TCON.2): ): Bit de TCON que servem para Bit de TCON que servem para definir a forma de sinal externo que gerará a interrupção definir a forma de sinal externo que gerará a interrupção –– nível (0) ou nível (0) ou borda (1). borda (1). IE0IE0 está vinculado ao está vinculado ao T/CT/C 0 e 0 e IE1IE1 está para está para T/C1T/C1. .

EX0EX0ET0ET0EX1EX1ET1ET1ESESET2ET2--EAEA

PX0PX0PT0PT0PX1PX1PT1PT1PSPSPT2PT2----

IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1

Page 65: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- InterrupçãoInterrupçãoFuncionamento do sistema de Funcionamento do sistema de interurpçãointerurpção do 8051do 8051

(ET2)

(PT2)

Page 66: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- InterrupçãoInterrupção

Exemplo de uso das interrupções:Exemplo de uso das interrupções:

ProgramarProgramar IE, IP e TCON de IE, IP e TCON de modomodo a:a:

INT 1(N)T/C 1

INT 0(B)

Prioridade

Solução:

1) Observar a ordem natural das prioridades;

INT0, T/C0, INT1, T/C1, SER

2) Liberar, em IE, as interrupções escolhidas;

3) Definir as prioridades altas e baixas em IP;

Page 67: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II -- InterrupçãoInterrupção

110011110000XX11

EX0EX0ET0ET0EX1EX1ET1ET1ESESET2ET2--EAEA

000011110000XXXX

PX0PX0PT0PT0PX1PX1PT1PT1PSPSPT2PT2----

11FLAGFLAG00FLAGFLAGXXXXXXXX

IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1TCON:

IE: IP:

Page 68: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/Counters

Os Os Timers/countersTimers/counters são perifsão perifééricos internos ao ricos internos ao microcontrolador. microcontrolador. ÉÉ uma unidade uma unidade autônomaautônoma, que poderia , que poderia ser um ser um chipchip separado. No 8051, tipicamente existe dois separado. No 8051, tipicamente existe dois destes perifdestes perifééricos.ricos.

Nada mais são do que Nada mais são do que flipflip--flopsflops configurados em configurados em divisores por 2divisores por 2, em cascata. No final dos , em cascata. No final dos ““nn”” estestáágios, gios, existe um existe um flagflag que indica o que indica o ““estouroestouro””, ou , ou overflowoverflow da da contagemcontagem..

Quando Quando ““lêlê”” pulsos externospulsos externos, funciona como , funciona como contadorcontador. Quando . Quando ““lêlê”” os pulsos gerados por os pulsos gerados por clockclockinterno (dividido por 12)interno (dividido por 12), est, estáá operando como operando como timertimer. .

Page 69: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/Counters

Modos de trabalho do Modos de trabalho do Timer/counterTimer/counter

Os dois Os dois T/CsT/Cs podem ser configurados podem ser configurados separadamente em atseparadamente em atéé 4 modos diferentes de 4 modos diferentes de funcionamento.funcionamento.

Modo 0: Capacidade mModo 0: Capacidade mááx. 13 bits (8 + 5 x. 13 bits (8 + 5 prpréé--scalerscaler))Modo 1: Capacidade mModo 1: Capacidade mááx. 16 bits (8 + 8)x. 16 bits (8 + 8)Modo 2: Capacidade mModo 2: Capacidade mááx. 08 bits cx. 08 bits c\\ autocargaautocargaModo 3: Misto, a ser definido mais tarde.Modo 3: Misto, a ser definido mais tarde.

São utilizados os São utilizados os SFRSFR´́ss: : TCON, TMOD, TCON, TMOD, TH0TH0, , TL0TL0, , TH1TH1, , TF1TF1

Page 70: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/CountersModo 0 Modo 0 –– 13 bits (8 + 5 13 bits (8 + 5 –– prpréé--scalerscaler))

IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1TCON:(CONTROLE)

M0M0M1M1C/TC/TGATEGATEM0M0M1M1C/TC/TGATEGATETMOD:(CONFIGURAÇÃO) T/C1 | T/C 0

0000

M0M0M1M1

Page 71: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/CountersModo 1 Modo 1 –– 16 bits16 bits

IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1TCON:(CONTROLE)

M0M0M1M1C/TC/TGATEGATEM0M0M1M1C/TC/TGATEGATETMOD:(CONFIGURAÇÃO) T/C1 | T/C 0

1100

M0M0M1M1

Page 72: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/CountersModo 2 (8 bits com Modo 2 (8 bits com autocargaautocarga))

IT0IT0IE0IE0IT1IT1IE1IE1TR0TR0TF0TF0TR1TR1TF1TF1TCON:(CONTROLE)

M0M0M1M1C/TC/TGATEGATEM0M0M1M1C/TC/TGATEGATETMOD:(CONFIGURAÇÃO) T/C1 | T/C 0

0011

M0M0M1M1

Page 73: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/CountersModo 3 (8 bits misto)Modo 3 (8 bits misto)

O T/C 0 divide-se em 2 contadores de 8 bits.

T/C 0 em modo 3 => T/C 1 qquer outro modo, mas não gera interrupção.

Os flags TF e TR são emprestados do T/C 1 para este modo.

Page 74: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/CountersO bloco ligaO bloco liga--desligadesliga

Explicado separadamente apenas por efeito didático, tem-se duas opções de disparo:

Por software, quando GATE = 1 e por hardware, quando GATE = 0.

Por software, basta que TR=1 para iniciar a contagem/temporização. Por hardware, além disso é preciso que INT = 0, se ele foi programado para gerar interrupção.

Page 75: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Timers/CountersTimers/Counters

ObservaObservaçções: tempos curtos / tempos longosões: tempos curtos / tempos longos

Cada instruCada instruçção demanda, pelo menos, 1ão demanda, pelo menos, 1µµs s de tempo de de tempo de execuexecuççãoão, logo, , logo, contarcontar tempos de 2 tempos de 2 µµs com 12MHz s com 12MHz aproxaprox., ., porpor exemploexemplo, , implicamimplicam ememnãonão empregarempregar osos T/CT/C’’s.s.

Se o tempo Se o tempo desejadodesejado for superior a 65ms for superior a 65ms ((modomodo 1 1 quasequase aoao mmááxx., ., parapara 12MHz), 12MHz), jjáá devedeve--se se utilizarutilizar tambtambéémm, um , um contadorcontador porpor softwaresoftware . . EleElepoderpoderáá, , porpor exemploexemplo, , decrementardecrementar um um registradorregistradora a cadacada estouroestouro de 65ms.de 65ms.

Page 76: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serialO canal serial permite que exista comunicaO canal serial permite que exista comunicaçção bilateral entre o ão bilateral entre o

µµC e C e outrooutro dispositivodispositivo. .

ÉÉ denominadodenominado SERIALSERIAL porpor enviarenviar bit a bit, o byte bit a bit, o byte desejadodesejado. O . O receptor receptor iriráá, , tambtambéémm, , receberreceber o o refridorefrido byte, bit a bit.byte, bit a bit.

A A comunicacomunicaççãoão serial serial podepode ser ser SSÍÍNCRONANCRONA ououASSASSÍÍNCRONANCRONA. A . A primeiraprimeira necessitanecessita enviarenviar um um sinalsinal de de sincronismosincronismoparapara queque o receptor o receptor pssapssa saber saber quandoquando éé precisopreciso lerler o o sinalsinal enviadoenviado. . ÉÉ fundamental fundamental enviarenviar tambtambéémm, um byte , um byte inicialinicial de de gerageraççãoão do do sincronismosincronismo e, no e, no ttéérminormino dada transmissãotransmissão, , enviarenviar um um outrooutro byte, byte, agora de agora de indicaindicaççãoão de de fimfim de de transmissãotransmissão..

A A segundasegunda nãonão necessitanecessita destedeste sincronismosincronismo, , poispois cadacada byte byte éécercadocercado de um start e um stop bit. O receptor de um start e um stop bit. O receptor aguardaaguarda o starto start--bit (1 p/ bit (1 p/ 0), 0), apapóóss contaconta osos bits bits transmitidostransmitidos e e aguardaaguarda o stopo stop--bit (1 p/ 0). bit (1 p/ 0).

Page 77: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

Na comunicaNa comunicaçção serial, existem diversos ão serial, existem diversos protocolosprotocolos –– normas padronizadoras de transmissão e normas padronizadoras de transmissão e receprecepçção de dadosão de dados, , comocomo a a RSRS--232 e RS232 e RS--485485..

SãoSão trêstrês osos sistemassistemas de de interligainterligaççãoão digital: digital: simplexsimplex, , half duplexhalf duplex e e full duplex.full duplex.

Page 78: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

O 8051 possui um modo de comunicaO 8051 possui um modo de comunicaçção são sííncrona ncrona (Modo 0) e três modos de comunica(Modo 0) e três modos de comunicaçção assão assííncrona ncrona (Modos 1, 2, e 3).(Modos 1, 2, e 3).

O O geradorgerador de de BAUDBAUD--RATERATE éé vinculadovinculado aoao T/C1T/C1. No . No 8052, 8052, podepode--se se vincularvincular tambtambéémm aoao T/C2T/C2..

O O perifperifééricorico serial do 8051 serial do 8051 apresentaapresenta duasduas palavraspalavrasde de atuaatuaççãoão: : SCONSCON –– controlecontrole serial; serial; SBUFSBUF –– serial buffer.serial buffer.

RIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0SCON:

Page 79: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

EmEm termostermos de de softwaresoftware, a , a transmissãotransmissão e a e a receprecepççãoão serial serial resumemresumem--se se emem utilizarutilizar o o SBUFSBUF, , comocomo: : MOV SBUF, AMOV SBUF, A ouou aindaainda MOV A, SBUFMOV A, SBUF..

A A transmissãotransmissão iniciainicia--se se quandoquando um dado um dado éé enviadoenviadoparapara SBUFSBUF. .

A A receprecepççãoão iniciainicia--se, se, nosnos MODOS 1, 2 e 3MODOS 1, 2 e 3, , quandoquandoo bit o bit RENREN ((SCON.4SCON.4) ) estiverestiver SETADOSETADO, e o , e o sistemasistemadetectedetecte o o startstart--bit. bit.

No No modomodo 0, 0, alaléémm de de REN=1REN=1, , devedeve--se se terter o bit o bit RI=0RI=0, , poispois nãonão hháá STARTSTART--BITBIT..

Page 80: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

Modos de comunicaModos de comunicaçção serial:ão serial:

RIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0SCON:

VAR.VAR.9 BITS9 BITSAssíncAssínc / UART 9BITS/ UART 9BITS111133

Fosc/32Fosc/32 ou ou Fosc/64Fosc/649 BITS9 BITSAssíncAssínc / UART 9BITS/ UART 9BITS001122

VAR.VAR.8 BITS8 BITSAssíncAssínc / UART 8BITS/ UART 8BITS110011

F F OSC/12OSC/128 BITS8 BITSSíncrona / Síncrona / regreg. . DeslocDesloc..000000

TAXATAXASIZESIZECOMUNICAÇÃOCOMUNICAÇÃOSM1SM1SM0SM0MODOMODO

Recep. Enabled

Recep. Enabled

Recep. Enabled

Recep. Enabled

Page 81: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

MODO 0 MODO 0 –– SSííncrononcrono: Basicamente : Basicamente éé um um shiftshift--registerregister de 8 bits, em que RXD (de 8 bits, em que RXD (P3.0P3.0) e TXD () e TXD (P3.1P3.1) são ) são envolvidos.envolvidos.

RXD serve como RXD serve como receptor/transmissorreceptor/transmissor e TXD serve e TXD serve como como clockclock de referência para RXD.de referência para RXD.

O O BAUDBAUD--RATERATE éé fixo na fixo na frequênciafrequência do do clockclock do do 8051 dividida por 12. 8051 dividida por 12.

Quando escreveQuando escreve--se no se no SBUFSBUF, d, dáá--se inse iníício a cio a transmissão. transmissão.

A recepA recepçção ão éé iniciada quando o bit iniciada quando o bit REN=1REN=1 e e RI=0RI=0..

Page 82: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

MODO 1 MODO 1 –– AssAssííncrono 8 bitsncrono 8 bits: : O pino de recepO pino de recepçção ão éé o o RXD e o de transmissão RXD e o de transmissão éé o TXD.o TXD.

TransmiteTransmite--se/recebese/recebe--sese 10 bits, sendo: 01 10 bits, sendo: 01 startstart--bitbit (n(níível 0); vel 0); 08 bits de dados; 01 08 bits de dados; 01 stopstop--bitbit ((nníível1vel1). ).

UsaUsa--se o se o TC1TC1 no modo 2 no modo 2 –– autocargaautocarga, para gerar a , para gerar a NIbaudNIbaud--raterate adequada.adequada.

A A baudbaud--raterate éé varivariáável: onde:vel: onde:

Na recepNa recepçção, esperaão, espera--se o se o startstart--bitbit, que deve ser 0 (1 p/ 0). , que deve ser 0 (1 p/ 0). Aceito, iniciaAceito, inicia--se a amostragem dos outros 8 bits. Apse a amostragem dos outros 8 bits. Apóós, esperas, espera--se se um um stopstop--bitbit (0 p/ 1). Não verificadas estas condi(0 p/ 1). Não verificadas estas condiçções, o sistema ões, o sistema descarta o suposto bit de descarta o suposto bit de startstart e reinicia a captura de um pre reinicia a captura de um próóximo ximo startstart.. NecessitaNecessita--se ainda de RI = 0 para receber um dado.. se ainda de RI = 0 para receber um dado..

( )12561232_

THclockfreqk−⋅⋅

⋅ SMOD=0SMOD=0 ? ? k=1k=1SMOD=1SMOD=1 ? ? k=2k=2

Page 83: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

MODO 2 MODO 2 –– AssAssííncrono 9 bitsncrono 9 bits: : O pino de recepO pino de recepçção ão éé o o RXD e o de transmissão RXD e o de transmissão éé o TXD.o TXD.

TransmiteTransmite--se/recebese/recebe--sese 11 bits, sendo: 01 11 bits, sendo: 01 startstart--bitbit (n(níível 0); vel 0); 08 bits de dados; 01 de paridade; 01 08 bits de dados; 01 de paridade; 01 stopstop--bitbit ((nníível1vel1). ).

A A baudbaud--raterate éé freq_clock/32freq_clock/32 quando SMOD = 0, ou quando SMOD = 0, ou freq_clock/64freq_clock/64, quando SMOD = 1. SMOD , quando SMOD = 1. SMOD éé bit de PCON.bit de PCON.

O nono bit (paridade) O nono bit (paridade) éé posto em posto em TB8TB8 ((SCON.4SCON.4) quando ) quando transmitido e em transmitido e em RB8RB8 ((scon.3scon.3) quando recebido. O pr) quando recebido. O próóprio perifprio periféérico rico encarregaencarrega--se de enviar registrar ou enviar, no MODO 2, tais bits.se de enviar registrar ou enviar, no MODO 2, tais bits.

Page 84: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte II Parte II –– Canal serialCanal serial

MODO 3 MODO 3 –– AssAssííncrono 9 bits com ncrono 9 bits com BaudBaud--rateratevarivariáávelvel: : O pino de recepO pino de recepçção ão éé o RXD e o de transmissão o RXD e o de transmissão éé o TXD.o TXD.

TransmiteTransmite--se/recebese/recebe--sese 11 bits, sendo: 01 11 bits, sendo: 01 startstart--bitbit (n(níível 0); vel 0); 08 bits de dados; 01 de paridade; 01 08 bits de dados; 01 de paridade; 01 stopstop--bitbit ((nníível1vel1). ).

A A baudbaud--raterate éé freq_clock/32freq_clock/32 quando SMOD = 0, ou quando SMOD = 0, ou freq_clock/64freq_clock/64, quando SMOD = 1. SMOD , quando SMOD = 1. SMOD éé bit de PCON.bit de PCON.

O nono bit (paridade) O nono bit (paridade) éé posto em posto em TB8TB8 ((SCON.4SCON.4) quando ) quando transmitido e em transmitido e em RB8RB8 ((SCON.3SCON.3) quando recebido. O pr) quando recebido. O próóprio prio perifperiféérico encarregarico encarrega--se de enviar registrar ou enviar, no MODO 2, se de enviar registrar ou enviar, no MODO 2, tais bits.tais bits.

Page 85: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE IIIPARTE III

Aplicações práticas com 8051Aplicações práticas com 8051

Page 86: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte IIIParte III

1.1. PortsPorts de IOde IO2.2. Timers/CountersTimers/Counters3.3. Conversor ADConversor AD4.4. LCDLCD5.5. Expansão de IOExpansão de IO6.6. SerialSerial

Referências bibliográficas:Referências bibliográficas:••NicolosiNicolosi••VidalVidal••PaixãoPaixão

Page 87: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– PortsPorts de IOde IOLigando cargas pela PORT Ligando cargas pela PORT P1P1::

Page 88: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– PortsPorts de IOde IORESET

INICIALIZAÇÃO

A = 0000 0001 b

CH = 1 ?Desl. A p\direita

Desl. A p\esquerda

P1 = A

DELAY

SSNN

Page 89: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– PortsPorts de IOde IOLigando cargas pela PORT Ligando cargas pela PORT P1P1::

led0led0 equequ p1.0p1.0led1led1 equequ p1.1p1.1led2led2 equequ p1.2p1.2led3led3 equequ p1.3p1.3led4led4 equequ p1.4p1.4led5led5 equequ p1.5p1.5led6led6 equequ p1.6p1.6led7led7 equequ p1.7p1.7

ch1ch1 equequ p3.5p3.5

;;labellabel instrinstr operandos operandos movmov TMOD,#00010001bTMOD,#00010001bmovmov TCON,#0hTCON,#0hclrclr led0led0clrclr led1led1clrclr led2led2clrclr led3led3clrclr led4led4clrclr led5led5clrclr led6led6clrclr led7led7

mov a,#1esp: mov p1,a

lcall delayjnb ch1, invrl asjmp esp

inv: rr asjmp esp

delaydelay:: movmov r0r0,#14,#14reprep:: movmov th1th1,#07h,#07h

movmov tl1tl1,#53h,#53hsetbsetb tr1tr1jnbjnb tf1tf1,$,$clrclr tf1tf1djnzdjnz r0r0,,reprepclrclr tr1tr1retretendend

Page 90: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersConsiderando um Considerando um µµC 89s53 C 89s53 operandooperando com com cristal = 12MHz, cristal = 12MHz,

programar os programar os TCsTCs 0 e 1 para:0 e 1 para:

a) a) TC0TC0 –– timer, contando 50mstimer, contando 50msb) b) TC1TC1 –– timer, contando 50timer, contando 50µµs com s com autocargaautocarga

PerguntasPerguntas intrigantesintrigantes::

OndeOnde ligarligar osos TCsTCs ??OndeOnde verificarverificar osos overflows dos overflows dos TCsTCs??ÉÉ precisopreciso recarregarrecarregar osos regsregs THsTHs e e TLsTLs apapóóss osos estourosestouros ??ÉÉ precisopreciso zerarzerar osos flags de overflow TF0 e TF1 flags de overflow TF0 e TF1 apapóóss estouroestouro ??NãoNão seriaseria umauma ““escravidãoescravidão”” ficarficar monitorandomonitorando estesestes flags ?flags ?Como Como fazerfazer parapara queque o o processoprocesso fiquefique automautomááticotico ??

Page 91: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

1) TC0 1) TC0 contandocontando 50ms50ms

TemTem--se, a 12MHz, um se, a 12MHz, um sinalsinal de timer = 1MHz, de timer = 1MHz, ouou sejaseja, , a a cadacada 11µµS temS tem--s um s um pulsopulso de clock. de clock. NecessitaNecessita--se se totalizartotalizar a a quantiaquantia de 50.000 de 50.000 pulsospulsos de 1de 1µµs s parapara chegarchegar emem 50mS. 50mS. SerSerááempregadoempregado, , portantoportanto, o , o modomodo 1 1 –– 16 bits16 bits, , poispois permitepermite a a contagemcontagemdiretadireta de 65.536 de 65.536 pulsospulsos..

2) TC1 2) TC1 contandocontando 5050µµss

UmaUma vezvez mencionadamencionada a a necessidadenecessidade de ser de ser autocargaautocarga, e , e terter de de contarcontar 50 50 pulsospulsos, o , o modomodo 2 2 –– 8 bits 8 bits autocargaautocarga ééperfeitamenteperfeitamente aplicaplicáávelvel. .

Page 92: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

Quais os valores a serem carregados em TH e TL ?Quais os valores a serem carregados em TH e TL ?

a) Para o a) Para o TC0TC0 temtem--se: 65.535 se: 65.535 –– 50.000 = 15.535 50.000 = 15.535 Em outras palavras, o Em outras palavras, o TC0TC0 jjáá deverdeveráá iniciar contando de iniciar contando de

15.535 para que o estouro ocorra quando 50.000 pulsos forem 15.535 para que o estouro ocorra quando 50.000 pulsos forem contados, totalizando 50.000contados, totalizando 50.000µµS = 50mS.S = 50mS.

EntretantoEntretanto, TH0 e TL0 , TH0 e TL0 devemdevem ser ser carregadoscarregados. . QuaisQuais seusseusvaloresvalores?? ConvertendoConvertendo 15.535 15.535 parapara HEXAHEXA, tem, tem--se: 3CAFh, se: 3CAFh, ondeondeTH0=3Ch e TL0=TH0=3Ch e TL0=AFhAFh..

Page 93: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

Page 94: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

b) Para o b) Para o TC1TC1 temtem--se: 255 se: 255 –– 50 = 205. 50 = 205.

Em outras palavras, o Em outras palavras, o TC1TC1 jjáá deverdeveráá iniciar contando de 205 iniciar contando de 205 para que o estouro ocorra quando 50 pulsos forem contados, para que o estouro ocorra quando 50 pulsos forem contados, totalizando 50totalizando 50µµS.S.

EntretantoEntretanto, TH0 e TL0 , TH0 e TL0 devemdevem ser ser carregadoscarregados. . QuaisQuais seusseusvaloresvalores? ? ConvertendoConvertendo 205 205 parapara HEXAHEXA, tem, tem--se: se: CDhCDh, , ondeondeTH1=TH1=CDhCDh e TL1=TH1=e TL1=TH1=CDhCDh..

O TC1 O TC1 éé acionadoacionado somentesomente pelopelo flag TR1, flag TR1, hajahaja vistovisto quequeGATE de TC1 = TCON.7 =0.GATE de TC1 = TCON.7 =0.

Page 95: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

Page 96: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

Onde verificaOnde verifica--se o estado de se o estado de ““overflowoverflow”” dos dos TCsTCs??

Os Os flagflag TF0TF0 e e TF1TF1 indicam quando hindicam quando háá estouro. estouro. Ex. aplicaEx. aplicaçção:ão:

espera: espera: jnbjnb TF0TF0, espera, esperaclrclr TR0TR0

PrecisaPrecisa--se recarregar os se recarregar os THsTHs e e TLsTLs a cada estouro ?a cada estouro ?

Sim, exceto o caso do modo 2, que Sim, exceto o caso do modo 2, que éé autocargaautocarga, nos , nos demais devedemais deve--se realizar esta tarefa.se realizar esta tarefa.

Page 97: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

ApApóós o s o ““estouroestouro”” éé preciso zerar os preciso zerar os flgsflgs TR1TR1 e e TR0TR0??

Sim. Os Sim. Os flagsflags mencionados não são zerados mencionados não são zerados automaticamente. Toda vez que forem utilizados como indicadores automaticamente. Toda vez que forem utilizados como indicadores de estouro, devem ser zerados, e sde estouro, devem ser zerados, e sóó então ligar novamente os então ligar novamente os TCsTCspara contagem. Cada vez que vão para 1 devepara contagem. Cada vez que vão para 1 deve--se se reprogramreprogramáá--loslospara 0 para que para 0 para que suramsuram efeito desejado no programa.efeito desejado no programa.

Monitorar estes Monitorar estes flagsflags não não éé trabalho trabalho ““escravoescravo”” para o para o µµCC ??

Sim, haja visto que o microcontrolador fica preso a Sim, haja visto que o microcontrolador fica preso a uma instruuma instruçção que a cada ciclo de mão que a cada ciclo de mááquina pergunta ao quina pergunta ao flagflag TF se TF se ele indicou um estouro (ele indicou um estouro (JNB JNB TF0TF0,$,$ ou ou JNB JNB TF1TF1,$,$).).

Page 98: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

Como preparar um TC para que o Como preparar um TC para que o µµC C nãonão fiquefique presopreso aoaoprocessoprocesso ??

SabendoSabendo do do endereendereççoo fixofixo de de atendimentoatendimento a a interrupinterrupççãoão, , queque parapara TC0=0x0Bh e TC1=0x1Bh, TC0=0x0Bh e TC1=0x1Bh, quandoquando ocorreocorreumauma interrupinterrupççãoão, o PC , o PC éé carregadocarregado com com estesestes endereendereççosos. . ExistindoExistindolláá umauma rotinarotina de de atendimentoatendimento, , podepode--se se tornartornar o o sistemasistema, , automautomááticotico..

ContudoContudo, , éé precisopreciso queque as as prioridadesprioridades estejamestejamajustadasajustadas as as necessidadesnecessidades e, e, principalmenteprincipalmente, , queque as as interrupinterrupççõesõesestejamestejam devidamentedevidamente habilitadashabilitadas. . IstoIsto éé feitofeito, , respectivamenterespectivamente, , nosnosSFRsSFRs IP e IE, IP e IE, jjáá mencionadosmencionados..

OcorrerãoOcorrerão 1000 : 1 1000 : 1 interrupinterrupççõesões do TC1 do TC1 relativasrelativas aoaoTC0, logo, TC0, logo, éé razorazoáávelvel dardar maiormaior prioridadeprioridade aoao TC0, TC0, poispois senãosenão suasuacontagemcontagem poderpoderáá ficarficar prejudicadaprejudicada temporalmentetemporalmente..

Page 99: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

Page 100: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte III Parte III –– Timers/CountersTimers/CountersSoluSoluçção:ão:

Rotina Rotina TC_1.asmTC_1.asm em PDFem PDFRotina .Rotina .asmasm considerando varredura de considerando varredura de TF1TF1 e e TF0TF0

Rotina Rotina TC_2.asmTC_2.asm em PDFem PDFRotina .Rotina .asmasm considerando interrupconsiderando interrupçção e prioridades.ão e prioridades.

ExercExercíício do livro 8051 detalhado cio do livro 8051 detalhado em PDFem PDFArquivo contendo pArquivo contendo pááginas do livro para melhor entendimentoginas do livro para melhor entendimentodo exemplo proposto.do exemplo proposto.

Page 101: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

PARTE IVPARTE IV

Comparativos entre famíliasComparativos entre famílias

Page 102: Curso Pós Cefet - mcs - UFSMw3.ufsm.br/rmbranco/cefet_files/Apostila/ApresPP.pdf · O µC inclui num ó chip, os µP , TIMER, SERIAL, e um pedaço da RAM e/ou ROM. Existem µCs que

Parte IVParte IV

1.1. IntroduçãoIntrodução

Referências bibliográficas:Referências bibliográficas:••NicolosiNicolosi••VidalVidal••PaixãoPaixão