TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
25 de Julio de 2014, 22:03:45

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
346184 Mensajes en 38841 Temas por 40403 Usuarios
Último usuario: Cesar92
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Lenguaje Basic para microcontroladores PIC (Moderadores: dogflu66, doppel, jansuini, Marioguillote, aitopes)
| | |-+  Ejemplos Protón
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 Marcar como favorito Imprimir
Autor Tema: Ejemplos Protón  (Leído 18825 veces)
TREMENS
PIC16
***
Desconectado Desconectado

Mensajes: 125



« : 20 de Noviembre de 2006, 16:33:02 »

Este hilo lo inicié para documentar ejemplos en protón, dado que hay temas como ejemplos de mikrobasic, o ejemplos de mickrobasic y proton, o de picbasic y usb. Sin embargo no hay un lugar donde especificamente esten ejemplos de protón, por lo me parece interesante ir juntandolos en un solo lugar.
En línea
LordLafebre
Giovanni Lafebre
Moderador Global
DsPIC30
*****
Desconectado Desconectado

Sexo: Masculino
Ecuador Ecuador

Mensajes: 3533


Micros y micros


WWW
« Respuesta #1 : 20 de Noviembre de 2006, 17:41:12 »

Hola:

Creo que no se a publicado mucho sobre proton ya que no mucha gente lo usa, pese a que es un muy buen compilador, estoy migrando a el desde PBP y me gusta mas, pero si te animas a publicar ejemplos o esas cosas, con gusto pasare por aqui a aportar en lo que se pueda.
En línea

doppel
Moderador Local
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 1467


--Doppel - Córdoba ------A r g e n t i n a ----


WWW
« Respuesta #2 : 20 de Noviembre de 2006, 19:44:08 »

Hola

En el link que dejo, hace mucho tiempo se pusieron algunos ejemplos de protón.-

http://www.todopic.com.ar/foros/index.php?topic=2810.0

saludos Smile
En línea

**DOPPELBLOG**

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

Mensajes: 125



« Respuesta #3 : 29 de Noviembre de 2006, 18:51:37 »

tras algunos problemas , posteo mi primer programilla en esta sección de ejemplos, exclusiva de PROTON.

Saca por lcd la palabra hola.
RS a RB2, RW A MASA, E a RB1
D4 a D7 conectado a RB4 a RB7

cóDIGO:

Device = 16F877         
     XTAL = 4   
     
    LCD_TYPE = 0                 ' Our LCD is the alphanumeric type
       
     LCD_DTPIN = PORTB.4         ' For Proteus Virtual Hardware Board LCD Data is PORTB.4,5,6,7
   
     LCD_RSPIN = PORTB.2        ' LCD RS pin
     LCD_ENPIN = PORTB.1        ' LCD EN pin
     LCD_INTERFACE = 4           ' We're using a 4-bit LCD interface
     LCD_LINES = 2               ' We're using a 2-Line LCD
   
       
   TRISB = 0
DELAYMS 500             
inicio:
cls
print at 2,2,"Hola"
DELAYMS 500
goto inicio


PD: ojalá se unan los demás

En línea
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #4 : 30 de Noviembre de 2006, 16:04:48 »

[goear]f19d715[/goear]

probando esto

Barometro

Bueno aqui un ejemplo en Proton de como leer la Presion Atmosferica de un sensor de Freescale MPX4115. este ejemplo le hubiera errado de no ser por Pao ya que me explico como hacer el corrimiento para leer los 1024 valores del ADC ya que Proton parece que no lo hace como PBP.

A este sensor no le veo otro uso que el de estacion meterologica o como Altimetro.

Segun el Datasheet la funcion de transferencia del sensor es la siguiente:
Vout=Vs(.009*P-.095)

donde:

                  Vout  es el valor que entrega el sensor
                  P es la Presion (que no conocemos)
                  Vs   es la fuente quew alimenta al Sensor generalmente 5 o 5.1 Volts

Aqui el codigo:

Código
GeSHi (freebasic):
  1. '****************************************************************
  2. '*  Name    : Barometro.bas                                     *
  3. '*  Author  : Max Eduardo Reyes Vera Juárez                     *
  4. '*  Notice  : Copyright (c) 2006 Protegido por leyes de autor   *
  5. '*          : All Rights Reserved                               *
  6. '*  Date    : 30/11/2006                                        *
  7. '*  Version : 1.0                                               *
  8. '*  Notes   : Funcion de transferecncia del MPX4115A es         *
  9. '*          : Vout=VS(0.009*P-0.095)+- ERROR                    *
  10. '*          : Donde Vout es el voltaje que entrega el MXP4115A  *
  11. '*          : VS es el Valor de la fuente gralmente 5 o 5.1V    *
  12. '*          : P es la presion a encontrar                       *
  13. '*          : ERROR es el error que entrega el MPX a ciertas    *
  14. '*          : Temperaturas;       +-3 de -40° a 0°              *
  15. '*          :                     +-1 de   0° a 85°             *
  16. '*          :                 +-3 de  80° a 125°                *    
  17. '****************************************************************
  18.  
  19.  
  20. DEVICE = 16F88
  21. XTAL = 4
  22.  
  23. declare adin_res 10             ' resolucin de 10 bits
  24. DECLARE ADIN_STIME 50           ' tiempo de muestreo 50ms
  25.  
  26.                                
  27. ANSEL  = 1                       ' ADC en RA0
  28. ADCON1 = 11                      ' Justificado a la derecha y con VREFs
  29. TRISA.0= 1                       ' RA0 de entrada
  30.  
  31. symbol Vs = 5                    ' Valor de La Fuente del Sensor  
  32.  
  33. dim Vadc as word
  34. dim Vout As float
  35. dim P    as float
  36. dim c    as Float
  37. dim b    as float
  38. dim i    as byte
  39.  
  40. dim TX as Portb.0                ' Pin de Transmision
  41.  
  42. Inicio:
  43. gosub get_vout
  44. gosub pausa
  45. gosub get_presion              ' Enviar Presion cada 2 minutos
  46. gosub pausa
  47. gosub Muestra_presion
  48. for i=0 to 120
  49.  delayms 1000
  50. next i
  51. goto inicio
  52.  
  53. get_VouT:
  54. vadc = adin 0                              ' Obtencion del ADC
  55. VADC = Vadc >> 6                           ' Rotar a la derecha para conseguir los 1024
  56. vout = (vadc * 5) / 1024                   ' Voltaje que entra al ADC
  57. return
  58.  
  59. get_Presion:                               ' Obtener la Presion Atmosferica en KPa
  60. c = .095 * vs
  61. b = .009 * vs                             ' Vout=Vs(.009*P-.095)
  62. P = (vout + c)/(b)                        ' P = (Vout + (.095*Vs)) / (.009*Vs)
  63. return
  64.  
  65. Muestra_Presion:                           ' Envio de la Presion en Kpa y el Voltaje medido
  66.  serout tx, 16468, ["Presion(KPa): ", DEC p, " Vin: ",dec vout, 13]
  67. return  
  68.  
  69. pausa:
  70. delayms 250
  71. return
  72.  

y el PINOUT:

« Última modificación: 02 de Diciembre de 2006, 16:28:59 por navaismo » En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Mario
Colaborador
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 867

Es tiempo de BREAK


« Respuesta #5 : 01 de Diciembre de 2006, 02:32:13 »

Si puedes escribir directo en el registro escribe esto:
ADCON1.7=1

Con eso justificas a la derecha y no tienes que hacer corrimientos, sino fíjate en los ejemplos del PBP para 10 bits del convertidor, aunque es Proton (ya lo habiamos discutido ¿recuerdas?) puedes escribir directamente en el registro.


Si no me crees, revisa cualquier hoja de datos donde se tenga convertidor y verás que el bit 7 del ADCON1 es para justificar a la izquierda (0) o derecha (1).

Usa izquierda si vas a utilizar 8 bits, usa derecha si vas a utilizar 10 bits.
En línea

La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #6 : 01 de Diciembre de 2006, 02:38:06 »

Pues si Mario si miras el codigo esta escrito r¿directamente el registro ADCON1 justificado a la derecha y con VREFs pero aun asi es necesario hacer el corrimiento si no en lugar de 1024 te toma 65472
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #7 : 02 de Diciembre de 2006, 05:22:15 »

Altimetro

Bueno haciendo unas modififcaciones al programa anterior y cambiando de Micro del 16F88 al 18F452 por aquello del logaritmo. tenemos ahora un Altimetro (¿si se llama asi?).

Me encantaria decirles que tiene un margen de error de unos cunatos metros pero aun no se de caunto es su margen de error aunque por las fallas de mis calculos al Voltaje de entrada ha de ser de unos 20m  Shocked jiji en teoria a una presion de 760mmHg o sea unos 101.3Kpa a nivel del mar debe dar 0m pero como no vivo a nivel del mar y en la simulacion no he conseguido una lectura limpia de 101.3 no puedo decirles  Laughing

Pero de algo servira no? al menos una idea.

Aqui el codigo:

Código
GeSHi (freebasic):
  1. '****************************************************************
  2. '*  Name    : altimetro.bas                                     *
  3. '*  Author  : Max Eduardo Reyes Vera Juárez                     *
  4. '*  Notice  : Copyright (c) 2006 Protegido por leyes de autor   *
  5. '*          : All Rights Reserved                               *
  6. '*  Date    : 02/12/2006                                        *
  7. '*  Version : 1.0                                               *
  8. '*  Notes   :                                                   *
  9. '*          :                                                   *
  10. '****************************************************************
  11. DEVICE = 18f452
  12. XTAL = 4
  13.  
  14. declare adin_res 10             ' resolucin de 10 bits
  15. DECLARE ADIN_STIME 50           ' tiempo de muestreo 50ms
  16.  
  17.                              
  18. ADCON1 = 143                     ' Justificado a la derecha y con VREFs
  19. TRISA.0= 1                       ' RA0 de entrada
  20.  
  21. symbol Vs  = 5                    ' Valor de La Fuente del Sensor
  22. symbol P_0 = 1013.3               ' Valor de la Presion a nivel del mar en HPa
  23.                  
  24. dim Vadc  as word
  25. dim i     as byte
  26. dim Vout  As float
  27. dim loga  As float                  ' Variables de manejo
  28. dim defp  As float
  29. dim M1    As float
  30. dim M2    As float
  31. dim H     as float
  32. dim P     As float
  33. dim HP    as float
  34. dim C     As float
  35. dim B     As float
  36.  
  37. dim TX as Portb.0                ' Pin de Transmision
  38.  
  39. Inicio:
  40.  
  41. gosub get_vout
  42. gosub pausa
  43. gosub get_presion              ' Enviar Presion cada 2 minutos
  44. gosub pausa
  45. gosub get_altura
  46. gosub pausa
  47. gosub Muestra_presion
  48.  
  49. for i=0 to 120
  50.  delayms 1000
  51. next i
  52.  
  53. goto inicio
  54.  
  55. get_VouT:
  56. vadc = adin 0                              ' Obtencion del ADC
  57. 'VADC = Vadc >> 6                           ' Rotar a la derecha para conseguir los 1024
  58. vout = (vadc * 5) / 1024                   ' Voltaje que entra al ADC
  59. return
  60.  
  61. get_Presion:                               ' Obtener la Presion Atmosferica en KPa
  62. c = .095 * vs
  63. b = .009 * vs                             ' Vout=Vs(.009*P-.095)
  64. P = (vout + c)/(b)                        ' P = (Vout + (.095*Vs)) / (.009*Vs)
  65. return
  66.  
  67.  
  68. '*************************************************************************************************
  69. '*                   para sacar la altitud se usa la formula                                     *
  70. *                                                                                               *
  71. '*                                                                                               *                    
  72. '*        8430.153*ln(P_0/P)           donde P es la presion actual y                            *
  73. '*  H = ------------------------       P_0 es la presion del mar 760mmHg o 1013.3 HPa            *
  74. '*         1+(.095*ln(P_0/P)                                                                     *
  75. '*                                                                                               *
  76. '*************************************************************************************************                                                                                        
  77. get_Altura:
  78. hp = p * 10
  79. defp = P_0 / hp
  80. loga = log defp
  81. M1 = 8430.153 * loga
  82. m2 = (loga * .095)+1
  83. H  = M1 / m2  
  84. return
  85.  
  86. Muestra_Presion:                           ' Envio de la Presion en Kpa y el Voltaje medido
  87.  serout tx, 16468, ["Presion(KPa): ", DEC p," HPa: ",dec hp, " Vin: ", dec vout,"V ", " Altitud: ", dec h,"m ", " vadc: ",dec vadc, 13]
  88. return  
  89.  
  90. pausa:
  91. delayms 250
  92. return
  93.  

