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

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

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros

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 #61 en: 10 de Diciembre de 2005, 21:43:00 »
Hola amigos:

ahora les propongo el mismo ejemplo anterior pero con un decodificador:



Codigo:
"Giovanni Lafebre
"Cuenca - Ecuador

pos var byte
Seg var word

TRISB=%00000000
PORTB=0
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=pos
        pause seg
    next pos
    seg=seg-100
    if seg<100 then
        seg=1000
    endif
    goto loop
end

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #63 en: 10 de Diciembre de 2005, 22:08:00 »
que hubo hermanos


Pues el mismo ejemplo del compadre Lord, pero ya saben para AVR...

aca el codigo..

Codigo:

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

$crystal = 1000000                                          "cristal interno 1 MHZ ATMEGA9

Ddrb = 255                                                  "configurar puerto B como salida todos los pines en bajo 0 logico
Portb = 0

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
Dim I As Byte
Dim Tiempo As Word                                          " variable que va a contar las pulsaciones del boton


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
 End If
 For I = 0 To 9                                             " rutina de muestra del numero por el puerto B
   Portb = I
   Waitms Tiempo
 Next
 Tiempo = Tiempo - 100                                      " decremento del tiempo de muestra en 100 ms
 If Tiempo < 100 Then                                       " si el tiempo es menor a 100 ms vuelve a iniciarse el proceso 1 seg
   Tiempo = 1000
 End If

 Goto Programa






ACA EL LINK DE DESCARGA DE LOS ARCHIVOS:

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

SALUDOS COMPADRES
"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 #64 en: 11 de Diciembre de 2005, 14:35:00 »
Hola:

Compañeros aqui les pongo un ejemplo para matriz de leds de 7x5. En la matriz se muestra unicamente la letra "A"....

Es un codigo sencillo... cualquier cosa no duden en preguntar... Sonrisa Gigante



Codigo:
"Matris de Leds
"Giovanni Lafebre
"Cuenca Ecuador

TRISA=%00000000
TRISB=%00000000

loop:
    PORTA=%00001
    PORTB=%00000001
    pause 10
    PORTA=%00010
    PORTB=%01110110
    pause 10
    PORTA=%00100
    PORTB=%01110110
    pause 10
    PORTA=%01000
    PORTB=%01110110
    pause 10
    PORTA=%10000
    PORTB=%00000001
    pause 10
    goto loop
end

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros

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 #66 en: 11 de Diciembre de 2005, 15:34:00 »
Hola:

Amigos ahora les pongo un ejemplo que muestra un mensaje de  "HOLA" en una matriz de leds....



Codigo:
"Matris de Leds
"Giovanni Lafebre
"Cuenca Ecuador

fil var byte [20]
col var byte [5]
i   var byte
j   var byte
k   var byte

"columnas
col[0]=%00001
col[1]=%00010
col[2]=%00100
col[3]=%01000
col[4]=%10000
"A
fil[0]=%00000001
fil[1]=%01110110
fil[2]=%01110110
fil[3]=%01110110
fil[4]=%00000001
"O
fil[5]=%01000001
fil[6]=%00111110
fil[7]=%00111110
fil[8]=%00111110
fil[9]=%01000001
"H
fil[10]=%00000000
fil[11]=%01110111
fil[12]=%01110111
fil[13]=%01110111
fil[14]=%00000000
"L
fil[15]=%00111111
fil[16]=%00111111
fil[17]=%00111111
fil[18]=%00111111
fil[19]=%00000000

TRISA=%00000
TRISB=%00000000

INICIO:
    GoSub LetraH
    GoSub LetraO
    GoSub LetraL
    GoSub LetraA
    GoTo INICIO

LetraA:
    For k = 0 To 20
        j = 0
        For i = 0 To 4
        PORTA=col[j]
        PORTB=fil
        j = j + 1
        pause 10
        Next i
    Next k
    Return
LetraO:
    For k = 0 To 20
        j = 0
        For i = 5 To 9
        PORTA=col[j]
        PORTB=fil
        j = j + 1
        pause 10
        Next i
    Next k
    Return
LetraH:
    For k = 0 To 20
        j = 0
        For i = 10 To 14
        PORTA=col[j]
        PORTB=fil
        j = j + 1
        pause 10
        Next i
    Next k
    Return
LetraL:
    For k = 0 To 20
        j = 0
        For i = 15 To 19
        PORTA=col[j]
        PORTB=fil
        j = j + 1
        pause 10
        Next i
    Next k
    Return
End


El codigo esta basado en la siguiente idea:

tablas para cada letra y hago subrutinas para cada letra con dos bucles anidados, el primero es el tiempo que permanecera encendida cada letra y el segundo para ir mostrando los valores correspondientes que formaran la letra, todos los valores de las letras estan almacenadas en vectores.... seria bueno guardar todas estas tablas en una eeprom externa... pero esa es la idea, si a alguien se le ocurre algo mejor seria bueno saberlo.... Sonrisa Gigante

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 #67 en: 11 de Diciembre de 2005, 15:37:00 »
Hola:

Aqui estan los archivos del ejemplo anterior...

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

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 #68 en: 12 de Diciembre de 2005, 00:31:00 »
Hola:

Aqui les pongo un ejemplito mas muy sencillo esta ves es un punto que recorre columna por columna, una ves que llega a la ultima incrementa una fila y el punto regresa y luego incrementa una fila y avanza y asi sucesivamente.... Recuerdo un poco que era asi la forma mediante la cual pretendia mostrar mensajes sobre un arreglo de matrices.... si a alguien se le ocurre una idea para desplegar mensajes sobre arreglos de matices.... haganlo saber... Sonrisa Gigante



Codigo:
"Punto en matrices
"Giovanni Lafebre
"Cuenca - Ecuador

TRISA=0
TRISB=0
i       VAR BYTE
j       var byte
vec     var byte [10]

vec[0]=%01111110
vec[1]=%01111101
vec[2]=%01111011
vec[3]=%01110111
vec[4]=%01101111
vec[5]=%01011111
vec[6]=%00111111
j=0
loop:
    gosub ASCENDER
    gosub descender
    goto loop
end

ASCENDER:
    for i=0 to 9
        PORTA=i
        PORTB=vec[j]
        pause 60
    next i
    j=j+1
    if j>=7 then
        j=0
    endif
    return
DESCENDER:
    for i=9 to 0 step-1
        PORTA=i
        PORTB=vec[j]
        pause 60
    next i
    j=j+1
    if j>=7 then
        j=0
    endif
    return

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #70 en: 15 de Diciembre de 2005, 21:53:00 »
Que hubo compadres...

Pues estos dias he andado un poquitin ocupado y por eso el atraso en los ejemplos que dicho sean de paso, me ayudaron bastante para aprender manejo de matrices de leds... el compadre Lord_Lafebre, me acolito en la prog para AVR..

Bueno no mas palabras, vamos con el codigo....

Este es el ejemplo de matriz de leds para mostrar la letra A..

Codigo:
"******************************************************
" MATRIZ DE LEDS  -  LETRA A
"******************************************************

$crystal = 1000000                                          "cristal interno 1 MHZ ATMEGA9

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

Ddrc = &B11111                                              " configurar pic C.0 como entrada en pull up
Portc = &B00000


 Inicio:

 Portc = &B00001
 Portb = &B00000011
 Waitms 10
 Portc = &B00010
 Portb = &B11101101
 Waitms 10
 Portc = &B00100
 Portb = &B11101110
 Waitms 10
 Portc = &B01000
 Portb = &B11101101
 Waitms 10
 Portc = &B10000
 Portb = &B00000011
 Waitms 10
 Goto Inicio



