Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?
01/05/2012 #1961


disculpen,,,,,,,,,,

pero la verdad necesito su ayuda y se me hixo facil...
01/05/2012 #1962
Moderador

Avatar de D@rkbytes

tlaloc dijo: Ver Mensaje
disculpen,,,,,,,,,,

pero la verdad necesito su ayuda y se me hixo facil...
Saludos.
Sube en un zip tu código o pegalo aquí, seleccionalo y envuelvelo con el botón que tiene un #
Para determinar si es error de código, software, o sistema operativo.
01/05/2012 #1963


mira aqui esta el archivo

---------- Actualizado después de 3 minutos ----------

la verdad no ntndi eso de nvolverlo
Archivos Adjuntos
Tipo de Archivo: rar error.rar (1,10 MB (Megabytes), 69 visitas)
02/05/2012 #1964
Moderador

Avatar de D@rkbytes

tlaloc dijo: Ver Mensaje
mira aqui esta el archivo

---------- Actualizado después de 3 minutos ----------

la verdad no ntndi eso de nvolverlo
Envolver el código, es pegarlo donde escribes, lo seleccionas y presionas el botón que tiene un #
Con eso se vera como esto.
Código:
@ device xt_osc  ; oscilador externo XT
define osc 4     ; especifica que se va a utilizar uno de 4 Mhz
x var byte       ; crea la variable x y asigna un espacio de memoria
                 ; de o a 255
LED1 var portb.0   ; asigna el nombre de led1 a RB0 del pic 16f877A
LED2 VAR portb.1   ; asigna el nombre de led2 a RB1

programa:          ; inicio de la linea de programa 

high led1:low led2   ;enciende led1 y apaga led 2
pause 700           ; esperar 0.7 seg
low led1:high led2  ;apaga led1 y enciende led2 
pause 700          ; espera 0.7 seg
goto programa       ; ir a programa
end                ; fin del programa
Ese es tu código envuelto con la etiqueta [CODE]

OK. Con tan solo compilar tu código sin modificar ni mover nada, se compila sin errores.
Ahora, ¿que PIC estas usando? por ahora con el código que tienes no es importante
para compilarlo porque no estas usando registros especiales de un PIC determinado.
En los graficos que adjuntaste se ve que tienes seleccionado un PIC16F628A
Y en el código se comenta que se usara un PIC16F877A.
Es importante que siempre selecciones que tipo de microcontrolador usaras.
Adjunto tu código compilado, con los fuses requeridos para el 16F877A
más la configuración del puerto B
Solo que yo use MicroCode Studio Plus v3.0 y PBP 2.60
Ahora estoy usando ya el MicroCode Studio v5.0 y PBP3 y hay muchas mejoras.

Suerte y hasta luego.
Archivos Adjuntos
Tipo de Archivo: rar Sin error.rar (2,3 KB (Kilobytes), 66 visitas)
02/05/2012 #1965


graxias primero pruebo y te afirmo cual es mi problema

---------- Actualizado después de 7 minutos ----------

gracias tu programa si me logro funcionar pero cuando yo los programo en microcode no me funcionan ,creen qeu sea el software.....

---------- Actualizado después de 5 minutos ----------

gracias por todo ......................
02/05/2012 #1966

Avatar de ferdy575

reyvilla dijo: Ver Mensaje
Que bueno, mira para llevarlo a la parte física debes configurar los fuses y especificar que tipo de oscilador vas a usar, hay un circuito similar en la pagina de ucontrol con el cual te puedes guiar para las conexiones, por otro lado creo que podrías cambiar la 74ls04 por un ULN2803 y para el master clear una resistencia de 10k a vcc, al pic recuerda colocale una base para que puedas programarlo luego, bueno de momento es lo que veo, espero tus aportes y avances...mucho éxito en el proyecto

