TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: callecuatro1976 en 23 de Abril de 2016, 10:39:40
-
Consulta estoy armando este código y en proteus funciona bien con una advertencia(logic contention(s) detected on net) cuando lo pongo en el proto board se junta la imagen con el voltímetro y se me pixela un poco los datos del voltímetro lo probé varias veces y cambie las imágenes por las dudas pero siempre me hace lo mismo , gracias por la ayuda
device = 184550
XTAL = 4
TRISA = %11111111
ADCON0 = %10000000
ADCON1 = %00001010
' Resultado con justificación a la derecha
ADIN_RES 8
ADIN_TAD FRC
ADIN_STIME 50
Dim lectura As Word
Dim lectura1 As Word
Dim amper As Float
Dim VOLT As Float
Declare LCD_DTPORT PORTD
Declare LCD_RSPIN PORTB.2
Declare LCD_ENPIN PORTB.5
Declare LCD_RWPIN PORTB.4
Declare LCD_CS1PIN PORTB.1
Declare LCD_CS2PIN PORTB.0
LCD_TYPE = GRAPHIC
INTERNAL_FONT = On
FONT_ADDR = 0
GLCD_EXTERNAL_PRINT = PPRINT
Cls
DelayMS 100
Dim Xpos As Byte
Dim Ypos As Byte
Dim Addr As Word
Dim char As Byte
DelayMS 100
For Ypos = 0 To 7
For Xpos = 0 To 127
Addr = (Ypos*128)+Xpos
char = CRead imagen+Addr
LCDWrite Ypos,Xpos,[char]
Next
Next
Clear char
DelayMS 500
Cls
bucle:
lectura= ADIn 0
VOLT= (lectura * 50) /1023
Print Font ArialK____12
Print At 0,10,"Volt "
Print At 15,10, DEC1 VOLT
lectura1= ADIn 1
amper= (lectura1 *50) / 1023
Print Font ArialK____12
Print At 0,65,"Amper"
Print At 15, 60,DEC1 amper
DelayMS 100
GoTo bucle
End
Include "imagen.inc"
Include "ARIALk12.TXT"
-
subo esquema que me olvide , saludos
-
Hola,
has probado con ponerle Declare GLCD_STROBE_DELAY 1000 para darle tiempo al GLCD? intenté simular el circuito pero no pude, tambien intenté compilar el programa pero no me deja me imagino que es por la versión del compilador, solo pude simular con un pic16f877a y perfecto pero tuve que cambiar la confi. del ADCON1 = %00001001, porque estabas manejando referencias y en el circuito no lo tenias conectado.
Saludos...
-
ok voy a probar lo que me decís y voy a usar otro pic , con el 16f887 ni siquiera arranco en el proto board con el 18f4550 si se pudo ver , voy a probar con el 16f877a , baje el ultimo de proton y el proteus es la versión isis 7 , gracias por responder
-
No me funciona en la realidad, en el simulador proteus anda bien!! en el protoboard muestra la imagen y no la limpia y arriba muestra los datos del voltímetro no se porque alguien me da una mano con el código ,
-
Hola amigo,
ya probé el circuito en físico y funciona de maravilla, corregí unos errores que tenías en el programa respecto al ADC; además solo aclaro que tengo un GLCD con controlador SAMSUNG y como mencioné anteriormente mi compilador no me deja compilar con el pic18f4550, solo me compila con este pic.
Dejo el código:
Device = 16F877A
Xtal = 4
TRISA = %11111111
ADCON0 = %10000000
ADCON1 = %00001001
Adin_Res 8
Adin_Tad FRC
Adin_Stime 50
Dim lectura As Byte
Dim lectura1 As Byte
Dim amper As Float
Dim VOLT As Float
Declare LCD_DTPort PORTD
Declare LCD_RSPin PORTB.2
Declare LCD_ENPin PORTB.5
Declare LCD_RWPin PORTB.4
Declare LCD_CS1Pin PORTB.1
Declare LCD_CS2Pin PORTB.0
LCD_Type = graphic
Internal_Font = On
Font_Addr = 0
GLCD_CS_Invert = On
Declare GLCD_EXTERNAL_PRINT = PPRINT
Cls
DelayMS 100
Dim Xpos As Byte
Dim Ypos As Byte
Dim Addr As Word
Dim char As Byte
Symbol Conv = 5.0 / 255
For Ypos = 0 To 7
For Xpos = 0 To 127
Addr = (Ypos*128)+Xpos
char = CRead AAAA+Addr
LCDWrite Ypos,Xpos,[char]
Next
Next
DelayMS 1000
Cls
bucle:
lectura= ADIn 0
VOLT = lectura * Conv
Print Font Arial____8
Print At 0,10,"Volt "
Print Font ArialK____12
Print At 15,10, Dec1 VOLT, " "
lectura1= ADIn 1
amper = lectura1 * Conv
Print Font Arial____8
Print At 0,65,"Amper"
Print Font ArialK____12
Print At 15, 60,Dec1 amper, " "
DelayMS 50
GoTo bucle
End
Include "AAAA.inc"
Include "ARIAL8.txt"
Include "ARIALK12.txt"
No se que tipo de GLCD estés manejando, dependiendo del que manejes solo quita la instrucción GLCD_CS_Invert = On
-
voy a volver a probar uso el lcd cgm12864cbwb, voy a probar con otro compilador , saludos
-
Hola pude hacerlo funcionar solo desístale el proton y lo instale otra vez , tu código no me funciona se queda clavado en 0.0 volt
ahora tengo un problema cuando pasa de 10.0 a 9.0 queda pixelado yo pensaba sobrescribir el dato con un if alguna idea mejor subo foto para ver como se pixela, saludos
-
La verdad a mi me funcionó, pero la solución al problema de pixelado solo agrega mas espacio en el espacio en blanco entre comillas, valga la redundancia, al final de cada print: Print At 15,10, Dec1 VOLT, " ", solo le agregué un espacio, porque así me funciona de maravilla. Sigues usando el PIC18F4550??...
Es normal ese detalle en LCD y GLCD, y esa es la solución.
Saludos
-
No, cambie el Pic al 16f877a! si me di cuenta cuando revisé tu código en agregar las comillas y me funciono muy bien, ahora estoy viendo como armar promedios para que la medición sea más estable y disminuir ruidos, saludos
-
tengo un problema no tengo mas el Font genarator para hacer las fuentes ahora tengo el Font creator como logro crear las fuentes para el glcd???
-
tengo el glcd todopic pero no puedo instalar como se hace?
ya lo instale hay que descargar el archivo richtx32.ocx y pegarlo en la carpeta del system32 y abre el programa, pero no me genera el asm cuando lo include en el proton porque?