RTC at LCD

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 ();

)

 
Kumpirmahin na ang RTC nagpapadala ng oras sa labas ng BCD?

 

Welcome to EDABoard.com

Sponsor

Back
Top