Aca esta el ejemplo de matriz de leds para mostrar la palabra HOLA..... Trate de hacer el codigo un poco mas corto q el del pana Lord_Lafebre, pero por si acaso tambien deje como comentarios una programacion similar a la de su ejemplo...

Listo compadres aca el codgio de este ejemplo de matriz de leds y la palabra HOLA:

Codigo:
"******************************************************
" MATRIZ DE LEDS  -  HOLA
"******************************************************

$crystal = 1000000                                          "cristal interno 1 MHZ ATMEGA9

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

Ddrc = &B11111                                              " configurar pic C.0 como entrada en pull up
Portc = &B00000

"******** DECLARACION DE VARIABLES A USAR***********

Dim Col(5) As Byte                                          "VECTOR COLUMNAS
Dim Fila(20) As Byte                                        "VECTOR FILAS
Dim I As Byte                                               "CONTADORES Y VARIABLES AUXILIARES
Dim J As Byte
Dim K As Byte
Dim Cont As Byte
Dim X As Byte
Dim Y As Byte

Col(1) = 1                                                  "COLUMNA 1= 00001
Col(2) = 2                                                  "COLUMNA 2= 00010
Col(3) = 4                                                  "COLUMNA 3= 00100
Col(4) = 8                                                  "COLUMNA 4= 01000
Col(5) = 16                                                 "COLUMNA 5= 10000

"**** LETRA H *****

Fila(1) = &B0000000
Fila(2) = &B1110111
Fila(3) = &B1110111
Fila(4) = &B1110111
Fila(5) = &B0000000

"**** LETRA 0 *****

Fila(6) = &B1000001
Fila(7) = &B0111110
Fila(8) = &B0111110
Fila(9) = &B0111110
Fila(10) = &B1000001

"**** LETRA L *****

Fila(11) = &B0000000
Fila(12) = &B0111111
Fila(13) = &B0111111
Fila(14) = &B0111111
Fila(15) = &B0111111

"**** LETRA A *****

Fila(16) = &B0000001
Fila(17) = &B1101110
Fila(18) = &B1101110
Fila(19) = &B1101110
Fila(20) = &B0000001


Inicio:
   For Cont = 1 To 4                                        " CONT DE LETRA EN ESTE CASO 4 LETRAS : "HOLA"
     For K = 0 To 20                                        " BUCLE DE TIEMPO DE MUESTRA DE CADA LETRA
        J = 1                                               "INDICE QUE INDICA EL INICIO DE CADA COLUMNA
        Select Case Cont                                    " SELECCIONA LOS VALORES LIMITES PARA LAS FILAS SEGUN
         Case 1 : X = 1                                     "EL VALOR DE LA LETRA A A MOSTRAR
                   Y = 5
         Case 2 : X = 6
                   Y = 10
         Case 3 : X = 11
                   Y = 15
         Case 4 : X = 16
                   Y = 20
        End Select
        For I = X To Y                                      " BUCLE QUE MUESTRA CADA LETRA SEGUN LOS LIMITES ANTES ESTABLECIDOS
        Portc = Col(j)                                      " MOSTRAR VALORES DE COLUMNA 1 A 5 EN EL PUERTO C
        Portb = Fila(i)                                     " MOSTRAR LA LETRA POR EL PUERTO B
        J = J + 1                                           " INCREMENTAR EL VALOR DE LA COLUMNA
        Waitms 10                                           " TIEMPO DE ESPERA ENTRE COLUMNAS
        Next
     Next
   Next

" ******************ACA LES COLOCO EL CODIGO SIMILAR AL HECHO POR NUESTRO PANA LORD_LAFEBRE************
" ****************** ESTAN COMO COMENTARIOS POR SI DESEAN UTILIZAR EL CODIGO HECHO POR EL *************



"   Gosub Letrah
"   Gosub Letrao
"   Gosub Letral
"   Gosub Letraa

Goto Inicio




"Letrah:
"   For K = 0 To 10
"        J = 1
"        For I = 1 To 5
"        Portc = Col(j)
"        Portb = Fila(i)
"        J = J + 1
"        Waitms 10
"        Next
"    Next

"Return

"Letrao:
"   For K = 0 To 10
"        J = 1
"        For I = 6 To 10
"        Portc = Col(j)
"        Portb = Fila(i)
"        J = J + 1
"        Waitms 10
"        Next
"    Next

"Return

"Letral:
"   For K = 0 To 10
"        J = 1
"        For I = 11 To 15
"        Portc = Col(j)
"        Portb = Fila(i)
"        J = J + 1
"        Waitms 10
"        Next
"    Next

"Return

"Letraa:
"   For K = 0 To 10
"        J = 1
"        For I = 16 To 20
"        Portc = Col(j)
"        Portb = Fila(i)
"        J = J + 1
"        Waitms 10
"        Next
"    Next
"Return



Y aca el link de descarga de estos ejemplos:

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


Bueno eso es todo por hoy, ya nos veremos..

SALUDOS Y UN ABRAZO DESDE ECUADOR RebotadoSonrisa Gigante
"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 #71 en: 19 de Diciembre de 2005, 21:59:00 »
HOLA

AL FIN PONGO MI PRIMER PROGRAMA Y EJEMPLO EN PBP, ES UN PUBLICK EL CUAL REALIZA UN DESPLAZAMIENTO DE LA PALBRA HOLA, ES MUY SENCILLO ESPERO QUE LES SIRVA. LO HICE BASANDOME EN LOS PROGRAMAS DE LORDLAFEBRESonrisa Gigante



CODIGO:
"PUBLICK
"PAOLA09
"COLOMBIA

fil var byte [21]
i var byte
j var byte
k var byte
T VAR BYTE
l VAR BYTE

"A
fil[15]=%00000001
fil[16]=%01110110
fil[17]=%01110110
fil[18]=%01110110
fil[19]=%00000001
"O
fil[5]=%01000001
fil[6]=%00111110
fil[7]=%00111110
fil[8]=%00111110
fil[9]=%01000001
"H
fil[0]=%00000000
fil[1]=%01110111
fil[2]=%01110111
fil[3]=%01110111
fil[4]=%00000000
"L
fil[14]=%00111111
fil[13]=%00111111
fil[12]=%00111111
fil[11]=%00111111
fil[10]=%00000000
fil[20]=%11111111

TRISA=%00000
TRISB=%00000000

INICIO:
gosub Letra
GOSUB ROTA
goto inicio

Letra:
for k=0 to 2
for i=0 to 9 "STEP -1
PORTA=i
PORTB=fil
pause 5
next i
next k
return

ROTA: i=0
T=fil[0]
FOR i=0 TO 19
fil=fil[i+1]
NEXT i
fil[20]=T
return
end

Desconectado PAOLA09

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 332
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #72 en: 19 de Diciembre de 2005, 22:07:00 »
HOLA

AQUI ENCUENTRAN LOS ARCHIVOS PARA EL PUBLICK

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

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 #73 en: 19 de Diciembre de 2005, 22:21:00 »
Hola:

Esta muy bien tu ejemplo Pao, recuerdo que es alli hasta donde llegue... ahora veo que estamos en el mismo "swing" seria bueno sacar esto adelante... ya hablaremos para ver que hacer.... voy a buscar el soft que tenia en VB para generar codigo para el pic... o sino me pongo ha hacer otro...

Pero eso dejemoslo para despues y hagamos mas ejemplitos... alguien propone alguno...? Sonrisa Gigante

Desconectado doppel

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1531
RE: Aprender Pic y AVR con compiladores Basic (Proton, PBP, Bascom) simulación en Proteus
« Respuesta #74 en: 20 de Diciembre de 2005, 23:24:00 »
uhhh como avanza esto!!! grandioso!!

felicitaciones amigos  Rebotado


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


 

anything