hola Reyvilla.
he estado siguiendo este hilo desde que el inspector gadget empezó y me pareció excelente esta matriz, a mi me funciona todo bien incluso le agregue las minúsculas pero no he podido corregirle la titiladera al momento de simularlo, sera que al probarlo físicamente seguirá titilando? adicionalmente quiero hacerle funcionar la octava fila para poder colocar por ejemplo texto subrayado pero no he podido pues lo que hace es que me pasa la información de la 1ª fila a la 8ª y sube todo el texto cortando las letras en la parte superior tú que harías para solucionar este pequeño error.
Gracias por estar pendiente de nuestras dudas
02/05/2012 #1967

Avatar de reyvilla

ferdy575 dijo: Ver Mensaje
hola Reyvilla.
he estado siguiendo este hilo desde que el inspector gadget empezo y me parecio excelente esta matriz, a mi me funciona todo bien incluso le agregue las minusculas pero no he podido corregirle la titiladera al momento de simularlo, sera que al probarlo fisicamente seguira titilando?
No sabría decirte con certeza pero estaría un 70% seguro de que si, pero con pequeñas modificaciones en el código puede corregirse y por otra parte hay otro gran aporte esta vez de parte del compañero "tecniloco80" el cual se encuentra aquí:

Solo Ejemplos PICBASICPRO-PROTEUS

Y esta bien bueno, no titila y puedes cambiar el mensaje como quieras a través de una interface serial.
02/05/2012 #1968

Avatar de megatecpower

hola gracias quiero comunicar un pic 16f876a con un celular Nokia1100 que segun lei tiene formato FBUS y que esta bien explicado en estos links:

Programa generador las tramas FBUS

http://www.embedtronics.com/nokia/fbus.html

http://www.carlosvolt.com.ar/

Todo esto es bárbaro pero quiero hacerlo en pic basic pro o lenguaje basic , el mismo tiene el serout pero no alcanza los bits/s requeridos ? ¿como mando estas tramas en basic?

---------- Actualizado después de 5 minutos ----------

hola gracias quiero comunicar un pic 16f876a con un celular Nokia1100 que segun lei tiene formato FBUS y que esta bien explicado en estos links:

Programa generador las tramas FBUS

http://www.embedtronics.com/nokia/fbus.html

http://www.carlosvolt.com.ar/

Todo esto es bárbaro pero quiero hacerlo en pic basic pro o lenguaje basic , el mismo tiene el serout pero no alcanza los bits/s requeridos ? ¿como mando estas tramas en basic?
02/05/2012 #1969


a mi el primer y ultimo link me aparecen rotos, ademas de que esa pregunta ya la habia visto en otro lado....

y una pregunta ¿como conseguiste esa reliquia (nokia 1100)?
y una mas... porque no pones algun avance de codigo y una simulacion en proteus, para que muestres algo de interes por tu proyecto, digo ademas de solo poner unos links...
02/05/2012 #1970

Avatar de megatecpower

Solo intente con esto pero no paso nada

me parece que la comunicacion fbus es mas rapida , como configuro los bits/seg
Archivos Adjuntos
Tipo de Archivo: rar pic celular.rar (15,5 KB (Kilobytes), 73 visitas)
02/05/2012 #1971

Avatar de inspector gadget

reyvilla dijo: Ver Mensaje
No sabría decirte con certeza pero estaría un 70% seguro de que si, pero con pequeñas modificaciones en el código puede corregirse y por otra parte hay otro gran aporte esta vez de parte del compañero "tecniloco80" el cual se encuentra aquí:

Solo Ejemplos PICBASICPRO-PROTEUS

Y esta bien bueno, no titila y puedes cambiar el mensaje como quieras a través de una interface serial.
Gracias por el dato reyvilla, exelente aporte de tecniloco80, pero no veo que se haya profundizado en el tema. Creen que se puede llevar a la realidad asi como esta? o solo es una aplicacion para analizar la comunicacion serial. gracias muchachos
02/05/2012 #1972


