Autor Tema: pic 16f877A y lcd en mikrobasic pro  (Leído 5177 veces)

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

Desconectado KRLSNVRT

  • PIC10
  • *
  • Mensajes: 6
pic 16f877A y lcd en mikrobasic pro
« 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


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:












Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: pic 16f877A y lcd en mikrobasic pro
« Respuesta #1 en: 25 de Marzo de 2013, 21:35:06 »
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

Desconectado franco_gdl

  • PIC10
  • *
  • Mensajes: 6
Re: pic 16f877A y lcd en mikrobasic pro
« Respuesta #2 en: 10 de Mayo de 2013, 19:59:29 »
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.