TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: anthony123 en 01 de Diciembre de 2007, 00:34:42
-
Hola compañeros, primera vez que escribo en este excelente foroy no se si lo he puesto en la seccion correcta. Pues me he puesto en la construccion de un air display con el pic 12F629 que aparece en josepino.com. (air display (http://http://www.josepino.com/pic_projects/index.php?air_display.jpc))En dicha pagina aparece un algoritmo para modificar el mensaje que se quiere mostrar. Tengo varias preguntas:
1.- ¿que tipo de lenguaje es el que emplean?
2.-¿que pasos tendria que emplear despues para sacar el archivo .hex?
2.- Esta buena esta modificación?
;Microcontroller: 12f629 Speed: 4 Mhz Internal RC
delay 200 miliseconds
Set Comparator Mode 7
variable byte f = 00000000b ; Output data
variable byte s ; Temporal variable
variable byte o ; message number.
procedure salida( s as byte ) is
gpio = s
delay 500 us
gpio = 00000000b
delay 200 us
end procedure
procedure disp ( f as byte ) is
if f = "0" then f = "O"
if f = "A" then
salida(0011_0110)
salida(0000_0101)
salida(0000_0101)
salida(0011_0110)
end if
if f = "B" then
salida(0011_0111)
salida(0010_0101)
salida(0010_0101)
salida(0001_0010)
end if
if f = "C" then
salida(0001_0110)
salida(0010_0001)
salida(0010_0001)
salida(0010_0001)
end if
if f = "D" then
salida(0011_0111)
salida(0010_0001)
salida(0010_0001)
salida(0001_0110)
end if
if f = "E" then
salida(0011_0111)
salida(0010_0101)
salida(0010_0101)
salida(0010_0001)
end if
if f = "F" then
salida(0011_0111)
salida(0000_0101)
salida(0000_0101)
salida(0000_0001)
end if
if f = "G" then
salida(0001_0110)
salida(0010_0001)
salida(0010_0101)
salida(0011_0101)
end if
if f = "H" then
salida(0011_0111)
salida(0000_0100)
salida(0000_0100)
salida(0011_0111)
end if
if f = "I" then
salida(0010_0001)
salida(0011_0111)
salida(0010_0001)
end if
if f = "J" then
salida(0001_0000)
salida(0010_0000)
salida(0010_0000)
salida(0001_0111)
end if
if f = "K" then
salida(0011_0111)
salida(0000_0100)
salida(0001_0010)
salida(0010_0001)
end if
if f = "L" then
salida(0011_0111)
salida(0010_0000)
salida(0010_0000)
salida(0010_0000)
end if
if f = "M" then
salida(0011_0111)
salida(0000_0010)
salida(0000_0100)
salida(0000_0010)
salida(0011_1111)
end if
if f = "N" then
salida(0011_0111)
salida(0000_0010)
salida(0000_0100)
salida(0001_0000)
salida(0011_0111)
end if
if f = "O" then
salida(0001_0110)
salida(0010_0001)
salida(0010_0001)
salida(0001_0110)
end if
if f = "P" then
salida(0011_0111)
salida(0000_0101)
salida(0000_0101)
salida(0000_0010)
end if
if f = "Q" then
salida(0001_0110)
salida(0010_0001)
salida(0011_0001)
salida(0011_0110)
end if
if f = "R" then
salida(0011_0111)
salida(0000_0101)
salida(0000_0101)
salida(0011_0010)
end if
if f = "S" then
salida(0010_0010)
salida(0010_0101)
salida(0010_0101)
salida(0001_0001)
end if
if f = "T" then
salida(0000_0001)
salida(0011_0111)
salida(0000_0001)
end if
if f = "U" then
salida(0001_0111)
salida(0010_0000)
salida(0010_0000)
salida(0001_0111)
end if
if f = "V" then
salida(0000_0111)
salida(0001_0000)
salida(0010_0000)
salida(0001_0000)
salida(0000_0111)
end if
if f = "W" then
salida(0011_0111)
salida(0001_0000)
salida(0000_0100)
salida(0001_0000)
salida(0011_0111)
end if
if f = "X" then
salida(0010_0001)
salida(0001_0010)
salida(0000_0100)
salida(0001_0010)
salida(0010_0001)
end if
if f = "Y" then
salida(0000_0001)
salida(0000_0010)
salida(0011_0100)
salida(0000_0010)
salida(0000_0001)
end if
if f = "Z" then
salida(0011_0001)
salida(0010_0101)
salida(0010_0101)
salida(0010_0011)
end if
if f = "1" then
salida(0010_0001)
salida(0011_0111)
salida(0010_0000)
end if
if f = "h" then ; 'h' lowercase = Hearth character
salida(0000_0010)
salida(0000_0111)
salida(0001_0111)
salida(0011_0110)
salida(0001_0111)
salida(0000_0111)
salida(0000_0010)
end if
if f = "!" then
salida(0000_0000)
salida(0010_0111)
salida(0000_0000)
end if
if f = "'" then
salida(0000_0011)
end if
if f = "." then
salida(0010_0000)
end if
if f = "o" then ; 'o' Lowecase
salida(0001_0000)
salida(0010_0100)
salida(0010_0100)
salida(0001_0000)
end if
if f = " " then ; space character.
delay 4 miliseconds
end if
delay 1 milisecond
end procedure
; main program
gpio = all output
if o = 0 then
; Display "ANTHONY"
o = o + 1
anthony loop
disp("A")
disp("N")
disp("T")
disp("H")
disp("O")
disp("N")
disp("Y")
disp(" ")
disp("h")
end loop
end if
o = 0
salida(0000_0000)
sleep microcontroller ; sleep command
nop ; No operation
-
Hola Anthony,
he movido tu mensaje aquí porque ese programa está escrito en Basic, aunque no sé decirte qué versión o para qué compilador.
Seguro que en este subforo te podrán orientar mejor.
Por cierto, echa un vistazo a este hilo, que seguramente te interesará:
http://www.todopic.com.ar/foros/index.php?topic=18345.0
-
Pues si lo he leido, pero ellos tratan el tema de manera dificil y con led's RGB. Yo solamente busco hacer un air display sencillo y un PIC 12F629. Ademas necesito saber que lenguaje es para poder concretar el proyecto. :shock:
-
Hola puedes ver esta version del mismo JOSEPINO, solo que modificado a PICBASIC por Alexandre COSTA, muy bueno y practico.
Pagina de Alexandre Costa (http://br.geocities.com/alexrobotica/) ahi en contraras el AIR DISPLAY con PBP. ¿Que necesitas para echarlo andar? Bueno ademas del material que te dice el compilador Picbasic Pro un grabador de PIC's y muuchas ganas
-
Las ultimas dos las tengo, pero soy super novato con esto de los codigos. Podrias explicar mas de como hacer con el? :-)
-
Ya entraste a la pgina donde esta el codigo de PIC BASIC al link que te puse; ademas no hace decir que si estas empezando seria bueno que "empezaras" por lo basico, es decir, que entinedas primero el lenguaje y despues empieces con aplicaciones mas complejas te dejo este link (http://micros.mforos.com/1149902/6040164-lo-basico-del-basic-para-pics/) para que no pierdas animos ni tiempo en lograr crear tu Air Display
-
Pues me dijeron que tenia que seguir estos datos:
1* Lo copie
2*Lo pegue en un wordpad
3*Lo abra en MPLAB
4*Lo copile
5*Lo mande al PIC
¿Es correcto?
-
Anthony, el mplab no lo va a compilar ya que solo compila asm, para que compile otros lenguajes, hay que indicarles que trabaje con otros programas que soporten esos lenguajes a compilar, por ejemplo, para compilar CCS hay que indicarle al mplab donde está el programa ccs.exe (para windows) y listo.
Hay que esperar que alguien que trabaje con basic para que te indique que versión es. Una vez conseguido esto, hay que descargar el programa necesario para poder copiar y pegar el programa del display y compilarlo.
-
Yo tengo el CCs pero no se como empalmarlo al MPLAB
-
En el video #1 explico como hacerlo
http://www.todopic.com.ar/foros/index.php?topic=19177.0
De todas maneras el CCS no te sirve para compilar basic.
-
En el video #1 explico como hacerlo
http://www.todopic.com.ar/foros/index.php?topic=19177.0
4- Una vez compilado, quemar el pic con el archivo .h generado por dicho compilador.
Leon Pic parece que has tenido un pequeño despiste. Lo que se graba en el pic es el fichero .hex generado.
Un saludo
-
Bueh si eso es lo que dicen, tendre que esperar. Saludos :mrgreen:
-
Una vez compilado, quemar el pic con el archivo .h generado por dicho compilador.
Leon Pic parece que has tenido un pequeño despiste. Lo que se graba en el pic es el fichero .hex generado.
Un saludo
Si, tienes razón. Me "comí las letras ex :mrgreen:
-
Y a veces me siento mudo:
Pagina de Alexandre Costa ahi en contraras el AIR DISPLAY con PBP. ¿Que necesitas para echarlo andar? Bueno ademas del material que te dice el compilador Picbasic Pro un grabador de PIC's
Ya entraste a la pgina donde esta el codigo de PIC BASIC al link que te puse; ademas no hace decir que si estas empezando seria bueno que "empezaras" por lo basico, es decir, que entiendas primero el lenguaje y despues empieces con aplicaciones mas complejas te dejo este link
Osea tampoco esperen que se les haga el trabajo. Creo Yo que con esos links para empezar es suficiente ademas que el programa delAir display que quieres hacer esta mas que transparente
-
Hey, que tonto soy, no vi el link. (bueno es obvio porque tenía mucha luz sobre la pantalla y no veía bien :mrgreen: que tonto ¿no?
Bueno ya está Anthony, descarga el pic basic y lo puedes modificar a tu gusto con este programa.
-
Pues no lo decia por ti Leon... :|
PD no se lo tomen mal digamos que me agarraron en mis "five minutes"
-
:? :? :? Pues me dejaron en las mismas!!. A ver si entendi algo:
Descargo el PicBasicPro, este programa me copila y me saca el .hex?¿?¿? :? :? :?
-
Pues no lo decia por ti Leon... :|
PD no se lo tomen mal digamos que me agarraron en mis "five minutes"
No te preocupes que no me sentí ofendido. De echo si no lo aclarabas, talvez núnca me habría dado cuenta (ya que me obligo a leer todo de nuevo y fue ahí cuando lo vi)
:? :? :? Pues me dejaron en las mismas!!. A ver si entendi algo:
Descargo el PicBasicPro, este programa me copila y me saca el .hex?¿?¿? :? :? :?
Así es.
-
pero tngo que ponerlo a trabajar con el MPLAB?
-
Antony en el mundo de los Pics existen varios lenguajes como son: Ensamblador o ASM que es el nativo. Lenguaje C, Lenguaje Basic, Lenguaje Ladder, Lenguaje Basic e incluso por diagrama de flujo. Con todos estos lenguajes puedes crear un programa despues de compilar te da un archivo HEX que es el que debes cargar en el PIC.
En este caso para cada lenguaje hay un compilador ASM Mplab, C: CCS, HITECH SDCC, etc. Basic: Pic basic Pro, Proton, Mikrobasic,Mbasic etc.
Aqui en tu caso esta en algun lenguaje Basic desconozco cual, en un link que te pongo usan el PBP para realizarlo por lo tanto necesitas el PIC Basic Pro para compilarlo y generar el HEX que grabaras en el PIC.
-
mmmm la verdad que estube hablando con un compañero estadounidense y me comentó que es mejor el MikroBasic ¿es cierto?
-
Si nos vamos a que es mejor todo es cuestion de gustos... En mi caso prefiero Proton ya que no tiene tanto pero tanto bug como MKB, pero si gustas empezar con MKB el mismo codigo de PBP del Air Display lo puedes trasladar a MKB. De igual forma tenemos el Hilo de Comenzando con MKB (http://www.todopic.com.ar/foros/index.php?topic=13756.0) por si te interesa.
-
Pues lo tngo instalado, la version demo que tiene un maximo hasta 2K. De todas manera lo voy a leer y despues publico como quedó 8)