Thông báo

Collapse
No announcement yet.

Đồng hồ báo tiết học code ASM !!!

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

  • Đồng hồ báo tiết học code ASM !!!

    Code đồng hồ báo tiết học hoàn chỉnh sử dụng RTCs DS1307, AT89xx. Hiển thị LED 7 đoạn: giờ, phút, thứ, ngày, tháng, năm và tiết học.
    - Tự kiểm tra RTCs đã được set lần đầu rồi hay chưa, nếu rồi thì ko set lại. Nếu chưa thì set giá trị đầu tiên (giá trị mặc định là 1) cho RTCs. Nếu RTCs hết pin cũng sẽ set lại giá trị mặc định.
    - 3 buổi học mỗi buổi 4 tiết, tiết đầu tiên và cuối cùng của buổi đỗ chuông trong 4 giây. Chuyển tiết đỗ chuông 2 giây. Giải lao đỗ chuông 4 giây rồi phát loa trong 16 giây.
    Chưa cập nhật được tiết học nếu có mất điện. Ai có thuật toán nào cập nhật được tiết học lại sau khi mất điện chỉ giáo dùm.
    Mạch mô phỏng hơi nặng nha ( máy mình Athlon II X3 440 3.0Ghz, khi mô phỏng, core giữa chạy 85% )
    Attached Files
    Last edited by chung1608; 29-06-2011, 21:13.

  • #2
    Để báo được nhiều lần bạn cần phải tạo 1 cái bảng giờ hẹn lưu vào 1 vùng nhớ không bị mất dữ liệu khi hệ thống mất điện. AT89xx không cho phép ghi dữ liệu vào Flash Rom. Cách hay nhất là lưu bảng giờ hẹn vào DS1307, trong DS1307 ngoài các vùng nhớ thời gian nhà thiết kế còn chừa lại vùng nhớ trống để người lập trình sử dụng, vùng nhớ này không bị mất dữ liệu khi hệ thống bị mất điện do có pin CMOS.
    Hiện tại trên trang web http://www.sangthai.com.vn/ste/goc-cong-nghe/8051 mình đang xây dựng một góc công nghệ dành cho mọi người, mình xin phép được lấy project của bạn up lên web đó được không ?

    Comment


    • #3
      Nguyên văn bởi OpenDoor Xem bài viết
      Để báo được nhiều lần bạn cần phải tạo 1 cái bảng giờ hẹn lưu vào 1 vùng nhớ không bị mất dữ liệu khi hệ thống mất điện. AT89xx không cho phép ghi dữ liệu vào Flash Rom. Cách hay nhất là lưu bảng giờ hẹn vào DS1307, trong DS1307 ngoài các vùng nhớ thời gian nhà thiết kế còn chừa lại vùng nhớ trống để người lập trình sử dụng, vùng nhớ này không bị mất dữ liệu khi hệ thống bị mất điện do có pin CMOS.
      Hiện tại trên trang web http://www.sangthai.com.vn/ste/goc-cong-nghe/8051 mình đang xây dựng một góc công nghệ dành cho mọi người, mình xin phép được lấy project của bạn up lên web đó được không ?
      hẹn giờ đã có rồi, đây là code hoàn chỉnh chỉ là chưa tìm ra cách so sánh để backup được tiết học khi mất điện thôi. Bạn post đâu cũng đc chỉ cần ghi rõ nguồn trong file

      Comment


      • #4
        Nguyên văn bởi chung1608 Xem bài viết
        hẹn giờ đã có rồi, đây là code hoàn chỉnh chỉ là chưa tìm ra cách so sánh để backup được tiết học khi mất điện thôi. Bạn post đâu cũng đc chỉ cần ghi rõ nguồn trong file
        AT89xx ko lưu đc đâu,mỗi lần mất điện là nó reset lại luôn. Mình nghĩ nên làm như bạn OpenDoor là tôt nhất...
        Nhân tiện cho mình hỏi,con ds1307 co 52thanh ghi 8bit trống,giả sử mỗi thanh ghi lưu đc 1 khung giờ ( chưa tính 1 khung giờ cần phải lưu 1 giá trị giờ & 1 giá trị phút) thì mình muốn lưu nhiều hơn 52 khung giờ thì phải làm thế nào???

        mọi ng giúp mình với

        Comment


        • #5
          Nguyên văn bởi aklop Xem bài viết
          AT89xx ko lưu đc đâu,mỗi lần mất điện là nó reset lại luôn. Mình nghĩ nên làm như bạn OpenDoor là tôt nhất...
          Nhân tiện cho mình hỏi,con ds1307 co 52thanh ghi 8bit trống,giả sử mỗi thanh ghi lưu đc 1 khung giờ ( chưa tính 1 khung giờ cần phải lưu 1 giá trị giờ & 1 giá trị phút) thì mình muốn lưu nhiều hơn 52 khung giờ thì phải làm thế nào???

          mọi ng giúp mình với
          back up tiết học cũng làm đc luôn rồi, mờ đây là cái đồ án của người ta mình làm dùm thôi, nó cũng bảo vệ rồi. 56 byte RAM chứ ko phải 52. Muốn lưu nhiều hơn thì chú dùng EEPROM de

          Comment


          • #6
            Thế nó đang chạy mà treo thì sao ?

            Comment


            • #7
              Thế nó đang chạy mà treo thì sao ?

              Comment


              • #8
                Nguyên văn bởi duong_act Xem bài viết
                Thế nó đang chạy mà treo thì sao ?
                treo 89 thì reset cũng như mất nguồn rồi vẫn backup đc thôi, chương trình back up tiết học chỉ là so sánh với thời gian đang chạy ứng với tiết mấy, đa số các đồ án đồng hồ báo tiết mình thấy chỉ toàn hẹn giờ cho chuông mà ko có hiển thị tiết học. Còn treo 1307 thì thua rồi @!@

                Comment


                • #9
                  Ậc. Lại thò tay nhấn reset @@. Giờ mùa đông với mùa hè lại khác nhau nữa, lại phải nạp lại code @@ hic.

                  Comment


                  • #10
                    Nguyên văn bởi duong_act Xem bài viết
                    Ậc. Lại thò tay nhấn reset @@. Giờ mùa đông với mùa hè lại khác nhau nữa, lại phải nạp lại code @@ hic.
                    chú này ngộ nhỉ, treo 89 thì nó ăn nhậu được với ai trong code @@. Còn giờ theo mùa ý chú là đông chí với hạ chí á, chú chỉnh thế nào

                    Comment


                    • #11
                      Nguyên văn bởi chung1608 Xem bài viết
                      chú này ngộ nhỉ, treo 89 thì nó ăn nhậu được với ai trong code @@. Còn giờ theo mùa ý chú là đông chí với hạ chí á, chú chỉnh thế nào
                      Ý là không có chức năng tự động reset khi treo à? Vì làm sao mà biết nó treo lúc nào. Chả lẽ ngồi canh lúc nào nó treo sao. Đùng cái giờ ra chơi lại 60' thì toi
                      Còn chỉnh giờ thì cho nó lưu giờ chỉnh vào đâu đấy, lưu cả số tiết hiện tại luôn, khi load nó lại load từ đấy ra, khỏi sợ mất điện.

                      Comment


                      • #12
                        Nguyên văn bởi duong_act Xem bài viết
                        Ý là không có chức năng tự động reset khi treo à? Vì làm sao mà biết nó treo lúc nào. Chả lẽ ngồi canh lúc nào nó treo sao. Đùng cái giờ ra chơi lại 60' thì toi
                        Còn chỉnh giờ thì cho nó lưu giờ chỉnh vào đâu đấy, lưu cả số tiết hiện tại luôn, khi load nó lại load từ đấy ra, khỏi sợ mất điện.
                        máy tính chú có tự động reset khi bị treo hok, treo phải tùy trường hợp. Mà chip VDK treo thì làm gì mà tự reset. Với lại chuyện giờ đã có 1307 lo rồi, chú nói lưu tiết khi mất điện lấy ra, vậy lỡ mấy điện tiết 1 rồi qua tiết 3 có điện lại thì nó lấy ra là tiết mấy. Vấn đề ko phải là lưu tiết mà là lấy giờ trong 1307 ra xem là thời gian này là của tiết mấy.

                        Comment


                        • #13
                          Nguyên văn bởi chung1608 Xem bài viết
                          máy tính chú có tự động reset khi bị treo hok, treo phải tùy trường hợp. Mà chip VDK treo thì làm gì mà tự reset. Với lại chuyện giờ đã có 1307 lo rồi, chú nói lưu tiết khi mất điện lấy ra, vậy lỡ mấy điện tiết 1 rồi qua tiết 3 có điện lại thì nó lấy ra là tiết mấy. Vấn đề ko phải là lưu tiết mà là lấy giờ trong 1307 ra xem là thời gian này là của tiết mấy.
                          Cậu tin tôi làm được auto reset và lưu giờ không
                          Nếu đang tiết 1 mất điện đến tiết 3 có điện nó vẫn chạy tiếp từ tiết 3.
                          Dĩ nhiên là ko phải 89C51 mà con khác hàng xóm với 89C51.

                          Comment


                          • #14
                            Nguyên văn bởi duong_act Xem bài viết
                            Cậu tin tôi làm được auto reset và lưu giờ không
                            Nếu đang tiết 1 mất điện đến tiết 3 có điện nó vẫn chạy tiếp từ tiết 3.
                            Dĩ nhiên là ko phải 89C51 mà con khác hàng xóm với 89C51.
                            vấn đề auto reset khi bị treo chip có thể làm ko có gì cao siêu với update tiết sau khi mất điện đã làm đc rồi. Còn chú nói lưu giờ cái này hơi khó hiểu, có RTC rồi lưu giờ là sao

                            Comment


                            • #15
                              Nguyên văn bởi chung1608 Xem bài viết
                              vấn đề auto reset khi bị treo chip có thể làm ko có gì cao siêu với update tiết sau khi mất điện đã làm đc rồi. Còn chú nói lưu giờ cái này hơi khó hiểu, có RTC rồi lưu giờ là sao
                              Thì nó báo chuông nó phải so cái giờ hiện tại với giờ đặt trước mới báo chuông, giờ sửa giờ đặt trước thì làm thế nào ?

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X