Falando "órgão" em ATtiny2313 e cartão SD - Brinquedos eletrônicos - Circuitos para iniciantes. Microcontrolador Attiny2313

10.09.2021

O artigo descreveu a montagem de uma parte importante da nossa placa de depuração - o circuito de alimentação. Vale dizer que nem sempre a fonte de alimentação precisa estar em alguma placa de desenvolvimento ou desenvolvimento. Se já estiver disponível bloco pronto fornecido na forma de uma estrutura acabada, então você pode usá-lo. As chamadas fontes de alimentação de “laboratório”, que possuem uma ou mais tensões de saída padrão, muitas vezes ajustáveis, também se difundiram. Você também pode montar essa fonte de alimentação ou comprar uma já pronta. Então você não precisará montar um circuito de fonte de alimentação para estruturas de teste todas as vezes.


Vamos continuar montando nossa placa de depuração. Desta vez instalaremos um microcontrolador nele, conectaremos alguns LEDs e executaremos o primeiro programa nele.
Em primeiro lugar, vamos preparar os detalhes necessários:


Arroz. 1. Detalhes básicos.

Tomemos como base o microcontrolador ATtiny2313 AVR. Apesar de sua aparência e nome modestos, este microcontrolador é capaz de resolver muitos problemas. Você também pode usar qualquer outro microcontrolador. Um exemplo de utilização do microcontrolador ATmega8 AVR em nossa placa de depuração pode ser encontrado em outra versão deste texto no link: .

A primeira coisa após escolher uma peça é se familiarizar com a localização de seus pinos e suas principais características. Todas as informações necessárias para o ATtiny2313 estão contidas nele. Lembre-se de que quase todos os pinos do microcontrolador podem ter múltiplas funções. Estas funções podem ser selecionadas ao escrever um programa para µC. E você deve prestar atenção a isso já na fase de elaboração. diagrama esquemático. Além disso, já no processo de elaboração de um diagrama é conveniente utilizar símbolo peças com pinagem “ativa”, ou seja, ao designar uma peça em um diagrama, desenhe os pinos conforme eles realmente estão localizados. Assim, a colocação dos componentes tanto no diagrama quanto na placa será mais simples, clara e com menos erros. (Quase todos os editores de esquemáticos têm a capacidade de desenhar o seu próprio símbolo de peça.)

Vamos desenhar um diagrama:


Arroz. 2. Circuito com microcontrolador ATtiny2313.


O ressonador de quartzo Q1 com capacitores C1 e C2 formam uma fonte de clock para o microcontrolador µC1. Esta é uma parte do circuito muito sensível ao ruído, portanto os condutores para ela devem ser selecionados com um comprimento mínimo e nada mais deve ser conectado ao condutor entre C1, C2 e a décima perna µC1 (linha espessa no diagrama) . O resistor R1 e o capacitor C3 formam um circuito de reset para o microcontrolador. Os resistores R2-R5 são necessários para limitar a corrente através dos LEDs LED1 -LED4. Existe um capacitor de bloqueio C4 no circuito de potência. Como fonte de energia utilizamos o estabilizador montado na primeira parte do artigo. (Uma lista de todas as substituições possíveis está localizada no final desta página.)


Arroz. 3. Pinagem do plugue ISP comum.

Os condutores de programação devem ser conectados aos condutores programadores de mesmo nome. É conveniente conectar esses condutores à parte correspondente do conector do programador existente usando um plugue padrão para instalação na placa IDC-10MS (Fig. 3). A localização exata dos pinos neste plugue deve ser verificada com o programador existente!



Arroz. 4. Parte superior do tabuleiro.

Vamos organizar todas as peças na futura placa de depuração de acordo com o diagrama. Primeiro, uma a uma, instalamos as peças nos furos, cortamos o excesso de comprimento dos fios dos elementos com alicate lateral ou alicate e os soldamos. Depois disso, você pode fazer conexões com fios. Naquela parte do circuito que não mudará no futuro, é melhor fazer as conexões pela parte inferior da placa. O soquete (também chamado de “berço”) do microcontrolador pode ser soldado vazio e, em seguida, o microcontrolador pode ser inserido nele. Neste caso, não se deve esquecer da “chave” da tomada e do próprio microcontrolador. Em nosso circuito, por exemplo, as conexões de quartzo, as conexões ao programador e a conexão do microcontrolador à alimentação não mudarão no futuro. E provavelmente mudaremos as conexões dos LEDs para diferentes experimentos.


Arroz. 5. Parte inferior do tabuleiro.

É melhor levar condutores de potência de alguma outra cor: para o fio positivo você pode usar vermelho, para o fio negativo - azul ou preto. Ao direcionar os condutores de conexão na parte traseira da placa, não se esqueça do “espelhamento”!
Você pode instalar os LEDs uniformemente da seguinte maneira: insira uma pequena tira de papelão entre os fios do LED, instale-a nos orifícios da placa, corte o excesso de comprimento dos fios na parte traseira e solde-os. Depois de soldar as pernas, a tira de papelão pode ser retirada, Fig. 6.


Arroz. 6. Instalação de LEDs.


Antes de ligá-lo, vamos verificar mais uma vez a exatidão das conexões e, o mais importante, a correta conexão dos condutores de alimentação ao microcontrolador!
Se, quando a alimentação estiver conectada, o LED de sinalização verde no circuito estabilizador acender e nada aquecer, o circuito está montado corretamente.
Agora podemos nos parabenizar, acabamos de receber uma verdadeira placa de desenvolvimento montada com nossas próprias mãos!
Carregue-o imediatamente no microcontrolador o programa mais simples LED piscando: . Após carregar o firmware no microcontrolador, os LEDs começarão a piscar alternadamente. O tempo de brilho e pausa será aproximadamente igual a um segundo:

Vídeo 1. Teste a operação do firmware.

Essa placa de depuração pode ser usada não apenas para testar projetos ou algoritmos de software. Às vezes circuitos eletrônicos, montados em placas de ensaio, são usados ​​até mesmo por engenheiros eletrônicos profissionais para construir dispositivos completos.
Futuramente darei vários exemplos de como, com base nesta placa de depuração, você pode montar uma simples máquina de efeitos de iluminação, uma campainha musical, um temporizador com indicação de LED e até o módulo principal de um simples robô.


Possíveis substituições no circuito com o microcontrolador ATtiny2313 Fig. 2:

  • O ressonador de quartzo Q1 pode ser usado em frequências de 2 a 8 Megahertz. O firmware de teste (LEDs piscando) funcionará mais devagar ou mais rápido.
  • Os capacitores C1 e C2 devem ter a mesma capacitância de 18 pF a 27 pF.
  • A capacitância dos capacitores C3 e C4 pode ser de 0,01 µF a 0,5 µF.
  • O resistor R1 pode ser substituído por outro com resistência de 10 a 50 kOhm.
  • Os resistores limitadores de corrente R2-R5 podem ter uma resistência de 680 Ohms a 1 kOhm.
  • LED1 -LED4 pode ser de qualquer cor e tamanho.
  • O microcontrolador principal pode ter as seguintes designações: ATtiny2313V -10PI, ATtiny2313V -10PU, ATtiny2313 -20PI, ATtiny2313 -20PU. O principal é que esteja em pacote DIP ou PDIP.


Adições:

  • ZIP: Teste o firmware para LED piscando.
  • URL: .

Experimentos corajosos e bem-sucedidos!!!


Especificações:

  • Arquitetura AVR RISC
  • AVR - arquitetura RISC de alta qualidade e baixo consumo de energia
    120 instruções, a maioria das quais executadas em um ciclo de clock
    32 registros de trabalho de uso geral de 8 bits
    Arquitetura completamente estática
  • RAM e programa não volátil e memória de dados
    2 KB de memória de programa Flash autoprogramável capaz de suportar 10.000 ciclos de gravação/apagamento
    Memória de dados EEPROM programável pelo sistema de 128 bytes, capaz de suportar 100.000 ciclos de gravação/apagamento
    128 bytes de memória SRAM integrada (RAM estática)
    Proteção programável contra leitura de memória de programa Flash e memória de dados EEPROM
  • Características periféricas
    Um temporizador/contador de 8 bits com pré-escalador separado
    Um temporizador/contador de 16 bits com pré-escalador separado, circuito de comparação, circuito de captura e dois canais PWM
    Comparador analógico integrado
    Temporizador de watchdog programável com oscilador integrado
    USI - universal interface serial
    UART duplex completo
  • Recursos especiais do microcontrolador
    Depurador debugWIRE integrado
    Programação no sistema via porta SPI
    Fontes de interrupção externas e internas
    Modos de baixo consumo Inativo, Desligado e Standby
    Circuito de reinicialização de inicialização aprimorado
    Circuito programável de detecção de perda de energia
    Gerador calibrado integrado
  • Portas de E/S e design de caixa
    18 linhas de E/S programáveis
    Pacotes PDIP de 20 pinos, SOIC de 20 pinos e MLF de 32 pinos
  • Faixa de tensão de alimentação
    de 1,8 a 5,5 V
  • Frequência operacional
    0 - 16 MHz
  • Consumo
    Modo ativo:
    300 µA a 1 MHz e tensão de alimentação de 1,8 V
    20 µA a 32 kHz e tensão de alimentação de 1,8 V
    Modo de baixo consumo
    0,5 µA com tensão de alimentação de 1,8 V


