A
auto_mitch
Guest
Mój projekt jest wbudowany budzik.I mają być wyświetlane na LCD aktualną datę i czas oraz mieć dostęp do klawiatury w menu, w którym można ustawić godzinę alarmu.
I spróbuj użyć DS1307 funkcji codevision a ja nie mogę dostać coś na lcd.I nie wiem, co dzieje się źle.Jedyną wartością, że mogę dostać poprzez wyświetlanie zawsze jest 128 sekund.Can you help me?
Kod:
/ / I2C Bus funkcji
# asm
. equ __i2c_port = 0x15; PORTC
. equ __sda_bit = 1
. equ __scl_bit = 0
# endasm/ / Alfanumeryczny LCD Moduł funkcji
# asm
. equ __lcd_port = 0x18; PORTA
# endasm
# include <mega16.h>
# include <i2c.h>
# include <lcd.h>
# include <stdio.h>
# include <stdlib.h>
# include <delay.h>
# include <ds1307.h>char secbuffer [16];void main (void)
(
unsigned char h, m, s;/ / Inicjalizacja LCD.
lcd_init (16);
/ / Zainicjowanie I2C.
i2c_init ();
delay_ms (100);
/ / Inicjalizacja DS1307 RTC
rtc_init (0,0,0);
delay_ms (100);
rtc_set_time (04,05,22);while (1)
(
rtc_get_time (& H & M & S);
sprintf (secbuffer, "% 02d", s);
lcd_gotoxy (6,0);
lcd_puts (secbuffer);
);
)
I spróbuj użyć DS1307 funkcji codevision a ja nie mogę dostać coś na lcd.I nie wiem, co dzieje się źle.Jedyną wartością, że mogę dostać poprzez wyświetlanie zawsze jest 128 sekund.Can you help me?
Kod:
/ / I2C Bus funkcji
# asm
. equ __i2c_port = 0x15; PORTC
. equ __sda_bit = 1
. equ __scl_bit = 0
# endasm/ / Alfanumeryczny LCD Moduł funkcji
# asm
. equ __lcd_port = 0x18; PORTA
# endasm
# include <mega16.h>
# include <i2c.h>
# include <lcd.h>
# include <stdio.h>
# include <stdlib.h>
# include <delay.h>
# include <ds1307.h>char secbuffer [16];void main (void)
(
unsigned char h, m, s;/ / Inicjalizacja LCD.
lcd_init (16);
/ / Zainicjowanie I2C.
i2c_init ();
delay_ms (100);
/ / Inicjalizacja DS1307 RTC
rtc_init (0,0,0);
delay_ms (100);
rtc_set_time (04,05,22);while (1)
(
rtc_get_time (& H & M & S);
sprintf (secbuffer, "% 02d", s);
lcd_gotoxy (6,0);
lcd_puts (secbuffer);
);
)