la formula la saque de esta pagina: http://www.tutiempo.net/silvia_larocca/Temas/ecuaciones.htm#presion

PD: creo que perdimos le Geshi....Temporalmente




En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Mario
Colaborador
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 867

Es tiempo de BREAK


« Respuesta #8 : 02 de Diciembre de 2006, 16:18:43 »

Una duda:

Esto:
ADCON1 = 11                      ' Justificado a la derecha y con VREFs

Es lo mismo que esto:
ADCON1 = %10000010   

¿Qué valores coloca ADCON1=11?
¿1011 0000?
¿0000 1011?

Está raro que tengas que rotar.
En línea

La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #9 : 02 de Diciembre de 2006, 16:24:49 »

Error de dedo, debe ser 10110000 con eso:

Justificado a la derecha, desabilitado el el ADCS2, y con VREFs

y en ANSEL=1 solo pongo el AN0 como entrada.

NOta como en el codigo del  altimetro ya no tuve que rotar, esta comentada esa linea
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #10 : 03 de Diciembre de 2006, 01:25:01 »

Hola solo para confirmar que el Barometro y el Altimetro funcionan rebotando .

Pues sucede que vivo en una ciudad donde segun sus datos geograficos estamos a una Altura de 2500m sobre el nivel del mar, la presion no la pude encontrar y al probar el codigo estos fueron los valores que arrojo.

Una  Vs de 5.35V (eso es lo que daba mi fuente)
Una  Presion en Kpa =74.848
Un    Vin = 3.090V
Una  H(altura)=2482.205m

Pues por ahi anda no
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Cuba Cuba

Mensajes: 16902



WWW
« Respuesta #11 : 03 de Diciembre de 2006, 02:43:39 »

Pues enhorabuena Navaismo, da gusto ver cómo las cosas funcionan.

Por cierto, ¿qué ciudad es esa a tanta altitud?
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #12 : 03 de Diciembre de 2006, 03:27:28 »

Hola Gracias Master, pues vivo en el Estado de Mexico y mi municipio es Ecatepec de Morelos. Ectaepec significa Cerro del Viento, y de Morelos es porque aqui ejecutaron a Jose Ma Morelos y Pavon.

Saludos sorry por el OFFTOPIC
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #13 : 08 de Diciembre de 2006, 21:50:00 »

Porfin la µEstacion-Meteorologica

es solo la adaptacion de los codigos anteriores y el sensado del TCN75 y aqui las gracias a mi gran amigo Marioguillote porque sin el nunca le hubiera atinado a leer en Proton un sensor I2C... Gracias Mario!!! rebotando

el codigo:

Código
GeSHi (freebasic):
  1. '****************************************************************
  2. '*  Name    : µeMeteorologica.bas                               *
  3. '*  Author  : Max Eduardo Reyes Vera Juárez                     *
  4. '*  Notice  : Copyright (c) 2006 Protegido por leyes de autor   *
  5. '*          : All Rights Reserved                               *
  6. '*  Date    : 02/12/2006                                        *
  7. '*  Version : 1.0                                               *
  8. '*  Notes   :                                                   *
  9. '*          :                                                   *
  10. '****************************************************************
  11. DEVICE = 18f452
  12. XTAL = 4
  13.  
  14. declare adin_res 10             ' resolucin de 10 bits
  15. DECLARE ADIN_STIME 50           ' tiempo de muestreo 50ms
  16.  
  17. DECLARE SDA_PIN PORTB.1 'Declarar pines de I2C
  18. DECLARE SCL_PIN PORTB.2  
  19. DECLARE SLOW_BUS=ON 'Con un BUS demenos de 8 MHZ
  20.                                  
  21. ADCON1 = 143                     ' Justificado a la derecha y con VREFs
  22. TRISA.0= 1                       ' RA0 de entrada
  23.  
  24. symbol Vs  = 5.35                 ' Valor de La Fuente del Sensor
  25. symbol P_0 = 1013.3               ' Valor de la Presion a nivel del mar en HPa
  26. SYMBOL CONTW %10010000  ' Direccion de Escritura TCN75
  27. SYMBOL CONTR %10010001  ' Direccion de lectura TCN75
  28.  ' Pines A2,A1 Y A0 a Tierra                  
  29. dim Vadc  as word
  30. dim Temp  as word
  31. dim dato  as byte
  32. dim Vout  As float
  33. dim loga  As float                  ' Variables de manejo
  34. dim defp  As float
  35. dim M1    As float
  36. dim M2    As float
  37. dim H     as float
  38. dim P     As float
  39. dim HP    as float
  40. dim C     As float
  41. dim B     As float
  42.  
  43. dim MSB as temp.byte1
  44. dim LSB as temp.byte0
  45. dim TX  as Portb.0                ' Pin de Transmision
  46. dim RX  as portb.7
  47.  
  48.  
  49. configTCN75:
  50. busout contw,1,[$00]              ' Apuntar al registro Temp
  51. delayms 20
  52.  
  53. lee:
  54. serin rx, 84, [dato]
  55.  if dato="L" THEN
  56.   GOSUB INICIO
  57.  ENDIF    
  58. GOTO LEE
  59.  
  60.  
  61. Inicio:
  62. gosub get_vout
  63. gosub pausa
  64. gosub get_presion              ' Enviar Presion cada 2 minutos
  65. gosub pausa
  66. gosub get_altura
  67. gosub pausa
  68. gosub get_Temp
  69. gosub Muestra_todo
  70. gosub pausa
  71. RETURN
  72.  
  73. get_VouT:
  74. vadc = adin 0                              ' Obtencion del ADC
  75. 'VADC = Vadc >> 6                           ' Rotar a la derecha para conseguir los 1024
  76. vout = (vadc * 5) / 1024                   ' Voltaje que entra al ADC
  77. return
  78.  
  79. get_Presion:                               ' Obtener la Presion Atmosferica en KPa
  80. c = .095 * vs
  81. b = .009 * vs                             ' Vout=Vs(.009*P-.095)
  82. P = (vout + c)/(b)                        ' P = (Vout + (.095*Vs)) / (.009*Vs)
  83. return
  84.  
  85.  
  86. '*************************************************************************************************
  87. '*                   para sacar la altitud se usa la formula                                     *
  88. *                                                                                               *
  89. '*                                                                                               *                    
  90. '*        8430.153*ln(P_0/P)           donde P es la presion actual y                            *
  91. '*  H = ------------------------       P_0 es la presion del mar 760mmHg o 1013.3 HPa            *
  92. '*         1+(.095*ln(P_0/P)                                                                     *
  93. '*                                                                                               *
  94. '*************************************************************************************************                                                                                        
  95. get_Altura:
  96. hp = p * 10
  97. defp = P_0 / hp
  98. loga = log defp
  99. M1 = 8430.153 * loga
  100. m2 = (loga * .095)+1
  101. H  = M1 / m2  
  102. return
  103.  
  104. get_Temp:                                  ' obtener la temperatura y si existe mostrar medio grado
  105.  busin contr,0,[temp]
  106.  delayms 20
  107.  if (LSB & $80) = $80 then
  108.     LSB = 5
  109.  ELSE
  110.     LSB = 0
  111. ENDIF
  112.  
  113. Muestra_Todo:                             ' Envio de la Presion en Kpa-Hpa, la Altitud y la Temperatura via serie a T9600
  114.  serout tx, 84, ["Presion(KPa): ", DEC p," HPa: ",dec hp,13, "Altitud: ", dec h,"m",13,"Temperatura: ", dec msb,".",dec lsb,"°C",10,13]  
  115. return  
  116.  
  117. pausa:
  118. delayms 250
  119. return
  120.  

