Boa noite galera alguém pode me ajudar a criar o seguinte programa em linguagem assembly.

  Criar um programa para acionar um alarme cujos sensores que serão instalados nos laboratórios de Eletrônica: A, B, C, D, E, F, G e a Porta de vidro.

  Ao sair a noite, o professor responsável por fechar os laboratórios acionará o alarme e o mesmo deverá ser ligado.

  De manhã, quando o professor responsável por abrir os laboratórios chegar o mesmo terá 30 segundos para desligar o alarme caso contrario acionará uma sirene.

  O alarme funcionará da seguinte maneira:

  Ao abrir a porta de qualquer laboratório ou a porta de vidro, o circuito deverá contar um tempo de 30 segundos e ativar a sirene

Exibições: 1143

Responder esta

Respostas a este tópico

Deve ficar algo parecido com isso. Não testei... Para ligar só energizar o circuito.

// considerando P1 com todas as entradas, 1=porta aberta e 0=porta fechada. São 8 entradas.

// considerado P2.0 como saida da sirene.

         CLR P2.0   //desliga sirene

         MOV P1,#255 //Seta os bits da P1 pra virar entrada

Loop1: 

         MOV A,P1  // Le P1

         JZ Loop1 //Enquanto todas as entradas estiverem em 0 fica nesse loop

         MOV R0,#255

         MOV R1,#255

         MOV R2, #30 // Esses numeros vao contar os loops, tem que calcular o valor correto para o seu cristal e processador.

Loop2:

         DJNZ R0,Loop2

         DJNZ R1,Loop2

         DJNZ R2,Loop2

         SETB P2.0 // Liga sirene

FIM: JMP FIM

         

Obrigado cara vou fazer uns testes aqui

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço