Menu English Ukrainian Russo Início

Biblioteca técnica gratuita para amadores e profissionais Biblioteca técnica gratuita


ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA
Biblioteca gratuita / Esquemas de dispositivos radioeletrônicos e elétricos

Módulo de depuração para microcontroladores da série MCS51. Enciclopédia de rádio eletrônica e engenharia elétrica

Biblioteca técnica gratuita

Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores

Comentários do artigo Comentários do artigo

O desenvolvimento de dispositivos em microcontroladores (MC), via de regra, é feito de acordo com um plano simples: o MC em uma inclusão típica é "pesado" com os periféricos necessários, depois o software é escrito. Nesse caso, você tem que usar várias ferramentas que assumem o trabalho rotineiro, deixando o programador resolver problemas criativos.

O dispositivo descrito a seguir é um "produto semi-acabado" de um sistema microcontrolador, uma ferramenta para sua depuração e um objeto de estudo ao mesmo tempo. Destina-se à aquisição de habilidades de programação e depuração de programas para o MCS51, mas também pode servir como modelo de um sistema real, permitindo a depuração do software aplicativo juntamente com o objeto de controle. Com esse módulo, o desenvolvedor ficará dispensado da necessidade de usar frequentemente um programador ou emulador de ROM, inacessível para muitos devido ao alto custo.

O diagrama esquemático do módulo de depuração para a série MK MCS51 é mostrado na figura. A maioria dos nós é feita de acordo com esquemas padrão, e o dispositivo de interface com a porta serial de um computador pessoal (PC) é emprestado do dispositivo descrito no artigo de S. Kuleshov e Yu. Zaumenny "Programador de ROM" ("Rádio ", 1995, nº 10, p. 22 -25). Você pode conectar vários dispositivos periféricos aos pinos livres das portas P1 e P3 do microcontrolador DD1 (eles terminam com setas no diagrama). O plugue XP1 é conectado com um cabo ao soquete de uma das portas seriais do PC, sob o qual o módulo irá operar.

Módulo de depuração para microcontroladores da série MCS51
(clique para ampliar)

Depois que a tensão de alimentação é aplicada, o capacitor C3 é carregado através do resistor R1. De acordo com o sinal de reset RES gerado pelo elemento DD3.4, o MK DD1 entra em seu estado inicial e executa operações preparatórias, incluindo a configuração do nível lógico 1 em todos os pinos da porta P3. O gatilho nos elementos DD3.1, DD3.2 está em um estado quando seu sinal de saída define tal distribuição de memória que a área de endereço de memória do programa 0-7FFFH ocupa ROM (DD5) e 8000H-0FFFFH ocupa RAM (DD6). O programa Monitor, localizado na ROM, está sendo executado. Ao digitar os comandos do Monitor no teclado do PC, o operador pode trabalhar com a memória RAM e periféricos do módulo.

Para transferir o trigger para outro estado, é necessário enviar do PC de controle o comando RESET Monitor descrito a seguir, que configura o sinal MOD=0. Os endereços da RAM e ROM da memória do programa são trocados e o programa, previamente inserido pelo operador na RAM do módulo, começa a funcionar. Isso permite que você emule a operação de um dispositivo real e verifique os programas traduzidos para endereços de memória inferiores, por exemplo, preparados para gravação em ROM. O botão SB1 é usado para redefinir o MK ao seu estado original sem alterar a alocação de memória. O Monitor só pode ser reiniciado pressionando o botão SB2 ou desligando e ligando novamente. Isso permite que programas depurados operem livremente no estado da porta P3 (por exemplo, trabalhando com periféricos) sem medo de alternar acidentalmente a alocação de memória.

O LED HL1 serve como o meio mais simples de exibir informações e é muito útil, especialmente se não houver conexão com o PC por um motivo ou outro. Depois de ligado, ele pisca em uma frequência de aproximadamente 1 Hz, o que indica que o Monitor está funcionando. O diodo zener protege o dispositivo contra polaridade reversa ou sobretensão da fonte de alimentação de +5 V.

