Autor Tema: ¿Como hacer un "Hola Mundo" en Pic Basic?  (Leído 9982 veces)

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

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
¿Como hacer un "Hola Mundo" en Pic Basic?
« en: 10 de Noviembre de 2007, 00:30:59 »
Que nadie se escandalice pero mi pregunta es a la vez simple, para quien sabe hacerlo, pero infinitamente compleja para quien no tiene ni idea.

En C si quisiera o quisiese enviar un Hola Mundo al canal serie o a un LCD pondría;

printf("Hola Mundo");

y todo solucionado.  :mrgreen:

Podría también declarar una variable o constante como una matriz (arreglo) de caracteres sin especificarle el tamaño y asignarle el famosísimo texto:

char MyText[] = "Hola Mundo";
printf("%s",MyText);

y de nuevo tendría la solución sobre la mesa.  :mrgreen:

Pero ¿Y en Pic Basic Pro? ¿Cómo podría hacer esto mismo?  :shock:

« Última modificación: 10 de Noviembre de 2007, 00:50:58 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado microfull

  • PIC10
  • *
  • Mensajes: 26
    • microfull
Re: ¿Como hacer un Hola Mundo en Pic Basic?
« Respuesta #1 en: 10 de Noviembre de 2007, 00:45:30 »
Bueno Redpic veo que te has interesado por el basic, bueno al igual que c es muy facil. ESPERO QUE TE SIRVA O ME EXPLIQUE BIEN :-/


solo escribes la rutina
    LCDOUT$FE,1,"HOLA MUNDO"

claro que antes de usar la instruccion debes configurar o en las palabras de basic definir donde estaran ubicadas las conecciones de la lcd y si bas a trabajarla a 8 bit's o solo 4

detalle de la instruccion LCDOUT

LCDOUT Item{ , Item...}

Muestra Items en un visor de cristal líquido inteligente (LCD). PBP soporta módulos LCD con un controlador Hitachi 44780 o equivalente. Estos LCD, usualmente, tienen un cabezal de 14 o 16 pins simples o duales en un extremo.

Si el signo (#) está colocado antes de un Item, la representación ASCII para cada dígito es enviada al LCD. LCDOUT también puede usar cualquiera de los modificadores usados con SEROUT2. Vea la sección de SEROUT2 para más información.

Un programa debe esperar, por lo menos, medio segundo antes de enviar el primer comando a un LCD. Puede tomar bastante tiempo a un LCD arrancar.

Los comandos son enviados al LCD, enviando un $FE seguido por el comando. Algunos comandos útiles se muestran en la siguiente tabla:

 

Comando
 Operación
 
$FE, 1
 Limpia visor
 
$FE, 2
 Vuelve a inicio (comienzo de la primera línea)
 
$FE, $0C
 Cursor apagado
 
$FE, $0E
 Subrayado del cursor activo
 
$FE, $0F
 Parpadeo del cursor activo
 
$FE, $10
 Mueve cursor una posición hacia la izquierda
 
$FE, $14
 Mueve cursor una posición hacia la derecha
 
$FE, $C0
 Mueve cursor al comienzo de la segunda línea
 

INDICE

Note que hay un comando para mover el cursor al comienzo de la segunda línea en un visor de dos líneas. Para muchos LCD, los caracteres y líneas mostrados no son consecutivos en la memoria del visor - puede haber un salto entre las localizaciones. Para muchos visores 16x2, la primera línea comienza en $0 y la segunda, en $40. El comando:

LCDOUT $FE, $C0

hace que el visor comience a escribir caracteres en el principio de la segunda línea. Los visores 16x1 usualmente están formateados como visores de 8x2, con un salto entre las locaciones de memoria para los primeros y segundos caracteres de 8. Los visores de 4 líneas, también tienen un mapa de memoria no ordenado.

Vea la hoja de datos para el dispositivo LCD, en particular el que usted esté usando, para las locaciones de memoria de caracter y comandos adicionales.

LCDOUT $FE, 1, “Hello” ‘limpia el visor y muestra “Hello”


Para cambiar este seteo, coloque uno o más de los siguientes DEFINEs, todos en mayúsculas, en el comienzo de su programa PBP:


ACA DE DEJO LAS DEFINICIONES

‘ Setea el port de datos LCD

DEFINE LCD_DREG PORTB

‘ Setea el bit de comienzo de datos (0 o 4) si el bus es de 4-bit

DEFINE LCD_DBIT 0

‘ Setea el port LCD Register Select

DEFINE LCD_RSREG PORTB

‘ Setea el bit LCD Register Select

DEFINE LCD_RSBIT 4

‘ Setea el port LCD Enable

DEFINE LCD_EREG PORTB

‘ Setea el bit LCD Enable

DEFINE LCD_EBIT 5

‘ Setea el tamaño del bus LCD (4 o 8 bits)

DEFINE LCD_BITS 4

‘ Setea el numero de lineas en el LCD

DEFINE LCD_LINES 2



www.microfull.com
Desarrollo de proyectos microcontrolados

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #2 en: 10 de Noviembre de 2007, 00:50:16 »
Muchas gracias microfull, está perfectamente claro ...  :mrgreen:

¿Cómo podría asignar un texto a una Matriz (Arreglo o Array) de caracteres?

char MyText[] = "Hola Mundo";

Para poder utilizarlo repetidas veces desde distintos puntos de mi programa.

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado pipoforos

  • PIC10
  • *
  • Mensajes: 12
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #3 en: 15 de Noviembre de 2007, 14:29:38 »
redpic si lo quieres hacer en poca basic plus con el compilador de proton+ primero tienes q definir el puerto que vas a utilizar y los pines xq el pic basic tiene su configiracion por default, lo inconveniente aki y en el pic basic pro de microcode estudio, es que utilizan dos puertos, el b para los datos y activar alguna del lcd, y el porta para el rs creo,,, lo mejor en ambos programas es definir uno solo para todo el lcd,,, ahh y te recimiendo usar solo un bus de 4 bits...
para el pic basic plus solo basta con poner print "hola mundo" y la linea dnd quieres q vaya, claro antes tienes qie definir un delayms para q el lcd inicialize y un delayms despues relativamente largo para q lo puedas visualizar :lol: :-) :-) :-)

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #4 en: 15 de Noviembre de 2007, 14:38:46 »
Hola:

Que andas haciendo con el Basic Diego  :shock: :shock: :shock:

Puedes usar Lookup para lo que necesitas:


LOOKUP PRO STD

LOOKUP Index,[Constant{,Constant...}],Var

The LOOKUP statement can be used to retrieve values from a table of 8-bit constants. If Index is zero, Var is set to the value of the first Constant. If Index is one, Var is set to the value of the second Constant. And so on. If Index is greater than or equal to the number of entries in the constant list, no action is taken and Var remains unchanged. The constant list can be a mixture of numeric and string constants. Each character in a string is treated as a separate constant equal to the character's ASCII value. Array variables with a variable index may not be used in LOOKUP although array variables with a constant index are allowed. Up to 255 (256 for 18Cxxx) constants are allowed in the list.

Example

FOR B0 = 0 TO 5 ' Count from 0 to 5
  LOOKUP B0,["Hello!"],B1 ' Get character number B0 from string to variable B1
  LCDOUT B1
NEXT B0 ' Do next character


Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #5 en: 15 de Noviembre de 2007, 14:50:26 »
Gio, entre otras cosas estoy modificando/depurando un programa de otra gente, hecho en Pic Basic Pro, y estoy acostumbrado a mis printf allá donde quiero ver el valor de una variable, o un aviso de que he pasado por alli o ... cosas así. Y no sabia poner ni ese Hola mundo de toda la vida.  :mrgreen:

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #6 en: 15 de Noviembre de 2007, 14:57:44 »
Hola:

Para visualizar variables puedes usar:

BIN DEC O HEX, que te permite visualizar en el LCD el valor en decimal, binario o hexadecimal de la variable, tambien "#" que mostrará el dato tal cual es.

Cualquier cosa estamos por aquí.  :mrgreen:

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #7 en: 15 de Noviembre de 2007, 18:06:17 »
RedPic multilanguage programmer  :D
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #8 en: 15 de Noviembre de 2007, 18:46:33 »
Si amigo Pedro, y la verdad es que lo primero que escribí para un PIC fue en Pic Basic Pro, de hecho fue también una modificación del mismo programa que ahora estoy intentando modificar (de nuevo). El proveedor que nos vendió el cacharro nos dio también los fuentes de su Firmware y mi amado jefe me encargó su mantenimiento, y como están en Pic Basic Pro pues aquí me tienes.  :mrgreen:

Yo antes había trabajado mucho en ASM con los Motorola 68HC11 y antes también en ASM con los Intel 8085 y los Motorola 68000 y este fue el primer encargo que recibí para hacer cosas con los PIC´s. Y de ahí salió mi afición por estos maravillosos dispositivos.  :mrgreen: :mrgreen: :mrgreen:

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #9 en: 15 de Noviembre de 2007, 19:42:11 »
siempre se vuelve al primer amor  :g)  :D :D :D :D
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: ¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #10 en: 15 de Noviembre de 2007, 20:31:05 »
Exactamente que necesitas hacer, Diego??
Asi revuelvo entre mis cacharros y te doy rutinas de display en PBP que hasta escriben en numeros grandes (como las que hice en C)... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Resistencio

  • PIC12
  • **
  • Mensajes: 82
Re:¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #11 en: 27 de Marzo de 2016, 23:01:14 »
9 años no es nada, siempre se puede preguntar...DGLSOFT, me podrías decir como escribir caracteres grandes en un LCD...Me estoy quedando "chicato", y me gustaría aprender como hacerlo en PBP Pro...Empece hace apenas 3 semanas con este lenguaje, hace 15 años que uso ASM...Gracias por cualquier aporte o idea...Saludos !!!

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:¿Como hacer un "Hola Mundo" en Pic Basic?
« Respuesta #12 en: 28 de Marzo de 2016, 19:54:55 »
Yo tengo una actualizada para el Basic del PSI, dejo el enlace por si te sirve y video.
Si logras sacarle partido más adelante puedo publicar otra versión que permite numeros negativos y decimales.
No la publico ahora porque está realizada con funciones y tendria que traducirla a subrutinas para hacerla más clara.

http://www.todopic.com.ar/foros/index.php?topic=14917.msg384712#msg384712
Saludos desde Granada, España.