Descrição geral:

ATtiny2313 é um microcontrolador CMOS de 8 bits de baixo consumo com arquitetura AVR RISC. Ao executar instruções em um único ciclo, o ATtiny2313 atinge desempenho de 1 MIPS com velocidade de clock de 1 MHz, permitindo ao projetista otimizar a relação potência-desempenho.

O núcleo do AVR integra um rico conjunto de instruções e 32 registros de trabalho de uso geral. Todos os 32 registros estão diretamente conectados à Unidade Lógica Aritmética (ALU), permitindo acesso a dois registros independentes ao executar um comando. Como resultado, esta arquitetura permite um desempenho dezenas de vezes maior do que a arquitetura CISC padrão.

ATtiny2313 possui as seguintes características: memória de programa programável Flash de 2 KB, memória de dados EEPROM de 128 bytes, SRAM (RAM estática) de 128 bytes, 18 linhas de E/S de uso geral, 32 registros de trabalho de uso geral, interface de um fio para o -in depurador, dois temporizadores/contadores flexíveis com circuitos de comparação, internos e fontes externas interrupções, USART serial programável, interface serial universal com detector condição inicial, temporizador de watchdog programável com oscilador integrado e três modos de baixo consumo inicializados por software. No modo inativo, o núcleo para, mas a RAM, os temporizadores/contadores e o sistema de interrupção continuam a funcionar. No modo Power-down, os registros mantêm seus valores, mas o gerador para, desativando todas as funções do dispositivo até a próxima interrupção ou reinicialização do hardware. No modo Standby, o oscilador mestre funciona enquanto o restante do dispositivo está ocioso. Isso permite que o microprocessador inicialize muito rapidamente enquanto mantém a energia quando ocioso.

O dispositivo é fabricado com tecnologia de memória não volátil de alta densidade da Atmel. Flash ISP integrado permite reprogramar a memória do programa no sistema via serial Interface SPI ou um programador convencional de memória não volátil. Ao combinar um núcleo RISC de 8 bits com memória Flash autoprogramável em um único chip, o ATtiny2313 é um microcontrolador poderoso que oferece maior flexibilidade ao projetista do sistema microprocessador.

ATtiny2313 é suportado por vários programas e ferramentas de desenvolvimento integradas, como compiladores C, montadores de macro, depuradores/simuladores de software, emuladores de circuito e kits de avaliação.

Hoje tentamos aproveitar mais microcontrolador simples ATtiny2313 e conecte um simbólico a ele Visor LCD, contendo duas linhas de 16 caracteres.

Vamos conectar o display de maneira padrão Maneira de 4 bits.

Primeiro, vamos começar, é claro, pelo microcontrolador, pois já estamos bem familiarizados com o display das lições anteriores.

Vamos abrir a ficha técnica do controlador ATtiny2313 e vamos ver sua pinagem

Nós vemos isso este controlador existe em dois tipos de casos, mas como chegou às minhas mãos em um caso DIP, consideraremos esta versão específica do caso e, em princípio, eles não diferem muito, exceto na aparência, já que o número de pernas é o o mesmo - em 20.

Como existem 20 pernas em comparação com as 28 pernas do controlador ATMega8, nas quais temos trabalhado o tempo todo e continuaremos trabalhando, então, respectivamente, também haverá menos possibilidades.

Em princípio tudo o que o ATmega8 tinha está aqui, a única coisa é que tem menos garras de porta. Mas como a tarefa que temos pela frente é tentar conectá-lo através do barramento SPI a outro controlador, isso não nos deprime muito.

Existem algumas outras diferenças, mas são pequenas e iremos conhecê-las conforme necessário.

Vamos montar um circuito como este (clique na imagem para ampliar a imagem)

O display está conectado aos pinos da porta D. PD1 e PD2 estão nas entradas de controle e o restante está conectado aos pinos do módulo de display D4-D7.

Vamos criar um projeto com o nome TINY2313_LCD, transferir tudo para ele, exceto o módulo principal do projeto para conectar o display ao Atmega8.

É claro que algumas coisas precisarão ser refeitas. Para fazer isso, você precisa estudar cuidadosamente qual perna está conectada a quê. O barramento E do display está conectado ao PD2, e o barramento RS está conectado ao PD1, então vamos fazer alterações no arquivo lcd.h

#definire1PORTD|=0b0000 01 00 //define a linha E como 1

#definire0PORTD&=0b1111 10 11 //define a linha E como 0

#definirrs1PORTD|=0b00000 01 0 //define a linha RS como 1 (dados)

#definirrs0PORTD&=0b11111 10 1 //define a linha RS como 0 (comando)

Como podemos ver na seleção em negrito, não tivemos mudanças tão drásticas.

Agora entradas de informações. Aqui usamos as pernas PD3-PD6, ou seja, elas estão deslocadas em 1 ponto em relação à conexão com o Atmega8, então também vamos corrigir algo no arquivo lcd.c em função enviar meio byte

PORTD&=0b 1 0000 111; // apaga informações nas entradas DB4-DB7, deixa o resto em paz

Mas isso não é tudo. Anteriormente deslocamos os dados transmitidos em 4, mas agora, devido às alterações acima, só teremos que deslocá-los em 3. Portanto, na mesma função também corrigiremos a primeira linha

c<<=3 ;

Essas são todas as mudanças. Concordo, eles não são tão bons! Isso é conseguido pelo fato de sempre tentarmos escrever código universal e usar substituições de macro. Se não tivéssemos dedicado tempo a isso de uma só vez, teríamos que corrigir o código em quase todas as funções da nossa biblioteca.

No módulo principal, não tocamos na inicialização da porta D, deixamos todo o módulo entrar no estado de saída, como na lição 12.

Vamos tentar montar o projeto e primeiro ver o resultado no Proteus, já que também fiz um projeto para ele, que também estará no arquivo anexo com o projeto para Atmel Studio

Tudo funciona muito bem para nós! É assim que você pode refazer rapidamente um projeto de um controlador para outro.

Proteus é muito bom, mas é sempre melhor ver detalhes reais. Todo o circuito foi montado em uma protoboard, pois não fiz nem montei uma placa de depuração para este controlador. Conectaremos o programador através de um conector padrão como este

Aqui está o diagrama completo

Tudo é padrão aqui. Resistor de pull-up para RESET, etc.

Agora, antes de atualizar o controlador no Avrdude, precisamos selecionar o controlador e ler sua memória flash

Em seguida, vá para a guia FUSÍVEIS e configure os fusíveis corretamente. Como não temos ressonador de quartzo, instalamos os fusíveis desta forma

Microcontrolador AVR de 8 bits com 2 KB de memória Flash programável pelo sistema

Especificações:

  • Arquitetura AVR RISC
  • AVR - arquitetura RISC de alta qualidade e baixo consumo de energia
    120 instruções, a maioria das quais executadas em um ciclo de clock
    32 registros de trabalho de uso geral de 8 bits
    Arquitetura completamente estática
  • RAM e programa não volátil e memória de dados
    2 KB de memória de programa Flash autoprogramável capaz de suportar 10.000 ciclos de gravação/apagamento
    Memória de dados EEPROM programável pelo sistema de 128 bytes, capaz de suportar 100.000 ciclos de gravação/apagamento
    128 bytes de memória SRAM integrada (RAM estática)
    Proteção programável contra leitura de memória de programa Flash e memória de dados EEPROM
  • Características periféricas
    Um temporizador/contador de 8 bits com pré-escalador separado
    Um temporizador/contador de 16 bits com pré-escalador separado, circuito de comparação, circuito de captura e dois canais PWM
    Comparador analógico integrado
    Temporizador de watchdog programável com oscilador integrado
    USI - Interface Serial Universal
    UART duplex completo
  • Recursos especiais do microcontrolador
    Depurador debugWIRE integrado
    Programação no sistema via porta SPI
    Fontes de interrupção externas e internas
    Modos de baixo consumo Inativo, Desligado e Standby
    Circuito de reinicialização de inicialização aprimorado
    Circuito programável de detecção de perda de energia
    Gerador calibrado integrado
  • Portas de E/S e design de caixa
    18 linhas de E/S programáveis
    Pacotes PDIP de 20 pinos, SOIC de 20 pinos e MLF de 32 pinos
  • Faixa de tensão de alimentação
    de 1,8 a 5,5 V
  • Frequência operacional
    0 - 16 MHz
  • Consumo
    Modo ativo:
    300 µA a 1 MHz e tensão de alimentação de 1,8 V
    20 µA a 32 kHz e tensão de alimentação de 1,8 V
    Modo de baixo consumo
    0,5 µA com tensão de alimentação de 1,8 V

Diagrama de blocos ATtiny2313:


Descrição geral:

ATtiny2313 é um microcontrolador CMOS de 8 bits de baixo consumo com arquitetura AVR RISC. Ao executar instruções em um único ciclo, o ATtiny2313 atinge desempenho de 1 MIPS com velocidade de clock de 1 MHz, permitindo ao projetista otimizar a relação potência-desempenho.

O núcleo do AVR integra um rico conjunto de instruções e 32 registros de trabalho de uso geral. Todos os 32 registros estão diretamente conectados à Unidade Lógica Aritmética (ALU), permitindo acesso a dois registros independentes durante a execução de uma única instrução. Como resultado, esta arquitetura permite um desempenho dezenas de vezes maior do que a arquitetura CISC padrão.

ATtiny2313 tem as seguintes características: memória de programa programável Flash de 2 KB, memória de dados EEPROM de 128 bytes, SRAM (RAM estática) de 128 bytes, 18 linhas de E/S de uso geral, 32 registros de trabalho de uso geral, interface de um fio para o built-in depurador, dois temporizadores/contadores flexíveis com circuitos de comparação, fontes de interrupção internas e externas, USART serial programável, interface serial universal com detector de condição de partida, temporizador watchdog programável com oscilador integrado e três modos de baixa potência inicializados por software. No modo inativo, o núcleo para, mas a RAM, os temporizadores/contadores e o sistema de interrupção continuam a funcionar. No modo Power-down, os registros mantêm seus valores, mas o gerador para, desativando todas as funções do dispositivo até a próxima interrupção ou reinicialização do hardware. No modo Standby, o oscilador mestre funciona enquanto o restante do dispositivo está ocioso. Isso permite que o microprocessador inicialize muito rapidamente enquanto mantém a energia quando ocioso.

O dispositivo é fabricado com tecnologia de memória não volátil de alta densidade da Atmel. O ISP Flash integrado permite reprogramar a memória do programa no sistema por meio de uma interface serial SPI ou com um programador convencional de memória não volátil. Ao combinar um núcleo RISC de 8 bits com memória Flash autoprogramável em um único chip, o ATtiny2313 é um microcontrolador poderoso que oferece maior flexibilidade ao projetista do sistema microprocessador.

Muitos eletrodomésticos e dispositivos de automação industrial de anos de produção relativamente recentes possuem contadores mecânicos instalados. São produtos em correia transportadora, voltas de fio em bobinadeiras, etc. Em caso de falha, encontrar um medidor semelhante não é fácil e é impossível repará-lo por falta de peças de reposição. O autor propõe a substituição do contador mecânico por um eletrônico. Um contador eletrônico, desenvolvido para substituir um mecânico, revela-se muito complexo se for construído sobre microcircuitos com baixo e médio grau de integração (por exemplo, as séries K176, K561). especialmente se for necessária uma conta reversa. E para manter o resultado quando a energia é desligada, é necessário fornecer uma bateria reserva.

Mas você pode construir um contador em apenas um chip - um microcontrolador programável universal que inclui uma variedade de dispositivos periféricos e é capaz de resolver uma ampla gama de problemas. Muitos microcontroladores possuem uma área de memória especial - EEPROM. Os dados gravados nele (inclusive durante a execução do programa), por exemplo, o resultado da contagem atual, são salvos mesmo depois que a energia é desligada.

O contador proposto utiliza o microcontrolador Attiny2313 da família AVR da Almel. O dispositivo implementa contagem reversa, exibindo o resultado com cancelamento de insignificantes

colmeia em um indicador LED de quatro dígitos, armazenando o resultado na EEPROM quando a energia é desligada. Um comparador analógico embutido no microcontrolador é usado para detectar oportunamente uma diminuição na tensão de alimentação. O contador lembra o resultado da contagem quando a energia é desligada, restaurando-o ao ser ligada e, à semelhança de um contador mecânico, é equipado com um botão de reset.

