S
shanishp
Guest
γεια
το έργο μου περιλαμβάνει RTC και οθόνη LCD.Είχα διαβάσει το RTC από i2c πρωτόκολλο και προσπαθεί να αναφέρονται σε μια LCD.αλλά iam πάρει κάποιο λάθος
εξόδου μου
TIME: 1?: 2?: 3?
ερωτηματικό υπάρχει όταν προσπάθησα να συγκαλύψουν έλαβε τα δεδομένα μου από RTC με 0f. e ορισμένα προβλήματα σχετικά με το LSB (4 bits) των δεδομένων που έλαβε.
παρακαλώ βοηθήστε με.
το RTC εκδρομή είναι τα δεδομένα σε μορφή BCD, θα πρέπει να το μετατρέψετε πάλι σε bcd από μικροελεγκτή PICρουτίνα μου για να διαβάσετε το RTC παρατίθεται κατωτέρω
void read_DS1307 (void)
(
i2c_start ()?
i2c_write (0xd0)?
i2c_write (0x00)?
i2c_start ()?
i2c_write (0xD1)?
δεδομένα = i2c_read (1)? / / * ανάγνωση δευτερόλεπτα
sec δεδομένων =?
disp [16] = 48 ((data & 0x70)>> 4)?
disp [17] = 48 (δεδομένα & 0x0F)?
disp [15] = '?
δεδομένα = i2c_read (1)? / / * ανάγνωση λεπτά
min δεδομένων =?
disp [13] = 48 ((data & 0x70)>> 4)?
disp [14] = 48 (δεδομένα & 0x0F)?
disp [12] = '?
δεδομένα = i2c_read (1)? / / * ώρες ανάγνωση
hr δεδομένων =?
disp [10] = 48 ((data & 0x30)>> 4)?
disp [11] = 48 (δεδομένα & 0x0F)?
disp [9] = '?
δεδομένα = i2c_read (1)? / / * Ημερομηνία ανάγνωση
dt = data?
disp [7] = 48 ((data & 0x30)>> 4)?
disp [8] = 48 (δεδομένα & 0x0F)?
disp [6] = '?
δεδομένα = i2c_read (1)? / / * μήνα ανάγνωση
mnt δεδομένων =?
disp [4] = 48 ((data & 0x10)>> 4)?
disp [5] = 48 (δεδομένα & 0x0F)?
disp [3] = '?
δεδομένα = i2c_read (0)? / / * χρόνος ανάγνωση
yr δεδομένων =?
disp [1] = 48 ((data & 0xF0)>> 4)?
disp [2] = 48 (δεδομένα & 0x0F)?
disp [0] = '?
i2c_stop ()?
)
το έργο μου περιλαμβάνει RTC και οθόνη LCD.Είχα διαβάσει το RTC από i2c πρωτόκολλο και προσπαθεί να αναφέρονται σε μια LCD.αλλά iam πάρει κάποιο λάθος
εξόδου μου
TIME: 1?: 2?: 3?
ερωτηματικό υπάρχει όταν προσπάθησα να συγκαλύψουν έλαβε τα δεδομένα μου από RTC με 0f. e ορισμένα προβλήματα σχετικά με το LSB (4 bits) των δεδομένων που έλαβε.
παρακαλώ βοηθήστε με.
το RTC εκδρομή είναι τα δεδομένα σε μορφή BCD, θα πρέπει να το μετατρέψετε πάλι σε bcd από μικροελεγκτή PICρουτίνα μου για να διαβάσετε το RTC παρατίθεται κατωτέρω
void read_DS1307 (void)
(
i2c_start ()?
i2c_write (0xd0)?
i2c_write (0x00)?
i2c_start ()?
i2c_write (0xD1)?
δεδομένα = i2c_read (1)? / / * ανάγνωση δευτερόλεπτα
sec δεδομένων =?
disp [16] = 48 ((data & 0x70)>> 4)?
disp [17] = 48 (δεδομένα & 0x0F)?
disp [15] = '?
δεδομένα = i2c_read (1)? / / * ανάγνωση λεπτά
min δεδομένων =?
disp [13] = 48 ((data & 0x70)>> 4)?
disp [14] = 48 (δεδομένα & 0x0F)?
disp [12] = '?
δεδομένα = i2c_read (1)? / / * ώρες ανάγνωση
hr δεδομένων =?
disp [10] = 48 ((data & 0x30)>> 4)?
disp [11] = 48 (δεδομένα & 0x0F)?
disp [9] = '?
δεδομένα = i2c_read (1)? / / * Ημερομηνία ανάγνωση
dt = data?
disp [7] = 48 ((data & 0x30)>> 4)?
disp [8] = 48 (δεδομένα & 0x0F)?
disp [6] = '?
δεδομένα = i2c_read (1)? / / * μήνα ανάγνωση
mnt δεδομένων =?
disp [4] = 48 ((data & 0x10)>> 4)?
disp [5] = 48 (δεδομένα & 0x0F)?
disp [3] = '?
δεδομένα = i2c_read (0)? / / * χρόνος ανάγνωση
yr δεδομένων =?
disp [1] = 48 ((data & 0xF0)>> 4)?
disp [2] = 48 (δεδομένα & 0x0F)?
disp [0] = '?
i2c_stop ()?
)