y un pantallazo de lo recibido en el terminal de Proton


En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
pelusac
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 118


« Respuesta #14 : 23 de Agosto de 2007, 03:45:57 »

Sería posible que colgases el archivo .HEX de la estación meteorológica, que lo mío no es el basic.
Gracias de antemano
En línea
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #15 : 23 de Agosto de 2007, 11:29:28 »

Hola aqui dejo el HEX y aqui puedes ver el esquematico una errata es que le hacen falta la conexion de los VREFS
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
pelusac
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 118


« Respuesta #16 : 23 de Agosto de 2007, 14:52:03 »

Muchísimas gracias  Laughing
Saludos
En línea
electronando
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
Peru Peru

Mensajes: 427


« Respuesta #17 : 02 de Septiembre de 2007, 13:48:46 »

Hola navaismo e visto que en el ejemplo que pones usas logaritmos , que tanto de error se obtiene en la ecuacion que posteastes , pues cuando hacia divisiones al mostrar en el lcd me daba cierto margen de error no un valor exacto, me refiero para operaciones con punto flotante  Confused
En línea
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #18 : 19 de Diciembre de 2007, 20:19:30 »

Hola navaismo e visto que en el ejemplo que pones usas logaritmos , que tanto de error se obtiene en la ecuacion que posteastes , pues cuando hacia divisiones al mostrar en el lcd me daba cierto margen de error no un valor exacto, me refiero para operaciones con punto flotante  Confused

Ups mira que apenas note esto que me decias que pena. Pues el error era de decimales lo compara con la operacion hecha en la calculadora y le erraba por unas centesimas. Pero como no es una aplicacion critica lo permiti asi.
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #19 : 19 de Diciembre de 2007, 20:29:01 »

Y regresando a lo de los ejemplos en PROTON con la ayuda de Pao y un compañero de Trabajo hemos hecho este programilla que muestra el Abecedario casi completo -falta la Ñ y la Z- todo en mayusculas en una MATRIZ de LEDS de 5x7.

Todas las Letras estan en la EEPROM del PIC16F877A por ser uno con gran capacidad. Y las muestra una a una. La idea es despues formar frases mediante la PC. Pero para comenzar con esto creo que le servira a uno que otro. Aqui el codigo:

Código
GeSHi (freebasic):
  1. '****************************************************************
  2. '*  Name    : UNTITLED.BAS                                      *
  3. '*  Author  : Amigos & Navaismo                          *
  4. '*  Notice  : Copyright (c) 2007 GPL                            *
  5. '*          : All Rights Reserved                               *
  6. '*  Date    : 18/12/2007                                        *
  7. '*  Version : 1.0                                               *
  8. '*  Notes   :                                                   *
  9. '*          :                                                   *
  10. '****************************************************************
  11. device = 16f877a
  12. config WDT_OFF, CP_OFF, LVP_OFF, XT_OSC  
  13. xtal = 4
  14.  
  15. adcon1=7  
  16. trisa=0  'salida ambos puertos, sin comparadores
  17. trisb=0
  18.  
  19. dim i as byte
  20. DIM K AS BYTE
  21. dim j as byte
  22. dim d[26] as byte
  23. dim datos as byte
  24.  
  25. 'Letra A en eeprom
  26. edata 31, 254, 5, 253, 5, 251, 5, 247, 31, 239
  27.  
  28. 'Letra B en eeprom
  29. edata 31, 254, 21, 253, 21, 251, 21, 247, 31, 239
  30.  
  31. 'Letra C en eeprom
  32. edata 31, 254, 17, 253, 17, 251, 17, 247, 17, 239
  33.  
  34. 'Letra D en eeprom
  35. edata 31, 254, 17, 253, 17, 251, 10, 247, 4, 239
  36.  
  37. 'Letra E en eeprom
  38. edata 31, 254, 21, 253, 21, 251, 21, 247, 17, 239
  39.  
  40. 'Letra F en eeprom
  41. edata 31, 254, 5, 253, 5, 251, 5, 247, 1, 239
  42.  
  43. 'Letra G en eeprom
  44. edata 31, 254, 17, 253, 21, 251, 21, 247, 29, 239
  45.  
  46. 'Letra H en eeprom
  47. edata 31, 254, 4, 253, 4, 251, 4, 247, 31, 239
  48.  
  49. 'Letra I en eeprom
  50. edata 17, 254, 17, 253, 31, 251, 17, 247, 17, 239
  51.  
  52. 'Letra J en eeprom
  53. edata 25, 254, 17, 253, 31, 251, 1, 247, 1, 239
  54.  
  55. 'Letra K en eeprom
  56. edata 31, 254, 4, 253, 4, 251, 10, 247, 17, 239
  57.  
  58. 'Letra L en eeprom
  59. edata 31, 254, 16, 253, 16, 251, 16, 247, 16, 239
  60.  
  61. 'Letra M en eeprom
  62. edata 31, 254, 2, 253, 4, 251, 2, 247, 31, 239  
  63.  
  64. 'Letra N en eeprom
  65. edata 31, 254, 2, 253, 4, 251, 8, 247, 31, 239      
  66.  
  67. 'Letra O en eeprom
  68. edata 31, 254, 17, 253, 17, 251, 17, 247, 31, 239      
  69.  
  70. 'Letra P en eeprom
  71. edata 31, 254, 5, 253, 5, 251, 5, 247, 7, 239      
  72.  
  73. 'Letra Q en eeprom
  74. edata 15, 254, 9, 253, 29, 251, 25, 247, 31, 239      
  75.  
  76. 'Letra R en eeprom
  77. edata 31, 254, 5, 253, 29, 251, 21, 247, 23, 239      
  78.  
  79. 'Letra S en eeprom
  80. edata 23, 254, 21, 253, 21, 251, 21, 247, 29, 239      
  81.  
  82. 'Letra T en eeprom
  83. edata 1, 254, 1, 253, 31, 251, 1, 247, 1, 239      
  84.    
  85. 'Letra U en eeprom
  86. edata 31, 254, 16, 253, 16, 251, 16, 247, 31, 239
  87.  
  88. 'Letra V en eeprom
  89. edata 15, 254, 24, 253, 16, 251, 24, 247, 15, 239
  90.  
  91. 'Letra W en eeprom
  92. edata 31, 254, 16, 253, 28, 251, 16, 247, 31, 239
  93.  
  94. 'Letra X en eeprom
  95. edata 27, 254, 10, 253, 14, 251, 10, 247, 27, 239
  96.  
  97. 'Letra Y en eeprom
  98. edata 7, 254, 4, 253, 28, 251, 4, 247, 7, 239
  99.  
  100. 'Letra Z en eeprom
  101. 'edata 29, 254, 21, 253, 21, 251, 21, 247, 23, 239    
  102.  
  103. D[0] = 0
  104. D[1] = 10
  105. D[2] = 20
  106. D[3] = 30
  107. D[4] = 40
  108. D[5] = 50
  109. D[6] = 60
  110. D[7] = 70
  111. D[8] = 80
  112. D[9] = 90
  113. D[10] = 100
  114. D[11] = 110
  115. D[12] = 120
  116. D[13] = 130
  117. D[14] = 140
  118. D[15] = 150
  119. D[16] = 160
  120. D[17] = 170
  121. D[18] = 180
  122. D[19] = 190
  123. D[20] = 200
  124. D[21] = 210
  125. D[22] = 220
  126. D[23] = 230
  127. D[24] = 240
  128. D[25] = 250
  129.  
  130. DATOS="A"
  131.  
  132. loop:
  133. GOSUB CLSM
  134. i = datos - 65
  135. for j=0 to 15
  136. FOR K=0 TO 9 step 2
  137. PORTA=EREAD d[I]+k
  138. PORTB=EREAD (d[i]+k) + 1
  139. DELAYMS 50
  140. next j
  141. NEXT K
  142. datos = datos + 1
  143. goto loop
  144.  
  145. CLSM:
  146. porta=0
  147. portb=255
  148. delayms 750
  149. RETURN


Y la imagen del Circuito en Proteus


Saludos...
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
TODOPIC
   

 En línea
Páginas: [1] 2 Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.279 segundos con 41 consultas.