O circuito contador é mostrado na figura. Seis linhas da porta B (РВ2-РВ7) e cinco linhas da porta D (PDO, PD1, PD4-PD6) são usadas para organizar a indicação dinâmica do resultado da contagem no indicador LED HL1. As cargas coletoras dos fototransistores VT1 e VT2 são resistores embutidos no microcontrolador e habilitados por software que conecta os pinos correspondentes do microcontrolador ao seu circuito de alimentação.

Um aumento no resultado da contagem N em um ocorre no momento em que a conexão óptica entre o diodo emissor VD1 e o fototransistor VT1 é interrompida, o que cria uma diferença de nível crescente na entrada INT0 do microcontrolador. Neste caso, o nível na entrada INT1 deve ser baixo, ou seja, o fototransistor VT2 deve ser iluminado pelo diodo emissor VD2. No momento de um diferencial crescente na entrada INT1 e um nível baixo na entrada INT0, o resultado diminuirá em um. Outras combinações de níveis e suas diferenças nas entradas INT0 e INT1 não alteram o resultado da contagem.

Uma vez atingido o valor máximo de 9999, a contagem continua a partir de zero. Subtrair um do valor zero dá o resultado 9999. Se a contagem regressiva não for necessária, você pode excluir o diodo emissor VD2 e o fototransistor VT2 do contador e conectar a entrada INT1 do microcontrolador ao fio comum. A contagem só continuará a aumentar.

Como já mencionado, o detector de diminuição da tensão de alimentação é o comparador analógico embutido no microcontrolador. Ele compara a tensão não estabilizada na saída do retificador (ponte de diodos VD3) com a tensão estabilizada na saída do estabilizador integrado DA1. O programa verifica ciclicamente o estado do comparador. Depois que o medidor é desconectado da rede, a tensão no capacitor do filtro retificador C1 cai e a tensão estabilizada permanece inalterada por algum tempo. Os resistores R2-R4 são selecionados da seguinte forma. que o estado do comparador nesta situação é invertido. Ao detectar isso, o programa consegue gravar o resultado da contagem atual na EEPROM do microcontrolador antes mesmo de ele parar de funcionar devido ao desligamento da energia. Na próxima vez que você ligá-lo, o programa lerá o número escrito em EERROM e o exibirá no indicador. A contagem continuará a partir deste valor.

Devido ao número limitado de pinos do microcontrolador, para conectar o botão SB1, que zera o contador, foi utilizado o pino 13, que serve como entrada analógica inversora do comparador (AIM) e ao mesmo tempo como entrada “digital” do PB1. O divisor de tensão (resistores R4, R5) aqui define o nível percebido pelo microcontrolador como lógico alto. Quando você pressiona o botão SB1, ele se tornará baixo. Isto não afetará o estado do comparador, uma vez que a tensão na entrada AIN0 ainda é maior que a tensão na entrada AIN1.

Ao pressionar o botão SB1, o programa exibe um sinal de menos em todos os dígitos do indicador e, após soltá-lo, inicia a contagem do zero. Se o medidor for desligado enquanto o botão estiver pressionado, o resultado atual não será gravado na EEPROM e o valor armazenado lá permanecerá o mesmo.

O programa está desenhado de tal forma que pode ser facilmente adaptado a um medidor com outros indicadores (por exemplo, com cátodos comuns), com um layout de placa de circuito impresso diferente, etc. usando um ressonador de quartzo para uma frequência diferente em mais de 1 MHz da especificada.

Quando a tensão da fonte for 15 V, meça a tensão nos pinos 12 e 13 do painel do microcontrolador em relação ao fio comum (pino 10). O primeiro deve estar na faixa de 4...4,5 V, e o segundo deve estar acima de 3,5 V, mas menor que o primeiro. Em seguida, a tensão da fonte é reduzida gradualmente. Quando cai para 9...10 V, a diferença nos valores de tensão nos pinos 12 e 13 deve se tornar zero e depois mudar de sinal.

Agora você pode instalar o microcontrolador programado no painel, conectar o transformador e aplicar tensão de rede nele. Após 1,5...2 s você precisa pressionar o botão SB1. O indicador do contador exibirá o número 0. Se nada for exibido no indicador, verifique novamente os valores de tensão nas entradas AIN0.AIN1 do microcontrolador. O primeiro deve ser maior que o segundo.

Quando o contador for iniciado com sucesso, resta apenas verificar a exatidão da contagem sombreando alternadamente os fototransistores com uma placa opaca aos raios infravermelhos. Para maior contraste, é aconselhável cobrir os indicadores com um filtro de vidro orgânico vermelho.