Thông báo

Collapse
No announcement yet.

Đồng hồ 89C52+Ds1307 hiển thị led 7 đoạn+ nút nhấn-Keil C

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Đồng hồ 89C52+Ds1307 hiển thị led 7 đoạn+ nút nhấn-Keil C

    các Bác xem cai code e mô phỏng tren proteus chạy ngon mà sao khi e cắm bằng testboard để test chân 7 ds1307 mà nó ko nháy 1HZ.(scl sda kéo trở 4.7k vcc) e làm như hình vẽ ne cac bác
    ai rảnh xem giúp e với chứ cái này e ngồi mò nguyên tối hôm qua mà ko biết sai o đâu nữa


    code & hinh capture đây các bac xem giúp sửa dc là e đội ơn nhiều lắm UP.zipClick image for larger version

Name:	UP.png
Views:	1
Size:	26.5 KB
ID:	1413304

  • #2
    bạn có gắn pin 3v cho con ds1307 không? trong hình bạn bỏ trống?
    Mãi đi tìm vàng.

    Comment


    • #3
      lúc nãy thì ko có ,sau khi nghe bác e nối pin cmos 3V vô rồi ,mạch vẫn ko chạy chân 7 chỉ xuất ra mức thấp thôi (cực cathode led nối chân 7,led sáng ko chớp)ko có xung.hix.bác có đồ nghề hay board 8051 thì giúp e test code này với ,e cám ơn bác nhiều

      Comment


      • #4
        Con này chưa được khởi tạo

        Bạn cho nó cái lệnh khởi tạo vào sẽ nhấp nháy thoai

        Comment


        • #5
          Mình khởi tạo rồi đó bạn

          void main()
          {
          I2C_Start();
          I2C_Write(0xD0);
          I2C_Write(0x07); //GOI DIA CHI THANH GHI CONTROL SQW.OUT
          I2C_Write(0x10); //SAU D9O GHI IA TRI NAY LA 0X10 TUONG UNG VOI 1HZ

          I2C_Stop();
          delay();
          while(1)
          {
          ktphim();
          readds();
          quetled();
          }
          }
          trong phần void main trước khi vào vòng lặp while (1) mình ghi giá trị vào thanh ghi control rồi đó.Bởi vậy trên proteus nó mới nháy mà.

          Comment


          • #6
            Bạn cắm bo mạch à, hay làm mạch in thế. Đo lại điện áp 2 đầu PIN đủ chưa ....

            Comment


            • #7
              pin mới cáu,áp pin len chân 3 vs gnd =3V lun .ban đầu mình làm mạch in,sau đó không chạy gỡ ra gắn vô test board ...........và bây giờ vẫn ko chạy hix

              Comment


              • #8
                Mình nghĩ chắc do mạch cứng của bạn thoai, mình làm nhiều cái đó roài chạy hết ko vấn đề j cả.
                Mình nghĩ nếu bạn cắm bo đúng thì cần ktra xem 8051 và DS có die ko.

                1. Bạn cắm 1 con LED chạy chương trình blink xem 8051 chạy đúng ko
                2. Nếu 8051 chạy đúng thì có lẽ DS của bạn die roài
                3. Cái PIN 3V dù mới nhưng nếu ko cẩn thận để chập 2 chân lại cái là xong luôn, nên cần ktra PIN kĩ chút

                Comment


                • #9
                  pin 3v mình mới test đủ dòng cho led chạy -->pin cấp dc.
                  8051 lập trình led sáng theo ý muốn rùi-->8051 ko chết.
                  ds1307 mới quăng vô kit AVR chạy ngon lành .---->ds1307 hok die

                  mình pó tay lun

                  Comment


                  • #10
                    bác sangstbk có kit hay chip, ds,đồ nghề ,rảnh rảnh tetst giùm e nha dc k khikhi

                    Comment


                    • #11
                      Hì, cái đó mình làm nhiều roài, có bao giờ bị sao đâu

                      Comment


                      • #12
                        sbit SDA =P3^7;
                        sbit SCL= P3^2;

                        void i2c_start(void)
                        {
                        SCL = 1; SCL = 0;
                        SDA = 1; SCL = 1;

                        SDA = 0;
                        SCL = 0;
                        }
                        void i2c_stop(void)
                        {
                        SCL = 1; SCL = 0;
                        SDA = 0;
                        SCL = 1;
                        SDA = 1;
                        }
                        void i2c_write(unsigned char d)
                        {
                        unsigned char i;

                        SCL = 0;
                        for (i = 1; i <= 8; i++)
                        {
                        SDA = (d >> 7);
                        SCL = 1;
                        d = d << 1;
                        SCL = 0;
                        }
                        SDA = 1;
                        SCL = 0;
                        SCL = 1;
                        SCL = 0;
                        }

                        unsigned char i2c_read(unsigned char b)
                        {
                        unsigned char d, i;

                        SDA = 1;
                        SCL = 0;
                        for (i = 1; i <= 8; i++)
                        {
                        SCL = 1;
                        d = d << 1;
                        d = d | (unsigned char)SDA;
                        SCL = 0;
                        }
                        SDA = b;

                        SCL = 0;
                        SCL = 1;
                        if(b == 1) SDA = 1;
                        SCL = 0;
                        SDA = 1;
                        return d;
                        }
                        void rtc_init(unsigned char rs,unsigned char sqwe,unsigned char out)
                        {
                        rs&=3;
                        if (sqwe) rs|=0x10;
                        if (out) rs|=0x80;
                        i2c_start();
                        i2c_write(0xd0);
                        i2c_write(7);
                        i2c_write(rs);
                        i2c_stop();
                        }

                        void rtc_get_time(unsigned char *hour,unsigned char *min,unsigned char *sec)
                        {
                        i2c_start();
                        i2c_write(0xd0);
                        i2c_write(0);
                        i2c_start();
                        i2c_write(0xd1);
                        *sec=bcd2bin(i2c_read(0));
                        *min=bcd2bin(i2c_read(0));
                        *hour=bcd2bin(i2c_read(1));
                        i2c_stop();
                        }

                        void rtc_set_time(unsigned char hour,unsigned char min,unsigned char sec)
                        {
                        i2c_start();
                        i2c_write(0xd0);
                        i2c_write(0);
                        i2c_write(bin2bcd(sec));
                        i2c_write(bin2bcd(min));
                        i2c_write(bin2bcd(hour));
                        i2c_stop();
                        }

                        void rtc_get_date(unsigned char *date,unsigned char *month,unsigned char *year)
                        {
                        i2c_start();
                        i2c_write(0xD0);
                        i2c_write(4);
                        i2c_start();
                        i2c_write(0xD1);
                        *date=bcd2bin(i2c_read(0));
                        *month=bcd2bin(i2c_read(0));
                        *year=bcd2bin(i2c_read(1));
                        i2c_stop();
                        }

                        void rtc_set_date(unsigned char date,unsigned char month,unsigned char year)
                        {
                        i2c_start();
                        i2c_write(0xd0);
                        i2c_write(4);
                        i2c_write(bin2bcd(date));
                        i2c_write(bin2bcd(month));
                        i2c_write(bin2bcd(year));
                        i2c_stop();
                        }

                        Thử dùng tạm thư viện này xem, chạy rồi đó

                        Comment


                        • #13
                          cái hàm bin2bcd() khai báo ra sao vậy bác?

                          Comment


                          • #14
                            hix cao thủ ds1307 giúp e với triệu chứng là mô phỏng dc,chip k chết(blink led dc),3V nuôi đủ,ds1307 chạy dc trong kit avr. vậy mà mạch thật xung chân số 7 SQW của ds1307 ko chạy ,.Ai test giùm cách giải quyết giúp e với .hix
                            Last edited by binhminhdem; 18-06-2012, 21:48.

                            Comment


                            • #15
                              Nguyên văn bởi binhminhdem Xem bài viết
                              các Bác xem cai code e mô phỏng tren proteus chạy ngon mà sao khi e cắm bằng testboard để test chân 7 ds1307 mà nó ko nháy 1HZ.(scl sda kéo trở 4.7k vcc) e làm như hình vẽ ne cac bác
                              ai rảnh xem giúp e với chứ cái này e ngồi mò nguyên tối hôm qua mà ko biết sai o đâu nữa


                              code & hinh capture đây các bac xem giúp sửa dc là e đội ơn nhiều lắm [ATTACH]46875[/ATTACH][ATTACH=CONFIG]46874[/ATTACH]
                              void main()
                              {
                              I2C_Start();
                              I2C_Write(0xD0);
                              I2C_Write(0x07); //GOI DIA CHI THANH GHI CONTROL SQW.OUT
                              I2C_Write(0x10); //SAU D9O GHI IA TRI NAY LA 0X10 TUONG UNG VOI 1HZ
                              I2C_Stop();
                              delay();
                              while(1)
                              {
                              ktphim();
                              readds();
                              quetled();
                              }
                              }
                              chưa cấu hình bit CH=0(thanh ghi giây) làm sao nó chạy.
                              |

                              Comment

                              Về tác giả

                              Collapse

                              binhminhdem Tìm hiểu thêm về binhminhdem

                              Bài viết mới nhất

                              Collapse

                              • mèomướp
                                Trả lời cho Công thức điện tử
                                bởi mèomướp
                                Dạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
                                Hôm qua, 21:21
                              • mèomướp
                                Trả lời cho Xin hỏi về màn hình laptop
                                bởi mèomướp
                                Dạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
                                Hôm qua, 20:31
                              • yname11
                                Trả lời cho Xin hỏi về màn hình laptop
                                bởi yname11
                                Ok , thanks bác đã chỉ...
                                Hôm qua, 15:06
                              • nguyendinhvan
                                Công thức điện tử
                                bởi nguyendinhvan
                                Sau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !

                                Chập thì thay. Cháy thì tháo
                                Làm thì láo. Báo thì hay
                                May thì khoe. Rủi thì bỏ
                                Thành tích nhỏ. Báo thành to
                                Làm cho có. Báo chi li
                                Sai cả li. Báo
                                ...
                                Hôm qua, 00:35
                              • yname11
                                Trả lời cho Xin hỏi về màn hình laptop
                                bởi yname11
                                có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
                                25-11-2024, 22:31
                              • mèomướp
                                Trả lời cho Xin hỏi về màn hình laptop
                                bởi mèomướp
                                Dạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
                                25-11-2024, 22:14
                              • bactho
                                Trả lời cho Tự làm máy đo Cuộn cảm
                                bởi bactho
                                Hay đấy bạn ạ. Đây có thể hiểu là máy đo cuộn dây. Tiện đây xin cho hỏi bạn có hiểu rõ về máy nạp rôm pcb 45 của hãng thiên minh không giúp mình cách cài fw của nó với vì mình vừa được anh bạn cho nhưng lại không biết cài fw nên chưa dùng được. Nếu có thể thì bạn giúp mình với...
                                25-11-2024, 21:48
                              • yname11
                                Trả lời cho Xin hỏi về màn hình laptop
                                bởi yname11
                                màn của mình là LCD , giờ m muốn mua màn LED để thay thế (ko muốn dùng màn LCD nữa) , lên muốn hỏi xem có cáp chuyển đổi nào có thể cắm đc màn LED vào ko , tất nhiên phải có cùng số chân pin với màn cũ rồi . VD: màn cũ là lcd mỏng , 40 pin...
                                25-11-2024, 21:43
                              • bactho
                                Trả lời cho các bạn giúp mình về file HEX với!!!
                                bởi bactho
                                Bạn vào trang phuclanshop.com ,tìm đến góc kỹ thuật. Tác giả vương khánh hưng nói rất rõ về điều bạn tìm...
                                25-11-2024, 21:21
                              • mèomướp
                                Trả lời cho Xin hỏi về màn hình laptop
                                bởi mèomướp
                                Dạ màn hình lcd đều có thể lai cấy cho nhau được hết ạ. Các loại cáp, bo mạch chuyển đổi lvds rất nhìu, với dòng sony còn phải nhổ cả chip nhớ của main cũ đưa lên gỗ thì mới lắp sang máy khác đc, chưa kể các bệnh về màu... ngay cả...
                                25-11-2024, 20:43
                              Đang tải...
                              X