O programa Monitor (Tabela 1) fornece o controle do módulo e sua interação através da porta serial RS-232C com um PC, de onde são transmitidos os comandos e dados necessários para trabalhar em uma determinada tarefa. Pela mesma porta, o PC recebe e exibe em sua tela os resultados da operação do módulo. O programa de comunicação "Telemax" do shell Norton Commander 5.0 amplamente utilizado, "Hyper Terminal" do Windows 95 OSR2 ou similar deve estar em execução no PC. Em casos extremos, você pode prescindir de um programa especial, simplesmente enviando os arquivos de comando do MS DOS com os dados preparados para a porta serial do PC.

Módulo de depuração para microcontroladores da série MCS51
(clique para ampliar)

Ao configurar o programa de comunicação, você deve excluir as linhas de inicialização do modem, definir os modos "Eco local" e "difusão CR/LF", se necessário, selecione o terminal ANSI e a tabela de códigos ASCII. O modo de operação da porta serial deve ser o seguinte: velocidade - 4800 baud, número de bits por caractere - 8, controle de paridade desativado, número de bits de parada - 1. Se tudo estiver correto, o texto digitado no teclado do PC irá para o módulo de depuração e suas respostas - exibidas na tela.

Os comandos do monitor podem ser digitados nos teclados de letras maiúsculas e minúsculas. Todos os caracteres devem estar na codificação ASCII. A tecla [BackSpace] remove o último caractere inserido do buffer do módulo de depuração. Cada instrução consiste em um nome e um operando. O nome é terminado por um caractere separador: espaço, tabulação, avanço de linha ou retorno de carro. Além disso, vamos denotá-lo condicionalmente com um sublinhado (_), mas você pode inserir qualquer um dos nomeados.

Recebido o delimitador, o Monitor compara os quatro primeiros caracteres previamente recebidos e localizados no buffer com o conteúdo da tabela de instruções na ROM. Tendo encontrado uma correspondência, ele lembra o endereço do manipulador de comandos da mesma tabela e começa a aceitar um operando - um ou mais números hexadecimais. Concordamos que os endereços de um e dois bytes da memória interna e externa do MK serão designados XX e XXXX, respectivamente, o comprimento do bloco é YYYY, outros dados são ZZ ou ZZZZ. Por exemplo, XXXX,YYYY é um bloco de memória de dados externa começando no endereço XXXX, com um comprimento de bytes YYYY. Todos os zeros à esquerda devem ser especificados. O operando também deve terminar com um delimitador, após o recebimento do qual o manipulador de comandos é iniciado. Um delimitador inserido em um buffer vazio é ignorado.

RESET_ ZZZZ_ - o segundo modo de alocação de memória é ativado, o MC é reinicializado, o controle é transferido para o endereço ZZZZ. O comando requer boa RAM para operação normal.