Megatecpower...

en lugar de

serout portc.7,N9600,["1E 00 0C 01 00 07 00 01 00 08 60 01 63 00 11 0E" ]

podrias poner....

serout portc.7,N9600,[$1E,$00,$0C,$01,$00,$07,$00,$01,$00,$08,$60,$01,$6 3,$00,$11,$0E ]

asi se manda la trama a la que te refieres...
02/05/2012 #1973

Avatar de reyvilla

inspector gadget dijo: Ver Mensaje
Gracias por el dato reyvilla, exelente aporte de tecniloco80, pero no veo que se haya profundizado en el tema. Creen que se puede llevar a la realidad asi como esta? o solo es una aplicacion para analizar la comunicacion serial. gracias muchachos
No lo he revisado, pero puedes preguntarle al amigo tecniloco80, ya que el es el creador y lo realizo en fisico, a ver si le falta algo o si se puede armar como esta en el esquema.
02/05/2012 #1974

Avatar de inspector gadget

gracias reyvilla, pero analizando la simulacion se vee que el barrido lo hace en una forma diferente...mm al parecer no lo hace por filas, complicada esta parte para llevarla a la realidad con optimo resultado... por lo pronto sigo armando la matriz de mi interes, ya termine el armado del panel de leds y toca seguir con la placa de control.
03/05/2012 #1975


hola que tal

no se si me podrían ayudar, estoy haciendo un programa sencillo de un ejemplo de un libro que solo recibe un voltaje de 0 a 5 V a través de conversor A/D del pic desde un potenciometro con un pic16f877a, pero cuando hago la conversión de los 255 segmentos a 5 volts a través de la variable p2 me aparecen solo enteros y no no me aparecen con punto decimal, quisiera ver 2.9 V o 4.5 V osea ocupar una variable de punto flotante pero por lo que he investigado picbasic no maneja punto flotante, no se si me podría ayudar diciendome que tengo que implementar en el codigo para poder visualizar puntos decimales, dejo el código del conversor A/D, gracias saludos.

DEFINE OSC 4 ; especifica que es de 4MHz

DEFINE LCD_DREG PORTB ;bit de datos del LCD empezando
DEFINE LCD_DBIT 0 ;por B.0, B.1, B.2 y B.3
DEFINE LCD_RSREG PORTB ;bit de registro del LCD conectar
DEFINE LCD_RSBIT 5 ;en el puerto B.5
DEFINE LCD_EREG PORTB ;bit de Enable conectar en el
DEFINE LCD_EBIT 4 ;puerto B.4
p1 VAR BYTE ;variable para almacenar potenciómetro 1
p2 VAR BYTE

ADCON1 =%100 ;configura PortA 0,1, 3 en conversores A/D

Inicio:

PAUSE 300

ADCON0 =%1000001 ;activar canal 0 a Fosc/8
GOSUB medir
p1= ADRESH

p2=(p1*5)/255

lcdout $fe,$80,"Voltaje:" ;limpiar LCD y sacar texto
LCDOUT $fe,$c1,#p2

GOTO inicio

medir: ;subrutina para leer el conversor A/D
PAUSEUS 50 ;pausa para setear el canal
ADCON0.2 = 1 ;iniciar conversión
PAUSEUS 50 ;pausa para la conversión

RETURN
03/05/2012 #1976


estoy haciendo un programa sencillo de un ejemplo de un libro que solo recibe un voltaje de 0 a 5 V a través de conversor A/D del pic desde un potenciometro
Te recomiendo que le saques provecho a ese libro y lo utilices como papel sanitario...

prueba este codigo es a dos digitos.... y modifica los puertos que corresponda a tu LCD puesto que yo los cambie para simularlo....

Código:
DEFINE OSC 4 ; especifica que es de 4MHz

