Home
Apostila
Contents
1. RESET 0 0 0 0 0 0 0 0 X X X X X X X X X Indeterminado Figura 4 Registrador de ndice H X O registrador de 16 bits de ndice permite ao usu rio endere ar indiretamente o espa o de mem ria de 64Kbytes A concatena o do registrador de 16 bits denominada H X O byte alto do registrador de ndice denominado H e o byte baixo denominado X Nos modos de endere amento indexado a CPU utiliza o conte do de H X para determinar o endere o efetivo do operando H X tamb m podem servir como registradores tempor rios para armazenamento de dados 3 2 3 Stack Pointer SP Bitl5 14 13 12 11 10 9 8 7 6 5 4 3 2 1 BitO SP RESET 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Figura 5 Registrador Stack Pointer SP O registrador de 16 bits Stack Pointer cont m o endere o da pr xima posi o livre na pilha Durante um reset o Stack Pointer cont m o endere o 00FF A instru o RSP Reseta Stack Pointer seta o byte menos significativo com FF e o byte mais significativo n o afetado Quando a CPU insere um novo dado na pilha automaticamente o SP decrementado para o pr ximo endere o livre Quando a CPU retira um dado da pilha o SP incrementado para apontar para o dado mais recente e o valor do dado lido nesta posi o Quando a CPU energizada ou resetada o SP aponta para um endere o espec fico na mem ria RAM SO0FF
2. NSA Troca nibbles do acumulador Teste de dados Instru o Descri o BIT Testa bits compara o bit a bit BRCLR Desvia se bit na mem ria est limpo BRSET Desvia se bit na mem ria est setado CMP Compara acumulador com mem ria CPHX Compara registrador de ndice com mem ria CPX Compara X com mem ria TSTA Testa se acumulador negativo ou zero TSTX Testa se registrador X negativo ou zero TST Testa se mem ria negativa ou zero CNZ 53 Q MOTOROLA intelligence everywhere Desvios condicionais Instru o Descri o BCC Desvia se bit C 0 BHS Desvia se conte do do acumulador for maior ou igual ao conte do da mem ria operandos sem sinal BCS Desvia se bit C 1 BLO Desvia se conte do do acumulador for menor do que o conte do da mem ria operandos sem sinal BEQ Desvia se igual BGE Desvia se conte do do acumulador for maior ou igual ao conte do da mem ria operandos com sinal BGT Desvia se conte do do acumulador for maior do que o conte do da mem ria operandos com sinal BHCC Desvia se bit H 0 BHCS Desvia se bit H 1 BHI Desvia se conte do do acumulador for maior do que o conte do da mem ria operandos sem sinal BIH Desvia se pino IRQ 1 BIL Desvia se pino IRQ 0 BLE Desvia se conte do do acumulador for menor ou igual ao conte do da mem ria op
3. Q mororora digitaldna intelligence everywhere Um ciclo de escrita de qualquer valor no endere o FFFF antes da ocorr ncia de estouro zera o contador COP e os est gios 12 5 do contador SIM O registrador localizado no endere o SFFFF tamb m denominado registrador de controle do COP COPCTL Um reset do COP coloca o pino RST em n vel l gico 0 por 32 x BUSCLKXA ciclos e seta bit COP no registrador de status do reset RSR O m dulo COP desabilitado no modo monitor quando V sr estiver presente no pino IRQ As instru es WAIT e STOP colocam a CPU em modo de baixo consumo No modo WAIT o COP continua a operar e para prevenir se um reset periodicamente o contador COP deve ser zerado No modo STOP o sinal de clock BUSCLKXA desligado portanto n o capaz de gerar um reset por m na sa da do modo STOP assegure se de ter o per odo de timeout completo do COP para prevenir se de um poss vel reset durante a execu o do software 4 12 M dulo de Inibi o por Tens o Baixa LVI O m dulo LVI Low Voltage Inhibit tem a fun o de monitorar a tens o do pino de alimenta o Vpp e pode for ar um reset quando a tens o Vpp cair abaixo da tens o de desligamento VTRIPF STOP INSTRUCTION FROM CONFIG FROM CONFIG LVIPWRD FROM CONFIG Voo gt LVITRIP 0 Vpp lt LVITRIP 1 LVI RESET LOW DETECTOR FROM CONFIG Figura 17 Dia
4. Se executou NNx20 vezes continua RTS Fim da subrotina A rotina Dly 1s envolve um oop interno 50ms dentro de outro loop externo pois n o poss vel com um nico oop conseguirmos tempos da ordem de dezenas de milissegundos O loop interno consiste em instru es que decrementam o registrador H X um determinado n mero de vezes que ao final valor 0 tenha decorrido aproximadamente 50 ms O oop externo executado 20 vezes o loop interno dessa forma tem se um tempo decorrido final de 20 x 50ms 1 segundo Um detalhamento de como feito o c lculo est apresentado na Figura 21 onde o valor no interior dos c rculos representa o n mero de ciclos de m quina para que cada instru o seja executada Dly 1s LDA 20 gt LoopO LDHX t50ms Loop1 AIX 1 5 x t50ms BNE Loop1 x 20 DECA BNE L 00 p0 75 RTS gt o o Figura 21 N mero de ciclos de m quina da subrotina Dly 1s CNZ 65 E A Q digital dna intelligence everywhere Pelo projeto proposto n o foi definido o tipo de oscilador portanto ser utilizado um oscilador externo de freq ncia igual a 20 MHz igual ao utilizado no Kit de Desenvolvimento M68E VB908Q ver item 8 6 2 O tempo denominado ciclo de m quina igual ao inverso dessa frequ ncia vezes 4 ou 4 per odos da freq ncia dada
5. desenvolvimento CodeWarrior e isso tem um motivo como ser visto no item 8 3 A codifica o do projeto proposto apresentada pela concatena o das instru es listadas abaixo e tem como base os fluxogramas apresentados anteriormente Programa principal TINTERO LDA 00001000B Configura 68 9080 1 SUYA CONF IG2 8 pino IRO maio oscilador externo 20 MHz p pino RST inativo LDA QOOQOE COF desabilitado STA CONFIG1 BO desabilitado NEL de STO lenta LDA SFF STA PORTA LDA 02 SUYA DDRA Configura 1 0 1 Saida PTAO PTA2 a PTA5 Entrada LED VOLTA LDA PORTA AND 504 Le botao BNE VOLTA Se botao nao pressionado VOLTA ECO OSA Acende o LED JSR Dly 1s 2 seg subrotima Dily le BSET 1 PORTA Apaga o LED FICA LDA PORTA AND 504 Le botao Se botao pressionado FICA BRA VOLTA Senao VOLTA CNZ 64 Q mororora gigitaldna intelligence everywhere O processo tarefa Dly 1s subrotina um programa relativamente pequeno conforme c digo abaixo de Tempo ls ius 16 Dly_ digg LDA 20 delay cle ie 20 Dn LoopO0 LDHX t50ms H X contador de tempo 50ms NN Loopl AIX 1 1 8 c dg 1 CPHX 0 p Veriiica bix 0 BNE 00p1 bix lt gt 0 volta para DECA BNE 00p
6. EPROM quanto a programa o mas que n o pode ser apagada CNZ 11 Q mororora digitaldna intelligence everywhere EEPROM Electrically Erasable and Programmable ROM Mem ria ROM program vel e apag vel eletricamente Pode ter seu conte do alterado atrav s da utiliza o de sinais el tricos convenientes Tipicamente um endere o de uma EEPROM pode ser apagada e reprogramada at 10 000 vezes FLASH Mem ria funcionalmente semelhante a EEPROM por m com ciclos de escrita bem mais r pidos Input Output Registradores de controle status e sinais de I O s o um tipo especial de mem ria porque a informa o pode ser sentida lida e ou alterada escrita por dispositivo diferentes da CPU 2 4 Sinais de Entrada Dispositivos de entrada fornecem informa o para a CPU processar vindas do mundo externo A maioria das entradas que os microcontroladores processam s o denominadas sinais de entrada digitais utilizam n veis de tens o compat veis com a fonte de alimenta o do sistema O sinal de GND ou indica o n vel l gico 0 e o sinal de fonte positiva que tipicamente 5Vpc Vpp indica o n vel l gico 1 Naturalmente que no mundo real existem sinais puramente anal gicos com uma infinidade de valores ou sinais que utilizam outro n vel de tens o Alguns dispositivos de entrada traduzem as tens es do sinal para n veis compat veis com Vpp Vss Outros dispositivos d
7. Leitura do conte do do Stack Pointer Y RUN Executa as instru es e RTI lt CNZ 42 Q mororora digitaldna intelligence everywhere A CPU executa as instru es SWI e PSHH quando entra no modo Monitor O comando RUN informa que a CPU deve executar as instru es PULH e RTI Antes de enviar o comando RUN o computador pode modificar o conte do dos registradores que est o na pilha para prepar los a executar o programa do usu rio O m dulo Monitor ROM possui uma caracter stica de seguranga muito importante que previne usu rios n o autorizados a ler o conte do da mem ria FLASH Por essa caracter stica o programador s tem acesso ao conte do da FLASH depois de enviar 8 bytes de seguran a que devem coincidir com bytes armazenados nos endere os SFFF6 FFFD Estes endere os cont m dados definidos pelo usu rio Ap s a energiza o POR a CPU aguarda o recebimento serial de 8 bytes de seguran a no pino PTAO para entrar no modo Monitor Se os bytes recebidos coincidirem com os bytes localizados nos endere os SFFF6 SFFFD todas as fun es do Monitor estar o dispon veis para uso Resets posteriores n o desabilitar o as fun es do Monitor isto esses bytes de seguran a s ser o verificados novamente quando ocorrer outro POR os bytes de seguran a n o coincidirem com os bytes dos endere os FFF6 FFFD a CPU entra no modo Monitor mas n o permite que a FLASH seja lida Dep
8. MOTOROLA O intelligence everywhere digital E o usu rio n o programou os bytes de seguranga de c digo selecionar uma das op es com FF FF FF FF FF FF FF FF 8 bytes com FF 2 F Pressionar bot o Contact Target with these settings Isto iniciar a comunica o para entrar no modo ICD Se o ambiente do simulador estava utilizando outro modo de simula o surgir uma caixa de di logo Figura 40 perguntando ao usu rio se ele deseja recarregar os dados do projeto O usu rio dever pressionar o bot o Yes a 7 Current debug mode changed do you wish to reload object file data Figura 40 Mudan a no modo de simula o H Uma nova caixa de di logo Figura 41 surgir perguntando ao usu rio se ele deseja apagar e programar a mem ria FLASH O usu rio deve responder Yes e a partir desse ponto o c digo execut vel gravado na mem ria FLASH Erase and Program Flash Ol x Load image contains flash memory data Erase and Program flash Sw Always Erase and Program flash without asking Figura 41 Apagar e Programar a mem ria FLASH L O processo de apagamento e programa o da mem ria FLASH iniciado O usu rio pode verificar a sequ ncia de comandos transferidos entre o computador e o hardware alvo conforme apresentado na Figura 42 im CPROGOSSZ Programmer Version 1 67 Status Window A x X Abort pemicro c
9. O sinal de reset do m dulo LVI ativado quando a tens o Vpp cai abaixo do valor de desligamento Vrripf O bit LVI do registrador de status de reset SRSR setado 64 BUSCLKX4 ciclos depois a CPU e as mem rias saem do reset para permitir que a sequ ncia do vetor de reset ocorra CNZ 35 E A Q mororora digitaldna intelligence everywhere 4 3 2 Controle de exce es A seq ncia normal de execu o de programas pode ser alterada em 3 diferentes meios Y Interrupgdes Y Interrup es de hardware mascar veis Y Interrup o por software n o mascar vel Instru o SWI Y Reset Y Interrup o BREAK As interrup es s o memorizadas e o arbitramento desenvolvido pelo m dulo SIM no in cio do processo de interrup o O resultado do arbitramento determina qual vetor de interrup o a CPU vai utilizar Uma vez que a interrup o memorizada pelo m dulo SIM nenhuma outra pode tomar preced ncia independente da prioridade antes que a interrup o memorizada seja servida ou o bit I seja zerado No in cio da interrup o a CPU salva o conte do dos registradores principais na pilha e seta o bit de m scara da interrup o para prevenir interrup es adicionais No final da interrup o a instru o RTI recupera o conte do dos registradores da CPU na pilha e o processo normal pode continuar Uma interrup o de hardware n o para a instru o corrente O processamento da i
10. o de sa da O contador TIM utiliza os registradores TMODH TMODL para configurar o valor m ximo de contagem do m dulo O software pode ler o valor do contador TIM a qualquer hora sem afetar a seq ncia de contagem Os dois canais do m dulo TIM s o program veis independentemente como canais de captura de entrada ou compara o de saida A fonte de clock do m dulo TIM o clock do barramento interno dividido por uma das 7 op es de sa da dispon veis pelo circuito de pr escala Os bits de sele o PS 2 0 do registrador de controle e status do m dulo TIM TSC selecionam a pr escala e conseq entemente a fonte de clock do m dulo TIM Com a fun o de captura de entrada o m dulo TIM pode determinar precisamente o tempo no qual um evento externo ocorre Quando uma determinada borda ocorre no pino de um canal de captura de entrada o m dulo TIM armazena o conte do do contador nos registradores TCHxH TCHxL Esta captura pode tamb m gerar uma requisi o de interrup o Com a fun o de compara o de saida o m dulo TIM pode gerar um pulso peri dico com uma polaridade dura o e freq ncia program vel Quando o contador alcan a o valor programado de contagem o m dulo TIM pode setar resetar ou mudar o estado do pino daquele canal Esta compara o pode tamb m gerar uma requisi o de interrup o Se for utilizada a caracteristica de mudan a no estouro da contagem toggle on overflow com um canal
11. 55 Voo 1 0 5 05 1 5 2 7 PTAO TCHO KBIO PTAS OSCT AD3 KBIS 2 7 PTAO ADO TCHO KBIO PTA4 0SC2 KBI4 3 6 7 PTA1 TCH1 KBN 4 05 2 02 6 7 PTAADITCHIKBIN PTA3IRST KBI3 4 5 7 PTAZ IRQ KBI2 PTA3 RSTIKBI3 7 4 5 PTA2 IRQ KBI2 Figura 8 Pinagem dos microcontroladores MC68HC908QTI QT2 QT4 PDIP SOIC Vo C 1 16 Vss Voo EJ 1 161 Vss PTB7 2 15 PTB7 2 15 1 PTBO PTB6 14 _ PTB1 PTB6 3 14 _ PTB1 PTASIOSCT KBIS 7 4 13 PTAO TCHO KBIO PTASIOSC1 AD3 KBIS 1 4 13 PTAO ADO TCHO KBIO PTA4 0SC2 KBIA 5 1217 PTATITCH1 KBI PTA4 OSC2 AD2 KBI4 5 12 PTAVADI TCH1 KBH PT85 16 11L Pr82 pres C 6 nl Prez 4 7 1o PTB3 PTB4 717 1o PTB3 PTA3RSTIKBI3 E 8 9 PTAZ IRQ KBI2 PTA3 RST KBI3 8 9 7 PTA2 IRQ KBI2 Figura 9 Pinagem dos microcontroladores MC68HC908QY1 QY2 QY4 PDIP SOIC PTAO TCHO KBIO 1 16 PTATTCHT KBH PTAO ADO TCHO KBIO 1 16 PTA1 ADT TCHT KBH PTB1 12 15 PT82 PTB1 C 2 15 PTB2 PTBO 14 0 PT3 PTBO C 14 PTB3 Vss 2 Vss 13 PTAZ ROKBIZ Voo 5 12 7 PTASRST KBIS Voo 5 12 7 PTA RST KBIS PTB7 C 6 11 C pres PTB7 6 nO pres PTBe 7 10 PTB5 PTB6 17 10 PTB5 PTAS OSC1 KBI5 9 7 PTA4 OSC2 KBI4 PTA5 OSC1 AD3 KBI5 8 9 7 PTA4 OSC2 AD2 KBI4 Figura 10 Pinagem dos microcontr
12. O que est faltando calcular o valor t50ms tal que forne a um tempo de execu o da subrotina de aproximadamente 1 segundo e que pode ser obtido a partir da seguinte equa o t 2 3 2 3 3 x150ms 1 3 x 204 ex Je segundo 4 20x10 Isolando t50ms e fazendo os c lculos chega se ao valor t50ms 31249 0875 31249 Como esse valor est dentro da faixa de n meros de 16 bits valor m ximo 65535 poss veis ent o ele ser o valor inserido no arquivo fonte no lugar de t50ms para que a subrotina seja executada em 15 Se a freq ncia ou a implementa o das instru es forem alteradas o c lculo do tempo de execu o dever ser refeito 7 5 Montador Assembler Depois de totalmente codificado o software desenvolvido em linguagem assembly deve ser traduzido para seus c digos de m quina respectivos Esse processo realizado por um programa computacional chamado montador assembler ou macro assembler Detalhes do c digo gerado e que tamb m servir para depura o do sistema ser o vistos no item 8 7 6 Simula o depura o e testes do sistema Com o c digo execut vel formato S19 ou ABS em m os o programador estar pronto para verificar se o c digo gerado executa o que idealizado inicialmente para a aplica o Para tanto o programador pode utilizar uma s rie de ferramentas de desenvolvimento que est o detalhadas no item 8 CNZ 66 Q mororora gigitaldna 8 FERRAMENTAS DE DESE
13. SP um registrador cuja fun o apontar para a pr xima localiza o dispon vel endere o livre de uma pilha lista de endere os contiguos A pilha pode ser vista como um monte de cartas empilhadas onde cada carta armazena um byte de informa o A qualquer hora a CPU pode colocar uma carta nova no topo da pilha ou retirar uma carta do topo da pilha As cartas que est o no meio da pilha n o podem ser retiradas at que todas que estejam acima dela sejam removidas primeiro A CPU acompanha o efeito da pilha atrav s do valor armazenado no SP O SP sempre aponta para a localiza o de mem ria dispon vel para se colocar a pr xima carta byte Normalmente a CPU usa a pilha para guardar os endere os de retorno e o contexto isto os registradores da CPU na ocorr ncia de uma exce o interrup o ou reset CNZ 10 E A Q mororora digitaldna 2 2 Sistema de Clock Todo sistema computacional utiliza um clock para fornecer a CPU uma maneira de se mover de instru o em instru o em uma seq ncia pr determinada Uma fonte de clock de alta freq ncia normalmente derivada de um cristal ressonador conectado a CPU usado para controlar o sequeciamento das instru es da CPU Normalmente as CPUs dividem a freq ncia b sica do cristal por 2 ou mais para chegar ao clock do barramento interno Cada ciclo de leitura ou escrita a mem ria levam um ciclo de clock do barramento interno tamb m d
14. Status Invalid Response or No Response to last attempt to contact target 0 ICS Hardware loopback detected 4 Device entered monitor mode N 1 Device echoed some security bytes N Port 5 Reset was Power On Reset Help 2 Device echoed all security bytes N 6 ROM is accesible un secured 3 Device signaled monitor mode with a break N Show this dialog before attempting to contact the target 68HC08 board Abort Figura 37 ICS serial e c digo de seguranca C Para utilizar a placa de desenvolvimento M68EVB908Q no modo ICS o usu rio dever selecionar o Target Hardware Type CLASS I Motorola ICS Board with processor installed Emulation connection OK Power controlled via DTR D Selecionar a comunica o serial atrav s de um port dispon vel COMI COM e uma taxa de comunica o de 19200 bps Na placa M68EVB908Q os jumpers J5 e J6 dever o estar fechados e o jumper J3 dever estar na posi o 1 2 Maiores detalhes podem ser encontrados no manual do usu rio da placa M68EVB908Q CNZ 83 E MOTOROLA digital dna intelligence everywhere E Se o usu rio n o programou os bytes de seguranga de c digo selecionar uma das op es com FF FF FF FF FF FF FF FF 8 bytes com SFF Pressionar o bot o Contact Target with these settings Isto permitir a entrada no modo ICS e na janela de Commands o usu rio ver entre outras as seguintes mensagens
15. o da primeira instru o a ser executada depois que a CPUOS sai do estado de reset 3 2 5 Condition Code Register CCR Bit 7 6 5 4 3 2 1 Bit O CCR V 1 1 H I N Z RESET X 1 1 X 1 X X X X Indeterminado Figura 7 Registrador Condition Code CCR O registrador CCR cont m um bit para mascarar interrup es e 5 bits que indicam o resultado da instru o executada naquele instante Os bits 5 e 6 s o permanentemente setados A descri o mais detalhada de cada bit apresentada a seguir 3 2 5 1 V Bit de Overflow A CPU set o bit de overflow quando houver transbordo no resultado de uma opera o em complemento de 2 O bit V utilizado pelas instrug es de desvios condicionais BGT BGE BLE e BLT 3 2 5 2 H Bit de Half carry A CPU seta o bit de quando ocorrer transbordo entre os bits 3 e 4 do acumulador durante as opera es ADD e ADC O bit H importante nas opera es aritm ticas codificadas em bin rio BCD A instru o DAA utiliza o estado dos bits H e C para determinar o fator de corre o apropriado CNZ 17 E A Q mororora digitaldna intelligence everywhere 3 2 5 3 I Mascara Interrup o Quando o bit I est setado todas as interrup es s o mascaradas As interrup es s o habitadas quando o bit I resetado Quando ocorre uma interrup o o bit que mascara as interrup es automaticamente setado de
16. o serial e c digo de seguran a 83 Figura 38 Janela de Comandos Simula o n Circuit 84 Figura 39 ICS Conex o serial e c digo de seguran a 85 Figura 40 Mudan a no modo de simula o 86 Figura 41 Apagar e Programar a mem ria FLASH 86 Figura 42 Apagando e programando a mem ria FLASH 86 CNZ Q mororora digitaldna intelligence everywhere Lista de tabelas Tabela 1 Microcontroladores da fam lia MC68HC908QT QY 25 Tabela 2 Descri o dos pinos dos microcontroladores MC68HC908QT QY 28 Tabela 3 Seq ncia de prioridade dos pinos 6 29 Tabela 4 Vetores de interrup o da fam lia 68 908 31 Tabela 5 Fontes de interrup o ERRA 37 Tabela 6 Entrada em Modo Monitor Modo Usu rio ap s um 41 Tabela 7 Vetores do Modo Usu rio x Modo Monitor sese 42 Tabela 8 Principais Diretivas do Assembler sss 57 CNZ 6 Q mororora digitaldna 1 INTRODU O A evolu o r pida da eletr nica digital dos microprocessadores e em particular dos microcontroladores provocou uma revolu o no cotidiano das pessoas Nos afazeres dom
17. sticos di rios na condu o de um ve culo no cen rio visual da cidade e tamb m nos mais variados equipamentos que est o a nossa disposi o no trabalho ou na escola encontram se solu es integradas embbeded que utilizam microcontroladores A intelig ncia incorporada s m quinas est presente em todos os lugares e a qualquer momento Estima se que em 2010 em m dia uma pessoa interagir com 350 dispositivos com microcontroladores diariamente A fam lia Motorola M68HC08 comumente denominada HC08 cont m microcontroladores de prop sito geral com largas possibilidades de aplica o Este documento fornecer aos seus leitores uma introdu o arquitetura dos microcontroladores HC08 bem como o conjunto de instru es para programa o utilizando o c digo fonte linguagem Assembly Dentre os in meros integrantes da fam lia HC08 os mais econ micos e compactos que podem ser dedicados a aplica es em que custo e espa o s o fundamentais s o denominados de MC68HC908QT QY e ser o apresentados em detalhes neste documento importante ressaltar que todos os conceitos abordados s o v lidos para toda a fam lia de microcontroladores 08 Os leitores dever o ler este documento cuidadosamente e completamente pois as informa es e instru es nele contidas s o essenciais para a parte pr tica laborat rios Por se tratar de material did tico para treinamento b sico de microcontroladores da fam
18. 128 passos O registrador utilizado para isso o OSCTRIM que tendo seu valor incrementado aumenta o per odo do clock Ajustando o valor em OSCTRIM a freq ncia do clock poder chegar 5 em torno de 12 8 MHz 4 4 3 Oscilador Externo A op o de clock externo foi projetada para uso quando existe um sinal em freq ncia dispon vel na aplica o para fornecer uma fonte de clock para o microcontrolador O pino OSCI habilitado como uma entrada pelo m dulo do oscilador O sinal de clock usado diretamente para criar os sinais BUSCLKXA e tamb m dividido por 2 criar o sinal BUSCLKX2 Nesta configura o o pino OSC2 n o pode ser configurado como sa da do BUSCLKXA Portanto o bit OSC2EN no registrador de habilita o do Port A ser zerado para habilitar as fun es de I O PTA4 no pino 4 4 4 Oscilador a Cristal O circuito oscilador a cristal XTAL foi projetado para uso com um cristal externo ou um ressonador cer mico para fornecer uma fonte de clock precisa Nesta configura o o pino OSC2 dedicado ao circuito do cristal externo e conectado na configura o de um oscilador Pierce como apresentado na figura abaixo No microcontroladores da fam lia MC68HC908QT QY a frequ ncia de cristal m xima permitida de 32MHz que dividido por 4 fornece a frequ ncia do barramento interno de 8MHz CNZ 39 ta MOTOROLA digital dna intelligence everywhere FROM SIM TO SIM TO SIM BUSCLKX4 BUSCLKX
19. CPUOS tem modos de endere amento indexado com offsets de 8 ou 16 bits do SP para ser utilizado no acesso de vari veis tempor rias inseridas na pilha A CPU utiliza o conte do do registrador SP para determinar o endere o efetivo do operando NOTA Embora o endere o inicial do SP seja 00FF a localiza o da pilha arbitr ria e pode ser realocada pelo usu rio em qualquer lugar na RAM Movimentar o SP para fora da p gina O 80000 a 800FF ir abrir espa o de mem ria que pode ser acessado usando modos de endere amento mais eficientes CNZ 16 Q mororo a digitaldna intelligence everywhere 3 2 4 Program Counter PC Bitl5 14 13 12 11 10 9 8 7 6 5 4 3 2 1 BitO PC RESET Carregado com o dado do vetor SFFFE Carregado com o dado do vetor SFFFF Figura 6 Registrador Program Counter PC O Program Counter um registrador de 16 bits que cont m o endere o da pr xima instru o ou operando a ser capturado fetched na mem ria de programa Normalmente o conte do do PC automaticamente incrementado para o pr ximo endere o toda vez que uma instru o ou operando capturado Opera es de desvios chamadas subrotinas ou interrup es carregam o PC com um endere o diferente do endere o sequencial Durante o reset o PC carregado com o conte do do vetor de reset localizado nos endere os FFFF Eles cont m o endere
20. Entrada da interrup o de teclado 4 Entrada PTAS 5 Porta de entrada sa da de uso geral Entrada Sa da OSC1 Entrada do oscilador a cristal Entrada AD3 Entrada anal gica canal 3 Entrada 5 Entrada da interrup o de teclado 5 Entrada PTB 0 7 PTB 0 7 8 entradas sa das de uso geral Entrada Sa da Os pinos do port PTB n o est o dispon veis nos componentes de 8 pinos CNZ 28 Q mororo a digitaldna intelligence everywhere Os pinos que tem m ltiplas fun es num mesmo pino possuem uma seq ncia de prioridade que dada pela tabela a seguir Tabela 3 Seq ncia de prioridade dos pinos multifuncionais Pino Seq ncia de prioridade maior para menor PTA 0 ADO gt TCHO gt KBI 0 gt PTA 0 PTA 1 ADI TCHI gt KBI 1 PTA I PTA 2 gt KBI 2 gt PTA 2 PTA 3 RST KBI 3 gt PTA 3 4 05 2 gt AD2 gt KBI 4 gt PTA 4 5 OSCI gt AD3 gt KBI 5 gt PTA 5 NOTA Na presen a da condi o de reset todos os pinos se tornam entradas independente da tabela de prioridade 4 2 Mem ria Os componentes da fam lia MC68HC908QT QY possuem os seguintes tipos de mem ria implementadas v 4096 bytes de mem ria FLASH MC68HC908QT4 e MC68HC908QY4 1536 bytes de mem ria FLASH MC68HC908QTI QT2 e MC68HC908QY 1 QY2 128 bytes de mem ria RAM para dados 48 bytes para vetores de interrup o pr
21. Inc AN2317 D Low Cost Programming and Debugging Options for M68HC08 MCUs Motorola Inc Placa de Desenvolvimento M68EVB908Q Manual do Usu rio Motorola Industrial Ltda CNZ 88 Q mororora gigitaldna GLOSS RIO Os d gitos que seguem o prefixo ff indicam um operando imediato Os d gitos que seguem o prefixo est o em formato hexadecimal ALU Arithmetic Logic Unit ver Unidade L gica Aritm tica Assembly ver Linguagem Assembly Barramento Bus Uma cole o de linhas l gicas usadas para transferir informa es simultaneamente Barramento de Dados Data Bus Conjunto de linhas utilizadas para transportar informa es bin rias da CPU para a mem ria ou da mem ria para a CPU Barramento de endere os address bus Conjunto de linhas utilizadas para selecionar uma posi o espec fica na mem ria para que a CPU possa escrever informa es ou ler seu conte do BCD Binary Coded Decimal ver Decimal Codificado em Bin rio Bit Digito bin rio simples Um bit pode armazenar os valores 0 ou 1 Byte Um conjunto de 8 bits CCR Condition Code Register ver Registrador Condition Code Chip Componente eletr nico Ciclos da CPU Per odo de clock do barramento interno normalmente derivado da divis o de um cristal oscilador por 2 ou mais O tempo necess rio para executar uma instru o medido em ciclos da CPU Clock Sin
22. Redo Can t Redo Refazer N o pode refazer 7 Cut Recortar 8 Copy Copiar 9 Paste Colar 10 Find Encontrar 11 Find Next Encontrar a pr xima 12 Replace Selection Substituir sele o 13 Compile Compilar c digo 14 Make Construir c digo bin rio 15 Stop Build Parar constru o do c digo 16 Debug Depurar 17 Errors and Warnings Erros e Avisos 18 Preferences Prefer ncias 19 P amp E PEDebug FCS ICS ICD Settings Configura o CNZ 69 O mororoa digitaldna 8 3 Criando um Projeto Para criar um novo projeto siga o seguinte roteiro A Dentro do CodeWarrior selecione File gt New na barra de menus Isto apresentar a caixa de di logo NEW Figura 25 Tenha certeza que o painel Project est ativo clicando na aba correspondente se necess rio dB HCOS Stationery 3 Makefile Importer Wizard CAProjetos CNZA 22216 Figura 25 Caixa de di logo NEW B Na lista de projetos selecione HC08 Stationery Figura 26 Esta op o prepara CodeWarrior para trabalhar com o microcontrolador e linguagem de programa o selecionadas facilitando o trabalho do programador na configura o do ambiente de trabalho Figura 26 Nome e pasta do novo projeto CNZ 70 E MOTOROLA digital dna intelligence everywhere C No campo de Project name digite o nome do projeto novo Pisca 1s Figura 26 D No campo Location
23. Reseta o bit de m scara da interrup o Bit I do registrador CCR habilitando interrup es externas Depois de sair do modo STOP por interrup o externa o bit I permanece resetado Depois de sair por um reset o bit I setado Y Desabilita o clock da CPU e dos perif ricos Y Depois de sair do modo STOP o clock da CPU comega a rodar depois do tempo de estabiliza o do oscilador Uma requisi o de interrup o de um m dulo pode causar a sa da do modo STOP O modo STOP pode tamb m ser finalizado por um reset ou um BREAK Os sinais do oscilador BUSCLKX2 e BUSCLKX4 param no modo STOP parando a CPU e os perif ricos O tempo de recupera o do STOP selecion vel pelo bit SSREC do registrador de configura o 1 CONFIGI Se SSREC 1 o tempo de recupera o do STOP reduzido de 4096 x BUSCLKXA ciclos para 32 Este valor ideal para utiliza o com o oscilador interno oscilador RC e oscilador externo que n o precisam de tempos longos de estabiliza o CNZ 22 ta MOTOROLA digital dna intelligence everywhere 3 5 Processamento de excec es CPUO8 como em outros microcontroladores executa as instru es sequencialmente Por m em uma grande variedade de aplica es necess rio executar um conjunto de instru es em resposta a eventos excepcionais durante a execu o de programas Estes eventos frequentemente s o ass ncronos em rela o execu o do programa principal
24. a direita do registrador X ASR Shift aritm tico para a direita da mem ria CLRA Limpa acumulador CLRH Limpa registrador H CLRX Limpa registrador X CLR Limpa mem ria DECA Decrementa acumulador DECX Decrementa registrador X DEC Decrementa mem ria INCA Incrementa acumulador INCX Incrementa registrador X INC Incrementa mem ria LSRA Shift l gico direita do acumulador LSRX Shift l gico direita do registrador X LSR Shift l gico direita da mem ria NEGA Negativo do acumulador complemento de 2 NEGX Negativo do registrador X complemento de 2 NEG Negativo da mem ria complemento de 2 ROLA Rota o para a esquerda com carry do acumulador ROLX Rota o para a esquerda com carry do registrador X ROL Rota o para a esquerda com carry da mem ria RORA Rota o para a direita com carry do acumulador RORX Rota o para a direita com carry do registrador X ROR Rota o para a direita com carry da mem ria CNZ 52 Q mororora digitaldna intelligence everywhere Bit Manipulac o de Bits Instruc o Descri o BCLR Limpa o bit na mem ria BSET Seta o bit n na mem ria L gica Instru o Descri o AND AND l gico COMA Complementa acumulador complemento de 1 COMX Complementa registrador X complemento de 1 COM Complementa mem ria complemento de 1 EOR Exclusive OR do acumulador com mem ria ORA OR l gico
25. como prefixo de um valor indica que o mesmo est em nota o hexadecimal CNZ 19 Q mororo a digitaldna intelligence everywhere 3 3 5 Indexado Os modos de endere amento indexado s o a chave para a gera o de c digo eficiente para pesquisa tabelas e outras estruturas de dados O modo de endere amento indexado sem offset conhecido popularmente por outras arquiteturas de microcontroladores como endere amento indireto O valor presente no operando das instru es com o registrador de ndice um endere o ponteiro Y 3 3 6 Sem offset Exemplo LDA X Carrega o acumulador com o conte do do endere o armazenado no registrador H X Com offset de 8 bits Exemplo LDA 5E X Carrega o acumulador com o conte do do endere o armazenado em H X 5E Com offset de 16 bits Exemplo LDA 485E X Carrega o acumulador com o conte do do endere o armazenado em H X 485E Sem offset e com p s incremento Exemplo CBEQ Compara o conte do de com o conte do do endere o armazenado em H X salta para TAG quando igual e posteriormente incrementa X Com offset de 8 bits e p s incremento Exemplo 50 X TG1 Compara o conte do de com o conte do do endere o armazenado em H X 50 salta para TAG quando igual e posteriormente incrementa X Stack Pointer Existem dois tipos de endere amento do Stack Pointer com 8 bits ou 16 bits de offset Eles
26. configurado com compara o de saida o m dulo TIM pode gerar um sinal de PWM Maiores detalhes s o apresentados no data sheet da familia MC68HC908QT QY CNZ 44 Q mororo a digitaldna intelligence everywhere 4 7 Conversor Anal gico Digital ADC As principais caracter sticas do m dulo ADC s o Y 4 canais com multiplexa o das entradas Convers o por aproxima o sucessiva linear Resolu o de 8 bits Convers o simples ou cont nua Flag indicativa de convers o completada ou interrup o por convers o completada Y Clock do ADC selecion vel Os 4 canais do ADC s o dispon veis para amostrar sinais externos nos pinos PTAO 1 PTA4 e PTAS Um multiplex anal gico interno permite que a sele o de um dos canais seja amostrada e armazenada no registrador ADCVIN com resolu o de 8 bits Quando a convers o completada o m dulo ADC coloca o resultado no registrador de dados do ADC e seta um flag ou gera uma interrup o 4 8 Portas de Entrada Sa da 1 Os microcontroladores MC68HC908QTI QT2 QT4 tem 5 pinos bidirecionais program veis como entrada sa da I O e 1 pino de entrada Os microcontroladores MC68HC908QY 1 QY2 QY4 tem 13 pinos bidirecionais program veis como entrada sa da e 1 pino de entrada NOTA Conecte todos os pinos de I O n o utilizados a um determinado n vel l gico Vpp ou Vss Embora os ports de I O n o requeiram termina o para operar adequadamente uma termin
27. da interrup o do teclado vai para n vel l gico 0 depois de todas estarem em n vel l gico 1 O bit MODEK no registrador de controle e status do teclado controla o modo de disparo da interrup o de teclado Maiores detalhes s o apresentados no data sheet da familia MC68HC908QT QY 4 11 M dulo Computador Operando Corretamente COP O m dulo COP Computer Operating Properly cont m um contador que gerar um reset quando estourar sua contagem O m dulo COP ajuda o software a se recuperar de quando o sistema passa a executar por exemplo um c digo esp rio Para prevenir o reset do COP seu contador deve ser zerado periodicamente O m dulo COP pode ser desabilitado atrav s do bit COPD presente no registrador de configura o 1 CONFIGI SIM MODULE SIM RESET CIRCUIT RESET STATUS REGISTER INTERNAL RESET SOURCES COP TIMEOUT RESET VECTOR FETCH COPCTL WRITE COP MODULE 6 BIT COP COUNTER COPEN FROM SIM COPD FROM CONFIG1 RESET COPCTL WRITE COP COUNTER COP RATE SELECT COPRS FROM CONFIG1 Figura 16 Diagrama de blocos do m dulo COP O m dulo COP cont m um contador de 6 bits que roda livre precedido pelo contador de 12 bits do m dulo SIM Se n o for zerado por software o contador do COP estoura e gera um reset depois de 2 5 2 ou 2 2 BUSCLKX4 ciclos dependendo do estado do bit de sele o da taxa do COP COPRS no registrador de configura o1 CONFIGI CNZ 47
28. everywhere 8 6 3 Depura o Programa o In Circuit ICD A Depura o Programa o In Circuit ICD In Circuit Debug Programming muito semelhante a Simula o n Circuit com a seguinte diferen a b sica no modo ICD o c digo execut vel formato 519 programado na mem ria FLASH do microcontrolador e toda a depura o do c digo feita utilizando o hardware alvo Para realizar a depura o programa o no modo ICD conecte o computador e a placa M68EV B908Q atrav s de um cabo serial e siga o seguinte roteiro A Selecione o modo In Circuit Debug Programming como apresentado na Figura 34 B Na primeira vez e ou sempre que houver algum problema de comunica o o simulador abrir uma janela com o conte do apresentado na Figura 39 Se n o for a primeira vez e n o houver problemas de comunica o o simulador prepara todo o ambiente para iniciar a simula o sem abrir essa janela Attempting to contact target and pass security Target Hardware Type Class 1 Motorola ICS Board with processor installed Emulation connection ok Power controlled via DTR Advanced Class I II IH IV Settings Serial 1 71 Close Baud 13200 Baud Y Specified Badd 0 The serial port is open Target MCU Security bytes Attempt ALL Known security codes in order Attempt FF FF FF FF FF FF FF FF From security ini Attempt FF FF FF FF FF FF FF FF Blank Device Attempt
29. foi escolhido o c digo de seguran a correto Y re energiza o a tens o no microcontrolador n o desceu abaixo de 0 lvolts durante o desligamento Y classe do hardware Target Hardware Type n o foi escolhida corretamente A partir desse ponto o usu rio poder seguir o caminho sozinho utilizando o Code Warrior para desenvolvimento e depura o de seus projetos Para maiores informa es consulte os arquivos de documenta o inclu dos na subpasta Documentation da pasta Metrowerks Os seguintes arquivos em PDF s o de particular interesse Y CodeWarrior IDE Quickstart manual Y Motorola 68 08 manuals overview CNZ 87 Q mororo a digitaldna intelligence everywhere 9 REFER NCIAS BIBLIOGR FICAS 1 10 11 12 CPUOS Reference Manual Rev 1 Motorola Inc MC68HC908QY4 D Data Sheet Rev 0 Motorola Inc MC68HC908QY4 D Advance Information Motorola Inc Motorola s 8 bit FLASH MCU Seminar Series Motorola Inc Apostila do Curso de Arquitetura de Computadores FEV 2000 Edmur Canzian Apostila do Curso Sistemas Digitais Microprocessados OUT 2001 Edmur Canzian CodeWarrior Development Studio for HC08 Microcontrollers Special Edition Metrowerks Corp Quickstart for Embedded System Featuring Hiware Technology Metrowerks Corp CodeWarrior IDE 4 2 Users Guide Metrowerks Corp AN2305 User Mode Monitor Access for MC68HC908QY QT Series MCUs Motorola
30. lt express o gt Exemplo ORG F800 Endere o inicial da FLASH 68 9080 1 SECTION Descri o Define uma se o reloc vel e inicia um contador para o c digo imediatamente ap s a sua declara o Sintaxe lt nome gt SECTION SHORT lt n mero gt Exemplo Vari veis SECTION DS W 6 12 bytes 6 words na RAM XDEF Descri o Define os r tulos definidos no m dulo que poder o ser referenciados em outros m dulos Sintaxe XDEF lt tamanho gt lt label gt lt label gt Onde lt tamanho gt W default Exemplo XDEF _Startup Inicio Sin nimo GLOBAL PUBLIC 6 3 Linker O projeto de software pode ser desenvolvido em uma estrutura de m dulos conjunto de rotinas que executam fung es pr determinadas em arquivos fonte independentes Cada arquivo fonte pode ser construido e testado separadamente e posteriormente ligados linkados de tal forma a implementar todas a funcionalidade requerida por uma aplica o Nesse est gio de desenvolvimento n o ser necess rio a utiliza o do Linker dispon vel no Code Warrior CNZ 58 MOTOROLA digitaldna intelligence everywhere 6 4 Arquivo formato S19 Para microcontroladores da Motorola a forma mais comum de arquivo c digo bin rio conhecido como formato S19 Um arquivo no formato S19 um arquivo texto ASCII que pode ser visualizado por um e
31. o simult nea Y Empilhamento Stacking armazenamento na pilha do contexto do programa atual lt Busca do vetor Vector Fetching armazenamento no PC do vetor da interrup o Y Rotina de Servi o da Interrup o Interrupt Service Routine execu o da rotina de servi o da interrup o a partir do endere o armazenado no PC Ao final da execu o da rotina de servi o da interrup o instru o RTI ocorre a retirada dos dados da pilha desempilhamento retornando ao contexto do programa inicial Se interrup es adicionais estiverem pendentes o processo iniciar novamente Perif ricos internos ao chip geram interrup es mascar veis que s o reconhecidas apenas se o bit de m scara global de interrup es do registrador CCR estiver resetado 1 0 A interrup es mascar veis s o priorizadas de acordo com um arranjo pr determinado CNZ 24 Q mororora gigitaldna intelligence everywhere 4 FAM LIA MC68HC908QT QY 4 1 Descri o Funcional Os microcontroladores que fazem parte da fam lia MC68HC908QT QY tem como caracter sticas b sicas baixo custo alto desempenho e baixa pinagem 8 ou 16 pinos Todos os membros dessa fam lia utilizam a unidade central de processamento CPUOS desenvolvida para a arquitetura HC08 e est o dispon veis com uma variedade de m dulos tamanhos e tipos de mem ria e tipos de encapsulamento Os principais componentes est o apresentados na
32. pela Motorola existem algumas localiza es de mem ria denominadas registradores da CPU internas a CPU que atuam como pequenas reas de rascunho e como painel de controle da CPU Estes registradores formam o modelo de programa o da CPU e s o similares a endere os de mem ria pois as informa es podem ser escritas ou lidas neles Toda informa o processada pela CPU que n o esteja diretamente ligada ao modelo de programa o pode ser vista como uma lista de endere os Esta organiza o chamada frequentemente de sistema de I O mapeado em mem ria memory mapped I O porque a CPU trata como endere os de mem ria instru es do programa vari veis do sistema ou controles de entrada sa da 1 0 Entre as caracter sticas principais da CPU da fam lia HCO8 incluem se v C digo objeto completamente compat vel com a fam lia HC05 Y CPU com freq ncia de barramento interno de at 8MHz 64 Kbytes endere veis para mem ria de programa dados e perif ricos Barramento interno flexivel para acessar perif ricos Modos de baixo consumo STOP e WAIT Registrador de 16 bits para Stack Pointer com instru es de manipula o da pilha Registrador de 16 bits de ndice H X com manipula o do byte alto H e baixo X 16 modos de endere amento Movimenta o de dados da mem ria para mem ria sem utilizar acumulador Instru es r pidas de multiplica o de 8 bits por 8 bits e divis o de 16 bits por 8 bits 5 5 5 5 5
33. tabela a seguir Tabela 1 Microcontroladores da fam lia MC68HC908QT QY Dispositivo Mem ria FLASH Conversor A D N pinos MC68HC908QTI 1536 bytes 8 pinos MC68HC908QT2 1536 bytes 4 canais de 8 bits 8 pinos 68 9080 4 4096 bytes 4 canais de 8 bits 8 pinos MC68HC908QYI 1536 bytes 16 pinos MC68HC908QY2 1536 bytes 4 canais de 8 bits 16 pinos MC68HC908QY4 4096 bytes 4 canais de 8 bits 16 pinos 4 1 1 5 5 S lt 5 5 NS lt Caracter sticas principais N cleo da CPU de alto desempenho Tens o de opera o Vpp de 5V e3 V 8MHz 5 4MHz W3V para opera es do barramento interno Oscilador interno ajust vel v 3 2MHZz para opera es do barramento interno Y Capacidade de ajuste com registrador de 8 bits Y Precis o de 25 sem utilizar o ajuste Y Precis o de 5 com o ajuste Capacidade de acordar automaticamente da condi o de STOP Programa o in system da mem ria FLASH Seguran a da mem ria FLASH Mem ria FLASH program vel na pr pria aplica o com gera o interna de tens es de apagamento programa o com capacidades de 1 5K ou 4Kbytes 128 bytes de mem ria RAM CNZ 25 Q mororo a digitaldna intelligence everywhere Y Temporizador com 2 canais de 16 bits Timer Interface Module TIM Y 4 canais de conversor A D de 8 bits ADC Y 5ou 13 linhas de entrada sa da I O bidirecionais e mais 1 entrada Y 6 compa
34. um software aplicativo se comunica com um microcontrolador hardware envia comandos executa comandos no microcontrolador e recebe respostas dos comandos para atualiza o do simulador Software Conjunto de instru es computacionais ordenadas de tal forma que executar as fun es necess rias a uma aplica o SP Stack Pointer Registrador que cont m o pr ximo endere o ponteiro livre da pilha o mesmo que Ponteiro da Pilha Unidade Central de Processamento Unidade que controla a execu o de instru es Unidade L gica Aritm tica M dulo de uma CPU onde s o realizadas as opera es aritm ticas e l gicas CNZ 92 2 EMPRESA A CNZ uma empresa registrada no CREA SP voltada para Projetos Consultoria Assessoria e Treinamento nas reas de Sistemas Eletr nicos Digitais Microprocessados e de Inform tica Industrial Sua principal missdo o treinamento de profissionais envolvidos com o desenvolvimento de projetos de sistemas digitais e a prestacdo de servicos para empresas que atuam na rea de Automa o e Controle e tamb m de Equipamentos Biom dicos e Laboratoriais A CNZ desenvolve integralmente o projeto fabrica e comercializa produtos de acordo com as necessidades pr determinadas pelo cliente PRODUTOS Kits de desenvolvimento para microcontroladores 68HC908QT QY Sistema de aquisi o de dados compactos Conversor de protocolos seriais Interfaces de comunica o Equipam
35. 080 ser o necess rios o microcontrolador um bot o SW um resistor e um LED Figura 18 O resto desenvolvimento de software 5V Vdd M Vss 1 8 PTAS gt PTAO 68HC908 4 aTi PTA 20 000 MHz sp TAZ Figura 18 Esquema el trico LED Bot o CNZ 61 Q mororora gigitaldna intelligence everywhere 7 3 Descric o do software Uma das formas mais utilizadas para descrever um sistema do ponto de vista de uma posterior implementa o de software o fluxograma O fluxograma dessa aplica o apresentado na Figura 19 que tamb m cont m uma legenda quadro direita da figura explicativa de cada tipo de bloco utilizado In cio t Configurar Legenda Terminador Apagar LED Processo Tarefa Opera o Ler Bot o Decis o C Conector Bot o pressionado Acender LED Aguardar 1s executa Dly 1s Apagar Led Ler Bot o Bot o pressionado Figura 19 Fluxograma da aplica o LED Bot o CNZ 62 Q mororora gigitaldna intelligence everywhere O processo tarefa aguardar 1 segundo representado na Figura 19 n o uma tarefa trivial e pode ser expandido atrav s de um fluxograma denominado Dly 1seg Figura 20
36. 1 Reset 23 3 5 2 Interrup es 24 Fam lia MC68HC908QT QY 25 4 1 Descri o Funcional 25 4 1 1 Caracter sticas principais 25 4 1 2 Pinagem 27 4 2 Mem ria 29 4 2 1 Mem ria RAM 32 4 2 2 Mem ria FLASH 32 4 3 M dulo de Integra o do Sistema SIM 33 4 3 1 Inicializa o do sistema e reset 34 4 3 2 Controle de exce es 36 4 4 M dulo Oscilador OSC 37 4 4 1 Oscilador RC 38 4 4 2 Oscilador Interno 39 4 4 3 Oscilador Externo 39 4 4 4 Oscilador a Cristal 39 4 5 Monitor ROM MON 40 4 6 M dulo de Interface do Temporizador 43 4 7 Conversor Anal gico Digital ADC 45 4 8 Portas de Entrada Sa da 1 0 45 4 8 1 Port A 45 4 8 2 Port B 45 4 9 Interrup o Externa IRQ 46 4 10 M dulo de Interrup o do Teclado KBT 46 4 11 M dulo Computador Operando Corretamente COP 47 4 12 M dulo de Inibi o por Tens o Baixa LVI 48 4 13 M dulo Break BREAK 49 Conjunto de Instru es 50 5 1 Introdu o 50 CNZ 2 5 2 5 3 5 3 1 5 4 6 Programa o assembler 6 1 6 2 6 3 6 4 Nomenclatura Conjunto de Instru es Resumido A Conjunto de instru es completo Caracter sticas el tricas Sintaxe Diretivas Linker Arquivo formato S19 7 Desenvolvimento de sistemas 7 1 7 2 7 3 7 4 7 5 7 6 Especifica o do Sistema Projeto de hardware Descri o do software Codifica o Arqu
37. 2 XTALCLK Figura 15 Conex o com cristal externo Nota O resistor Rs pode ser zero quando utilizado com cristais de alta fregii ncia Procure por informa es mais detalhadas dos valores dos componentes com os fabricantes de cristal 4 5 Monitor ROM MON O m dulo Monitor ROM cont m um conjunto de fun es implementadas para controlar completamente o microcontrolador atrav s de uma interface serial uma nica linha conectada a um computador D se o nome Monitor ROM porque os procedimentos est o armazenados em uma mem ria do tipo ROM que j vem programado de f brica e que n o podem ser modificados Quando o microcontrolador estiver operando em Modo Monitor quem tem o controle sobre a execu o do programa o software da mem ria Monitor ROM Atrav s de uma interface de comunica o serial e a conex o com um computador pode se programar a mem ria FLASH do microcontrolador Pode se tamb m executar um programa j gravado na flash em tempo real com capacidade e execu o passo a passo ou com a inser o de um breakpoint tendo visibilidade de todos registradores internos da CPU e de todo o mapa de mem ria Se o programador estiver utilizando a ferramenta de desenvolvimento CodeWarrior ver cap tulo Ferramentas de Desenvolvimento CodeWarrior ele n o tem que se preocupar com os comandos do modo monitor que possibilitam essas funcionalidades pois o ambiente de desenvolvimento j o faz dessa for
38. 5 MOTOROLA digital dna intelligence everywhere Programa Embedded Software Treinamento de Microcontroladores WWW MOTOROLA COM SEMICONDUCTORS Baseado na Familia MC68HC908QT QY Elaborado por GNZ Engenharia www cnz com br ndice NDICE 1 Introdu o 2 Revis o 2 1 Unidade Central de Processamento CPU 2 2 Sistema de Clock 2 3 Mem ria 2 4 Sinais de Entrada 2 5 Sinais de Sa da 2 6 C digos de opera o opcodes 2 7 Mnem nicos das instru es e assembler 3 Fam lia HCO8 3 1 Caracter sticas principais 3 2 Modelo de Programa o 3 2 1 3 2 2 3 2 3 3 2 4 3 2 3 3 3 Modos de endere amento 3 3 1 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 3 3 8 Acumulador A Registrador de ndice H X Stack Pointer SP Program Counter PC Condition Code Register CCR Inerente Imediato Direto Estendido Indexado Stack Pointer Relativo Movimento de Dados de Mem ria para Mem ria 3 4 Modos de Baixo Consumo 3 4 1 3 42 Modo WAIT Modo STOP 11 11 12 12 13 13 14 14 15 15 16 16 17 17 19 19 19 19 19 20 20 21 21 22 22 22 Q mororoia gigitaldna intelligence everywhere 3 5 Processamento de exce es 23 3 5
39. 5 5 S Instru es avan adas para manipula o de dados em BCD CNZ 14 Q mororora gigitaldna intelligence everywhere 3 2 Modelo de Programa o Diferentes CPUs tem diferentes conjuntos de registradores As diferen as s o primariamente o n mero e o tamanho dos registradores A Figura 2 mostra os registradores da CPU que se encontram nos microcontroladores da fam lia HC08 Apesar de serem poucos os registradores que fazem parte do modelo de programa o eles s o representativos de todos os tipos de registradores da CPU08 e podem ser usados para explicar todos os conceitos fundamentais de programa o 7 0 Acumulador 15 8 7 0 H X ndice H X 15 0 SP Stack Pointer SP 15 0 PC Program Counter PC 7 0 V 1 I HII N ZIC Condition Code CCR E E E Figura 2 Modelo de Programa o da CPUOS 3 2 1 Acumulador A Bit7 6 s 4 3 2 1 A RESET X X X X X X X X X Indeterminado Figura 3 Acumulador A O acumulador um registrador de 8 bits de uso geral A CPU utiliza o acumulador para armazenar os operandos e resultados de opera es aritm ticas e n o aritm ticas CNZ 15 Q mororora gigitaldna intelligence everywhere 3 2 2 Registrador de ndice H X Bitl5 14 13 12 11 10 9 8 7 6 5 4 3 2 1 BitO H X
40. 536 4401 Fax 11 5535 4997 e mail 5 siletec asiletec com br web page http www siletec com br FUTURE ELECTRONICS Fone Fax e mail web page 19 3737 4100 19 3236 9834 rafael armani a future ca http www futureelectronics com
41. B Descri o Aloca um bloco de mem ria inicializado com o valor especificado tamanho do bloco dado por lt tamanho gt lt quantidade gt Sintaxe lt label gt DCB lt tamanho gt lt quantidade gt lt valor gt onde lt tamanho gt B default W ou L Exemplo DCB W 3 FFFE Aloca 3 words com conte do FFFE CNZ 57 intelligence everywhere Q mororora gigitaldna DS Descri o Reserva mem ria para vari veis O conte do da mem ria reservada n o inicializada O tamanho do bloco dado por lt tam gt lt qtde gt Sintaxe lt label gt DS lt tamanho gt lt quantidade gt onde lt tamanho gt B default W ou L Exemplo Contador DS B 2 2 bytes cont nuos na mem ria Sin nimo RMB DS B RMD 2DS B DS W RMQ 4DS B DS L END Descri o Fim do c digo fonte Sintaxe END Exemplo END EQU Descri o Aloca ao s mbolo label um valor permanente Sintaxe lt label gt EQU lt express o gt Exemplo RAM EQU 0040 Estado0 EQU 00100110 INCLUDE Descri o Insere arquivo especificado no arquivo fonte O nome do arquivo deve estar entre aspas Sintaxe INCLUDE lt nome do arquivo gt Exemplo INCLUDE M68HC908QT QY INC Defini es dos uCs QT QY ORG Descri o Marca a origem do se o a partir do endere o especificado Sintaxe ORG
42. Como exemplo de instru es poderosas da CPU da fam lia HCO8 encontram se a multiplica o e a divis o Uma multiplica o de dois operandos de 8 bits realizada em 625ns se o clock do barramento interno for de 8MHz Uma divis o de um operando de 16 bits por outro de 8 bits executada em 825ns Aliado a uma potente CPU a fam lia 08 possui 16 modos de endere amento alguns deles implementados para gera o de c digo eficientes com linguagens de alto n vel como por exemplo a linguagem 5 2 Nomenclatura Registradores da CPU A Acumulador CCR Registrador Condition Code H Registrador de ndice 8 bits mais significativos X Registrador de ndice 8 bits menos significativos PC Program Counter PCH Program Counter 8 bits mais significativos PCL Program Counter 8 bits menos significativos SP Stack Pointer Bits do Registrador CCR Overflow estouro em opera es com sinal bit 7 Half carry estouro em opera es em BCD bit 4 Mascara interrup es bit3 Negativo indicador de n mero negativo bit 2 Zero indicador de resultado zero bit 1 oO NZ 7 lt Carry Borrow estouro em opera es sem sinal bit O CNZ 50 Q MOTOROLA intelligence everywhere 5 3 Conjunto de Instru es Resumido Movimenta o de Dados Instru o Descri o LDA Carrega o acumulador LDHX Carrega o par de registradores H X LDX Carrega o registrad
43. Diy is Figura 20 Fluxograma da rotina Dly 1seg A Figura 20 apresenta uma solu o para a rotina de tempo por instru es que executada em 1 segundo 20 x 50 ms conforme especificado no in cio do projeto Nesse momento imposs vel dizer com exatid o qual o valor da vari vel t50ms que fornecer o tempo de 50ms Esse valor depende do tempo e do n mero de ciclos das instru es do n mero de instru es e do n mero de vezes que um determinado loop executado ver item 7 4 Loop trecho de um fluxograma programa que executado com retorno a um ponto instru o inicial CNZ 63 MOTOROLA digitaldna intelligence everywhere 7 4 Codificac o Arquivo Fonte Ap s a conclus o do fluxograma deve se iniciar o processo denominado Codificag o que nada mais do que escrever textualmente atrav s das instru es da linguagem assembly os processos tarefas e decis es representados no fluxograma e que uma vez traduzido para c digos de m quina dever funcionar no hardware especificado Nesse ponto do desenvolvimento j foi definido o microcontrolador a ser utilizado e consequentemente seus registradores mapa de mem ria etc mas o esfor o na codifica o ser feito com base nos fluxogramas apresentados A utiliza o de diretivas do assembler ser o inseridas no arquivo fonte quando o mesmo for implementado com a ferramenta de
44. EE Command inl x Loading Target Simulated device is HC908QTl Opening COMI at 19200 baud Opened Configuring 9080 0 device Done Warning Reset Vector not initialized Device 9080 1 Mode In Circuit Simulation v TN Insded for ESHCONSaTY1179 from C D OTITVOS DF 4 Figura 38 Janela de Comandos Simula o In Circuit G A partir desse ponto tudo id ntico ao descrito na Simula o Completa do Chip Full Chip Simulation exceto as interrup es e os valores dos pinos que n o podem ser setados resetados pela linha de comando pois todos os valores s o determinados pelo hardware O pino IRQ ou o bot o SW1 da placa de desenvolvimento M68EVB908Q pode ser utilizado para iniciar uma interrup o depois de executado o protocolo inicial Se contudo o usu rio n o consegui passar pelo modo de seguran a observe que na caixa de di logos Target Connection and Security tem uma se o denominada STATUS descrevendo os diferentes tipos de falhas o que verificar em cada caso As raz es mais comuns para n o passar pelos c digos de seguran a s o Y N o foi escolhido o c digo de seguran a correto Y Na re energiza o a tens o no microcontrolador n o desceu abaixo de 0 1lvolts durante o desligamento Y A classe do hardware Target hardware type n o foi escolhida corretamente CNZ 84 Q mororo a digitaldna intelligence
45. FE09 Endere o alto de BREAK BRKH FEOA Endere o baixo de BREAK BRKL Controle e status de BREAK BRKSCR Status do LVISR SFEOD Reservado para Teste da FLASH 3 bytes FE10 ROM Monitor 416 bytes FLASH 14 bytes SFFBE Protec o de Blocos da FLASH FLBPR SFFBF Reservado para FLASH SFFCO Ajuste do oscilador interno OSCTRIM SFFCI Reservado para FLASH SFFC2 FLASH 14 bytes SERI Vetores de Interrup o 48 bytes Figura 11 Mapeamento da mem ria da fam lia MC68HC908QT QY 0100 2800 2 00 SF800 SFDFF CNZ 30 Q mororora gigitaldna intelligence everywhere A faixa de endere os de 0000 a 003F cont m a maioria dos registradores de dados status e controle Registradores de I O adicionais est o localizados no final do endere amento da mem ria a partir do endere o FE00 Todos estes registradores podem ser vistos com detalhes no data sheet da fam lia MC68HC908QT QY Os endere os dos vetores de interrup o s o discriminados na tabela a seguir Tabela 4 Vetores de interrup o da fam lia MC68HC908QT QY Prioridade do Vetor Vetor Endere o Descri o Baixa FFDE Convers o A D completa end Alto v e FFDF Convers o A D completa end Baixo 4 FFE0 Teclado end Alto IF14 4 FFE1 Teclado end Baixo v IF13 utilizado y y IF6 4 FFF2 Estouro d
46. FF FF FF FF FF FF FF FF From security ini Attempt FF FF FF FF FF FF FF FF From security ini Recent C Attempt 00 00 00 00 00 00 00 00 Blank on older devices Attempt FF FF FF FF FF FF FF FF From security ini C User 00 00 00 00 00 00 00 00 Load from 519 Attempt FF FF FF FF FF FF FF FF From security ini IGNORE security failure and enter monitor mode Status Invalid Response or No Response to last attempt to contact target 0 ICS Hardware loopback detected 4 Device entered monitor mode N 1 Device echoed some security bytes N Port 5 Reset was Power On Reset Help 2 Device echoed all security bytes N 6 ROM is accesible un secured 3 Device signaled monitor mode with a break N TF Show this dialog before attempting to contact the target 0 board Abort Figura 39 ICS Conex o serial e c digo de seguranca C Para utilizar a placa de desenvolvimento M68EVB908Q no modo ICS o usu rio dever selecionar o Target Hardware Type CLASS I Motorola ICS Board with processor installed Emulation connection OK Power controlled via DTR D Selecionar a comunica o serial atrav s de um port dispon vel COMI COMO e uma taxa de comunica o de 19200 bps Na placa 68 9080 os jumpers J5 e J6 dever o estar fechados e o jumper J3 dever estar na posi o 1 2 Maiores detalhes podem ser encontrados no manual do usu rio da placa M68EVB908Q CNZ 85
47. NVOLVIMENTO CodeWarrior 8 1 Introdu o O CodeWarrior um ambiente de desenvolvimento de software poderoso que suporta v rias linguagens assembly C C Java m ltiplos sistemas operacionais Windows PowerPCs Solaris Linux para m ltiplos processadores microcontroladores x86 Sparc Mcore 68HC16 68HC12 68HC08 68HC05 etc Entre as caracter sticas mais importantes do CodeWarrior incluem se Y Ambiente de Desenvolvimento Integrado IDE Integrated Development Environment que fornece acesso a todos os componentes de forma simples Y Interface Gr fica do Usu rio GUI Graphical User Interface simples de usar Y Gerenciador de projeto sistema de armazenamento para todos os arquivos e op es dentro de um arquivo de projeto simples Y Editor de c digo fonte colorido direcionado para a sintaxe multi janelas para edi o de arquivos Y Navegador browser fornece acesso a v rios elementos do c digo fonte tais como vari veis rotinas classes etc Compilador C C otimizado e poderoso montador assembler Linker inteligente liga apenas os objetos que est o atualmente em uso no projeto Bibliotecas librarian permite ao programador construir bibliotecas customizadas 5 5 lt S Depurador debugger suporta simula o e depura o de aplica es ou projetos de hardware 8 2 Iniciando com o CodeWarrior Windows Na primeira vez que for utilizar o CodeWarrior ou quando qui
48. Outlook E Microsoft PowerPoint E Microsoft Publisher Microsoft Word Prompt do MS DOS RFFlow 2 RFShape 51 Outlook Express GJ Windows Explorer I gt Windows Media Player BSD 1605 Figura 22 Iniciando o CodeWarrior A partir dessa sele o o CodeWarrior ser executado em uma janela com a maioria dos icones da barra de ferramentas indispon veis pois ainda n o existe um projeto aberto Figura 23 Metrowerks CodeWarrior View Search Project Debug VCS Processor Expert Window Help Figura 23 Janela inicial do Code Warrior CNZ 68 ta Q mororora digitaldna intelligence everywhere O CodeWarrior pode ser inicializado pela execu o duplo click de um arquivo de projeto extens o j existente Esta a o abrir o CodeWarrior IDE e carregar automaticamente o projeto A barra de ferramentas do Code Warrior Figura 24 cont m bot es que ativam os principais comandos fun es do ambiente de desenvolvimento e que tamb m est o dispon veis na barra de menus mc eA y I 3 12 3 4 5 6 7 8 9101112 13 14 15 16 17 18 19 Figura 24 Barra de ferramentas do CodeWarrior Legenda dos bot es 1 New Text File Novo arquivo texto 2 New Novo Projeto Arquivo Objeto 3 Open Abrir 4 Save Salvar 5 Undo Can t Undo Desfazer N o pode desfazer 6
49. ROM FLASH tamb m denominado FIRMWARE CNZ 60 ta Q mororo a digital dna intelligence everywhere 7 1 Especificac o do Sistema Desenvolver um sistema eletr nico capaz de acender um LED por 1 segundo toda vez que um bot o for pressionado O LED n o dever piscar novamente enquanto o bot o for mantido pressionado e at que o bot o seja pressionado novamente Embora este sistema seja simples ele demonstra os elementos mais comuns de qualquer aplica o como microcontroladores Y configurar os sinais de I O entradas e sa das Y Como um programa pode sentir ler sinais digitais de entrada Bot o v Como um programa pode acionar escrever sinais digitais de sa da LED Y Implementa uma rotina rudimentar de temporiza o de eventos LED piscar O objetivo piscar um LED pode parecer um tanto quanto tolo por m se ao inv s do LED for inserido um circuito a rel no pino de sa da do microcontrolador a aplica o sem mudan a nenhuma ser a de um rel temporizado que acionado por um sinal de entrada que pode ser um bot o ou um sensor digital qualquer Este tipo de rel temporizado encontrado comercialmente e bastante utilizado para aplica es em automa o industrial 7 2 Projeto de hardware Apesar de ser muito simples a solu o desse problema com circuitos convencionais requer v rios componentes eletr nicos Se for utilizado um microcontrolador p ex o 68 9
50. SP para Registrador de ndice TXS Transfere Registrador de ndice para SP WAIT Habilita interrup es e para o processador 5 3 1 Conjunto de instru es completo O conjunto de instru es completo encontra se no manual do microcontrolador ver documento MC68HC908QY4AD 5 4 Caracter sticas el tricas A caracter sticas especifica es el tricas dos componentes da fam lia M68HC908QT QY encontram se no manual do microcontrolador ver documento MC68HC908QY4 D CNZ 55 ta MOTOROLA digital dna 6 PROGRAMA O ASSEMBLER Para um microprocessador microcontrolador executar um programa o conte do do arquivo do c digo fonte deve ser convertido em uma seq ncia de instru es bin rias opcodes e ent o carregadas na mem ria de programa do microcontrolador Esta convers o do c digo fonte em opcodes realizada por um aplicativo denominado montador assembler ou simplesmente assembler e os c digos de m quina opcodes resultantes s o armazenados em um arquivo no formato S19 da Motorola que pode ser carregado gravado na mem ria de programa do microcontrolador 6 1 Sintaxe O arquivo fonte de um programa deve ser escrito com uma sintaxe correta de tal forma que o assembler consiga gerar os opcodes corretamente Cada linha do arquivo fonte cont m os seguintes elementos b sicos Y R tulos Labels Y Instru es Mnem nicas ou pseudo instru es Y Operandos Y Coment rios r A orde
51. Um reset para a CPU reinicializa a execu o do programa aplica o a partir de sua condi o inicial Uma interrup o n o para a CPU ou a opera o da instru o que est sendo executada mas come a seu processamento quando a instru o corrente for completada A CPU muda temporariamente a seq ncia do programa para responder a um evento particular em um endere o espec fico 3 5 1 Reset O reset necess rio para inicializar a CPU em um estado conhecido incluindo o armazenamento no registrador Program Counter do endere o da primeira instru o a ser executada Perif ricos e diversos bits de controle e de status s o tamb m for ados para um estado conhecido como resultado do reset Durante um reset ocorrem diversas a es internas a CPU como seguem v Todos os registradores de dire o s o zerados I O configurados como entrada Stack Pointer inicializado com o endere o 00FF Bit I do registrador CCR setado para inibir as interrup es mascar veis Flag de interrup o externa resetado Flag do modo STOP resetado Flag do modo WAIT resetado 5 5 5 Ss lt A interrup o do processamento durante execu o normal de um programa devido a um Reset gera as tarefas citadas acima e na sa da do reset feita a busca do vetor Reset e a reinicializa o do programa CNZ 23 E A Q mororora digitaldna intelligence everywhere 3 5 2 Interrup es As int
52. a o Para tanto o usu rio dever selecionar a posi o registrador a ser alterado duplo click digitar o valor requerido pressionar lt Enter gt e continuar o processo de simula o CNZ 81 E A Q digital dna intelligence everywhere 8 6 2 Simula o In Circuit ICS A Simula o n Circuit ICS In Circuit Simulation utiliza a funcionalidade do modo Monitor que um modo especial da fam lia HC08 Este modo de funcionamento permite a um computador externo controlar o microcontrolador atrav s de uma interface serial ass ncrona Esta caracter stica permite ao computador solicitar e modificar o estado do processador bem como carregar depurar e programar o c digo execut vel dando aos microcontroladores M68HC908QT QY a capacidade de serem completamente testados e programados atrav s de uma interface simples sem serem removidos do sistema ao qual est o embarcados Entre as principais caracter sticas do Monitor ROM Y Funcionalidade dos pinos do microcontrolador normal durante o modo usu rio 1 pino dedicado para comunica o serial entre o Monitor e o computador externo Execu o do c digo em RAM ou FLASH Capacidade de prote o da mem ria FLASH v v v Y Interface de programa o da mem ria FLASH Y Execu o do c digo em RAM ou FLASH Y Caracter sticas de seguran a da mem ria FLASH v Interface de programa o da mem ria FLASH As caracter sticas de se
53. a o reduz o consumo excessivo de corrente e a possibilidade de falha por eletrost tica 4 8 1 Port A O Port A tem 6 fun es especiais que compartilham todos os 6 pinos com o m dulo de interrup o de teclado KBI Cada pino do port A tamb m tem pull ups internos configur veis se o correspondente pino estiver configurado com port de entrada 4 8 2 Port B O Port B tem 8 bits de entrada sa da de prop sito geral O Port B est dispon vel apenas nos seguintes microcontroladores MC68HC908QY 1 QY2 QY4 Cada pino do port B tamb m tem pull ups internos configur veis se o correspondente pino estiver configurado como entrada CNZ 45 4 9 Q mororora digitaldna intelligence everywhere Interrup o Externa IRQ O pino IRQ compartilhado com 2 e interrup o do teclado KBI fornece uma entrada a uma interrup o mascar vel Entre as caracter sticas do m dulo IRQ encontram se Y v v v v Pino de interrupc o externa IRQ Bits de controle da interrup o IRQ Buffer de histerese Programa o da interrup o por borda exclusivamente ou borda e n vel Reconhecimento de interrup o autom tico Resistor de pull up interno selecion vel A habilita o da interrup o feita pela configura o correta do bit IRQEN presente no registrador CONFIG2 Se um n vel l gico 0 for aplicado ao pino IRQ uma requisi o de interrup o fica armazenada latch at qu
54. a verificar se os dados est o completos e corretos para cada registro A seguir listado um exemplo de arquivo no formato S19 S0200000433A5C50726F6A65746F735F434E51534D5F504544656275672E616273BE 123F800450100948C9A5FA600B71EA619B71FA602B7041300B600A40427FA1200A614CDE7 SIlEF820F82F4A26FA1300B600A40426FA20E687A69B5F5A26FD4A26FA86818C S105FFFEF80005 S9030000FC O arquivo gerado no formato S19 utilizado posteriormente para gravar programar a mem ria FLASH do microcontrolador e tamb m utilizado como o arquivo de entrada para ferramentas de depura o seja ela uma simula o por software ou depura o n Circuit CNZ 59 ta MOTOROLA digital dna intelligence everywhere 7 DESENVOLVIMENTO DE SISTEMAS Entende se por sistema mais especificamente sistemas eletr nicos microprocessados embedded systems ao conjunto formado pelo hardware com microprocessador ou microcontrolador mais perif ricos integrado ao software b sico que implementa as fun es determinadas para a aplica o O desenvolvimento de hardware executado por um engenheiro ou t cnico eletr nico que normalmente pesquisa estuda e projeta os circuitos eletr nicos de prefer ncia com componentes dispon veis no mercado Esta atividade depende basicamente de estudo experi ncia acumulada e de componentes dispon veis e uma vez projetado e testado dificilmente sofrer altera es O desenvolvimento de software ao
55. al em freq ncia utilizado para marcar a seq ncia de eventos pela CPU C digo de m quina C digos bin rios processados pela CPU como instru es C digos de m quina incluem os opcodes e operandos de dados Conjunto de instru es Conjunto de todas as opera es que a CPU pode realizar Uma instru o frequentemente representada por mnem nicos tais como LDA Carrega o Acumulador Outra representa o do conjunto de instru es o conjunto de opcodes que s o reconhecidos pela CPU CPU Central Processor Unit ver Unidade Central de Processamento 08 Unidade Central de Processamento dos microcontroladores da fam lia 08 CNZ 89 Q mororo a digitaldna intelligence everywhere Decimal Codificado em Bin rio Nota o que utiliza valores bin rios para representar quantidades decimais Cada digito BCD representado por 4 bits e as 6 ltimas representa es poss veis das 16 combina es 1010 at 1111 s o consideradas ilegais Depura o Programa o In Circuit Ferramenta de depura o e programa o onde um software aplicativo se comunica com um microcontrolador tem a capacidade de gravar sua mem ria FLASH e executar e depurar comandos no pr prio chip EEPROM Electrically Erasable Programmable Read Only Memory Tipo de mem ria n o vol til que pode ser apagada e reprogramada por instrug es de programa Entrada Sa da Sinais que fazem a interface entre o micro
56. ama imi cmo como cmo mi Imi annnnnnni For Help press F1 HC908GT1 done cmd postload cmd 2 Figura 32 Janela inicial do simulador O software do simulador 6 composto de m ltiplas janelas que podem ser organizadas a qualquer momento e da forma mais conveniente pelo programador A apar ncia padr o dessas janelas est o apresentadas na Figura 32 S o elas Y Source Arquivo fonte do projeto a ser simulado v Data Vari veis utilizadas pelo projeto Y Command Comandos implementados pelo simulador durante a simula o v Assembly C digo de m quina do projeto a ser simulado v Register Registradores do modelo de programa o da CPUO8 com conte do atualiz vel durante a simula o Y Procedure Fun o subrotina que est sendo executada momentaneamente pelo simulador Y Memory de mem ria do microcontrolador com conte do atualiz vel durante a simula o Na primeira vez que um projeto simulado o programador deve se certificar que o microcontrolador que alvo de simula o esteja selecionado corretamente Nas se es de simula o subseq entes do mesmo projeto a configura o do ambiente de simula o obtida a partir da ltima se o de simula o realizada CNZ 76 i O mororora digitaldna Para verificar atualizar o microcontrolador utilizado na simula o o usu rio deve selecionar na barra de menus do simulador PEDebug gt Device lt dispositivo gt g
57. blocos com tamanho m nimo de 64 bytes e pode ser programada em blocos de 32 bytes em um ciclo de programa o As opera es de programa o e apagamento s o facilitadas atrav s de bits de controle do registrador de controle da mem ria FLASH FLCR As faixas de endere o para a mem ria do usu rio e dos vetores s o v EE00 FDFF 4096 bytes de mem ria do usu rio o MC68HC908QT4 QY4 v F800 FDFF 1536 bytes de mem ria do usu rio para MC68HC908QT1 QY1 e para o MC68HC908QT2 QY2 v FFDO FFFF 48 bytes para os vetores de interrup o Os procedimentos para apagar uma p gina apagar toda a mem ria programar e proteger a mem ria FLASH est o detalhados no data sheet da fam lia de microcontroladores MC68HC908QT QY NOTA Bits apagados da mem ria FLASH s o lidos como n vel l gico 1 e bits programados sdo lidos como nivel l gico 0 CNZ 32 MOTOROLA o intelligence everywhere digi taldna 4 3 M dulo de Integrac o do Sistema SIM Junto com a CPU o m dulo SIM controla todas as atividades do microcontrolador O SIM um controlador de estados que coordena as atividades da CPU e as exce es de tempo O m dulo SIM respons vel por Y Gera o do clock do barramento e controle da CPU e perif ricos Y Entrada e recupera o das condi es de STOP WAIT RESET BREAK Y Controle do clock interno Y Controle do reset principal incluindo o reset na energiza o POR e o time
58. contr rio do hardware depende muito da criatividade do programador e pode ser alterado com maior freq ncia para por exemplo estar inserindo novas fun es na aplica o No desenvolvimento de softwares com microcontroladores interessante iniciar o aprendizado com uma linguagem bem pr xima aos c digos de m quina Linguagem Assembly Para tanto necess rio ter uma compreens o razo vel do conjunto de instru es e dos recursos dispon veis pelo assembler Para o desenvolver sistemas eletr nicos com microcontroladores o projetista deve seguir os seguintes passos Y Especificar e documentar o sistema problema ou id ia Y Projetar e documentar o hardware Y Descrever implementa o do software do sistema atrav s de fluxogramas ou outra forma de representa o gr fica ou textual Y Editar um arquivo com instru es mnem nicas arquivo fonte cada bloco apresentado no fluxograma utilizando um editor de textos Y Utilizar um assembler software para transcrever as instru es mnem nicas em c digos de m quina necess rios a execu o do programa pelo microcontrolador Y Simular emular testar e ou depurar as funcionalidades do programa desenvolvido r Para exemplificar o desenvolvimento de um sistema eletr nico completo apresentado a seguir a implementa o um problema simples com as etapas descritas anteriormente Software b sico programa que gravado programado em mem ria do tipo ROM EP
59. controlador e o mundo externo A CPU l uma entrada para sentir o n vel de um sinal externo e escreve em uma sa da para mudar o n vel em um sinal externo EPROM Erasable Programmable Read Only Memory Tipo de mem ria n o vol til que pode ser apagada pela exposi o em luz ultra violeta FCS Full Chip Simulation ver Simula o Completa do Chip Firmware Software b sico que pode ser gravado na mem ria de programa de microprocessadores ou microcontroladores Flag Bit que tem uma fun o espec fica Hardware Circuitos eletr nicos T O Input Output ver Entrada Sa da Mapeado em Mem ria Neste tipo de sistema registradores de controle e I Os s o acessados da mesma maneira que na mem ria RAM ou ROM As instru es podem acessar a mem ria e tamb m podem acessar registradores de I O ICD n Circuit Debug Programming ver Depura o Programa o In Circuit ICS In Circuit Simulation ver Simula o In Circuit Instru es Opera es que a CPU pode realizar Instru es s o expressadas por programadores como mnem nicos da linguagem Assembly Interrup o As interrup es fornecem um meio de suspender temporariamente execu o normal do programa para liberar a CPU a executar um conjunto de instru es servi o em resposta ao pedido interrup o de um perif rico Latch Circuito l gico que mant m uma sa da est vel mesmo depois que a entrada for removida ou a
60. ditor de texto ou processador de texto Cada linha um registro Cada registro come a com a letra mai scula S seguida de um n mero de 0 a 9 Para aplica es com microcontroladores nicos c digos importantes s o SO S1 e S9 O registro SO um cabe alho opcional que cont m o nome do arquivo para benef cio dos programadores que necessitam manter essas informa es Os registros S1 cont m os todos os dados opcodes da aplica o O registro S9 usado para marcar o fim do arquivo no formato S19 Todos os n meros em um registro linha est o em hexadecimal Um registro composto dos seguintes campos v Y Tipo pode ser SO cabe alho S1 dados ou S9 fim de arquivo Comprimento par de digitos hexadecimal 2 caracteres ASCII que indica o n mero de bytes restantes no registro exclu dos o tipo e o comprimento do campo Endere o da mem ria composto de 16 bits 4 caracteres ASCII a partir de onde ser o armazenados os dados do registro do tipo S1 Dados do c digo bin rio pares de d gitos hexadecimal localizados ap s o endere o e antes do checksum Cont m os c digos de m quina representados em valores de 8 bits de dados para serem armazenados em endere os sucessivos na mem ria Checksum campo de 8 bits que representa a somat rio em complemento de um de todos os bytes no registro exceto os campos de tipo e de checksum Este checksum usado durante a transfer ncia do arquivo no formato S19 par
61. dna intelligence everywhere sumaria ee sas ls DIESE LDA 20 Inicia delay de 1s 20 x 50ms LoopO0 LDHX t50ms H X contador de tempo 50ms NN Loopl AIX 3 1 gt db CPHX 0 Verifica se lex 0 BNE Loopl p Se lex lt gt 0 volte pere Logo DECA BNE Loop0 Se executou NNx20 vezes continua p pim oe stororinie END 8 5 Construindo o Projeto Durante o processo de cria o de um novo projeto foi inserido no modelo de arquivo fonte main asm o c digo da aplica o que dever ser traduzido montado para c digo de m quina do microcontrolador escolhido como segue A Na barra de ferramentas da janela Project clique no bot o Make ou pressione F7 B O resultado do processo de construg o ser mostrado na janela Errors amp Warnings mEnors A lo 0 A 0 2 Errors and warnings for Pisca 1s mcp A 2 2 A 14004 Linking C YProjetos 2 lstprmidefault prm ELF DWARF format link parameter file 5 Executable file written to C YProjetos CNZXPisca lsibinYQTl ASM PEDebug abs Figura 30 Errors amp Warnings C Se forem detectados erros o programador atrav s das mensagens na janela Errors amp Warnings Figura 30 dever interpretar os erros voltar ao c digo fonte corrigi los e construir novamente o c digo execut vel Essas etapas devem ser repetidas enquanto o processo de constru o indicar a exist ncia de erros Ao
62. dor de ndice denominado H e o byte baixo denominado X Sua principal fun o servir de apontador para uma rea na mem ria onde a CPU ir carregar ler ou armazenar escrever informa o Ser o apresentados mais detalhes do registrador H X quando forem discutidos os modos de endere amento indexado Quando n o estiver sendo utilizado para apontar um endere o na mem ria ele pode ser utilizado como registrador gen rico O registrador Program Counter PC usado pela CPU para controlar e conduzir ordenadamente a busca do endere o da pr xima instru o a ser executada Quando a CPU energizada ou resetada o PC carregado com o conte do de um par de endere os espec ficos denominados vetor de reset reset vector O vetor de reset cont m o endere o da primeira instru o a ser executada pela CPU Assim que as instru es s o executadas uma l gica interna a CPU incrementa o PC de tal forma que ele sempre aponte para o pr ximo peda o de informa o que a CPU vai precisar O n mero de bits do PC coincide exatamente com o n mero de linhas do barramento de endere os que por sua vez determina o espa o total disponivel de mem ria que pode ser acessada pela CPU O registrador Condition Code CCR um registrador de 8 bits que armazena os bits de status flags que refletem o resultado de algumas opera es da CPU A instru es de desvio usam estes bits de status para tomar suas decis es O Stack Pointer
63. e utilizada pela CPU para temporiza es refer ncia de sequeciamento One Time Programmable Tipo de mem ria n o vol til que pode ser programada mas n o pode ser apagada A mem ria recebe esse nome porque n o existem formas de apagar o seu conte do P gina Zero Primeiros 256 bytes de mem ria 0000 00FF tamb m chamada de p gina direta PC Program Counter Registrador que aponta para o endere o do byte de c digo a ser buscado na mem ria O mesmo que Contador do Programa Programa Conjunto de instru es que fazem o microcontrolador desempenhar uma operac o desejada RAM Random Access Memory Tipo de mem ria que pode ser lida ou escrita pela CPU O conte do de uma posi o de mem ria RAM permanece armazenado at que a CPU escreva um valor diferente ou at que a energia seja desligada Registrador Condition Code Registrador que informa o status de opera es l gicas e aritm ticas CNZ 91 Q mororora digitaldna intelligence everywhere Reset Reset utilizado para for ar a CPU e perif ricos para um estado inicial conhecido Reset ar Colocar um sinal bit em GND n vel l gico 0 Set ar Colocar um sinal bit em VCC n vel l gico 1 Simula o Completa do Chip Ferramenta de depura o onde o microcontrolador tem toda sua funcionalidade simulada por um software aplicativo em microcomputador pessoal Simula o In Circuit Ferramenta de depura o onde
64. e entrada convertem os sinais anal gicos em sinais digitais valores bin rios formados por Os e Is que a CPU pode entender e manipular Alguns microcontroladores incluem circuitos conversores anal gicos digitais ADC encapsulados no mesmo componente 2 5 Sinais de Sa da Dispositivos de sa da s o usados para informar ou agir no mundo exterior atrav s do processamento de informa es realizados pela CPU Circuitos eletr nicos algumas vezes constru dos no pr prio microcontrolador podem converter sinais digitais em n veis de tens o anal gicos Se necess rio outros circuitos podem alterar os n veis de tens o Vpp Vss nativos da CPU em outros n veis CNZ 12 ta MOTOROLA digital dna intelligence everywhere 2 6 C digos de operac o opcodes Os programas usam c digos para fornecer instrug es para a CPU Estes c digos s o chamados de c digos de opera o ou opcodes Cada opcode instrui a CPU a executar uma sequ ncia espec fica para realizar sua opera o Microcontroladores de diferentes fabricantes usam diferentes conjuntos de opcodes porque s o implementados internamente por hardware na l gica da CPU O conjunto de instruc es de uma CPU especifica todas as opera es que podem ser realizadas Opcodes s o uma representa o das instru es que s o entendidas pela m quina isto uma codifica o em representa o bin ria a ser utilizada pela CPU Mnem nicos s o outra representa o pa
65. e uma das seguintes a es ocorra Y Y Vetor Fetch Uma busca ao vetor da interrup o realizada iniciado o servi o de atendimento a interrup o Software Clear O software pode limpar o atch da interrup o pela escrita no bit de reconhecimento presente no registrador de controle e status da interrup o ISCR Reset Um reset automaticamente limpa o atch da interrup o 4 10 M dulo de Interrup o do Teclado KBI O m dulo de interrup o do teclado KBI fornece 6 interrup es externas mascar veis independentemente que s o acess veis atrav s dos pinos PTAO PTAS mais uma interrup o mascar vel controlada pela l gica de auto despertar As principais caracter sticas do m dulo de interrup o do teclado incluem V Y 6 pinos de interrup o de teclado com bits de habilita o de interrup o do teclado separados e uma m scara de interrup o do teclado 1 interrup o interna controlada pela l gica de auto despertar com bit de habilita o da interrup o separado compartilhado com a mesma m scara de interrup o do teclado Pull ups configur veis por software quando os pinos forem configurados como entrada Interrup o program vel por exclusivamente por borda ou borda e n vel Sa da dos modos de baixo consumo CNZ 46 MOTOROLA intelligence everywhere digi Uma interrup o de teclado armazenada quando um ou mais entradas
66. emplate Ao final o arquivo fonte dever ficar com a seguinte formata o a a a Ra aa a aa a a a a a a a aa a a a aa ad tst ost dcs a ad AAA Pisca 15 Led Botao okckckck ck AA AAA A gen eg eese Definicoes do 1 XDEF Entry main Startup EQU 00FF t50ms EQU 212416 Valor calculado de 50ms para Dly 18 Startup Entry LDHX tinitStack p Imatestelliiza Polis TXS CLRH SEI Desabilita interrupcoes main CLRX REPEAT 7 Programa principal ENTERO LDA 00001000B Configura 68HC9080T1 STA CONFIG2 Oo oscilador externo 20 MHz po dino ASS Eto LDA p CO deseo iraco STA 1 IN recuperacao do STOP lenta LDA STA PORTA LDA 02 STA DDRA 1 02 PL Saida PTAO PTA2 a PTA5 Entrada BSET 1 Apaga o LED VOLTA LDA PORTA AND 504 p loo BNE VOLTA Se botao nao pressionado VOLTA BCLR 1 PORTA Acende o LED JSR Dly 1s Aguarda 1lseg subrotina Dly 1s BSET 1 PORTA Apaga o LED FICA LDA PORTA AND 504 9 borso BEO FICA Se botao pressionado FICA BRA VOLTA Senao VOLTA CNZ 73 MOTOROLA digital
67. enominado ciclo de barramento bus cycle 2 3 Mem ria Podemos pensar na mem ria como sendo uma lista de endere os postais onde o conte do de cada endere o um valor fixo de 8 bits para CPU de 8 bits Se um sistema computacional tem n linhas de endere os ele pode endere ar 2 posi es de mem ria p ex um sistema com 11 linhas pode acessar 2 2048 endere os Entre os diversos tipos de mem ria encontram se RAM Random Access Memory Mem ria de acesso aleat rio Pode ser lida ou escrita pela execu o de instru es da CPU e normalmente utilizada para manipula o de dados pela CPU O conte do perdido na aus ncia de energia mem ria vol til ROM Read Only Memory Mem ria apenas de leitura Pode ser lida mas n o alter vel O conte do deve ser determinado antes que o circuito integrado seja fabricado O conte do mantido na aus ncia de energia mem ria n o vol til EPROM Erasable and Programmable ROM Mem ria ROM program vel e apag vel O conte do dessa mem ria pode ser apagado com luz ultravioleta e posteriormente reprogramado com novos valores As opera es de apagamento e programa o podem ser realizadas um n mero limitado de vezes depois que o circuito integrado for fabricado Da mesma forma que a ROM o conte do mantido na aus ncia de energia mem ria n o vol til One Time Programmable Mem ria program vel uma nica vez Semelhante
68. entos biom dicos TREINAMENTO Microcontroladores da fam lia HCO8 M dulo B sico Microcontroladores da fam lia HCO8 M dulo Avangado Interfaces e protocolos de comunica o serial para microcontroladores Linguagem C para microcontroladores CNZ Engenharia e Inform tica Ltda CNZ Ind stria e Com rcio Ltda Av Est cio de S 560 Cotia SP Av Lineu Prestes 2242 S o Paulo SP Fone 55 11 4612 2324 Fone 55 11 3039 8343 Homepage www cnz com br Homepage www cnz com br DISTRIBUIDORES AUTORIZADOS MOTOROLA SEMICONDUTORES AVNET Fone E 11 5079 2150 Fax 11 5079 2160 e mail vendas avnet com webpage http www avnet com FARNELL Fone 11 4066 9400 Fax 11 4066 9410 e mail vendas farnell com web page http www farnell com KARIMEX COMPONENTES ELETRONICOS LTDA Fone 11 5189 1900 Fax 11 5181 9380 e mail webpage http www karimex com br INFORMAT COMPONENTES ELETRONICOS LTDA Fone 11 3350 0200 Fax 11 3223 0892 e mail gustavo g grupoinformat com br webpage http www grupoinformat com br informat PANAMERICANA ARROW Fone 11 3613 9300 Fax 11 3613 9355 e mail sac Dpan arrow com br web page http www pan arrow com br RICHARDSON ELETRONICS Fone 11 3845 6199 11 3845 6199 e mail otavio Arell com web page http www rell com SILETEC ELETRONICA COM LTDA Fone 11 5
69. erados a partir do clock BUSCLKX2 com apresentado a seguir SIM COUNTER BUS CLOCK GENERATORS FROM OSCILLATOR FROM OSCILLATOR BUSCLKX2 Figura 13 Sinais de clock do m dulo SIM No modo usu rio a freq ncia do barramento interno igual freq ncia do oscilador dividida por quatro A freq ncia do oscilador denominada BUSCLKXA Quando o m dulo de energiza o POR gera um reset os clocks da CPU e perif ricos s o desativados e permanecem nesse estado at 4096 BUSCLKXA ciclos sejam completados O pino RST mantido em n vel l gico 0 pelo m dulo SIM durante todo esse per odo 4 3 1 Inicializac o do sistema e reset O microcontrolador tem v rias fontes de reset Y M dulo POR Power On Reset Pino de reset externo RST M dulo COP Computer Operating Properly M dulo LVI Low Voltage Inhibit Opcode ilegal Y Endere o ilegal Todas estas fontes de reset carregam o vetor SFFFE SFFFF no contador de programa PC e ativam o sinal de reset interno IRST Isto faz com que todos os registradores retornem com seus valores de reset e todos os m dulos retornem ao estado de reset Todos os resets internos zeram o contador do m dulo SIM mas n o os resets externos Cada reset seta um bit correspondente no registrador de status do reset SRSR CNZ 34 Q mororo a digital dna intelligence everywhere 4 3 1 1 Reset durante a energiza o POR Na energiza o oc
70. erandos com sinal BLS Desvia se conte do do acumulador for menor ou igual ao conte do da mem ria operandos sem sinal BLT Desvia se conte do do acumulador for menor do que o conte do da mem ria operandos com sinal BMC Desvia se bit I 0 BMI Desvia se negativo BMS Desvia se bit I 1 BNE Desvia se diferente BPL Desvia se positivo BRA Desvia sempre BRN Nunca desvia BSR Desvia para subrotina CBEQA Compara acumulador com valor imediato e desvia se igual CBEQX Compara registrador X com valor imediato e desvia se igual CBEQ Compara acumulador com mem ria e desvia se igual DBNZA Decrementa acumulador e desvia se diferente de zero DBNZX Decrementa registrador X e desvia se diferente de zero DBNZ Decrementa mem ria e desvia se diferente de zero digitaldna CNZ 54 Q MOTOROLA digitaldna intelligence everywhere Desvios incondicionais Instruc o Descri o JMP Salto JSR Salta para subrotina RTS Retorno de subrotina Controle Instru o Descri o CLC Limpa bit C CLI Limpa bit I habilita interrup es NOP Sem opera o SEC Seta bit C SEI Seta bit I desabilita interrup es RSP Reseta o Stack Pointer RTI Retorno da interrup o STOP Habilita o pino e para o oscilador SWI Interrup o de software TAP Transfere acumulador para CCR TPA Transfere CCR para acumulador TSX Transfere
71. errup es fornecem um meio de suspender temporariamente a execu o normal do programa de tal forma que a CPU tenha tempo livre para processar a requisi o pedida Existem 2 categorias de interrup es interrup es de hardware e interrup es de software Uma interrup o de software ocorre como resultado da execu o da instru o SWI e sempre executada como parte do fluxo de instru es Uma interrup o de hardware pode ser gerada por eventos de internos p ex estouro do temporizador ou externos p ex circuito l gico alterando estado do pino As interrup es de hardware s o mascar veis e portanto podem ser reconhecidas apenas quando o bit I estiver resetado As fontes mais comuns de interrup o de hardware s o Y Interrup o externa utilizada para monitorar sistemas ou eventos externos Y nterrupg es do temporizador utilizadas para processar eventos baseados em contagem hardware ou refer ncias de tempo Y Interrup o de teclado utilizadas para monitorar mudan as nos pinos de I O O processamento de exce es realizado atrav s de tarefas discretas tamb m denominadas Mudan a de Contexto As tarefas executadas durante o processamento s o Y Reconhecimento Recognition evento causador da interrup o pode ser hardware ou software Y Arbitramento Arbitration determina o das fontes de interrup o e prioriza o no caso de haver mais de uma interrup
72. especifique a pasta onde estar o armazenados os arquivos utilizando o bot o Set Figura 26 at criando uma pasta nova se for necess rio E Clique em OK e prossiga com a caixa de di logos New Project Figura 27 New Project x Select project stationery Project Stationery 1 Board Support E Figura 27 Caixa de di logo NEW PROJECT F Selecione o microcontrolador e a linguagem de programa o a ser utilizada Para o exemplo inicial selecione QT_QY gt QT1 gt Assembly e pressione OK Figura 28 Select project stationery Project Stationery H MR QT Qv E Absolute Assembly Assembly E C and Assembly C with Processor Expert QT2 Figura 28 New Project Assembly O CodeWarrior ir preparar todo o ambiente de trabalho e apresentar uma janela de arquivos e pastas do projeto rec m criado denominado Pisca 18 Figura 29 Maiores detalhes a respeito da utilidade e fung o de cada arquivo presente nessa janela podem ser vistos no arquivo readme txt presente na mesma janela CNZ 71 MOTOROLA digital dna intelligence everywhere gPisca 1s mcp Pie PEDebuo CS CSA Y BA B Fies Link Order Targets File Bl readme txt E Sources registers inc C3 Debugger Files Pm Libs Debugger Project File SO ec 9000000 12 files Figura 29 Controle de arq
73. executar o c digo do usu rio A Tabela 7 apresenta as diferen as entre os vetores do modo usu rio e modo monitor Tabela 7 Vetores do Modo Usu rio x Modo Monitor Vetor Modos Reset High Reset Low Break High Break Low SWI High SWI Low Usu rio FFFD FFFC FFFD Monitor FEFE FEFF FEFC FEFD FEFC FEFD taxa de comunica o entre o computador e a CPU controlada pela fregii ncia externa dividida por 1024 Dessa forma ao utilizar um cristal externo de 9 8304 MHz o baud rate da comunica o serial ser de 9600 bps Pode se tamb m utilizar o oscilador interno que neste caso estar ajustado para a frequ ncia interna de 3 2 MHz para gerar a taxa de 9600 bps Neste caso importante que o endere o FFCO do mapa de mem ria do microcontrolador contenha o valor de trimming ajuste do oscilador interno Se este valor estiver errado a comunica o do Modo Monitor com o computador pode ser inviabilizada devido a desvios de frequ ncia O firmware do Monitor ROM utiliza os comandos listados a seguir na comunica o e controle das atividades do c digo que ser executado para depura o Y READ de um byte da mem ria v WRITE Escrita de um byte na mem ria Y IREAD Leitura dos pr ximos 2 bytes da mem ria a partir do ltimo endere o acessado Y IWRITE Escrita de um byte na mem ria no ltimo endere o acessado 1 READSP
74. final a janela dever apresentar O erros errors O avisos warnings se poss vel e N mensagens de n o erros Nota Um programa constru dos sem erros 0 Errors n o indica que ele esteja correto No processo de constru o do c digo execut vel o assembler verifica apenas a sintaxe das linhas do arquivo fonte Os erros falhas de software s o percebidos durante a simula o depura o execu o do c digo execut vel CNZ 74 O digital dna intelligence everywhere 8 6 Simulando e Depurando um Projeto Um projeto constru do com sucesso gerar um arquivo do c digo objeto absoluto normalmente no formato S19 que poder ser carregado nas ferramentas de simula o emula o para avalia o testes e depura o do c digo Para simular um c digo execut vel utilizando as ferramentas de simula o do CodeWarrior o programador dever seguir o seguinte procedimento A Mantenha o projeto aberto ou abra o se ele estiver fechado No exemplo desenvolvido mantenha o projeto Pisca 1s mcp aberto e constru do sem erros B Ative o True Time Simulator amp Real Time Debugger clicando no bot o Debug da barra de ferramentas do projeto ou pressione F5 Se a mensagem da Figura 31 surgir durante o processo de execu o das ferramentas de simula o significa que n o foi instalada a licen a de avalia o evaluation license solicitada pela Metrowerks Contudo o software vai rodar n
75. grama de blocos do m dulo LVI O m dulo LVI cont m um circuito de refer ncia com zona morta e um comparador Os bits de configura o do m dulo LVI encontram se no registrador CONFIGI Se LVIPWRD 0 a tens o Vbp passa a ser monitorada pelo m dulo LVI Se LVIRSTD 0 o m dulo LVI gera um reset quando Vpp cair abaixo da tens o Vrrrpr Se LVISTOP 1 o m dulo LVI passa a operar tamb m no modo STOP CNZ 48 Q mororo a digital dna intelligence everywhere Se LVISOR3 1 a tens o Vrripf configurada para opera o de 5V Se LVISOR3 0 a tens o Vrripr configurada para opera o de 3V Uma vez ocorrido um reset por LVI o microcontrolador permanece em reset at que Vpp suba acima da tens o A tens o Vrripr menor do que Vrrirpr dessa forma previne se que a CPU entre saia continuamente do reset Em aplica es que possam operar com Vpp em n veis abaixo de usu rio pode monitor por software o bit LVIOUT No registrador de configura o o bit LVIPWRD deve estar em n vel l gico O para habilitar o m dulo LVI e o bit LVISTD deve estar em n vel l gico 1 para desabilitar o reset por LVI O bit LVIOUT est presente no registrador de status do LVI LVISR 4 13 M dulo Break BREAK O m dulo Break pode gerar uma interrup o BREAK que para o fluxo normal do programa em um endere o definido para entrar em um programa alternativo em background Entre a
76. guran a nos microcontroladores da fam lia HC08 existem para proteger um dispositivo programado de serem lidos e disassemblados por pessoas n o autorizadas Este mecanismo constitu do de 8 bytes de c digo de seguran a que est o armazenados nos endere os de FFF6 a FFFD Se um usu rio conhece o que est programado no dispositivo ele implicitamente conhece o c digo para desbloquear a seguran a necess rio para poder ter acesso ao modo Monitor e ter acesso as mem rias ROM FLASH Contudo para os usu rios que n o conhecem o c digo de seguran a eles podem entrar no modo monitor mas sem acesso as mem ria ROM FLASH A verifica o do software e a correspond ncia compatibilidade do hardware podem ser facilmente desempenhadas uma vez que os efeitos das instru es de software no ambiente de simula o pode ser observ vel diretamente no hardware Isto faz da depura o um processo simples e a placa de desenvolvimento M68EVB908Q torna tudo isso poss vel CNZ 82 Q mororo a digitaldna intelligence everywhere Uma vez que o c digo fonte de um programa foi constru do com sucesso exist ncia de um arquivo S19 o simulador carrega o arquivo na RAM do microcontrolador depois de entrar no modo monitor A comunica o com o simulador realizada atrav s de um canal serial padr o RS232 com o chip atrav s do pino PTAO e vice versa portanto cada instru o executada no ambiente de simula o imediatamente ref
77. ia MC68HC908QT QY 30 Figura 12 Diagrama de bloco do m dulo SIM 33 Figura 13 Sinais de clock do m dulo SIM 34 Figura 14 Conex o com oscilador RC externo 38 Figura 15 Conex o com cristal externo 40 Figura 16 Diagrama de blocos do m dulo COP 47 Figura 17 Diagrama de blocos do m dulo LVI 48 Figura 18 Esquema el trico LED Bot o 61 Figura 19 Fluxograma da aplica o LED Bot o 62 Figura 20 Fluxograma da rotina Dly 1seg 63 Figura 21 N mero de ciclos de m quina da subrotina Dly 1s 65 Figura 22 Iniciando o CodeWarrior 68 Figura 23 Janela inicial do CodeWarrior 68 Figura 24 Barra de ferramentas do CodeWarrior 69 Figura 25 Caixa de di logo NEW 70 Figura 26 Nome e pasta do novo projeto 70 Figura 27 Caixa de di logo NEW PROJECT 71 Figura 28 New Project Assembly 7 CNZ 4 Q MOTOROLA Figura 29 Controle de arquivos e pastas do projeto Pisca_1s mcp Figura 30 Errors amp Warnings intelligence everywhere digital dna 72 74 Figura 31 Aviso sobre licen a das ferramentas de simula o 75 Figura 32 Janela inicial do simulador 76 Figura 33 Simulador Menu de escolha do dispositivo T Figura 34 Simulador Modos de simula o 78 Figura 35 Simulador Barra de Ferramentas 79 Figura 36 Breakpoint marca em vermelho na janela Source 81 Figura 37 ICS Conex
78. ia das opera es aritm ticas bin rias s o baseadas em algoritmos de adi o e subtra o adi o com o valor negativo A multiplica o realizada atrav s de uma s rie de adi es e deslocamentos com a ALU sob controle l gico da CPU Controle da CPU O circuito de controle da CPU implementa o sequeciamento de elementos l gicos necess rios ALU realizar as opera es requisitadas durante a execu o do programa O elemento central da se o de controle da CPU o decodificador de instru es Cada opcode decodificado para determinar quantos operandos s o necess rios e qual sequ ncia de passos ser necess ria para completar a instru o em curso Quando uma instru o executada completamente o pr ximo opcode lido e decodificado Registradores da CPU CPUO8 cont m 5 registradores como apresentado na Figura 1 Os registradores da CPU s o mem rias dentro do microprocessador que n o fazem parte do mapa de mem ria O conjunto de registradores da CPU frequentemente chamado de modelo de programa o O registrador A tamb m chamado de acumulador porque frequentemente utilizado para armazenar um dos operandos ou o resultado de opera es CNZ 9 E A Q mororora digitaldna intelligence everywhere O registrador H X um registrador de 16 bits de indice que possibilita ao usu rio endere ar indiretamente o espa o de mem ria de 64Kbytes O byte alto do registra
79. imulador Modos de simula o No modo FCS a simula o do software do projeto todo totalmente realizado pelo simulador software aplicativo n o existindo comunica o com hardware No modo ICS a simula o do software do projeto feita pelo microcontrolador dispon vel no hardware alvo na mem ria RAM atrav s de uma interface de comunica o serial com o modo Monitor ROM Cada instru o transferida para o hardware executada pelo microcontrolador e o resultado dos registradores mem ria atualizado no simulador r No modo ICD a depura o programa o realizada na mem ria de programa do microcontrolador hardware ou seja o software do projeto totalmente transferido programado para a mem ria FLASH do microcontrolador dispon vel no hardware O usu rio atrav s das janelas do simulador depurador controla as atividades de depura o no hardware O hardware recebe comandos atrav s da interface serial controlado pelo modo Monitor ROM executa o comando pedido utilizando o programa na FLASH e retorna dados dos registradores mem ria para atualizar nas janelas do simulador A grande vantagem do modo ICD a execu o do software em tempo real CNZ 78 ta Q digital dna intelligence everywhere Todos os modos de simula o depura o dispon veis utilizam a mesma interface gr fica de usu rio A barra de menus cont m os principais comandos do simulador confor
80. informa es do mundo externo Sa das para exteriorizar informa es processadas pela CPU para o mundo externo 5 5 5 SS Programa software para que o sistema alguma coisa til 2 1 Unidade Central de Processamento CPU CPU o centro de todo sistema computacional e n o diferente quando se trata de microcontroladores O trabalho da CPU executar rigorosamente as instru es de um programa na seq ncia programada para uma aplica o espec fica Um programa computacional software instrui a CPU a ler informag es de entradas ler e escrever informa es na mem ria de trabalho e escrever informa es nas sa das O diagrama de blocos simplificado da CPU presente nos microcontroladores da fam lia 08 tamb m denominada CPUOS apresentada na Figura 1 CNZ 8 Q mororora digitaldna intelligence everywhere CPUOS Controle Unidade da L gica Aritm tica CPU ALU Registradores da CPU A Acumulador H X ndice SP Stack Pointer PC Program Counter ccR v i i H ri N z c Figura 1 Diagrama de blocos da CPU08 Unidade L gica Aritm tica ALU A ALU usada para realizar opera es l gicas e aritm ticas definidas no conjunto de instru es da CPUOS V rios circuitos implementam as opera es aritm ticas bin rias decodificas pelas instru es e fornecem dados para a execu o da opera o na ALU A maior
81. inguagem de alto n vel ou uma instru o quando o c digo fonte estiver em assembly Se a declara o corrente for uma chamada a uma fun o subrotina o simulador entra step into na fun o O comando Single Step n o trata uma fun o como um comando portanto executa o passo entrando na fun o CNZ 79 O digital dna intelligence everywhere Y Step Over Comando similar ao Single Step mas n o entra dentro de fun es chamadas Uma chamada de fun o subrotina tratada como um nico comando por m todos os registradores mem ria afetados s o atualizados no simulador Y Step Out Se a aplica o for suspensa dentro de uma fun o este comando continua a execu o e ent o para na instru o seguinte a chamada da fun o executa a chamada da fun o at o seu retorno a instru o subseq ente chamada Se n o houver chamadas de fun o presentes ent o a fun o Step Out n o realizada Y Assembly Step Se a aplica o estiver suspensa este comando realiza um passo correspondente a uma instru o em assembly Este comando similar ao comando Single Step mas executa apenas uma instru o em assembly ao inv s de uma declara o em linguagens de alto n vel Y Halt Interrompe e suspende a execu o da aplica o Quando a aplica o se encontrar nesse estado o usu rio poder examinar o estado de cada vari vel da aplica o setar breakpoint
82. ivo Fonte Montador Assembler Simula o depura o e testes do sistema 8 Ferramentas de desenvolvimento CodeWarrior 8 1 8 2 8 3 8 4 8 5 8 6 8 6 1 8 6 2 Simula o In Circuit ICS Introdu o Iniciando com o CodeWarrior Windows Criando um Projeto Editando um arquivo fonte Construindo o Projeto Simulando e Depurando um Projeto Simula o Completa do Chip FCS 8 6 3 Depura o Programa o In Circuit ICD 9 Refer ncias Bibliogr ficas Gloss rio digital dna 50 51 55 55 56 56 57 58 59 60 61 61 62 64 66 66 67 67 67 70 73 74 75 81 82 85 88 89 CNZ Q mororora gigitaldna intelligence everywhere Lista de Figuras Figura 1 Diagrama de blocos da 08 9 Figura 2 Modelo de Programa o da 08 15 Figura 3 Acumulador A 15 Figura 4 Registrador de ndice H X 16 Figura 5 Registrador Stack Pointer SP 16 Figura 6 Registrador Program Counter PC 17 Figura 7 Registrador Condition Code CCR 17 Figura 8 Pinagem dos microcontroladores MC68HC908QTI QT2 QT4 PDIP SOIC 27 Figura 9 Pinagem dos microcontroladores MC68HC908QY 1 QY2 QY4 PDIP SOIC 27 Figura 10 Pinagem dos microcontroladores MC68HC908QY 1 QY2 QY4 TSSOP 27 Figura 11 Mapeamento da mem ria da fam l
83. izou para os usu rios tr s modos diferentes de simula o de sistema S o eles Y Simula o Completa do Chip FCS Full Chip Simulation Y Simula o In Circuit ICS In Circuit Simulation Y Depurac o Programac o In Circuit ICD In Circuit Debug Programming modo de simula o depura o pode ser selecionado na barra de menus do simulador PEDebug gt Modo lt modo de simula o gt Figura 34 CNZ 77 O digitaldna True Time Simulator amp Real Time Debugger C XProjetos CNZAPisca 1sXPEDebug ini File View PEDebug Component Procedure Window Help Load Reset SIE i AE e AE CAProjetos CNZ Line 17 Device HC308QT1 mi Full Chip Simulation Full Chip Simulation Micro F804 CLRH In Circuit Debug Programming F805 CLI Port Pins Module F806 CLRX Clocks Module 2 IRQ Module FLASH Module HC08 CPU Cycles 0 Run til Cycle o View Register Files lol lx se rr Auto Symb Gibai SR 68 status VHINZC F800 GE Procedure iol xj 1l c gt ZEE E dene cnd postload cmd inl x Auto 0080 uu uu uu uu uu uu uu uu uuuuuuuu B 711 0088 uu uu uu uu uu uu uu uu uuuuuuuu 0090 uu uu uu uu uu uu uu uu uuuuuuuu gt Postload command file correctly executed in 2 NNAR im an anmai any 303 ani 3000 1 n HCS08QT1 done temdtpostload 2 Figura 34 S
84. letida no hardware Para realizar a Simula o In Circuit conecte o computador e a placa M68EVB9080 atrav s de um cabo serial e siga o seguinte roteiro A Selecione o modo In Circuit Simulation como apresentado na Figura 34 B Na primeira vez e ou sempre que houver algum problema de comunica o o simulador abrir uma janela com o conte do apresentado na Figura 37 Se n o for a primeira vez e n o houver problemas de comunica o o simulador prepara todo o ambiente para iniciar a simula o sem abrir essa janela Attempting to contact target and pass security Target Hardware Type Class Motorola ICS Board with processor installed Emulation connection ok Power controlled via y Advanced Class II IH IV Settings Serial Port 1 y Close Port 19200 Baud SpBEGITEdIBBUH The serial port is open Target MCU Security bytes C Attempt ALL Known security codes in order Attempt FF FF FF FF FF FF FF FF From security ini Attempt FF FF FF FF FF FF FF FF Blank Device Attempt FF FF FF FF FF FF FF FF From security Attempt FF FF FF FF FF FF FF FF From security ini Recent Attempt 00 00 00 00 00 00 00 00 Blank on older devices C Attempt FF FF FF FF FF FF FF FF From security ini C User 00 00 00 00 00 00 00 00 Load from 519 C Attempt FF FF FF FF FF FF FF FF From security ini IGNORE security failure and enter monitor mode
85. lia HC08 ser o abordados t picos referentes ao modelo de programa o modos de endere amento e o conjunto de instru es completo Ser o abordados tamb m os principais perif ricos dos microcontroladores da fam lia MC68HC908QT QY temporizador interno conversor A D interrup es sistema monitor e BREAK Utilize os documentos t cnicos da Motorola como refer ncia ao trabalhar com um componente espec fico da fam lia HC08 e em especial ao necessitar de detalhes de implementa o dos seus perif ricos e respectivos registradores Eles est o dispon veis no website http e www motorola com e podem ser acessados atrav s de uma busca pelo part number do componente CNZ 7 E A Q digital dna intelligence everywhere 2 REVIS O Um microcontrolador um sistema computacional completo no qual est o inclu dos uma CPU Central Processor Unit mem ria um sistema de clock sinais de I O Input Output al m de outros poss veis perif ricos tais como m dulos de temporiza o e conversores A D entre outros integrados em um mesmo componente chip As partes integrantes de qualquer computador e que tamb m est o presentes em menor escala nos microcontroladores s o Y Unidade Central de Processamento CPU Sistema de clock para dar seq ncia s atividades da CPU Mem ria para armazenamento de instru es e para manipula o de dados Entradas para interiorizar na CPU
86. lobal SR 68 status VHINZ0 PC F800 Gs 28 5 ES 0 E done YcudYpostload cmd inl x Auto 0080 uu uu uu uu uu uu uu uu uuuuuuuu 0088 uu uu uu uu uu uu uu uu uuuuuuuu 0090 uu uu uu uu uu uu uu uu uuuuuuuu 2 NNAR im an anai any 303 ani 3000 Y mm For Help press F1 HC3080T1 done Acmdipostload cmd 2 Postload command file correctly executed in Figura 36 Breakpoint marca em vermelho na janela Source Simula o Completa do Chip FCS A Simula o Completa do Chip FCS totalmente executada pelo software do simulador Para iniciar no modo FCS siga o seguinte roteiro A B Selecione o modo n Circuit Simulation ICS como apresentado no item 8 6 Na barra de ferramentas dessa nova janela clique no bot o Reset Target ou pressione Ctrl R Note que a janela Procedure mostrar a fun o Entry Q ea janela Source mostrar o come o do c digo da fun o Entry Atrav s dos bot es de simula o descritos na Figura 35 v descobrindo as mudan as atualiza es marcadas em vermelho que cada instru o executada na janela Source ou Assembly provocam no simulador A janela Register ser atualizada refletindo o fato do c digo ter sido executado uma instru o Valores dos registradores janela Register e ou conte do de posi es de mem ria janela Memory podem ter seus valores modificados de acordo com as necessidades da simula o depur
87. lterada Uma entrada de clock determina quando o atch ir capturar o estado da entrada e aplic lo na sa da CNZ 90 Q mororora gigitaldna intelligence everywhere Linguagem Assembly M todo utilizado por programadores para representar instru es de m quina dados em bin rio em uma forma mais conveniente Para cada instru o de m quina dado um nome curto e simples denominado mnem mico de mem ria Representa o visual de toda a mem ria endere vel pela CPU Microcontrolador Sistema computacional completo incluindo a CPU mem ria clock e I O em um simples circuito integrado Mnem nico Letras que representam uma opera o da CPU Por exemplo o mnem nico da instru o Carregar o Acumulador LDA Modelo de Programa o Registradores de uma CPU em particular Modos de endere amento Meio pelo qual a CPU obt m endere a a informa o necess ria para completar uma instru o N vel l gico 0 N vel de tens o aproximadamente igual a tens o do terra Vss N vel l gico 1 N vel de tens o aproximadamente igual a tens o de alimenta o Vpp Offset Deslocamento reposicionamento de um ponteiro em rela o a um endere o base que normalmente o Registrador de ndice ou o Stack Pointer Opcode C digo bin rio que instrui a CPU a fazer uma opera o espec fica Oscilador Circuito que produz uma frequ ncia constante qu
88. m e posi o desses elementos importante Em particular os r tulos sempre come am na coluna um mnem nicos devem come ar a partir da coluna dois normalmente utiliza se uma tabula o a partir da coluna um operando sempre seguem os mnem nicos o caracter ponto e v rgula sempre precede coment rios R tulos s o nomes dados aos endere os iniciais de instru es de desvio subrotinas ou subrotinas de servi o de interrup es Sempre que poss vel deve se utilizar nomes que tenham algum significado para o sistema Mnem nicos s o abrevia es textuais significativas dos opcodes e podem conter ou n o operandos depende da instru o Finalmente para facilitar o entendimento as linhas contendo instru es mnem nicas podem ser frequentemente comentadas Isto permitido no arquivo fonte sempre que houver um ponto e v rgula precedendo um texto explicativo coment rio O assembler ir ignorar o conte do da linha depois que encontrar um ponto e v rgula e o conte do n o far parte do c digo execut vel arquivo no formato S19 CNZ 56 Q mororora gigitaldna intelligence everywhere A seguir est o alguns exemplos de linhas v lidas de arquivos de c digo fonte R tulo Mnem nico Operando Coment rios Isto eh uma linha de comentario MOV SFF PORTB PORTB saida CLRA JSR Dly_1s Subrotina de 1 segundo BCLR JOIA VOLTA4 IDA PORTA Notas Sempre coloque um carac
89. ma a intera o com o Modo Monitor do ponto de vista do software transparente para o usu rio CNZ 40 Q MOTOROLA Entre as principais caracter sticas do monitor incluem se Y SN 5 S S S 5 5 S S Y digitaldna intelligence everywhere Funcionalidade normal para o usu rio na maioria dos pinos Um pino dedicado para comunica o entre o Monitor ROM e um computador central Comunica o serial padr o com o computador central Execu o do c digo em RAM ou FLASH Caracter sticas de prote o de c digo da mem ria FLASH Interface de programa o da mem ria FLASH Utiliza o de cristal externo ou oscilador taxa comunica o frequ ncia 1024 Modo de opera o com oscilador interno sem freq ncia externa ou tens o alta 416 bytes de c digo do monitor ROM Modo de entrada no Monitor sem necessidade de tens o alta Vrsr se o vetor de reset estiver apagado SFFFE e FFFF contendo SFF Modo de entrada padronizado se tens o alta for aplicada no pino O Monitor ROM recebe e executa comandos vindos de um computador central atrav s de uma interface de comunica o padr o f sico RS232 Os comandos do Monitor podem acessar qualquer endere o da mem ria No modo Monitor a CPU pode executar um c digo descarregado na RAM por um computador enquanto a maioria dos pinos continua com suas fun es normais de opera o Toda a comunica o entre o computador e a CPU fei
90. ma interrup o independente do estado da m scara da interrup o bit I no registrador CCR 4 4 M dulo Oscilador OSC A fam lia HCO8 utiliza um esquema de temporiza o onde o ciclo de execu o das instru es mais simples formado por 4 fases de um clock interno Se a CPU estiver configurada para receber o sinal de frequ ncia de um cristal oscilador externo ent o o ciclo de execu o ser um quarto da frequ ncia do cristal Isto denominado ciclo de barramento ou ciclo da CPU Todas as instru es t m sua execu o especificada em n mero de ciclos da CPU Dessa forma se o hardware utilizar um cristal externo de 32MHz a frequ ncia do barramento ser de 8 MHz Portanto instru es de um ciclo s o executadas em 125ns Este m dulo utilizado para fornecer uma fonte de clock est vel para o sistema O m dulo oscilador gera 2 sa das de clock BUSCLKX2 e BUSCLKXA O clock BUSCLKXA usado no m dulo SIM e no m dulo COP O clock BUSCLKX2 dividido por 2 no m dulo SIM para ser usado como clock do barramento do microcontrolador Portanto a frequ ncia do barramento ser um quarto da frequ ncia de BUSCLKXA CNZ 37 Q mororora digitaldna intelligence everywhere O oscilador tem 4 op es de fonte de clock dispon veis Y Oscilador interno O microcontrolador gera internamente uma frequ ncia fixa de clock ajust vel em 5 Esta a opg o padr o na sa da do reset Y Oscilad
91. me apresentado na Figura 35 Maiores detalhes podem ser vistos no menu Ajuda do simulador BI Legenda 1 2 o 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Figura 35 Simulador Barra de Ferramentas dos bot es New Novo Open Abrir Save Salvar Cut Recortar Copy Copiar Paste Colar Help Topics T picos de Ajuda Help Ajuda Start Continue Iniciar Continuar F5 Single Step Passo simples F11 Step Over Passo sobre F10 Step Out Passo para fora Shift F11 Assembly Step Passo do assembly Ctrl F11 Halt Parar F6 Reset Target Reseta Target Ctrl R Os bot es numerados de 9 a 15 executam fung es espec ficas do simulador que refletem sobre o funcionamento do microcontrolador de acordo com passos do software implementado Uma descri o mais detalhada de cada bot o apresentada a seguir v Start Continue Esta fun o inicia a execu o da aplica o software a partir do endere o dado pelo PC linha que est ativa na janela Source at uma das seguintes condi es seja satisfeita encontrar um breakpoint detectar um erro de runtime ou a aplica o ser paralisada suspensa pelo usu rio com a fun o Y Single Step Se a aplica o estiver suspensa este comando realiza a execu o de uma nica declara o do c digo fonte em l
92. nterrup o come a depois de completada a execu o da instru o corrente Quando a instru o completada o m dulo SIM checa a exist ncia de interrup es de hardware pendentes Se as interrup es n o estiverem mascaradas bit I 0 no registrador CCR e se a interrup o correspondente estiver habilitada o m dulo SIM prossegue com o processamento da interrup o caso contr rio a pr xima instru o ser buscada e executada Se mais de uma interrup o estiverem pendentes ao final da execu o de uma instru o a interrup o de maior prioridade executada primeiro CNZ 36 Q mororora gigitaldna intelligence everywhere Os bits dos registradores de status de interrup es identificam as fontes de interrup o mascar veis A fam lia MC68HC908QT QY possui as seguintes fontes de interrup o Tabela 5 Fontes de interrup o Prioridade Fonte de Interrup o Flag Masc End Vetor Alta Reset SFFFE FFFF Instruc o SWI FFFC FFFD 1 IRQF1 IMASK1 IFI FFFA SFFFB Timer Canal 0 CHOF CHOIE IF3 SFFF6 FFF7 Timer Canal 1 CHIF CHIIE IF4 4 5 Estouro do timer TOF TOIE IF5 FFF2 Teclado KEYF IMASKK 1 14 FFDE SFFDF Baixa Convers o ADC completa AIEN IF15 SFFEO SFFE1 A instru o SWI uma interrup o n o mascar vel que causa u
93. o end Alto 4 s FFF3 Estouro do TIM end Baixo 4 FFF4 Canal 1 TIM end Alto v n 5 Canal 1 TIM end Baixo 4 FFF6 Canal 0 TIM end Alto 4 E FFF7 Canal 0 TIM end Baixo 4 IF2 N o utilizado y SFFFA end Alto 4 dn end Baixo Y SFFFC SWI end Alto SFFFD SWI end Baixo 4 FFFE Reset end Alto Alta Reset end Baixo CNZ 31 Q mororora digitaldna intelligence everywhere 4 2 1 Mem ria RAM A mem ria RAM interna est localizada na faixa de endere os 0080 a 00FF registrador Stack Pointer SP permite que a pilha esteja localizada em qualquer lugar dentro do 64 Kbytes mas para que funcione corretamente deve obrigatoriamente apontar para uma regi o de mem ria RAM Antes do processamento de uma interrup o a CPU utiliza 5 bytes da pilha para guardar o conte do de registradores especiais Durante uma chamada de subrotina a CPU utiliza 2 bytes da pilha para guardar o endere o de retorno 4 2 2 Mem ria FLASH A mem ria FLASH pode ser lida programada e apagada com a utiliza o de apenas uma fonte de alimenta o externa As opera es de programa o e apagamento s o habilitadas atrav s da utiliza o de um charge pump interno A mem ria FLASH consiste em 4096 ou 1536 bytes com 48 bytes adicionais para vetores de interrup o A mem ria FLASH pode ser apagada em
94. o modo demonstra o demo mode com todos os componentes habilitados mas para um c digo de no m ximo 1 Kb Maiores informa es sobre a licen a de uso do CodeWarrior e as formas de obt la est o dispon veis no arquivo welcome CWO08 V2 1 1 txt que pode ser acessado via bot o Iniciar gt Programas gt Metrowerks gt CodeWarrior CW08 V2 1 gt Welcome to CW08 2 1 HI WAVE Feature HI404000 Engine is running in demo mode To get an evaluation license please send an email to mailto license europe amp metrowerks com all components will run in demo mode Figura 31 Aviso sobre licenca das ferramentas de simulac o Independente de ter uma licenga registrada ou n o o simulador carregado com o c digo execut vel do projeto que estava aberto conforme Figura 32 CNZ 75 i O mororora digitaldna True Time Simulator Real Time Debugger C Projetos CNZAPisca 1s4PEDebug ini File View Run PEDebug Component Procedure Window Help alelo ce amp _ _1 _ Desabilita interrupcoes F803 TXS F804 CLRH F805 CLI F806 CLRX HC08 CPU Cycles Imain dba Status VHINZC 1 done YcudYpostload cmd Postload command file correctly executed 0080 uu uu uu uu uu uu uu uu uuuuuuuu dus 711 0088 uu uu uu uu uu uu uu uu uuuuuuuu n 0090 uu uu uu uu uu uu uu uu uuuuuuuu y ZA NNAS am
95. ogram veis e armazenados na FLASH 416 bytes de mem ria ROM para o monitor SN 5 5 S lt 1536 bytes de rotinas para apagamento e programa o da mem ria FLASH localizados na ROM O acesso a endere os de mem ria reservados pelo componente podem ter efeitos imprevis veis na opera o da CPU O mapeamento de mem ria da fam lia MC68HC908QT QY sempre implementado dentro do espa o de 64 Kbytes embora o tamanho da mem ria real FLASH ROM RAM Registradores I O n o ocupe todos os endere os A Figura 10 mostra o mapa de mem ria da fam lia MC68HC908QT QY CNZ 29 intelligence everywhere Q MOTOROLA digital 0000 Registradores de I O 64 bytes 0040 Reservado 64 bytes 20080 RAM Interna 128 bytes 0100 N o implementado N o implementado 9984 bytes 9984 bytes 00 ROM Auxiliar ROM Auxiliar 1536 bytes 1536 bytes 2E00 implementado implementado 49152 bytes 51712 bytes EE00 Mem ria FLASH Mem ria FLASH MC68HC908QT4 QY4 MC68HC908QT1 QY1 QT2 QY2 4096 bytes 1536 bytes SFE00 Status de BREAK BSR SFEO1 Status do Reset SRSR FE02 Auxiliar de BREAK BRKAR FE03 Controle de BREAK BFCR FE04 Status de Interrup o INT1 FEOS Status de Interrup o INT2 06 Status de Interrup o INT3 SFE07 Reservado para Controle de Teste da FLASH FE08 Controle da FLASH FLCR
96. ois de uma seq ncia impr pria dados n o coincidentes o m dulo Monitor pode ainda executar uma rotina de apagamento total da mem ria FLASH 4 6 M dulo de Interface do Temporizador TIM O m dulo TIM cont m um temporizador com 2 canais que fornecem refer ncias de tempo captura de entrada input capture compara o de sa da output compare e PWM Pulse Width Modulation A principais caracter sticas do m dulo TIM s o as seguintes Y 2 canais para captura de entrada compara o de sa da v Captura do sinal por borda de subida borda de descida ou qualquer borda V Setar resetar ou mudar o estado de uma sa da nas a es de compara o de sinais Gera o dos sinais de PWM com ou sem buffer Clock de entrada no m dulo TIM program vel com 7 sele es de pr escala Opera o em contagem livre free running ou contador de m dulo pr determinado Mudan a no estouro de contagem de qualquer pino do canal 5 5 S lt Bits de reset e parada do contador do m dulo CNZ 43 Q mororora digitaldna intelligence everywhere O m dulo TIM compartilha 2 pinos de entrada sa da com 2 pinos de I O do Port A Os pinos s o PTAO TCHO e 1 1 O componente central do m dulo TIM um contador de 16 bits que pode operar como temporizador free running counter ou como contador modulo up counter O contador TIM fornece refer ncias de tempo para fun es de captura de entrada e ou compara
97. oladores MC68HC908QY1 QY2 QY4 TSSOP CNZ 27 Q MOTOROLA intelligence everywhere digitaldna Os pinos multifuncionais dos microcontroladores da fam lia MC68HC908QT QY tem as seguintes descri es Tabela 2 Descri o dos pinos dos microcontroladores MC68HC908QT QY Pino Descri o Tipo Alimenta o 5V ou 3V Pot ncia Vss Alimenta o GND Pot ncia PTAO PTAO Porta de entrada sa da de uso geral Entrada Sa da ADO Entrada anal gica canal 0 Entrada Entrada Sa da do timer canal 0 Entrada Sa da KBIO Entrada da interrup o de teclado 0 Entrada PTAI 1 Porta de entrada sa da de uso geral Entrada Sa da ADI Entrada anal gica canal 1 Entrada TCHI Entrada Sa da do timer canal 1 Entrada Sa da Entrada da interrup o de teclado 1 Entrada PTA2 2 de entrada de uso geral Entrada Interrup o externa Entrada 2 Entrada da interrup o de teclado 2 Entrada PTA3 Porta de entrada sa da de uso geral Entrada Sa da RST Entrada de reset ativo em 0 Entrada KBI3 Entrada da interrup o de teclado 3 Entrada PTA4 4 Porta de entrada sa da de uso geral Entrada Sa da OSC2 Sa da do oscilador a cristal Sa da Sa da do oscilador interno ou RC Sa da AD2 Entrada anal gica canal 2 Entrada KBI4
98. om Trying Security SFFFFFFFFFFFFFFFF Success Successful Status 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 5 0 6 Initializing Target has been RESET and is active ICMD CM C ARQUIVOS DE PROGRAMAS METROWERKS CODEWARRIOR CW08 V2 1XPROGXP amp EX908 QT1 08P Initializing Initialized version 1 10 07 25 2002 Copyright P amp E Microcomputer Systems www pemicro com device Motorola 68HC9080T1 11 begin cs 4 programming algorithm ICMD EM oading programming algorithm routine Done rasing 1 Running programming script Figura 42 Apagando e programando a mem ria FLASH CNZ 86 A Q mororora digitaldna intelligence everywhere J A partir desse ponto tudo id ntico ao descrito na Simula o Completa do Chip Full Chip Simulation exceto as interrup es e os valores dos pinos que n o podem ser setados resetados pela linha de comando pois todos os valores s o determinados pelo hardware O pino IRQ ou o bot o SW1 da placa de desenvolvimento M68EVB908Q pode ser utilizado para iniciar uma interrup o depois de executado o protocolo inicial Se contudo o usu rio n o consegui passar pelo modo de seguran a observe que na caixa de di logos Target Connection and Security tem uma se o denominada STATUS descrevendo os diferentes tipos de falhas e o que verificar em cada caso As raz es mais comuns para n o passar pelos c digos de seguran a s o Y N o
99. or X STA Armazena o acumulador na mem ria STHX Armazena os registradores H X na mem ria STX Armazena o registrador X na mem ria TAX Transfere o acumulador para o registrador X TXA Transfere o registrador X para o acumulador Movimenta dados da mem ria PSHA Insere o conte do do acumulador na pilha PSHH Insere o conte do do registrador na pilha PSHX Insere o conte do do registrador X na pilha PULA Insere o conte do da pilha no acumulador PULH Insere o conte do da pilha no registrador PULX Insere o conte do da pilha no registrador X Aritm ticas Instru o Descri o ADD Adiciona sem carry ADC Adiciona com carry SUB Subtrai sem carry SBC Subtrai com carry MUL Multiplica sem sinal DIV Divide DAA Ajuste decimal do acumulador digitaldna CNZ 51 intelligence everywhere Q mororo a digitaldna Manipula o de dados Instru o Descri o AIS Adiciona valor imediato ao Stack Pointer AIX Adiciona valor imediato ao Registrador de ndice ASLA Shift aritm tico esquerda do acumulador ASLX Shift aritm tico esquerda do registrador X ASL Shift aritm tico esquerda da mem ria LSLA Shift l gico esquerda do acumulador LSLX Shift l gico esquerda do registrador X LSL Shift l gico esquerda da mem ria ASRA Shift aritm tico para a direita do acumulador ASRX Shift aritm tico para
100. or externo Um clock externo que pode ser inserido diretamente no 1 Y RC externo Esta op o utiliza um resistor externo R para gerar uma freq ncia O capacitor interno ao chip Y Cristal externo M dulo oscilador interno ao chip que necessita um cristal externo ou ressonador cer mico 4 4 1 Oscilador RC O circuito oscilador RC foi projetado para uso com um resistor externo R para fornecer uma fonte de clock com toler ncia menor do que 25 Nesta configura o t pica necessita se de componentes externos um resistor e um capacitor No microcontrolador MC68HC908QYA o capacitor interno ao chip O valor R deve ter toler ncia de 1 ou menor para obter uma fonte de clock com menos de 25 de toler ncia OSCRCOPT FROM SIM TO SIM INTCLK BUSCLKX4 BUSCLKX2 SIMOSCEN EXTERNAL RC E OSCILLATOR PTA4 OSC2EN PTA4 BUSCLKX4 05 2 Figura 14 Conex o com oscilador RC externo O pino OSC2 pode ser configurado como pino de I O PTA4 ou o bit OSC2EN pode ser setado para habilitar o a fun o OSC2 sem afetar o clock CNZ 38 Q mororo a digital dna intelligence everywhere 4 4 2 Oscilador Interno O oscilador interno gera uma frequ ncia t pica de 12 8 MHz INTCLK resultando em uma velocidade de barramento de 3 2 MHz com uma toler ncia de 25 sem ajustes Nesta op o existe a possibilidade de ajustar a frequ ncia do clock entre 127 e
101. orrem os seguintes eventos Y Um pulso POR gerado V O sinal de reset interno ativado Y O m dulo SIM habilita o oscilador para fornecer o sinal BUSCLKXA Y Clocks internos CPU e os m dulos s o mantidos inativos por 4096 BUSCLKX4 ciclos para permitir a estabiliza o do oscilador Y O bit POR do registrador de status do reset SRSR setado e todos os outros bits do registrador s o resetados 4 3 1 2 Reset do m dulo COP Uma das entradas do m dulo SIM reservada para o sinal de reset do COP O estouro na contagem do contador do COP causa um reset interno e seta o bit COP no registrador de status do reset SRSR Maiores detalhes poder o ser vistos no item que descreve o funcionamento do m dulo COP 4 3 1 3 Reset por Instru o Ilegal O m dulo SIM decodifica sinais da CPU para detectar instru es ilegais Uma instru o ilegal seta o bit ILOP do registrador de status de reset SRSR e provoca um reset Se o bit de habilita o do modo STOP do registrador de op es de m scara estiver em n vel l gico 0 o m dulo SIM trata a instru o STOP como um opcode ilegal e causa um reset por opcode ilegal 4 3 1 4 Reset por Endere o Ilegal Uma busca por opcode em um endere o n o mapeado gera um reset por endere o ilegal O m dulo SIM verifica se a CPU est fazendo a busca a um opcode antes de ativar o bit ILAD do registrador de status de reset SRSR e resetar a CPU 4 3 1 5 Reset do m dulo LVI
102. out do computador operando corretamente COP Y Controle de interrup es Y Temporiza o do reconhecimento da interrup o Y Temporizac o do controle de arbitramento Y Gera o do endere o do vetor da interrup o Y Temporizac o para habilita o desabilita o da CPU Y Arquitetura modular expans vel para 128 fontes de interrup o MODULE STOP MODULE WAIT STOPIWAIT CPU STOP FROM CPU CONTROL CPU WAIT FROM CPU SIMOSCEN TO OSCILLATOR SIM on COUNTER COP CLOCK BUSCLKX4 FROM OSCILLATOR BUSCLKX2 FROM OSCILLATOR Vpp CLOCKGENERATORS INTERNAL CLOCKS INTERNAL PULL UP LLEGAL OPCODE FROM CPU LLEGAL ADDRESS FROM ADDRESS MAP DECODERS COP TIMEOUT FROM COP MODULE LVI RESET FROM LVI MODULE FORCED MON MODE ENTRY FROM MENRST MODULE RESET POR CONTROL PIN LOGIC MASTER RESET PIN CONTROL SIM RESET STATUS REGISTER RESET INTERRUPT CONTROL INTERRUPT SOURCES AND PRIORITY DECODE 445 NS GPULINTERFACE Figura 12 Diagrama de bloco do m dulo SIM CNZ 33 2 Q mororora digitaldna intelligence everywhere Os pinos RST e est o compartilhados com os sinais PTA3 e PTA2 respectivamente As fun es de RST e IRQ podem ser ativadas pela programa o adequada do registrador de configura o 2 CONFIG2 O gerador de clock do barramento fornece sinais de clock do sistema para a CPU e perif ricos do microcontrolador Os clocks do sistema s o g
103. plo MOV X 23 Movimenta o conte do do endere o armazenado no registrador H X para o endere o 0023 e posteriormente incrementa Y Direto para indexado com p s incremento Exemplo MOV 23 X Movimenta o conte do do endere o 0023 para o registrador H X e posteriormente incrementa H X O modelo de programa o associado a instru es do modo indexado Stack Pointer e de desvios condicionais foram projetados para gerar c digo objeto eficiente quando utilizados com compiladores de linguagens de alto nivel HLL High Level Language como por exemplo a Linguagem C CNZ 21 Q mororora digitaldna intelligence everywhere 3 4 Modos de Baixo Consumo As instru es WAIT e STOP colocam o microcontrolador em um modo de baixo consumo de energia 3 4 1 Modo WAIT A instru o WAIT executa as seguintes tarefas Y Reseta o bit de m scara da interrup o Bit I do registrador CCR habilitando interrup es Depois de sair do modo WAIT por interrup o o bit I permanece resetado Depois de sair por um reset o bit I setado Y Desabilita o clock da CPU enquanto que os clocks dos perif ricos continuam em Um m dulo que estiver ativo durante o modo WAIT pode despertar CPU com uma interrup o se a interrup o estiver habilitada modo WAIT pode ser tamb m finalizado por um reset ou um BREAK 3 4 2 Modo STOP A instru o STOP executa as seguintes tarefas Y
104. pois que os registradores da CPU s o armazenados na pilha mas antes que o vetor de interrup o seja capturado Se uma interrup o ocorrer enquanto o bit I estiver setado seu estado ser guardado As interrup es s o atendidas em ordem de prioridade assim que o bit I for a zero A instru o retorno da interrup o RTT retorna os registradores da CPU da pilha e restaura o bit I no seu estado zerado Ap s qualquer reset o bit I setado e s pode ser resetado por uma instru o de software 3 2 5 4 N Bit Negativo A CPU seta o bit N quando uma opera o aritm tica l gica ou de manipula o de dados produzir um resultado negativo Corresponde ao 8 bit do registrador que cont m o resultado 3 2 5 5 Z Bit Zero A CPU seta o bit Z quando uma opera o aritm tica l gica ou de manipula o de dados produzir um resultado igual a 00 3 2 5 6 C Bit Carry Borrow A CPU seta o bit C quando uma opera o de adi o produzir um transbordo do bit 7 do acumulador ou quando uma subtra o necessitar um empr stimo Algumas opera es l gicas e as instru es de manipula o de dados tamb m podem resetar ou setar o bit CNZ 18 E A Q mororora digitaldna intelligence everywhere 3 3 Modos de enderecamento Os modos de enderegamento indicam o caminho pelo qual a CPU obt m as informag es necess rias para completar uma instru o CPUOS tem um total de 16 modos de ende
105. ra as instru es s que agora para serem entendidas pelo programador 2 7 Mnem nicos das instru es e assembler Um opcode como 4 entendido pela CPU mas n o significativo para n s humanos Para resolver esse problema um sistema de instru es mnem nicas equivalentes s o usadas O opcode 4 corresponde ao mnem nico INCA l se incrementa o acumulador que muito mais intelig vel Para fazer a transla o de mnem nicos em c digos de m quina opcodes e outras informa es utilizados pela CPU necess rio um programa computacional chamado assembler Um programador utiliza um conjunto de instru es na forma de mnem nicos para desenvolver uma determinada aplica o e posteriormente usa um assembler para traduzir estas instru es para opcodes que a CPU pode entender CNZ 13 Q mororora gigitaldna 3 FAM LIA HC08 3 1 Caracter sticas principais familia Motorola M68HC08 cont m CPUs de 8 bits CPU08 que tem uma organiza o espec fica denominada arquitetura Von Neumann Nesta arquitetura a CPU e a mem ria s o conectadas por um barramento de endere o address bus e um barramento de dados data bus O barramento de endere os usado para identificar qual posi o de mem ria est sendo acessada e o barramento de dados usado para enviar uma informa o da CPU para um endere o de mem ria ou de um endere o de mem ria para a CPU Na implementa o desta arquitetura
106. re amento alguns deles implementados para gerar um c digo eficiente quando o desenvolvimento de software for realizado com linguagens de alto n vel A seguir s o apresentados todos os modos de endere amento da fam lia 08 3 3 1 Inerente As instru es s o formadas por um opcode que cont m o operando impl cito Exemplo DECA Decrementa conte do do acumulador 3 3 2 Imediato As instru es cont m o opcode seguido por um operando byte 8 bits ou word 16 bits cujo conte do um valor imediato Exemplo LDA 4820 Carrega o acumulador com o valor 20 3 3 3 Direto As instru es de endere amento direto s o formadas por um opcode seguido por um operando cujo conte do um endere o de 8 bits Este modo de endere amento acessa apenas os 256 primeiros bytes da mem ria p gina zero Exemplo LDA 40 Carrega o acumulador com o conte do do endere o 0040 3 3 4 Estendido As instru es de endere amento estendido s o formadas por 3 bytes 1 byte para o opcode e 2 bytes para um endere o qualquer dos 64 Kbytes de mem ria A maioria dos montadores Assembly pode utilizar automaticamente o modo de endere amento direto quando o operando estiver na primeira p gina enderegos 00X X Exemplo LDA 45FA Carrega o acumulador com o conte do do endere o 45FA caracter tt utilizado como prefixo de um operando indicativo do modo imediato caracter utilizado
107. rtilhadas com fun o de interrup o do teclado e ADC 2 compartilhadas com os canais do temporizador 1 compartilhada com interrup o externa IRQ 8 linhas extras no empacotamento de 16 pinos Capacidade de alta corrente dreno fonte em todos os pinos lt lt lt S lt Pull ups selecion veis individualmente em todos os pinos Y Habilidade de tri state em todos os pinos Y 6 bits de interrup o de teclado com caracter stica de despertar Y Inibi o por baixa tens o Low Voltage Inhibit LVT Y Ponto de disparo selecion vel por software no registrador CONFIG Y Sistema de prote o Y Computador operando adequadamente Computer Operating Properly COP Y Detec o de baixa tens o com reset Y Detec o de opcode ilegal com reset Y Detec o de endere o ilegal com reset Y Interrup o externa ass ncrona com pull up interno compartilhada com pino de I O de prop sito geral Reset ass ncrono RST compartilhado com pino de I O de prop sito geral Reset na energiza o POR Pull ups internos no e RST para redu o de componentes externos Registradores de I O mapeados em mem ria Modos de redu o de consumo STOP e WAIT 5 5 SS 2 26 MOTOROLA a O intelligence everywhere digital dna 4 1 2 Pinagem Os componentes da fam lia MC68HC908QT QY est o dispon veis em 8 e 16 pinos nos encapsulamentos PDIP SOIC ou TSSOP conforme ilustrado nas figuras Voo 1 8 1
108. s e inspecionar o c digo fonte Y Reset Target Reseta o ambiente de Simula o Depura o Al m dos comandos listados acima existe um comando muito til na simula o depura o de c digos denominado breakpoint Uma breve descri o apresentada a seguir Y Breakpoints Breakpoints s o pontos de controle associado ao valor do PC isto a execu o do programa suspensa assim que o PC alcan ar o valor definido no breakpoint O modo mais simples para setar um breakpoint clicar o bot o da direita do mouse sobre a linha na qual o usu rio quer o ponto de parada na janela Source e no menu selecionar Set Breakpoints Uma linha que contenha um breakpoint cont m uma marca em vermelho Figura 36 indicando o ponto de parada Para remover o breakpoint basta clicar com o bot o da direita do mouse sobre a linha na qual o usu rio quer remover o ponto de parada na janela Source e no menu selecionar Delete Breakpoint CNZ 80 8 6 1 O mororora digitaldna True Time Simulator amp Real Time Debugger C Projetos CNZAPisca 1sXPEDebug ini File View Run PEDebug Component Source Window Help njelma gt amp amp 2015 CAProjetos CNZAPisca 1sNbinmain dbg 0 0100 VOLTA F803 5 PORTA F804 CLRH 504 Le botao F805 CLI VOLTA Se botao nao pressionado vor F806 CLRX 1 PORTA gt Acende o LED Hcog CPU Cycles 0 SE mo T 1 Auto Symb G
109. s o similares aos modos de endere amento indexados e utilizam o registrador SP ao inv s do par de registradores H X Y Y Com offset de 8 bits Exemplo LDA 48 SP Carrega o acumulador com o conte do do endere o armazenado em SP 48 Com offset de 16 bits Exemplo LDA 485E SP Carrega o acumulador com o conte do do endere o armazenado em SP 485E CNZ 20 Q mororora gigitaldna intelligence everywhere 3 3 7 Relativo Todas as instru es de desvio condicional utilizam endere amento relativo Se a condi o for verdadeira o conte do do registrador PC adicionado a um valor com sinal 8 bits que est presente como operando da instru o Isto fornece uma faixa para o desvio que varia de 128 bytes a 127 bytes em rela o ao endere o da instru o seguinte a instru o de desvio Exemplo BCC Volta Desvia para o endere o Volta se o flag de carry C estiver resetado 3 3 8 Movimento de Dados de Mem ria para Mem ria Existem quatros modos de endere amento de mem ria para mem ria com a instru o de movimenta o MOV para transferir dados de um endere o para outro sem utilizar o acumulador Y Imediato para direto Exemplo MOV 40 25 Movimenta o valor imediato 40 o endere o 25 Y Direto para direto Exemplo 40 25 Movimenta o conte do do endere o 40 o endere o 25 Y Indexado para direto com p s incremento Exem
110. s principais caracter sticas do m dulo Break est o as seguintes Y Registradores de I O acess veis durante a interrup o Break v CPU gera interrup es Break Y Software gera interrup es Break v COP desabilitado durante interrup es Break Os seguintes eventos podem causar a ocorr ncia de uma interrup o Break Y A CPU gera um endere o o endere o no Program Counter que coincide com o conte do dos registradores de endere o de Break V software escreve um n vel l gico 1 no bit no registrador de controle e status de Break Quando um endere o do barramento interno coincide com o valor escrito nos registradores de endere o de Break o m dulo Break implementa um sinal de breakpoint BKPT no m dulo SIM Este sinal respons vel pela execu o no registrador de instru o da CPU da instru o SWI software interrupt depois de completada a instru o corrente Ao encontrar a instru o RTI return from interrupt a rotina de Break finalizada e o microcontrolador retorna para sua opera o normal CNZ 49 E Q mororo a digital dna 5 CONJUNTO DE INSTRU ES 5 1 Introdu o A CPUOS por ser de arquitetura CISC Complex Instruction Set Computer apresenta um conjunto de instru es poderoso que pode ser utilizado de forma simples e imediata Por possuir instru es abrangentes o programador consegue desenvolver programas de forma mais eficiente e sem muito esfor o
111. ser come ar um novo projeto encontre a pasta denominada Metrowerks via bot o Iniciar gt Programas gt Metrowerks gt CodeWarrior CW08 V2 1 Dentro desta pasta encontre e selecione o cone CodeWarrior IDE Figura 22 Isto vai levar o usu rio para o ambiente de desenvolvimento do CodeWarrior CNZ 67 digital dna MOTOROLA intelligence everywhere 2 i Meu computador Codewarrior IDE Modelo ENZ_Ind dot 3 Acess rios Ambiente derede KeiluVision2 E Adobe Acrobat 4 0 Ej EPSON A a Ferramentas do Microsoft Office 3 Formul rio CTINFO Convite Meus documentos 10 2 Iniciar BASELINE rios Eletr r Rj en MaX plus Il 10 2 BASELINE 3 McAfee 8 Microchip MPLAB IDE y m Te 3 Microsoft Visual Studio 6 0 ow Microsoft Web Publishing Abrir documento do Office Modbus Poll Codewarior Cw08 V2 1 6019 2 E Codewarior IDE Quickstart manual gel HCOS Special Edition license Codewanior 07 07 Tutorial trt E Paint Shop Pro 42 License File Novo documento do Office 23 ppc EE Register CodeWwanior for CW0B V2 1 3 Programas SRF2003 Setup or uninstall WinZip E Technical Notes overview p Acrobat Reader 5 0 22 Welcome to CwW08 V2 1 lt InstallShield for Microsoft Visual C Favoritos e Intemet Explorer Documentos d Microsoft Access E TERT X Microsoft Excel KS Microsoft
112. t 68HC08 gt QT QY Family gt HC908QTI Figura 33 True Time Simulator amp Real Time Debugger C XProjetos CNZAPisca 1sXPEDebug ini File View Run PEDebug Component Source Window Help E Load Ctrl L 5 7 E BILL TNR Reset Zn 2 EO E GS CAProjetos CNZ fem an AB Family 0 0100 Mode Full Chip Simulation AS AZ Family gt E GP GT Family P amp E Micro p pressi F804 CLRH GR Famiy F805 CLI Port Pins Module LED JB Family F806 CLRX Clocks Module 4 JLAKFamiy IRQ Module seg subro KX Family Register 4 FLASH Module m CU OD Fun til Cycle me O View Register Files SR Family gt SP EE 68 status VHINZC HC308QT2 HC308QT4 HC308QY1 8080 2 HC308QY4 MESDEMDOTY 1 ns Postload command file correctly executed Command 0080 uu uu uu uu uu uu uu uu uuuuuuuu 0088 uu uu uu uu uu uu uu uu uuuuuuuu 0090 uu uu uu uu uu uu uu uu uuuuuuuu muaa in gt HCS08QT1 done Aemdipostload cmd Figura 33 Simulador Menu de escolha do dispositivo Uma vez selecionado o dispositivo correto o usu rio pode iniciar a tarefa de simula o depura o de c digo Por se tratar de um software poderoso a empresa PE Systems propriet ria do simulador instalado no CodeWarrior disponibil
113. ta atrav s do pino PTAO que necessita de um conversor de n veis para poder ser conectado ao computador A entrada no modo Monitor se d ap s a energiza o POR ou um Reset quando determinadas condi es Tabela 6 forem satisfeitas Tabela 6 Entrada em Modo Monitor Modo Usu rio ap s um Reset Modo IRQ RST Vetor Reset 1 prag Clock MHz Coment rio Baud bps Modo Externo f Tens es nos pinos 1 e Monitor Vrsr Vop x 1 0 PTA4 s o necess rias As 1024 fun es RST e 1 ativas Modo SFF Externo f Fun o OSCI ativa RST e Monitor Vpp x x x IRQ est o dispon veis apenas apagado f 1024 se configurados depois Modo SFF Interno 3 2 As fun es RST IRQ e Monitor Vss x x x OSCI dispon veis apenas se For ado apagado 9600 bps configurados depois Modo Vop SFF Entra no modo usu rio Pino Usu ri ou X X X X RST dispon vel apenas se programado configurado depois CNZ 41 Q mororora gigitaldna intelligence everywhere No modo monitor a CPU utiliza vetores para Reset interrup o de software SWT e interrup o Break diferentes das utilizadas para o modo usu rio Os vetores alternativos est o localizados na p gina FE ao inv s da p gina FF em outras palavras permitem a execu o do c digo relativo ao firmware do monitor interno ao inv s de
114. ter de tabula o antes das instru es ou pseudo instru es 2 Para instru es que envolvem 2 ou mais operandos n o deixe espa os em branco ap s a virgula que separa os operandos 3 N o utilize nomes de vari veis ou r tulos iniciando com n meros p ex 3 desloc 4 N o utilize caracteres acentuados da lingua portuguesa 6 2 Diretivas Al m do conjunto de instru es da fam lia HCO8 apresentado anteriormente o assembler cont m diversas pseudo instru es tamb m denominadas diretivas diretivas do assembler s o declara es que fornecem instru es para o assembler e n o para a CPU Neste documento ser o discutidas somente algumas diretivas do assembler inclu do no CodeWarrior Maiores detalhes podem ser vistos na documenta o do CodeWarrior As diretivas mais importantes s o listadas na Tabela 8 Tabela 8 Principais Diretivas do Assembler BASE Descri o Seleciona a base de representa o num rica de n meros sem prefixo Sintaxe BASE lt n gt onde lt gt 2 8 10 ou 16 Exemplo BASE 10 DC Descri o Define valores constantes na mem ria Sintaxe lt label gt DC lt tamanho gt lt express o gt lt express o gt onde lt tamanho gt B default W ou L Exemplo Mens CNZ DC B CNZ Engenharia Tempo Sem DC W 0124 437F 003E 0000 Sin nimo FCB DC B FDB 2 DC B DC W DCL 4DC B DC L DC
115. uivos e pastas do projeto Pisca 1s mcp Expandindo sinal a pasta Sources confirme que um arquivo denominado main asm est presente Este arquivo cont m um modelo template de ir auxiliar o programador com algumas instru es e pseudo instru es necess rias comuns a todos os projetos que no caso s o utilizados pela linguagem assembly O arquivo main asm est listado a seguir e o programador tem liberdade total para alterar as linhas de c digo e coment rios apresentados Mets uus es es hae pos HC08 Demo Program oet se uds use e te es es es Hasc G ES S S Include epe registare ame EIA ESO OY MUDO amery maim SESUACUO tack EQU S00FF S EQU 2 MyData SECTION SHORT 2 Insert here your Cate definition MyCode SECTION insere here youri Source eode NUUS Eney LDHX finitStack p Amitializo Stack ALS CLRH 1 CLRX REPEAT NOP EUST you own code BRA main UNITE END CNZ 72 8 4 Editando um arquivo fonte MOTOROLA digitaldna intelligence everywhere Com o arquivo main asm aberto o programador pode inserir as instru es mnem nicas que fazem parte do seu projeto Vamos utilizar o exemplo que foi desenvolvido no item 7 4 inserindo no lugar correto e de forma adequada no arquivo fonte main asm t
Download Pdf Manuals
Related Search
Related Contents
manual de servicio_hidrolavadora Samsung P2050N Priručnik za korisnike DPA UPSCALE RI Service Manual STARK 2500 S (25.4 cm3) トイパックⅡ Plus 取扱説明書 seche-bottes-peet ジップチェーンアクチュエータ(ZCA Copyright © All rights reserved.
Failed to retrieve file