S
shanishp
Guest
hi
ang aking mga proyekto kabilang ang isang RTC at LCD.Ako ay basahin ang rtc sa pamamagitan ng i2c protocol at sumusubok sa out sa isang LCD.pero iam sa pagkuha ng ilang mga error
ang aking mga output ay
ORAS: 1?: 2?: 3?
isang tandang pananong ay may kapag ako tried sa mask ang aking natanggap ang data mula sa rtc na may 0f. e ang ilang mga problema tungkol sa LSB (4 bits) ng mga natanggap na data.
masiyahan tumulong ako.
rtc ay pagliliwaliw ang data sa BCD na format, dapat ako na kailangan i-convert ito pabalik sa bcd sa pamamagitan ng pic microcontrollerang aking mga karaniwang gawain na basahin ang rtc ay ibinigay sa ibaba
magpawalang-bisa read_DS1307 (walang laman)
(
i2c_start ();
i2c_write (0xd0);
i2c_write (0x00);
i2c_start ();
i2c_write (0xd1);
data = i2c_read (1); / / * pagbabasa segundo
sec = data;
disp [16] = 48 ((data & 0x70)>> 4);
disp [17] = 48 (data & 0x0F);
disp [15] = '';
data = i2c_read (1); / / * pagbabasa minuto
min = data;
disp [13] = 48 ((data & 0x70)>> 4);
disp [14] = 48 (data & 0x0F);
disp [12] = '';
data = i2c_read (1); / / * pagbabasa ng oras
= oras ng data;
disp [10] = 48 ((data & 0x30)>> 4);
disp [11] = 48 (data & 0x0F);
disp [9] = '';
data = i2c_read (1); / / * pagbabasa ng petsa
dt = data;
disp [7] = 48 ((data & 0x30)>> 4);
disp [8] = 48 (data & 0x0F);
disp [6] = '';
data = i2c_read (1); / / * pagbasa buwan
mnt = data;
disp [4] = 48 ((data & 0x10)>> 4);
disp [5] = 48 (data & 0x0F);
disp [3] = '';
data = i2c_read (0); / / * pagbabasa taon
yr = data;
disp [1] = 48 ((data & 0xF0)>> 4);
disp [2] = 48 (data & 0x0F);
disp [0] = '';
i2c_stop ();
)
ang aking mga proyekto kabilang ang isang RTC at LCD.Ako ay basahin ang rtc sa pamamagitan ng i2c protocol at sumusubok sa out sa isang LCD.pero iam sa pagkuha ng ilang mga error
ang aking mga output ay
ORAS: 1?: 2?: 3?
isang tandang pananong ay may kapag ako tried sa mask ang aking natanggap ang data mula sa rtc na may 0f. e ang ilang mga problema tungkol sa LSB (4 bits) ng mga natanggap na data.
masiyahan tumulong ako.
rtc ay pagliliwaliw ang data sa BCD na format, dapat ako na kailangan i-convert ito pabalik sa bcd sa pamamagitan ng pic microcontrollerang aking mga karaniwang gawain na basahin ang rtc ay ibinigay sa ibaba
magpawalang-bisa read_DS1307 (walang laman)
(
i2c_start ();
i2c_write (0xd0);
i2c_write (0x00);
i2c_start ();
i2c_write (0xd1);
data = i2c_read (1); / / * pagbabasa segundo
sec = data;
disp [16] = 48 ((data & 0x70)>> 4);
disp [17] = 48 (data & 0x0F);
disp [15] = '';
data = i2c_read (1); / / * pagbabasa minuto
min = data;
disp [13] = 48 ((data & 0x70)>> 4);
disp [14] = 48 (data & 0x0F);
disp [12] = '';
data = i2c_read (1); / / * pagbabasa ng oras
= oras ng data;
disp [10] = 48 ((data & 0x30)>> 4);
disp [11] = 48 (data & 0x0F);
disp [9] = '';
data = i2c_read (1); / / * pagbabasa ng petsa
dt = data;
disp [7] = 48 ((data & 0x30)>> 4);
disp [8] = 48 (data & 0x0F);
disp [6] = '';
data = i2c_read (1); / / * pagbasa buwan
mnt = data;
disp [4] = 48 ((data & 0x10)>> 4);
disp [5] = 48 (data & 0x0F);
disp [3] = '';
data = i2c_read (0); / / * pagbabasa taon
yr = data;
disp [1] = 48 ((data & 0xF0)>> 4);
disp [2] = 48 (data & 0x0F);
disp [0] = '';
i2c_stop ();
)