Autor Tema: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus  (Leído 111497 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #45 en: 23 de Noviembre de 2005, 21:20:00 »
Listo aca tienen los archivos de Proteus y el de Bascom AVR..


http://miarroba.com/foros/ver.php?foroid=348538&temaid=3881122


cualquier duda o pregunta, pues ya saben..

UN SALUDO DESDE ECUADOR RebotadoRebotado
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #46 en: 24 de Noviembre de 2005, 21:14:00 »
Hola compadres..

Pues bien ahora cuelgo el 2do ejemplo hecho por el pana doppel, pero para AVR en BASCOM.. Sonrisa Gigante

La verdad no encontre en BASCOM ningun comando que funcione como el comando BUTTON de Proton, pero bueno, el problema se soluciona utilizando un IF..

Aca el codigo, cualquier consulta pues ya saben...

SALUDOS DESDE ECUADOR Sonrisa GiganteSonrisa GiganteRebotadoRebotado


"*****************************************************************
" BOTON Y SUBRUTINA ALTERNAR
"
"La verdad no encontre un comando parecido al BUTTON de Proton aca
"en Bascom AVR, pero se lo utiliza con un IF y todo solucionado.
"*****************************************************************


"*****************************************************************
" DECLARACION DEl CRISTAL A USAR
"*****************************************************************
$crystal = 1000000                                          " definir cristal interno del atmega8 1MHz la frecuencia

"*****************************************************************
" DECLARACION DE PINES COMO ENTRADA Y/O SALIDA
"*****************************************************************

Ddrb.1 = 1                                                  " configurar el pin B1 como salida
Portb.1 = 0                                                 " ambas instrucciones
Ddrb.0 = 1                                                  " configurar el pin B0 como salida
Portb.0 = 0                                                 " ambas instrucciones
Ddrb.2 = 0                                                  " configurar el pin B2 como entrada en estado 1 logico
Portb.2 = 1                                                 " ambas instrucciones


Led1 Alias Portb.0                                          " RENOMBRA AL PIN B0
Led2 Alias Portb.1                                          " RENOMBRA AL PIN B1
Switch Alias Pinb.2                                         " RENOMBRA AL PIN B2

"*****************************************************************
" PROGRAMA PRINCIPAL
"*****************************************************************

Main:                                                       " RUTINA PRINCIPAL
   Set Led1                                                 " ENCENDER LED1 B0
   Set Led2                                                 " ENCENDER LED2 B1
   Waitms 500                                               " TIEMPO DE ENCENDIDO 0.5 SEG
   Reset Led2                                               " APAGAR LED2 B1
   Reset Led1                                               " APAGAR LED1 B0
   Waitms 500
   If Switch = 0 Then
      Waitms 50
      Goto Alternar
   End If                                                   " ANTIREBOTE HASTA SOLTAR EL SWITCH
   Goto Main                                                " LAZO INFINITO DE RUTINA MAIN

Alternar:
   Set Led1                                                 " ENCENDER LED1 B0
   Reset Led2                                               " APAGAR LED2 B1
   Waitms 500                                               " TIEMPO DE ENCENDIDO 0.5 SEG
   Set Led2                                                 " ENCENDER LED2 B1
   Reset Led1                                               " APAGAR LED1 B0
   Waitms 500
   If Switch = 0 Then
      Waitms 50
      Goto Main
   End If
   Goto Alternar



End

"**********************************************
" FIN
"**********************************************




Desde este link pueden descargar los archivos necesarios para la compilacion y la simulacion en Proteus..

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3885278


Un fuerte abrazo compadres RebotadoRebotado
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #47 en: 24 de Noviembre de 2005, 23:02:00 »
Hola brothers

pues bien hoy he trabajado a doble jornada Sonrisa Gigante  Muchas risas

asi que aca esta el 3er ejemplo de este post, es el mismo que hizo el pana doppel en proton, osea un contador de 0 a 9, con un boton pulsador..

aca el codigo..

Codigo:


"******************************************************
"     CONTADOR 0 - 9 DISPLAY 7 SEG Y BOTON
"******************************************************

$crystal = 1000000                                          "cristal interno 1 MHZ ATMEGA9

Ddrb = 255                                                  "configurar puerto B como salida todos los pines en alto 1 logico
Portb = 255

Ddrc.0 = 0                                                  " configurar pic C.0 como entrada en pull up
Portc.0 = 1

Btn Alias Pinc.0                                            " renombrar al pin C.0 ; boton pulsador

Dim Cuenta As Byte                                          " variable que va a contar las pulsaciones del boton


"* g f e d c b a    #
"0 1 0 0 0 0 0 0    0
"0 1 1 1 1 0 0 1    1
"0 0 1 0 0 1 0 0    2
"0 0 1 1 0 0 0 0    3
"0 0 0 1 1 0 0 1    4
"0 0 0 1 0 0 1 0    5
"0 0 0 0 0 0 1 0    6
"0 1 1 1 1 0 0 0    7
"0 0 0 0 0 0 0 0    8
"0 0 0 1 0 0 0 0    9
"0 0 0 1 1 1 1 1    -


Inicio:

 Do
 Loop Until Btn = 0                                         "rutina que se repite hasta que se pulsa el boton
 Goto Programa                                              "va a la rutina Programa

 Programa:

 Cuenta = Cuenta + 1                                        " aumenta el valor del contador cada vez que se pulsa el boton
 If Cuenta > 10 Then                                        " si contador mayor a diez vuelve a cero
   Cuenta = 0
 End If
 Select Case Cuenta                                         " sentencia CASE que selecciona el dato a enviar por el puerto B segun
  Case 0 : Portb = &B01000000                               " el valor de la variable cuenta (contador)
  Case 1 : Portb = &B01111001
  Case 2 : Portb = &B00100100
  Case 3 : Portb = &B00110000
  Case 4 : Portb = &B00011001
  Case 5 : Portb = &B00010010
  Case 6 : Portb = &B00000010
  Case 7 : Portb = &B01111000
  Case 8 : Portb = &B00000000
  Case 9 : Portb = &B00010000
  Case 10 : Portb = &B00111111
 End Select
 Waitms 200                                                 " tiempo de espera para poder visualizar el valor en el display de 7 seg
 Goto Inicio  


"**********************

eso es el programa, ahora bien el pana Lord Lafrebre me ha hecho caer en cuenta que no todos tienen el bascom AVR, asi que las dos soluciones, o lo descargan con el emule o pues pueden descargar una version demo desde este link..

BASCOM AVR DEMO:
http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=99&Itemid=54




desde este link se pueden descargar los archivos de este ejemplo..


EJ 3. CONTADOR 0 -  9 DISPLAY 7 SEG Y PULSADOR:

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3885413


listo, espero que les sirvan estos peque ejemplillos..

SALUDOS DESDE ECUADOR ....












"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado PAOLA09

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 332
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #48 en: 25 de Noviembre de 2005, 10:23:00 »
HOLA
OLOTILL SI TIENES EJEMPLOS CUANDO VEA NO SERE CAPAZ DE SEGUIRLOSSonrisa Gigante

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #49 en: 27 de Noviembre de 2005, 15:31:00 »
Hola compadres..

Hola Paola, pues sabes que si tengo mas ejemplos de BASCOM AVR, solo que no son hechos por mi, asi que no se que tan entendibles sean, pero si desees te los paso, mandame un privado o deja tu direccion email aca en el foro...

Bueno perdon por no avanzar en estos dos dias pero el viernes me fui al concierto de Juanes asi que ya no pude colocar el ejemplo del dia, y ayer estuve muy enfermito pero bueno ya estamos mejor asi que a ponernos al dia...

El ejemplo de hoy es el mismo del pana doppel, osea un display 7 seg que muestra nuemeros del 0 al 9, un boton para guardar hasta 4 numeros en un arreglo y otro boton para mostrar los numeros guardados...

El programa que hice pues tiene algunas mejorias que el original pero casi ninguna notable Sonrisa GiganteSonrisa Gigante pero en este ejemplo ya utilizamos la EEPROM del microcontrolador ATMEGA8 para guardar el arreglo de 4 numeros... bueno basta de palabras vamos al codigo...

Codigo:

ejemplo 4:

"******************************************************
"    3 BOTONES - 7 SEG - SAVE - NEXT - SHOW
"******************************************************

$crystal = 1000000                                          "cristal interno 1 MHZ ATMEGA9

Ddrb = 255                                                  "configurar puerto B como salida todos los pines en alto 1 logico
Portb = 255

Ddrc.0 = 0                                                  " configurar pic C.0 como entrada en pull up
Portc.0 = 1
Ddrc.1 = 0                                                  " configurar pic C.0 como entrada en pull up
Portc.1 = 1
Ddrc.2 = 0                                                  " configurar pic C.0 como entrada en pull up
Portc.2 = 1


Btnnext Alias Pinc.0                                        " renombrar al pin C.0 ; boton pulsador
Btnsave Alias Pinc.1                                        " renombrar al pin C.1 ; boton pulsador
Btnshow Alias Pinc.2                                        " renombrar al pin C.2 ; boton pulsador

Dim Cuenta As Byte                                          " variable que va a contar las pulsaciones del boton
Dim Arrvals(4) As Eram Byte                                 " ARREGLO DE VARIABLES DONDE SE GUARDARAN LOS NUMEROS
                                                              " la sentencia ERAM hace que esta arreglo se guarde en la EEPROM del micro.
Dim X As Byte                                               " VARIABLE QUE CONTARA NUMERO DE NUMEROS GUARDADOS

"* g f e d c b a    #
"0 1 0 0 0 0 0 0    0
"0 1 1 1 1 0 0 1    1
"0 0 1 0 0 1 0 0    2
"0 0 1 1 0 0 0 0    3
"0 0 0 1 1 0 0 1    4
"0 0 0 1 0 0 1 0    5
"0 0 0 0 0 0 1 0    6
"0 1 1 1 1 0 0 0    7
"0 0 0 0 0 0 0 0    8
"0 0 0 1 0 0 0 0    9
"0 0 0 1 1 1 1 1    -

"For X = 1 To 4
"   Arrvals(x) = 0                                           " CARGAR CON VALOR 0 A LOS 4 NUMEROS DEL ARREGLO
"Next

X = 0                                                       " EL CONTADOR X INICIA CON VALOR 0
Cuenta = 0

Inicio:                                                     " RUTINA PRINCIPAL
 Gosub 7seg
 If Btnnext = 0 Then                                        " SI SE PULSA EL BOTON NEXT VA A LA RUTINA PROGRAMA
    Goto Programa
 End If
 If Btnsave = 0 Then                                         " SI SE PULSA EL BOTON SAVE VA A LA RUTINA GUARDAR
    Gosub Guardar
 End If
 If Btnshow = 0 Then                                        " SI SE PULSA EL BOTON SHOW VA A LA RUTINA MOSTRAR
   Goto Mostrar
 End If
Goto Inicio

Programa:
 Cuenta = Cuenta + 1                                        " aumenta el valor del contador cada vez que se pulsa el boton
 If Cuenta > 9 Then                                         " si contador mayor a NUEVE vuelve a cero
   Cuenta = 0
 End If
 Gosub 7seg                                                 " VA A LA RUTINA 7SEG DONDE SE MUESTRA EL VALOR POR EL DISPLAY
Goto Inicio                                                 " vuelve a la rutina INICIO


Guardar:
    If Btnsave = 0 Then Goto Guardar                       " PARA EVITAR REBOTES
    X = X + 1                                               " AUMENTA EL CONTADOR X PARA EL ARREGLO ARRVALS
    If X > 4 Then                                           " SI SE TRATA DE GUARDAR MAS DE 4 VALORES MUESTRA LA LETRA E DE ERROR
      Gosub Error
    End If
    Arrvals(x) = Cuenta                                     " guarda el valor EN LA POSICION X DEL ARREGLO ARRVALS
Return


7seg:
 Select Case Cuenta                                         " sentencia CASE que selecciona el dato a enviar por el puerto B segun
  Case 0 : Portb = &B01000000                               " el valor de la variable cuenta (contador)
  Case 1 : Portb = &B01111001
  Case 2 : Portb = &B00100100
  Case 3 : Portb = &B00110000
  Case 4 : Portb = &B00011001
  Case 5 : Portb = &B00010010
  Case 6 : Portb = &B00000010
  Case 7 : Portb = &B01111000
  Case 8 : Portb = &B00000000
  Case 9 : Portb = &B00010000
  Case 10 : Portb = &B00000110
 End Select
 Waitms 200
Return


Mostrar:                                                    "RUTINA PARA MOSTRAR VALORES DEL ARREGLO
   For X = 1 To 4                                           "SE MUESTRA LOS VALORES CON UNA RUTINA FOR
    Cuenta = Arrvals(x)                                     " carga a cuenta con los valores guardados
    Gosub 7seg                                              "muestra los valores guardados
    Waitms 300
    Portb = &B00111111                                      "muestra un guion de separacion entre numeros guardados
    Waitms 200
   Next
   Portb = &B00111111                                       " MUESTRA UN GUION QUE INDICA QUE SE MOSTRO TODA LA CLAVE
   Waitms 500
   X = 0                                                    "volver a inicializar variables
   Cuenta = 0
Goto Inicio

Error:                                                      "RUTINA PARA MOSTRAR ERROR
   Cuenta = 10
   Gosub 7seg
   Waitms 250
Return

End






Listo eso es todo compadres, aca el link para descargar los respectivos archivos:

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3895482

Bueno eso es todo por hoy...

SALUDOS COMPADRES..Sonrisa GiganteSonrisa GiganteRebotadoRebotado
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado PAOLA09

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 332
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #50 en: 27 de Noviembre de 2005, 16:36:00 »
HOLA
GRACIAS OLOTILL VOY A VER SI LOGRO LLEGAR A ESTE Y MEJOR QUE ESTUVIERAS EN EL CONCIERTO ASI ME DABAS MAS TIEMPO.Sonrisa Gigante

ESPERO TE HALLA IDO MUY BIEN.

Desconectado PAOLA09

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 332
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #51 en: 27 de Noviembre de 2005, 16:40:00 »
HAY SE ME OLVIDO DECIRTE MI MAIL ESTA EN MI PERFIL GRACIAS POR TODO

Desconectado doppel

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1531
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #52 en: 28 de Noviembre de 2005, 09:16:00 »
Hola Olotill !!! buenisimo!! Sonrisa

Estuve dos dias fuera y ahora que vuelvo a entrar veo que has estado trabajando a full con el bascom jeje, voy a ver si puedo empezar hoy con esto.- Realmente muy interesante! gracias


saludos
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #53 en: 28 de Noviembre de 2005, 09:29:00 »
Hola:

Perdon que me salga un poco de foco pero queria hacer una pregunta:

Fabian existe alguna instruccion parecida al HIGH - LOW de PBP...? RollEyes

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #54 en: 28 de Noviembre de 2005, 17:40:00 »
Hola hermano Gio..

Pues claro que existe las sentecias son SET  =  HIGH   y RESET  =  LOW,  en los ejemplos de parpadeo de leds veras como utilizo estas sentencias como tu lo haces en PBP...

Bueno en la noche coloco otro ejemplillo de doppel ... Sonrisa Gigante

Un abrazo hermanos... saludos desde Ecuador Rebotado
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #55 en: 28 de Noviembre de 2005, 21:39:00 »
Sonrisa GiganteSonrisa GiganteSonrisa GiganteSonrisa Gigante  Hola hermanos...

Pues por ir en orden haciendo los ejemplos de doppel no me di cuenta que ya habia posteado en la pagina 2, como usar la EEPROM y la utilizacion de un boton de RESET.. Sonrisa GiganteSonrisa GiganteSonrisa Gigante

Pues bien, en este apartado solo incluire el codigo que deberìan añadir en el programa del ejemplo 4... jejeje

En la declaracion de puertos deben colocar un cuarto boton el de reset que podemos colocarlo..

Codigo:
"***AÑADIR EN LA PARTE SUPERIORD DEL PROGRAMA***

Ddrc.3=0                                         "declara el pinc.3 como salida pull up
Portc.3=1

Btnreset Alias Pinc.3                        "renombra al pinc.3 como btnreset






Dentro de la rutina Inicio deberian agregar esto:

Codigo:
" ****DENTRO DE RUTINA INICIO****

If Btnreset = 0 Then                                        " SI SE PULSA EL BOTON RESET VA A RUTINA RESETEAR
    Goto Resetear                                            " va a rutina resetear
 End If




Listo y para finalizar deben agregar la rutina Reset, que simplemente seria..

Codigo:
"***RUTINA PARA RESETEAR****

Resetear:
   For X = 1 To 4                            
      Arrvals(x) = 0                                           " CARGAR CON VALOR 0 A LOS 4 NUMEROS DEL ARREGLO
  Next
  Cuenta=0                                           "cargar valor 0 a variable cuenta
Goto Inicio                                            "ir a la rutina inicio que ira a la rutina 7seg y mostrara el valor 0 en el display de 7 seg




Pues bien eso seria todo, como les decia en los post anteriores se maneja la Eeprom del micro colocando la sentencia:  

    Dim VAR As Eram Byte (o Bit o single, etc) que esta al inicio del programa...

Bueno hay que tener en cuenta que para la simulacion en proteus pues solo deben aumentar el boton RESET al esquema que pueden descargar desde el link del ejemplo 4..

Bueno, con eso tendriamos completo el ejemplo 4 de doppel y pues manos a la obra con el 5 ejemplo, el manejo del LCD que la verdad en bascom AVR es bastante sencillo su configuraciòn...

Bueno voy a trabajar en el ejemplo y la explicacion...

SALUDOS DESDE ECUADOR Y UN ABRAZO COMPADRES  Sonrisa GiganteSonrisa Gigante




"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #56 en: 28 de Noviembre de 2005, 22:49:00 »
Escrito originalmente por olotill
Hola hermano Gio..

Pues claro que existe las sentecias son SET  =  HIGH   y RESET  =  LOW



Gracias hermano, no revise bien el ejemplo anterior... Sonrisa Gigante

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #57 en: 29 de Noviembre de 2005, 21:56:00 »
Sonrisa GiganteSonrisa GiganteSonrisa GiganteMuchas risasMuchas risas

bUENO PERDON POR ESAS IMAGENES TAN FEAS, PERO ES LA PRIMERA VEZ QUE SUBO IMAGENES EN EL FORO ASI QUE SABRAN DISCULPAR PERO BUENO, LA IDEA SI SE ENTIENDE LAS PROXIMAS SERAN MEJORES...

SALUDOS
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #58 en: 10 de Diciembre de 2005, 20:57:00 »
Buenas Compadres...

Pues bien aca con otro ejemplito que consiste en un contador de 0 a 9 en un display de 7 seg, hay un boton para dar inicio al conteo, lo interesante es que se empieza contando con tiempo de muestra entre numero y numero de 1 seg... al llegar a 9 pues disminuye el tiempo de muestreo entre numeros en 100ms, y asi sigue disminuyendo hasta un tiempo minimo de 100 ms, luego de lo cual el tiempo se resetea y se pone en 1 seg nuevamente ...RebotadoRebotado

Bueno no mas lata, aca el codigo y abajo el link para decargar los archivos, que desde este ejemplo ya incluyen el archivo hex...

SALUDOS COMPADRES...

aca el codigo:
Codigo:
"******************************************************
"    CONTADOR 0 A 9 - VARIA TIEMPO DE MUESTRA - UN BOTON
"******************************************************

$crystal = 1000000                                          "cristal interno 1 MHZ ATMEGA9

Ddrb = 255                                                  "configurar puerto B como salida todos los pines en alto 1 logico
Portb = 255

Ddrc.0 = 0                                                  " configurar pic C.0 como entrada en pull up
Portc.0 = 1

Btn Alias Pinc.0                                            " renombrar al pin C.0 ; boton pulsador

Dim Cuenta As Byte                                          " variable que va a contar las pulsaciones del boton
Dim Tiempo As Word

"* g f e d c b a    #
"0 1 0 0 0 0 0 0    0
"0 1 1 1 1 0 0 1    1
"0 0 1 0 0 1 0 0    2
"0 0 1 1 0 0 0 0    3
"0 0 0 1 1 0 0 1    4
"0 0 0 1 0 0 1 0    5
"0 0 0 0 0 0 1 0    6
"0 1 1 1 1 0 0 0    7
"0 0 0 0 0 0 0 0    8
"0 0 0 1 0 0 0 0    9
"0 0 0 1 1 1 1 1    -
Tiempo = 1000

Inicio:

 Do
 Loop Until Btn = 0                                         "rutina que se repite hasta que se pulsa el boton
 Goto Programa                                              "va a la rutina Programa

 Programa:

 Cuenta = Cuenta + 1                                        " aumenta el valor del contador cada vez que se pulsa el boton
 If Cuenta > 10 Then                                        " si contador mayor a diez vuelve a cero
   Cuenta = 0                                               " pone a cero el contador
   Tiempo = Tiempo - 100                                    " disminuye el tiempo de muestra en 100 ms
      If Tiempo < 100 Then                                  " si el tiempo de muestra es menor a 100 ms
         Tiempo = 1000                                      "pone el tiempo de muestra nuevamente en 1 seg
      End If
 End If
 Select Case Cuenta                                         " sentencia CASE que selecciona el dato a enviar por el puerto B segun
  Case 0 : Portb = &B01000000                               " el valor de la variable cuenta (contador)
  Case 1 : Portb = &B01111001
  Case 2 : Portb = &B00100100
  Case 3 : Portb = &B00110000
  Case 4 : Portb = &B00011001
  Case 5 : Portb = &B00010010
  Case 6 : Portb = &B00000010
  Case 7 : Portb = &B01111000
  Case 8 : Portb = &B00000000
  Case 9 : Portb = &B00010000
  Case 10 : Portb = &B00111111
 End Select
 Waitms Tiempo                                              " tiempo de espera para poder visualizar el valor en el display de 7 seg
 Goto Programa                                              " vuelve a la rutina INICIO




Aca el link de descarga:

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3947920


LISTO Y NOS VAMOS CONTRA ALEMANIA, VAMOS ECUADOR SI SE PUEDE...

SALUDOS HERMANOS
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #59 en: 10 de Diciembre de 2005, 21:07:00 »
Hola Amigos:

Aqui esta mi ejemplo en PBP... a diferencia de Fabian no utilizo el Case sino un vector:



Codigo:
"Programa: Juego de luces
"Giovanni Lafebre
"Cuenca - Ecuador

vec var byte [10]
pos var byte
Seg var word
vec[0]=191
vec[1]=134
vec[2]=219
vec[3]=207
vec[4]=230
vec[5]=237
vec[6]=253
vec[7]=135
vec[8]=255
vec[9]=239

TRISB=%00000000
PORTB=64
TRISA.0=%1
seg=1000

Pulsado:
    if PORTA.0=0 then
        goto loop
    else
        goto pulsado
    endif
    goto pulsado

loop:
    for pos=0 to 9
        PORTB=vec[pos]
        pause seg
    next pos
    seg=seg-100
    if seg<100 then
        seg=1000
    endif
    goto loop
end