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

Inicialização de segmentos adicionais de memória em programas para microcontroladores da família MCS-51. 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

Os microcontroladores modernos possuem uma memória de dados não voláteis integrada (EEPROM), informações nas quais às vezes precisam ser inseridas antes que o dispositivo comece a funcionar. A imagem (firmware) desta memória deve ser formada durante o desenvolvimento do programa. Isso pode ser feito, por exemplo, montadoras para microcontroladores das famílias PICmicro e AVR. Eles dão ao programador a oportunidade de organizar um segmento de memória adicional e definir os dados iniciais nele para gravar na EEPROM.

Os montadores para microcontroladores com o núcleo MSC-51 também permitem dividir a memória em várias partes, mas apenas em uma delas - o segmento de código executável - a inicialização é possível. Em todos os outros, só é permitido reservar células de memória e escrever dados nelas somente durante a execução do programa. A saída da situação pode ser a recepção, descrita a seguir. Sua essência é o uso de montagem condicional, pelo que a inicialização do segmento de código ocorre de maneiras diferentes, dependendo das condições de tradução. Os arquivos HEX resultantes podem ser usados ​​para programar não apenas a EEPROM interna do microcontrolador, mas também chips de memória externos.

Segmentos adicionais criados artificialmente (qualquer número deles é permitido) são colocados no texto do programa antes do segmento de código real. Os rótulos definidos em um deles serão conhecidos em todos os itens a seguir, incluindo o segmento de código real. Mas links na direção oposta não são permitidos. Não há restrições quanto ao tipo e localização física da memória adicional.

Um exemplo de programa com dois segmentos adicionais inicializados, convencionalmente denominados EEPROM e FLASH, é mostrado na Tabela. 1. Após salvá-lo no arquivo exemplo.asm, utilizaremos o assembler ASEM-51, que pode ser "baixado" gratuitamente em .

Primeiro de tudo, vamos executar o montador na linha de comando

asem exemplo.asm eeprom.hex/define:EEPROM

Processando as primeiras linhas do texto do programa, ele colocará os rótulos idEeprom, ptrWord e prtBufE em sua tabela de símbolos, e os dados especificados pelas diretivas DB e DW no arquivo de saída eeprom.hex (Tabela 2). O comprimento do segmento será então verificado. Se o valor do contador de programa exceder o tamanho da EEPROM fisicamente existente (neste caso - 640 células), uma mensagem de erro será exibida. Se o volume do segmento for obviamente pequeno, o cheque pode ser excluído. Verificações semelhantes podem ser previstas em outros segmentos.

Inicialização de segmentos de memória adicionais em programas para microcontroladores da família MCS-51
(clique para ampliar)

Em seguida, o montador encontrará a diretiva IFNDEF EEPROM. Como um símbolo com este nome é definido na linha de comando (parâmetro /define:EEPROM), todas as linhas seguintes do programa, até a diretiva ENDIF, serão ignoradas e a tradução terminará aí.

Execute a retransmissão do mesmo programa a partir da linha de comando

asem exemplo.asm flash.hex/define:FLASH

Difere do anterior apenas na definição do símbolo FLASH ao invés de EEPROM. A primeira etapa da tradução ocorrerá exatamente como descrito acima, e os dados do segmento EEPROM serão gravados no arquivo de saída. No entanto, a diretiva IFNDEF EEPROM não interromperá o processo desta vez, e a seguinte diretiva ORG 0 redefinirá o contador do programa. O montador começará a escrever os dados destinados ao segmento FLASH no arquivo de saída a partir do endereço zero. A transmissão será interrompida pela diretiva IFNDEF FLASH. A forma final do arquivo flash.hex é mostrada na Tabela. 3.

Definimos a tradução do segmento verdadeiro do código executável pelo comando

asem exemplo.asm

Em primeiro lugar, os segmentos adicionais serão recompilados e todos os rótulos definidos neles serão inseridos na tabela de símbolos do montador, o que permitirá que sejam referenciados a partir do segmento de código. A diretiva ORG 0 no início dele irá mais uma vez zerar o contador do programa. A transmissão continuará normalmente. No arquivo example.hex resultante (Tabela 4), o código executável do programa começa a partir da quarta linha, sendo após as linhas idênticas às contidas nos arquivos HEX anteriores.

A presença de informações redundantes geralmente não interfere no carregamento correto do código nas áreas de memória apropriadas do microcontrolador. No buffer do programa que controla a programação, os dados corretos, quando os endereços coincidem, "deslocam" os inseridos anteriormente. E somente se o novo segmento for mais curto que o anterior, sua "cauda" será armazenada no buffer. Por esse motivo, é desejável descrever os segmentos no programa em ordem crescente de comprimento.

Alguns programadores não possuem um buffer intermediário ou controlam estritamente os dados de entrada, não permitindo sobreposições de endereços. No primeiro caso, a programação estará errada, no segundo caso, não iniciará até que os "erros" sejam eliminados.

Você pode remover manualmente linhas extras de um arquivo HEX usando qualquer editor de texto. Você também pode fazer isso automaticamente executando dois comandos seguidos:

hex2bin exemplo.hex bin2hex exemplo.bin

A primeira criará uma imagem binária dos dados contidos no arquivo example.hex e a colocará no arquivo example.bin. O segundo fará a transformação reversa e criará um novo arquivo example.hex sem frescuras. Os programas necessários podem ser "baixados" nos endereços E .

Autor: S. Chekunov, 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

O sistema Ford Wrong Way Alert irá avisá-lo sobre a saída para a pista que se aproxima 13.08.2018

A Ford continua a introduzir sistemas avançados concebidos para melhorar a segurança rodoviária. O próximo desenvolvimento foi um complexo chamado Wrong Way Alert.

O novo sistema avisa sobre a saída da pista destinada ao tráfego em sentido contrário. Os acidentes unidos com a partida do carro em uma pista contrária, especialmente muitas vezes terminam com ferimentos graves ou morte de pessoas. Aproximadamente a cada quarto acidente de trânsito (RTA) com resultado fatal está associado ao tráfego na pista contrária.

O Wrong Way Alert conta com a tecnologia de reconhecimento de sinais de trânsito, que já é usada nos veículos Ford: uma câmera especial atrás do para-brisa reconhece sinais de trânsito importantes ao longo do percurso e os transmite para o painel ou o head-up display. Além disso, o complexo Wrong Way Alert leva em consideração informações sobre a localização do carro fornecidas pelo sistema de navegação a bordo.

Se um motorista passar entre dois sinais de proibição de viagem em uma estrada de acesso à rodovia, o sistema de alerta de via errada emitirá um bipe e exibirá um sinal de proibição de viagem no painel, juntamente com uma mensagem de texto solicitando que você verifique a direção correta da viagem.

O sistema Wrong Way Alert estreou na nova geração do Ford Focus.

Outras notícias interessantes:

▪ As escalas inteligentes determinam a velocidade de propagação da onda de pulso

▪ Liga superelástica que mantém a rigidez em altas temperaturas

▪ Televisão atômica

▪ Supercapacitor de argila refratária

▪ Leitor audiófilo Walkman NW-A105

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

 

Materiais interessantes da Biblioteca Técnica Gratuita:

▪ seção do site Radio Control. Seleção de artigos

▪ Artigo de micromecânica. História da invenção e produção

▪ artigo Quem é o autor do microscópio? Resposta detalhada

▪ artigo Cameraman sênior do departamento técnico. Descrição do trabalho

▪ artigo Uma antena eficaz para cinco bandas. Enciclopédia de rádio eletrônica e engenharia elétrica

▪ artigo Amplificadores de potência a transistor para bandas de 144 e 430 MHz. 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