• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vasco16

Ajuda com basic

1 mensagem neste tópico

Boas pessoal tenho o seguinte codigo feito em basic:

$regfile = "M16def.dat"

$crystal = 4000000

'configuração para o LCD

Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5

Config Lcd = 16 * 2

Config Kbd = Portb

Config Portd.2 = Input                                      ' interrupt

Config Portd.7 = Output                                    '  sirene

Config Int0 = Rising

On Int0 Rotina_int0

Enable Interrupts

Enable Int0

Dim Entrada As Integer

Dim Codigo_alarme As String * 4

'Dim Receber_codigo As Byte

Dim I(4) As Byte

Dim A As Integer

Dim Arr(4) As Byte

Dim S As String * 4

Codigo_alarme = "1234"

Do

  Lcd "Sistema Activo"

  Locate 1 , 1

  Lcd "Alarme OFF"

  Locate 2 , 1

  If Portd.7 = 1 Then

      Lcd "Alarme ON"

      Locate 1 , 5

      For A = 0 To 3

        I(a) = Getkbd()

        Wait 1

      Next A

    ' Printf( "introduza os 4 digitos\n");

    ' Scanf( "%d" , &

                                  ' apenas recebe 1 digito

  '  S = Bin(receber_codigo)

      If S = Codigo_alarme Then

      Lcd "Código Aceite"

      Locate 1 , 1

      Reset Portd.7

      Lcd "Alarme OFF"

      Locate 2 , 1

      End If

  End If

Loop

Rotina_int0:

  Lcd "Alarme ON"

  Locate 2 , 1

  Set Portd.7

Return

End

e dentro do ciclo "DO"  quero fazer com que capture 4 digitos mas so captura 1 o que tenho de fazer???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora