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

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

Desconectado doppel

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1534
Holas
les coloco un ejemplo con un display de 7 segmentos, usando IF
ya en este foro se ha tocado el tema muchas veces en la parte referida a PIC BASIC PRO Y PROTON mas especificamente en :

http://miarroba.com/foros/ver.php?foroid=8826&temaid=4001543

donde hay un montón de ejemplos hechos por LORDLAFEBRE, donde se utiliza un display de 7 segmentos pero utilizando LOOKUP , los ejemplos de Lordlafebre están hechos en Pbpro

he aqui otra forma, no muy "estilizada" pero bien sirve como ejemplo está en PBplus donde tb es factible usar LOOkUP.-

como pueden observar las diferencias no existen casi, por lo menos en estos sencillos ejemplos, ya cuando coloquemos ejemplos mas complejos se notaran algunas diferencias bien marcadas.-


Codigo:
device = 16f84a
xtal = 4

dim Buff as Byte
dim cuenta as Byte
symbol btn = PORTB.0

clear
cuenta = 0
    TRISB = %00000001 "defino todas salidas menos el bit 0 que es entrada
    PORTB = %11110010 "inicio mostrando el numero "1" en el display

inicio:
                    DELAYMS 25
      BUTTON btn,0,40,5,Buff,1,programa "si el boton es apretado sale del bucle y va a programa
      GOTO inicio

programa:
   cuenta = cuenta + 1
   IF cuenta > 9 THEN
    cuenta = 0
      else
      if cuenta = 1
         PORTB = %11110010 "numero 1
         goto inicio  
       endif
      if cuenta = 2
                   PORTB = %01001000 " numero 2
         goto inicio  
       endif
      if cuenta = 3
         PORTB = %01100000 "numero 3
         goto inicio
       endif
      if cuenta = 4
         PORTB = %00110010 "numero 4
         goto inicio
       endif
      if cuenta = 5
         PORTB = %00100100 "numero 5
         goto inicio
       endif
      if cuenta = 6
         PORTB = %00000100 "numero 6
         goto inicio
       endif
      if cuenta = 7
         PORTB = %11110000 "numero 7
         goto inicio
       endif
      if cuenta = 8
         PORTB = %00000000 " numero 8
         goto inicio  
       endif
      if cuenta = 9
         PORTB = %00110000  "numero 9
       endif
   endif
goto inicio



tb una imagen de la simulacion en proteus! saludos
y ojala alguien se anime a colocar sus imagenes de como implemento los ejemplos


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

Desconectado LordLafebre

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

Bien doppel, veo que quedamos los dos, pero lo que cuenta es que podemois seguir haciendo los ejemplosy si alguien mas se anima pues bienvenido sea, mañana pongo un ejemplo en PBP para lo que tu hiciste, utilizando los IF y el Case para que se pueda notar la diferencia.... tambien esta de hacer mas seguido los ejemplos ahora ya dispongo de un poco mas de tiempo... Sonrisa Gigante

Desconectado lord_10

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 612
    • My Blog
gracias Doppel por el ejemplo.....yo igual ya empece con esto...del PBP ya pronto ire viendo mis dudas k salgan s ela scomneto por aki...Giño
..::  3D5F ™ ::..  AHC

"Tan sólo hace falta una pequeña idea, para hacer un gran sueño realidad."

Desconectado LordLafebre

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

Aqui esta el mismo ejemplo del amigo Doppel pero en PBP y utilizando un Case:

Codigo:
"Display 7seg. con Case

cont    var byte

TRISB=0

cont=0

loop:
    select case cont
                   "gfedcba
        case 0
            PORTB=%01000000
        case 1
            PORTB=%01111001
        case 2
            PORTB=%00100100  
        case 3
            PORTB=%00110000
        case 4
            PORTB=%00011001
        case 5
            PORTB=%00010010
        case 6
            PORTB=%00000011
        case 7
            PORTB=%01111000
        case 8
            PORTB=%00000000
        case 9
            PORTB=%00011000
    end select  
    cont=cont+1
    if cont>9 then
        cont=0
    endif
    pause 250
    goto loop
end



Desconectado doppel

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1534
Hola amigos!


completando el circuito anterior he agregado una rutina para el RESET, la cual borra los números del array y lo deja en "0" indicandolo en el display, pendiente queda para la proxima el grabado en la EPROM.-

Codigo:
labelreset:
            for R=0 to 3       "recorro las posiciones del array
         arrVals[R]= 0      "igualo las posiciones a "0"
         next
         PORTB = %10000000  " resetea a cero y muestra cero en display
              goto inicio

lo anterior se agrega al codigo existente.-

la simulación en proteus:



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

Desconectado manuelroin

  • PIC12
  • **
  • Mensajes: 51
Bueno primero antes que nada quisiera saludarlos a todos y agradecerle su interes por nosotros los mas cabezaduras de los PIC asi que muchas gracias pero emepzando mi primera peticion es de donde puedo bajrame el proteus ------------------------------------------------------------------------------------------------------------------------- gracias de antemano

Desconectado LordLafebre

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

Pue Bienvenido y disculpa por editar tu mensaje pero no es conveniente que pidas abiertamente aqui en el foro que compartan software pirata, si lo quieres descargar busca en el Emule o en el Kazaa o uno de esos programas o escribe al privado pero no lo hagas aqui porque corremos el riesgo de que nos cierren el foro...

Buscalo como te comente... Suerte...! Sonrisa Gigante

Desconectado manuelroin

  • PIC12
  • **
  • Mensajes: 51
bueno disculpame por favor  es la ignorancia dime una cosa como reconozco si un pic es de 20 MHZ pq  no dice  16f877 - 20 sino dice PIC16F877A-I/P

Desconectado manuelroin

  • PIC12
  • **
  • Mensajes: 51
por favor la respuesta es urgente no sean malos soy novataso!!!!!

Desconectado LordLafebre

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

pues si no estoy mal esos soportan frecuencias de hasta 20Mhz... por lo que funcionaria sin problemas para un cristal de 20...

Desconectado manuelroin

  • PIC12
  • **
  • Mensajes: 51
Muchas gracias sino estoy cometiendo un error ----------------------------------------------------------------------------------------------

Desconectado LordLafebre

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

Perdon por volver a editar tu mensaje pero por favor no pidas hacer eso..... eso es pedir o compartir software pirata.... y como ya te comente corremos el riesgo de que nos cierren el foro... Avergonzado

Desconectado manuelroin

  • PIC12
  • **
  • Mensajes: 51
hola amigo del Ecuador por favor me harias el favorsaso de darme tu Messenger para conversar sobre el tema please

Desconectado LordLafebre

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

Puedes escribirme al privado...! Sonrisa Gigante

Desconectado manuelroin

  • PIC12
  • **
  • Mensajes: 51
lee lo que te escribi please