Autor Tema: Problema con Pic y PCF8583  (Leído 1815 veces)

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

Desconectado charlyrafa

  • PIC10
  • *
  • Mensajes: 4
Problema con Pic y PCF8583
« en: 28 de Julio de 2005, 01:37:00 »
Hola a todos, resulta que quiero conectar un reloj de tiempo real (RTC) PCF8583 con un pic 16F877, me han pasado un programa que logra la intercomunicacion, pero al querer compilarlo en microcod studio me marca un error con la variable DIM, ¿a caso esta es una palabra reservada en PBP? si alguien me puede explicar para que sirve en el programa y porque no lo puede compilar se lo agradeceria mucho. El programa y el circuito estan en la pagina:

http://www.oshonsoft.com/picexamples.html

el programa es:

- Basic source program:
Define LCD_BITS = 8
Define LCD_DREG = PORTB
Define LCD_DBIT = 0
Define LCD_RSREG = PORTD
Define LCD_RSBIT = 1
Define LCD_EREG = PORTD
Define LCD_EBIT = 3
Define LCD_RWREG = PORTD
Define LCD_RWBIT = 2
 
Symbol sda = PORTC.2
Symbol scl = PORTC.3
 
Dim addr As Byte
Dim data As Byte
Dim sec As Byte
Dim min As Byte
Dim hour As Byte
Dim day As Byte
Dim month As Byte
Dim year As Byte
Dim d_hi As Byte
Dim d_lo As Byte
 
Lcdinit
WaitMs 1000
 
addr = 2
I2CWrite sda, scl, 0xa2, addr, 0
addr = 3
I2CWrite sda, scl, 0xa2, addr, 0x55
addr = 4
I2CWrite sda, scl, 0xa2, addr, 0x23
addr = 5
I2CWrite sda, scl, 0xa2, addr, 0xb1
addr = 6
I2CWrite sda, scl, 0xa2, addr, 0x12
 
loop:
 
addr = 2
I2CRead sda, scl, 0xa2, addr, sec
addr = 3
I2CRead sda, scl, 0xa2, addr, min
addr = 4
I2CRead sda, scl, 0xa2, addr, hour
addr = 5
I2CRead sda, scl, 0xa2, addr, day
year = 0
year.0 = day.6
year.1 = day.7
day.6 = 0
day.7 = 0
addr = 6
I2CRead sda, scl, 0xa2, addr, month
month.5 = 0
month.6 = 0
month.7 = 0
 
Lcdcmdout LcdClear
Lcdout "Time: "
data = hour
Gosub print
Lcdout ":"
data = min
Gosub print
Lcdout ":"
data = sec
Gosub print
Lcdcmdout LcdLine2Home
Lcdout "Date: "
data = day
Gosub print
Lcdout "/"
data = month
Gosub print
Lcdout "/200", #year
 
WaitMs 200
Goto loop
End
 
print:
d_hi = data / 16
d_lo = data Mod 16
If d_hi < 10 Then
   Lcdout #d_hi
Else
   Lcdout "X"
Endif
If d_lo < 10 Then
   Lcdout #d_lo
Else
   Lcdout "X"
Endif
Return

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Problema con Pic y PCF8583
« Respuesta #1 en: 28 de Julio de 2005, 01:46:00 »
Hola:

Pues al parecer ese ejemplo no es para PBP sino para Proton+...
Las variables en pbp se las declara asi por ejemplo:

sec VAR BYTE

y en proton asi:

Dim sec As Byte

como el de tu ejemplo...

Prueba compilandolo con Proton+, suerte...

Un abrazo... Sonrisa Gigante


 

anything