Dip switches binary options


Dip Switches Dip Switches são minúsculos interruptores no dispositivo DMX que são usados ​​para definir o endereço DMX do dispositivo elétrico, como você pode ver na imagem acima o primeiro dip switch está para baixo e na posição 039ON039 isso significa que o endereço DMX é atualmente 1 Se eu fosse agora para deslocar para baixo o dipswitch rotulado 256 o endereço DMX seria 1 256 257 se eu tomou deslocou o 1 para a posição 039OFF039 então seria agora 256 se eu desliguei o interruptor de mergulho marcado 128 o endereço dmx seria agora 128 256 384 Dipswitchs usam a notação binária para calcular o endereço DMX de um dispositivo elétrico, ie 1 039s e 0 039s. O valor dos comutadores de 1 a 10 são os seguintes. 1, 2, 4, 8, 16, 32, 64, 128, 256, 512. Se você sabe o endereço DMX que você precisa para definir um dispositivo elétrico para tudo o que você precisa fazer é tomar o valor mais alto de um dispswitch a partir do Endereço DMX real e ligue-o. Continue repetindo até não ter mais nada. Por exemplo, se o endereço DMX necessário é 283, então você tiraria 256 como este é o maior número que vai entrar em 283. E ligue o 9º dipswitch. 283 - 256 27 (Dipswitch 9). Agora tire 16. Como é o maior número que entrará em 27. E ligue o 5º dipswitch. 27 - 16 11 (Dipswitch 5). 11 - 8 3 (Dipswitch 4). 3 - 2 1 (Dipswitch 2). 1 - 1 0 (Dipswitch 1). Assim para o endereço 283 os dipswitches pareceriam o seguinte, onde 0 está desligado e 1 está ligado. 1101100010. Algo a lembrar é que, como todos os números na língua inglesa que você lê da esquerda para a direita, o número mais alto apareceria primeiro, o binário 283 é mostrado como 100011011. Isto não é o que os dispswitches querem ser definidos. Você pode verificar isso por si mesmos se você estava a usar a Calculadora no Windows o valor de 283 seria mostrado como 100011011. Nem todos os dispositivos elétricos que têm dipswitches têm toda a gama de dipswitches. Alguns têm apenas 8 dipswitches, o que limitaria o intervalo de endereços que poderia ser definido para 255, o que significa que você teria que garantir que estes são remendados primeiro em seu console de iluminação. Outras luminárias podem ter uma gama completa de dipswitches, mas alguns deles podem ser para outros usos, como na imagem acima dipswitch 10 (512) é realmente um interruptor de teste para o máximo que você poderia definir o endereço para é 511. Use o dip dip posta Calculadora para facilidade de uso. Dip Switch Calculator DMX Dipswitch Chart Lembre-se de que algumas luminárias usam um padrão difereing de configurações dipswitch apenas para confundir tudo. Estas luminárias começam no endereço 1 com todas as dipswitches desligadas. A maneira mais fácil de trabalhar fora as configurações dipswitch para este tipo de fixture é subtrair 1 do endereço e usar isso nos cálculos ou calculadora acima. Ou seja, se pretender defini-la no endereço 86, utilizar o endereço 85 nos cálculos ou na calculadora. De qualquer forma, no link abaixo, há um documento que mostra os dois tipos de configurações de dipswitch. DMX Dispswitch Gráfico dmxdefinitions / dipswitches. txt Última modificação: 2017/09/02 18:41 por djsupportHome de programação incorporada Lição 3: Leitura do Switch DIP Resultado: O resultado será projeto capaz de ler os interruptores DIP. Passo 1: Entendendo o esquema Como na lição 2, vamos entender como o DIP Switch está conectado ao processador ATMEGA88. Referindo-se ao esquema para a placa de desenvolvimento, identifique a localização do DIP SW1. Este interruptor é conectado da seguinte maneira: O DIP-Switch tem 4 controles deslizantes que quando na posição on ligar o lado esquerdo para o lado direito. Quando na condição de desligado, o lado esquerdo do interruptor DIP é deixado flutuante. Na condição de flutuação, o resistor fará com que os pinos do processador PC2, PC3, PC4 e PC5 sejam puxados para VCC (5V). Quando na condição PC2, PC3, PC4 e PC5 serão puxados para terra. Este conhecimento nos diz que, à medida que lemos o registro PINC, nos bits 2,3,4 e 5 um zero significa que o interruptor DIP está na posição ON e um significa que os interruptores estão na posição OFF. Em conclusão, o esquema está mostrando que para detectar um interruptor DIP na posição OFF, vamos medir a lógica 1 no pino de porta conectado. Se o interruptor DIP estiver LIGADO, o pino da porta conectada lerá a lógica 0. Etapa 2: Criar o projeto Crie um projeto com o nome Ex30ReadDIPSW. Nota: Não se esqueça de definir a otimização para O0. Na parte superior do arquivo, insira as linhas: include ltavr / io. hgt Esta instrução instrui o compilador a incluir o arquivo io localizado no diretório do compilador avr. Este arquivo contém todos os define para dar os locais de memória, registra nomes. Inserir o ponto de início do programa int main (void) Essa instrução é sempre o ponto de partida do programa C. Insira a linha de código para fazer os pinos de porta para PORTD para uma saída int main (void) DDRD 0xFF DDRC 0x00 PORTD 0xFF O registro de direção de dados da porta D é definido como: 0xFF gt 1111 1111 O que implica PD0 é definido como uma saída. O registro de direção de dados da porta C é definido como: 0x00 gt 0000 0000 O zero implica que PC0 é configurado como uma entrada. PORTD 0xFF define todos os pinos para ligar, desligando os LEDs. Insira a linha de código para fazer o loop de programa para sempre. Int principal (void) DDRD 0xFF DDRC 0x00 PORTD 0xFF para () Esta instrução é a instrução for. Esta instrução continuará a executar as linhas de código dentro das chaves, enquanto a declaração na () é verdadeira. Neste caso, o () sempre avalia verdadeiro. Insira as linhas de código para criar uma variável na memória chamada PortcByte. Unsigned char PortcByte Nesta etapa, criamos um byte de memória para o nosso aplicativo usar PortcByte nomeado. Podemos ler e gravar neste local de memória. Nesta etapa, o PortbByte é atribuído o valor dos pinos de PORTC (PINC registro fornece o estado dos pinos na porta c). Vamos parar neste ponto e entrar um ciclo de depuração para testar a leitura dos comutadores DIP no depurador. Uma operação AND está sendo executada na variável PortcByte. 0x3C é 0011 1100 em binário e o que isso faz é forçar todo o bit no byte para zero, exceto a correlação de bits para os switches DIP conectados a PC2, PC3, PC4 e PC5. Passo de interesse sobre esta linha neste momento para verificar o que a operação está fazendo. PortcByte PINC PortcByte PortcByteamp0x3C PortcByte PortcBytegtgt2 Agora realizamos uma operação de deslocamento para a esquerda para deslocar os bits para baixo em 2 locais. Isto agora significa que os valores de comutação DIP não se situam em 2,3,4,5 mas sim em 0,1,2,3. Passo de interesse sobre esta linha neste momento para verificar o que a operação está fazendo. Unsigned char PortcByte DDRD 0xFF DDRC 0x00 PORTD 0xFF PortcByte PINC PortcByte PortcByteamp0x3C PortcByte PortcBytegtgt2 PortcByte PortcByte0xF0 PORTD PortcByte O programa completo. Etapa 3: Depurar e testar a etapa intermediária Primeiro, compile (tecla F7 ou pressione) a aplicação para verificar se não há erros no projeto. Carregue o aplicativo no processador (teclas CTRL F7 ou pressione). Aguarde o download concluir, isso será mostrado pela seta amarela abaixo da linha principal int (void) como na Figura 2. Figura 2 Pronto para execução após a compilação e Run Para este processo de depuração, vamos definir um ponto de interrupção. Gt Coloque o cursor do mouse sobre a linha PortcByte PINC Clique esquerdo, de forma que o cursor se mova para esta posição de linha. Gt Clique com o botão direito do mouse, um menu será apresentado. Selecione a opção Toggle Breakpoint. Veja a Figura 3. gt O resultado será mostrado na Figura 2 com um ponto vermelho na coluna da esquerda. Figura 3 Menu do botão direito do mouse mostrando o ponto de interrupção Pressione F5, o processador executará do início ao ponto de interrupção. Você sabe quando está no ponto de interrupção quando a seta amarela é visível na posição do ponto de interrupção (veja a Figura 4). Figura 4 No ponto de interrupção Etapa 4: para remover o ponto de interrupção no software Coloque o cursor ao lado do ponto de interrupção e clique com o botão direito do mouse e desative o ponto de interrupção. Ou na barra de ferramentas clique no botão remover ponto de interrupção, o ponto de interrupção será removido. Passo 5: para ver Watch na tela Quando parado neste ponto, a linha de código (PortcByte PINC) ainda não foi executada. Permite criar um relógio da variável PortcByte. Gt Mova o cursor sobre PortcByte PINC gt Clique com o botão direito sobre esta linha gt Selecione a opção Adicionar relógio: PortcByte. Gt Uma janela de exibição será mostrada com o PortcByte nele. Gt Recomenda-se alterar o formato de visualização do byte para HEX. Gt Na janela de exibição, clique no PortcByte. Será destacado. Gt Clique com o botão direito do mouse no PortcByte na janela do relógio. Gt Selecione o valor exibido selecionado como Hex. Veja a figura 5 Figura 5 Mostrando as opções na tela de exibição gt Com todos os DIP switches na posição off, pressione F5 para executar a linha PortcByte PINC. Gt Olhe para o resultado na janela de depuração. Figura 6 Figura 6 Captura de relógio com interruptores DIP off gt O valor lido é 0x7F (0111 1111 em Binário). Gt Repita o teste acima trocando cada valor da chave DIP para on e tome nota do PortcByte. Figura 7. Figura 7 Captura de relógio com DIP switch 1 em gt O valor lido é 0x7B (0111 1011 em Binário). Configuração do Interruptor DIP Tabela 1 Correlação entre o interruptor DIP eo valor lido na porta gt A Tabela 1 mostra como o respectivo interruptor DIP é ligado, o número de porta correspondente torna-se zero. Esta relação está correlacionada com o esquema. Com este conhecimento, permite agora ajustar os LEDs ligados e desligados dependente do estado do interruptor DIP. Crie e execute o aplicativo para ver os LEDs se ligarem e desligam quando os interruptores DIP são ligados e desligados. Passo 6: O que aprendemos Você aprendeu a ler uma porta, manipular os dados usando os operadores AND e OR para trocar os bits em posições mais convenientes dentro de nossa variável de memória. Isso nos permitiu atualizar os LEDs para mostrar as posições do switch DIP. Aplique os mesmos princípios seguidos nesta lição para mostrar o inverso dos interruptores DIP nos LEDs. Em outras palavras, se o interruptor DIP estiver desligado, o LED deve estar LIGADO e vice-verso. Configuração do Switch DIP A maioria dos modelos de software XL200 é capaz de controlar uma variedade de tipos específicos de máquinas. Por exemplo, o controlador XL200, sem outras opções de software, pode controlar mais de 70 diferentes aplicações de máquina com base nas definições de comutação de configuração (DIP). A configuração dos comutadores DIP do XL200 determina o tipo básico de máquina para o qual o controlador está configurado. O número 8220Switch8221 é exibido no menu Setup: e no menu DiagnosticsSystem Information: O número listado como 8220Switch8221 indica as configurações DIP. Numere cada chave DIP no início binário com o primeiro interruptor. Por exemplo: Assim Switch: 51 indicaria que as chaves DIP 6, 5, 2 e 1 estavam na sua posição ON. Com base no modelo de software específico do controlador, o tipo de máquina poderia ser determinado. As definições do interruptor DIP são definidas na parte de trás dos manuais do controlador XL. Eles também são listados, juntamente com as designações de E / S do controlador pela configuração, nos seguintes links: Versão 1 Modelos de Hardware da Versão 8211 Versão 3 Os controladores DIP físicos são encontrados na parte superior do controlador da Série XL200: 8220interruptores 8221 acedidos premindo e mantendo premida a tecla de Configuração no teclado XL200 durante a ligação:

Comments