Thông báo

Collapse
No announcement yet.

Ds1307

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

  • bác nào viết chương trình đầy đủ có quét led 7 đoạn và có phím chỉnh giờ. chỉ cho e với hoặc cho e cái code gởi vào địa chỉ email vuongc6@yahoo.com . cảm ơn!

    Comment


    • Các bác giúp em hiển thị " Thứ " với, làm sao để con DS1307 tự đọc " Thứ " được nhỉ????
      Em tự cho vòng lặp như sau để hiển thị thứ: (cứ sau mỗi h,m,s =0 thì thứ được nhảy, ở đây em chỉ cho s=0 để kiểm tra sự thay đổi của thứ thôi)
      if(s1==0 & s2==0)
      {
      a+=1;
      if (a>7) a=1;
      {
      if(a==1){lcd_gotoxy(14,1);lcd_putsf("T2");} delay_ms(10);
      if(a==2){lcd_gotoxy(14,1);lcd_putsf("T3");} delay_ms(10);
      if(a==3){lcd_gotoxy(14,1);lcd_putsf("T4");} delay_ms(10);
      if(a==4){lcd_gotoxy(14,1);lcd_putsf("T5");} delay_ms(10);
      if(a==5){lcd_gotoxy(14,1);lcd_putsf("T6");} delay_ms(10);
      if(a==6){lcd_gotoxy(14,1);lcd_putsf("T7");} delay_ms(10);
      if(a==7){lcd_gotoxy(14,1);lcd_putsf("CN");} delay_ms(10);
      }
      }
      Xem chừng có ve không ổn. Cứ mỗi lần mất điện Thứ trở về giá trị mặc định ban đầu mình đặt, cụ thể là "T2" ấy. Em mô phỏng trên Protiues.
      Mong các pác chỉ giúp! Thank you!

      Comment


      • Tham khảo thuật toán tính ra thứ từ Ngày, Tháng, Năm

        Code:
        int getDayOfWeek(int month, int day, int year, int CalendarSystem)
        {
             // CalendarSystem = 1 for Gregorian Calendar
             if (month < 3)
             {
                   month = month + 12;
                   year = year - 1;
             }
             return (day+ (2 * month)+ (int)(6 * (month + 1) / 10)+ year+ (int)(year / 4)- (int)(year / 100)+ (int)(year / 400)+ CalendarSystem) % 7;
        }
        Last edited by kimhuynguyen; 20-09-2009, 09:04.
        More friends more foods

        Comment


        • Hic! bó tay.com, em đang muốn hiện thứ theo Time bác lại cho em đoạn code hiện thứ theo date thì e loạn mất. với đoạn code trên em có thể hiện "thứ" được,cứ sau 24h thì thứ tự động nhảy (ở đây em chỉ cho 1 phút là tự động nhảy thứ). Tuy nhiên khi mất điện thì Huhu!!! thứ bị sai liền, nó lại bắt đầu từ T2. Bây giờ là làm sao: mình đặt "thứ" như đặt "giờ" trước ấy,và khi mất điện nó vẫn được lưu tới khi có điện thì nó lại chạy bình thường như time và date.
          Cả chiều nay em mầy mò thuật toán tính thứ theo:d,t,n của bác kimhuynguyen mà chẳng ra cái j cả.
          Huhu! Xin các cao thủ chỉ giúp!!! Em định hiển thị nốt thứ trên lcd rồi làm cái lịch vạn niên hiển thị bằng led7seg tặng bố vợ cho máu mà khó quá. Các bác giúp em với nhé!!!

          Comment


          • DS1307 có pin sẽ vẫn hoạt động để đảm bảo thời gian thực.
            Khi reset CPU thì đọc lại data từ DS1307
            Last edited by kimhuynguyen; 20-09-2009, 09:02.
            More friends more foods

            Comment


            • Nguyên văn bởi vdgiap Xem bài viết
              Các bác giúp em hiển thị " Thứ " với, làm sao để con DS1307 tự đọc " Thứ " được nhỉ????
              Trong DS1307 đã có "thứ" rồi chứ nhỉ.
              Đọc bình thường, tại địa chỉ 0x03 của nó sẽ là thứ.

              Comment


              • Cám ơn bác Kimhuynguyen nhé! hôm nay nghiêm cứu lại thuật toán tính thứ theo ngày, tháng, năm của bác thì em làm được rồi. thank you Mr.!!!!

                Comment


                • Nguyên văn bởi vdgiap Xem bài viết
                  Các bác giúp em hiển thị " Thứ " với, làm sao để con DS1307 tự đọc " Thứ " được nhỉ????
                  Em tự cho vòng lặp như sau để hiển thị thứ: (cứ sau mỗi h,m,s =0 thì thứ được nhảy, ở đây em chỉ cho s=0 để kiểm tra sự thay đổi của thứ thôi)
                  if(s1==0 & s2==0)
                  {
                  a+=1;
                  if (a>7) a=1;
                  {
                  if(a==1){lcd_gotoxy(14,1);lcd_putsf("T2");} delay_ms(10);
                  if(a==2){lcd_gotoxy(14,1);lcd_putsf("T3");} delay_ms(10);
                  if(a==3){lcd_gotoxy(14,1);lcd_putsf("T4");} delay_ms(10);
                  if(a==4){lcd_gotoxy(14,1);lcd_putsf("T5");} delay_ms(10);
                  if(a==5){lcd_gotoxy(14,1);lcd_putsf("T6");} delay_ms(10);
                  if(a==6){lcd_gotoxy(14,1);lcd_putsf("T7");} delay_ms(10);
                  if(a==7){lcd_gotoxy(14,1);lcd_putsf("CN");} delay_ms(10);
                  }
                  }
                  Xem chừng có ve không ổn. Cứ mỗi lần mất điện Thứ trở về giá trị mặc định ban đầu mình đặt, cụ thể là "T2" ấy. Em mô phỏng trên Protiues.
                  Mong các pác chỉ giúp! Thank you!
                  a là biến bạn lưu trong ram chứ j.. nếu vậy thì khi reset VDK thì giá trị của nó luôn là 0, sau đoạn mã trên thì giá trị xuất ra đầu tiên sẽ là T2..

                  hơn nữa trong ds1307 đã có sẵn thứ rồi, bạn chỉ việc đọc nó ra thôi, ko cần dùng phần mềm để tính toán làm j đâu...

                  Comment


                  • cho em hỏi vì sao em dùng hàm delay_ms(2000); mà phải đợi đến tận 4s
                    em dùng thạch anh 12M cho con atmega 16 kết nối với con thời gian thực DS1307

                    Comment


                    • có ai co tai liệu về con ds1307 ko. cho minh xin với vì minh đang lam bài tiểu luận về con này mà chưa biết cái gì về nó cả.cảm ơn các bác

                      Comment


                      • Chào các bạn.
                        Mình là 1 fan mới của AVR.
                        Mình đang làm 1 Project về AVR
                        Project của minh như sau: sử dụng ATmega 16 kết nối với LM35 để đo nhiệt độ,DS1307 để đếm thgian thực--->hiển thị ra LCD(viết trên codevisionAVR.)


                        Hiện mình đã làm đc rồi.nhưng vấn đề bgiờ mình muốn dùng nút nhấn để có thể set time,set date và hẹn giờ....và thêm cái nửa là hiển thị THỨ(hai,ba,tu,...bay,cn)....
                        Mình đang bí chổ này.mong bạn nào đã làm rồi,có kinh nghiệm chỉ giúp.

                        Chân thành cảm ơn.
                        (mình ko biết cách up file lên diển đàn.Các bạn download trên medifire nhé!)

                        http://www.mediafire.com/download.php?ngymmyvytnw

                        Yahoo!:caotinheltn9999
                        0982473586

                        Comment


                        • Nguyên văn bởi tinhkiet Xem bài viết
                          Chào các bạn.
                          Mình là 1 fan mới của AVR.
                          Mình đang làm 1 Project về AVR
                          Project của minh như sau: sử dụng ATmega 16 kết nối với LM35 để đo nhiệt độ,DS1307 để đếm thgian thực--->hiển thị ra LCD(viết trên codevisionAVR.)


                          Hiện mình đã làm đc rồi.nhưng vấn đề bgiờ mình muốn dùng nút nhấn để có thể set time,set date và hẹn giờ....và thêm cái nửa là hiển thị THỨ(hai,ba,tu,...bay,cn)....
                          Mình đang bí chổ này.mong bạn nào đã làm rồi,có kinh nghiệm chỉ giúp.

                          Chân thành cảm ơn.
                          (mình ko biết cách up file lên diển đàn.Các bạn download trên medifire nhé!)

                          http://www.mediafire.com/download.php?ngymmyvytnw
                          tớ cũng từng làm về set time, date rồi, nói chung chỉ cần 4 phím: menu, up, down, set. Gần giống như với 4 phím trong đồng hồ điện tử. Cậu dùng hẳn 4 chân của port nối thẳng trực tiếp với các phím -> quét phím là quá trình kiểm tra các pin nối với phím. sau đó chỉ cần có một sơ đồ thuật toán rồi dựa vào đó lập trình là được thôi. Còn nhiều cách nữa nhưng tớ ngày xưa làm như vậy, đóng góp với cậu một chút.

                          Comment


                          • Các bác cho hỏi về DS1307 với!mạch của e mô phỏng chạy ngon,nhưng khi làm thực tế thì lúc chạy,lúc ko(cả hiển thị trên LED và LCD).thanks!

                            Comment


                            • Nguyên văn bởi TINYPRO Xem bài viết
                              Các bác cho hỏi về DS1307 với!mạch của e mô phỏng chạy ngon,nhưng khi làm thực tế thì lúc chạy,lúc ko(cả hiển thị trên LED và LCD).thanks!
                              lúc chạy lúc ko, vậy lúc ko chạy thì nó làm j? treo hẳn ko hiển thị j hay là chạy bậy bạ...? bạn nói cụ thể bệnh của nó thì mọi ng mới giúp bạn được,
                              mà mạch bạn làm là cắm dây trên test board hay là làm mạch in?
                              sơ đồ mạch thế nào, gồm những j?
                              thêm điều nữa là thường thì hầu hết mạch mô phỏng chạy thì mạch thực tế chưa chắc đã chạy.

                              Comment


                              • Nguyên văn bởi dt_love Xem bài viết
                                lúc chạy lúc ko, vậy lúc ko chạy thì nó làm j? treo hẳn ko hiển thị j hay là chạy bậy bạ...? bạn nói cụ thể bệnh của nó thì mọi ng mới giúp bạn được,
                                mà mạch bạn làm là cắm dây trên test board hay là làm mạch in?
                                sơ đồ mạch thế nào, gồm những j?
                                thêm điều nữa là thường thì hầu hết mạch mô phỏng chạy thì mạch thực tế chưa chắc đã chạy.
                                Cái này thì e hiểu!lúc ko chạy tức là nó hiênt thị 1 giá trị(e nghĩ là con DS lúc đó ko chạy chứ ko phải là chíp ko đọc được,hay hiểu thị linh tinh.mạch thì em làm mạch thực tế chứ ko phải test trên bo.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X