DATA_ XXXX:_ ZZ_ [ZZ_][XXXX:_ZZ_ [ZZ_]._- as informações são inseridas em células sucessivas da memória externa de dados, começando pelo endereço XXXX . Você não precisa inserir colchetes, eles apenas indicam que o número de operandos ZZ_ pode ser arbitrário. A entrada de dados termina com um ponto. Na tabela. A Figura 2 mostra um exemplo de uso dos comandos DATA e RESET para inserir um programa simples na RAM e executá-lo.

READ_XX_ ou READ_XXXX_ - lê uma palavra (dois bytes consecutivos) das células de memória da RAM de dados interna ou externa. O resultado como um número hexadecimal (byte no endereço alto primeiro) é enviado para a porta serial.

WRITE_XX,ZZ_, WRITE_XX,ZZZZ_, WRITE_XXXX,ZZ_ ou WRITE_XXXX,ZZZZ_ - escreve o byte ZZ ou a palavra ZZZZ no endereço XX ou XXXX.

Observe que os comandos READ e WRITE são implementados usando endereçamento indireto, portanto, não podem funcionar com registradores de funções especiais. Para acessar os registros, você deve escrever procedimentos de troca com endereçamento direto especificamente para cada um deles. Um exemplo é o manipulador de comandos SPEED. Se um MCU com RAM interna de 256 bytes estiver instalado no módulo, os comandos READ e WRITE poderão trabalhar com seus 128 bytes adicionais nos endereços 80H-0FFH.

LOAD_XXXX,YYYY_ - preenchido com informações provenientes da porta serial, bloco de memória de dados externa.

SAVE_XXXX,YYYY_ - o conteúdo do bloco de memória de dados externo é transferido para a porta serial.

CALL_ZZZZ_ - uma sub-rotina é chamada a partir do endereço ZZZZ. Para retornar ao Monitor, deve terminar com o comando RET. As interrupções são desabilitadas durante a sub-rotina.

CHECK_XXXX,YYYY_ - a soma de verificação é calculada - o byte inferior da soma de todos os bytes do bloco de memória de dados externos.

FILL_XXXX,YYYY,ZZ_ - preenche a área de memória de dados externa com o byte ZZ e calcula sua soma de verificação.

COPY_XXXX,YYYY,ZZZZ_ ou COPY_PXXXX,YYYY,ZZZZ_ - o bloco da memória de dados externa é copiado para o endereço ZZZZ. O símbolo P indica que a área a ser copiada está na memória do programa. Ao mesmo tempo, a soma de verificação é calculada.

TEST_XXXX,YYYY_ - a integridade do bloco de RAM externo é verificada. Se não houver erros, a mensagem "OK" é exibida, caso contrário - "XXXX: YY<>ZZ", onde XXXX é o endereço da célula com falha, YY é o valor gravado nela e ZZ é o valor lido. O comando não destrói o conteúdo da RAM.

SPEED_ZZ_ ou SPEED_ZZ+_ - altera a velocidade de troca de dados pela porta serial. O padrão é 4800 baud (determinado pelo byte do programa Monitor no endereço 2DH). O valor igual ao operando ZZ é colocado no registrador TH1 do microcontrolador e determina a velocidade do seu transceptor. Um sinal de mais no operando dobra a velocidade definindo o bit PCON.7.

A porta serial do PC pode operar em 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 baud e acima. A capacidade de ajustar com precisão a porta serial do microcontrolador da série MSC51 para as velocidades indicadas depende da frequência do ressonador de quartzo usado. Por exemplo, se for 12 MHz, a porta pode ser configurada para 300, 600, 1200, 2400 e 4800 baud com o comando SPEED com operandos 98, CC, E6, F3 e F3+, respectivamente. Com um ressonador de 11 MHz, 9600 bauds podem ser alcançados. No entanto, ao transferir arquivos, provavelmente o MK não conseguirá acompanhar os dados que chegam em uma velocidade muito alta.

O conjunto de comandos descrito pode ser expandido e complementado sem retransmissão do Monitor e mesmo sem apagar a ROM. O novo manipulador de comandos é colocado em sua área livre. O nome do comando (os primeiros quatro caracteres em maiúsculas) é escrito começando no endereço 5ABH, seguido por um endereço de manipulador de dois bytes e pelo byte 0FFH. O manipulador deve terminar com um salto para o endereço 23FH.

Todos os endereços de célula de byte único mencionados abaixo referem-se à RAM interna do MCU. O monitor usa os bancos de registradores 0 e 2, bem como as localizações 20H-3FH. A pilha cresce a partir do endereço 50H. Quando livre de receber e processar comandos, o microcontrolador executa continuamente a sub-rotina localizada na ROM no endereço especificado nas células 35H e 36H. Por padrão, é 063H. Esta sub-rotina, alterando periodicamente o estado do bit P3.4, liga e desliga o LED HL1. A frequência de intermitência depende do conteúdo da célula 3DH. Se este bit for usado para outros fins, o comando WRITE_35,006A_ deve ser emitido.

Nas células 37H e 38H está o endereço do manipulador de interrupção da porta serial, que na verdade serve como backbone do Monitor e determina sua resposta aos comandos do operador. Por padrão, 0 é escrito aqui, o que corresponde a chamar o manipulador padrão localizado na ROM no endereço 081H.

Ao escrever um código diferente de 3 para o endereço 0BH, você pode ativar a função "Echo". Todos os dados recebidos pela porta serial serão enviados de volta ao Monitor. Isso desligará o "Eco local" no programa de comunicação e, se necessário, salvará em um arquivo de texto todos os comandos enviados ao módulo de depuração e suas respostas a eles.

O número no endereço 3AH define a pausa entre o recebimento de um comando pelo Monitor e a resposta a ele, necessária para mudar alguns programas de comunicação de transmissão para recepção (isso não é necessário para "Telemax"). É igual à duração da pausa em segundos multiplicada por 50.

Um dos resultados dos comandos que operam nos blocos de memória (LOAD, SAVE, CHECK, FILL, COPY) é o checksum do bloco colocado na célula 39H. Ele pode ser usado para controlar a execução correta dos comandos listados.

O monitor pode aceitar diretamente arquivos no formato Intel HEX gerados por muitos montadores. Basta enviar tal arquivo para a porta serial do PC usando um programa de comunicação ou simplesmente com o comando MSDOS COPY <nome do arquivo> COM2. A porta pré-utilizada (neste caso COM2) deve ser configurada com o comando MODE COM2:4800,N,8,1. As informações serão gravadas na memória de dados externa do módulo de depuração e, se as somas de verificação não corresponderem, uma mensagem correspondente será exibida.

Cada linha de um arquivo Intel HEX começa com dois pontos seguidos por bytes representados por números hexadecimais de dois dígitos sem espaços:

  • o número de bytes de dados contidos na linha;
  • os bytes altos e baixos do endereço do primeiro dos bytes de dados;
  • byte nulo;
  • bytes de dados (seu número é dado pelo primeiro byte da string);
  • soma de verificação
  • byte baixo da soma usual de todos os bytes da string, tomado com um sinal de menos.

Um arquivo HEX sempre termina com uma linha contendo dois pontos e zero bytes de dados e um endereço, seguido pelo caractere da última linha (01) e uma soma de verificação igual a FF. A Tabela 3 mostra um exemplo de arquivo contendo os mesmos dados inseridos pelo comando DATA Monitor de acordo com a Tabela 2.

Autor: V. Ogleznev, Izhevsk

Veja outros artigos seção Microcontroladores.

Leia e escreva útil comentários sobre este artigo.

<< Voltar

Últimas notícias de ciência e tecnologia, nova eletrônica:

Máquina para desbastar flores em jardins 02.05.2024

Na agricultura moderna, o progresso tecnológico está se desenvolvendo com o objetivo de aumentar a eficiência dos processos de cuidado das plantas. A inovadora máquina de desbaste de flores Florix foi apresentada na Itália, projetada para otimizar a etapa de colheita. Esta ferramenta está equipada com braços móveis, permitindo uma fácil adaptação às necessidades do jardim. O operador pode ajustar a velocidade dos fios finos controlando-os a partir da cabine do trator por meio de um joystick. Esta abordagem aumenta significativamente a eficiência do processo de desbaste das flores, proporcionando a possibilidade de adaptação individual às condições específicas do jardim, bem como à variedade e tipo de fruto nele cultivado. Depois de testar a máquina Florix durante dois anos em vários tipos de frutas, os resultados foram muito encorajadores. Agricultores como Filiberto Montanari, que utiliza uma máquina Florix há vários anos, relataram uma redução significativa no tempo e no trabalho necessários para desbastar flores. ... >>

Microscópio infravermelho avançado 02.05.2024

Os microscópios desempenham um papel importante na pesquisa científica, permitindo aos cientistas mergulhar em estruturas e processos invisíveis aos olhos. Porém, vários métodos de microscopia têm suas limitações, e entre elas estava a limitação de resolução ao utilizar a faixa infravermelha. Mas as últimas conquistas dos pesquisadores japoneses da Universidade de Tóquio abrem novas perspectivas para o estudo do micromundo. Cientistas da Universidade de Tóquio revelaram um novo microscópio que irá revolucionar as capacidades da microscopia infravermelha. Este instrumento avançado permite ver as estruturas internas das bactérias vivas com incrível clareza em escala nanométrica. Normalmente, os microscópios de infravermelho médio são limitados pela baixa resolução, mas o desenvolvimento mais recente dos pesquisadores japoneses supera essas limitações. Segundo os cientistas, o microscópio desenvolvido permite criar imagens com resolução de até 120 nanômetros, 30 vezes maior que a resolução dos microscópios tradicionais. ... >>

Armadilha de ar para insetos 01.05.2024

A agricultura é um dos sectores-chave da economia e o controlo de pragas é parte integrante deste processo. Uma equipe de cientistas do Conselho Indiano de Pesquisa Agrícola-Instituto Central de Pesquisa da Batata (ICAR-CPRI), em Shimla, apresentou uma solução inovadora para esse problema: uma armadilha de ar para insetos movida pelo vento. Este dispositivo aborda as deficiências dos métodos tradicionais de controle de pragas, fornecendo dados sobre a população de insetos em tempo real. A armadilha é alimentada inteiramente por energia eólica, o que a torna uma solução ecologicamente correta que não requer energia. Seu design exclusivo permite o monitoramento de insetos nocivos e benéficos, proporcionando uma visão completa da população em qualquer área agrícola. “Ao avaliar as pragas-alvo no momento certo, podemos tomar as medidas necessárias para controlar tanto as pragas como as doenças”, diz Kapil ... >>

Notícias aleatórias do Arquivo

Grafeno acelera interruptores ópticos em 100 vezes 05.08.2013

Cientistas das Universidades de Bath e Exeter, no Reino Unido, descobriram uma maneira de aumentar em 100 vezes a velocidade dos interruptores ópticos usados ​​em equipamentos de telecomunicações. O artigo científico correspondente foi publicado na revista Physical Review Letters.

"Todos os dias, enormes quantidades de informação passam por fibras ópticas, fotodetectores e lasers. Os sinais enviados em comprimentos de onda infravermelhos passam por interruptores ópticos que os convertem em uma sequência de pulsos de luz", dizem os cientistas no trabalho.

A essência da invenção está no uso do grafeno no projeto de um comutador óptico em vez de um semicondutor convencional. O grafeno é uma rede de átomos de carbono com uma camada de espessura.

"Graças à sua alta resistência, flexibilidade e condutividade, leveza e baixo preço, o grafeno é um dos materiais mais promissores. E agora vemos que ele permite alcançar novas fronteiras no mercado de telecomunicações", comentam os cientistas.

“Quanto mais aprendemos sobre o grafeno, mais notáveis ​​novas propriedades descobrimos nele”, diz Simon Bending, um dos líderes do Graphene Research Center da Universidade de Bath. propriedades ópticas. características que abrem novas possibilidades.

O grafeno já foi proposto para uso em equipamentos de telecomunicações. Em março deste ano, cientistas do Georgia Institute of Technology, nos Estados Unidos, desenvolveram uma antena de grafeno que permitia a transmissão de dados a uma velocidade de 1 Tbps.

Outro exemplo é o trabalho conjunto dos ganhadores do Prêmio Nobel Andrey Geim e Konstantin Novoselov, que há dois anos desenvolveram um método para aumentar a velocidade de transmissão de dados em redes de fibra óptica por um fator de 20. Seu trabalho também foi baseado no grafeno descoberto por eles anteriormente.

Outras notícias interessantes:

▪ Defesa aérea a laser Skyranger 30 HEL

▪ detector de mina vegetal

▪ Mentiras mudam o cérebro

▪ Drifter de alto-falante sem fio

▪ Novo controlador de troca a quente

Feed de notícias de ciência e tecnologia, nova eletrônica

 

Materiais interessantes da Biblioteca Técnica Gratuita:

▪ seção do site Recepção de rádio. Seleção de artigos

▪ artigo Caso no chapéu. expressão popular

▪ artigo Por quais méritos A. V. Suvorov foi promovido a marechal de campo geral? Resposta detalhada

▪ artigo JK-gatilho. Rádio - para iniciantes

▪ artigo Detector de metais simples com alta sensibilidade. Enciclopédia de rádio eletrônica e engenharia elétrica

▪ artigo Micro HPP. Enciclopédia de rádio eletrônica e engenharia elétrica

Deixe seu comentário neste artigo:

Имя:


E-mail opcional):


Comentário:





Todos os idiomas desta página

Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site

www.diagrama.com.ua

www.diagrama.com.ua
2000-2024