Em dùng 89C2051 làm 1 cái đồng hồ và có vấn đề sau:
Chân P1.0 --> SDA
Chân P1.1 --> SCL
Các chân P1.2...P1.5 dùng để quét LED (mạch chỉ hiển thị giờ-phút)
Chương trình viết bằng Keil C.Giao tiếp với ds1307 được nhưng đến phần hiển thị thì không quét LED được.Tức là các bit P1.2;P1.3;P1.4;P1.5 lúc nào cũng mức 1(trong khi chương trình em cho 1 bit 0 dịch chuyển liên tục từ bit P1.2..P1.5)
......................
............................
không biết em viết như vậy có đúng ko,mong các anh chỉ giúp (em chỉ là new member của 89 thôi).
Chân P1.0 --> SDA
Chân P1.1 --> SCL
Các chân P1.2...P1.5 dùng để quét LED (mạch chỉ hiển thị giờ-phút)
Chương trình viết bằng Keil C.Giao tiếp với ds1307 được nhưng đến phần hiển thị thì không quét LED được.Tức là các bit P1.2;P1.3;P1.4;P1.5 lúc nào cũng mức 1(trong khi chương trình em cho 1 bit 0 dịch chuyển liên tục từ bit P1.2..P1.5)
......................
Code:
// Ham hien thi thoi gian void hienthi() { unsigned char i; P1=0x0FD; for (i=0;i<=3;i++) { P1=P1<<1; P3=maled[so[i]]; delay_ht(1); } } // Ham tach so de hien thi void giatri_led() { so[0]=(time[1] & 0x0F); // Phut don vi so[1]=(time[1] & 0xF0)>>4; // phut chuc so[3]=time[2] & 0x0F; // gio don vi so[2]=(time[2] & 0xF0)>>4; // gio chuc }
không biết em viết như vậy có đúng ko,mong các anh chỉ giúp (em chỉ là new member của 89 thôi).
Comment