TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: KRLSNVRT en 25 de Marzo de 2013, 20:11:26
-
:( :( :(
Hola amigos de todopic estoy comenzando con las rutinas del lcd y el mikrobasic pro, logre hacer funcionar un lcd con el 16f84a pero con el 16f877a no e podido de ninguna manera, si alguien sabe que error estoy cometiendo en el programa podrian ayudarme porfavor.
muchas gracias;
el codigo esta basado en el que trae el manual de mikrobasic pro con el 16f887 pero modificado para el 16f877A.
********************************************************************************************************************************************
program LCD_1
'lcd conexiones
DIM
LCD_RS AS SBIT AT RB4_BIT
LCD_EN AS SBIT AT RB5_BIT
LCD_D7 AS SBIT AT RB0_BIT
LCD_D6 AS SBIT AT RB1_BIT
LCD_D5 AS SBIT AT RB2_BIT
LCD_D4 AS SBIT AT RB3_BIT
(http://)
DIM
LCD_RS_DIRECTION AS SBIT AT TRISB4_BIT
LCD_EN_DIRECTION AS SBIT AT TRISB5_BIT
LCD_D4_DIRECTION AS SBIT AT TRISB3_BIT
LCD_D5_DIRECTION AS SBIT AT TRISB2_BIT
LCD_D6_DIRECTION AS SBIT AT TRISB1_BIT
LCD_D7_DIRECTION AS SBIT AT TRISB0_BIT
DIM
TXT1 AS CHAR[10 ]
TXT2 AS CHAR[16]
TXT3 AS CHAR[14]
TXT4 AS CHAR[13]
I AS BYTE
SUB PROCEDURE MOVE_DELAY()
DELAY_MS(500)
END SUB
' FIN LCD CONECTIONS
main:
TRISA = 0
PORTA = 0
TRISB = 0
PORTB = 0
TRISD = 0
PORTD = 0
PORTE = 0
TRISE = 0
TXT1 = " DIA SOLEADO "
TXT2 = " QUE SERA DE MI"
TXT3 = " TANQUE VACIO"
TXT4 = "REBICE LA RED"
LCD_INIT()
LCD_CMD(_LCD_CLEAR)
LCD_CMD(_LCD_CURSOR_OFF)
LCD_OUT(1,3,TXT1)
LCD_OUT(2,2,TXT2)
DELAY_MS(1000)
LCD_CMD(_LCD_CLEAR)
LCD_OUT(1,1,TXT3)
LCD_OUT(2,2,TXT4)
DELAY_MS(500)
FOR I = 0 TO 3
LCD_CMD(_LCD_SHIFT_RIGHT)
MOVE_DELAY()
NEXT I
WHILE TRUE
FOR I = 0 TO 7
LCD_CMD(_LCD_SHIFT_LEFT)
MOVE_DELAY()
NEXT I
FOR I = 0 TO 7
LCD_CMD(_LCD_SHIFT_RIGHT)
MOVE_DELAY()
NEXT I
WEND
END.
********************************************************************************************************************************************
:huh: :huh: :huh:
-
hola amigo no cemikrobasic pro pero creo que tienes que desabilitar los comparadores, adc del pic y otras cosas que te podrian dar problemas.
no me agas mucho caso si quieres espero alguien mas
saludos
-
Hola buen dia amigo yo tengo un ejemplo hecho en MikrbasicPro for PIc y el codigo es el siguiente espero te sirva
****************************************************************************************************
program cincoLCD
' Programa para mandar mensaje por LCD 16x2.
' Lcd module connections
dim LCD_RS as sbit at RD5_bit
LCD_EN as sbit at RD4_bit
LCD_D4 as sbit at RD3_bit
LCD_D5 as sbit at RD2_bit
LCD_D6 as sbit at RD1_bit
LCD_D7 as sbit at RD0_bit
LCD_RS_Direction as sbit at TRISD5_bit
LCD_EN_Direction as sbit at TRISD4_bit
LCD_D4_Direction as sbit at TRISD3_bit
LCD_D5_Direction as sbit at TRISD2_bit
LCD_D6_Direction as sbit at TRISD1_bit
LCD_D7_Direction as sbit at TRISD0_bit
' End Lcd module connections
main:
Lcd_Init()
Lcd_Cmd(_LCD_CLEAR)
Lcd_Cmd(_LCD_CURSOR_OFF)
Lcd_Out(1,5,"Saludos")
Delay_ms(2000)
Lcd_Out(2,5,"Probando LCD")
DELAY_MS (2000)
goto main
end.
******************************************************************************************
Tambien te anexo la imagen simulado en proteus.