DEFINE LCD_DREG PORTB 'LCD data port 
DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4 
DEFINE LCD_RSREG PORTB 'LCD register select port 
DEFINE LCD_RSBIT 4 'LCD register select bit 
DEFINE LCD_EREG PORTB 'LCD enable port 
DEFINE LCD_EBIT 5 'LCD enable bit 
DEFINE LCD_RWREG PORTB 'LCD read/write port 
DEFINE LCD_RWBIT 6 'LCD read/write bit 
DEFINE LCD_BITS 4 'LCD bus size 4 or 8 
DEFINE LCD_LINES 2 'Number lines on LCD 
DEFINE LCD_COMMANDUS 2000 'Command delay time in us 
DEFINE LCD_DATAUS 50 'Data delay time in us 


p1 VAR word ;variable para almacenar potenciómetro 1
p2 var word
p3 var word
ADCON1 =%100 ;configura PortA 0,1, 3 en conversores A/D

Inicio:

ADCIn 0,p1 'se captura valor en conversor
p2=(p1*5)/255 ' se hace regla de 3
p3=(((p1*5)//255) *100)/255 ' se utiliza el residuo y se multiplica por 100 y se vuelve a dividir entre 255

lcdout $fe,$80,"Voltaje:" ;limpiar LCD y sacar texto
LCDOUT $fe,$c1,# p2, "." , # p3," " 

GOTO inicio
03/05/2012 #1977


hola lubeck gracias por la ayuda, ya probe el codigo que me pasaste y ya me muestra el valor con punto decimal, no se si me puedas explicar esta parte del código

p1=20
p2=(p1*5)/255
p3=(((p1*5)//255) *100)/255

es que apenas empiezo a programar en pic, entiendo lo de los 255 segmentos pero no se porque se le da a p1 el valor de 20 y luego porque se multiplica p1 por 5, luego veo que pones doble "//", no se si me puedas explicar estas lineas del codigo que pusiste, perdona la molestia, gracias saludos y nuevamente gracias.
03/05/2012 #1978


es que apenas empiezo a programar en pic, entiendo lo de los 255 segmentos pero no se porque se le da a p1 el valor de 20 y luego porque se multiplica p1 por 5, luego veo que pones doble "//", no se si me puedas explicar estas lineas del codigo que pusiste, perdona la molestia, gracias saludos y nuevamente gracias.
con respecto al p1=20, no sirve para nada... lo utilice para hacer la simulacion... despues edite mi mensaje y lo borre.... pero al parecer lo alcanzaste a ver..

el // es una instruccion de residuo tambien llamado mod o modulus... y su resultado es lo que no se puede dividir...

ejemplo 250 mod 255 =250 porque esos 250 no pudieron ser divididos entre 255
o digamos 256 mod 255 =1 porque de los 256 nada mas 1 no pudo ser divido , busa informcion del wiki...

entonces si digamos que el conversor da un p1=20

multiplicas 20*5 y lo divides entre 255 y en p2 pones el entero que es 0

ahora del resultado anterior ves con el modulus que no pudo ser dividido...

20*5//255 y fueron 100 esos 100 lo multiplicas por otros 100 para que puedan ser divididos entre 255 y lo divides y lo colocas en p3 y te da 39 que son los decimales...
03/05/2012 #1979


hola lubeck

gracias por la explicación ya me quedo mas claro el codigo y gracias por la ayuda, saludos.
03/05/2012 #1980


holanda dijo: Ver Mensaje
hola lubeck

gracias por la explicación ya me quedo mas claro el codigo y gracias por la ayuda, saludos.
oki...

luego porque se multiplica p1 por 5
nada mas me falto aclarar lo del 5 creo...

es una regla de tres, si 255(que es un byte) es a 5v entonces x es a?

se multiplica (x*5v)/255 te da "el voltaje en un rango de 0 a 255"

Saludos y suerte

pd. lo de la regla de tres tambien buscalo en el wiki o matematicas basicas...
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.