Thông báo

Collapse
No announcement yet.

Thuật toán lập trình chỉnh giờ cho đồng hồ số !???

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

  • Thuật toán lập trình chỉnh giờ cho đồng hồ số !???

    Mình có mạch đồng hồ như sau, có 6 led giờ phút giây . Quét led dùng timer0 còn tăng tăng giờ phút giây thì dùng timer 1. Có 4 nút trên Port P3.2 ->P3.5. Bạn nào đã từng lập trình chỉnh giờ trên đồng hồ rồi cho xin code (C hay ASM) hoặc lưu đồ thuật toán cũng được.

  • #2
    ở đây cũng có các đồng hồ số, b đọc tham khảo.
    http://www.dientuvietnam.net/forums/...14/index2.html
    WS:
    Blog:

    Comment


    • #3
      Nguyên văn bởi quangtung112 Xem bài viết
      ở đây cũng có các đồng hồ số, b đọc tham khảo.
      http://www.dientuvietnam.net/forums/...14/index2.html
      Chả có gì hết !!

      Comment


      • #4
        ko ai người ta làm đồng hồ = timer cả, 1 ngày sai vài phút là may, tham khảo các ic giờ mà làm thêm vào
        Website chính thức đổi địa chỉ website thành
        Mời các bạn ghé thăm !!!

        Comment


        • #5
          Nguyên văn bởi AKA_QUAN Xem bài viết
          Mình có mạch đồng hồ như sau, có 6 led giờ phút giây . Quét led dùng timer0 còn tăng tăng giờ phút giây thì dùng timer 1. Có 4 nút trên Port P3.2 ->P3.5. Bạn nào đã từng lập trình chỉnh giờ trên đồng hồ rồi cho xin code (C hay ASM) hoặc lưu đồ thuật toán cũng được.
          - Gán các giá trị giờ-phút- giây và bank thanh ghi.
          - Định giá trị của R0 để giá trị của R0 là địa chỉ theo thứ tự của giờ-phút- giây.
          - Ngắt ngoài 0 sẽ tăng tuần hoàn các giá trị địa chỉ của R0
          - Ngắt ngoài 1 tăng giá trị được gán vào R0 và kiểm soát ko cho quá 60 phút, 60 giây và 24 giờ

          Comment


          • #6
            Nguyên văn bởi mast090 Xem bài viết
            ko ai người ta làm đồng hồ = timer cả, 1 ngày sai vài phút là may, tham khảo các ic giờ mà làm thêm vào
            Mình làm đồng hồ số không nhớ nên chưa dùng IC nhớ giờ, thầy mình bảo là vào chế độ chỉnh giờ MODE trong hàm main() vì quét led và tính giờ đã do ngắt timer đảm nhận.
            Tuy nhiên mình chưa rành lằm về thuật toán quét phím mà thôi !

            Comment


            • #7
              như đồng hồ mình đã làm thì cũng như bạn nói, bạn đã nhét hết quét led và tính giờ vào ngắt timer rồi thì việc quét phím nhấn cứ để nó vào 1 hàm lặp vô hạn trong main là đc, lúc nào nó cũng ở chế độ chờ bạn nhấn phím, mà hiển thị led vs tính giờ vẫn đc đảm bảo
              Website chính thức đổi địa chỉ website thành
              Mời các bạn ghé thăm !!!

              Comment


              • #8
                Nguyên văn bởi mast090 Xem bài viết
                như đồng hồ mình đã làm thì cũng như bạn nói, bạn đã nhét hết quét led và tính giờ vào ngắt timer rồi thì việc quét phím nhấn cứ để nó vào 1 hàm lặp vô hạn trong main là đc, lúc nào nó cũng ở chế độ chờ bạn nhấn phím, mà hiển thị led vs tính giờ vẫn đc đảm bảo
                Vậy bạn có lưu đồ thuật toán không cho xin cái !!

                Comment


                • #9
                  Không nên dùng timer vì không chính xác, và không lưu thời gian khi mất điện, khuyên bạn nên xài các IC thời gian thực như DS1307, DS12C887.... nhưng tớ khuyên nên xài 12C887 vì chính xác hơn, còn thằng 1307 thì 1 ngày sai vài giây
                  |

                  Comment


                  • #10
                    Nguyên văn bởi tuanvu9490 Xem bài viết
                    Không nên dùng timer vì không chính xác, và không lưu thời gian khi mất điện, khuyên bạn nên xài các IC thời gian thực như DS1307, DS12C887.... nhưng tớ khuyên nên xài 12C887 vì chính xác hơn, còn thằng 1307 thì 1 ngày sai vài giây
                    chính xác hay ko phụ thuộc trình độ thiết kế mạch và linh kiện người mua xịn hay dỏm

                    Comment


                    • #11
                      Xin mọi người tập trung vào vấn đề 1 chút, mình làm đồng hồ không nhớ nên không cần IC, cái mình cần làm một thuật toán chỉnh giờ trong đồng hồ mà thôi !

                      Comment


                      • #12
                        Ví dụ bạn có 3 nút chỉnh là: set, up, down (tùy bạn ghép nối và định nghĩa). Thuật toán là ấn set lần 1 chỉnh giờ, lần 2 chỉnh phút, lần 3...
                        Code:
                        void chinhgio()
                        {
                                delay_ms(15);
                        	//set
                        	if(!set)
                        	{
                        	mode++;                       //mode=1 chỉnh gio, mode=2 chinh phut
                        	if(mode>2) mode=0;
                        	while(!set);
                        	delay_ms(15);
                        	}
                        	//up
                        	if(!up)
                        	{
                        	switch(mode)
                        	{
                        	case 1: gio++;if(gio>12) gio=1;break;
                        	case 2: phut++;if(phut>59) phut=0;break;
                        	}
                        	while(!up);
                        	delay_ms(15);
                        	}
                        	//down
                        	if(!down)
                        	{
                        	switch(mode)
                        	{
                        	case 1: gio--;if(gio<0) gio=12;break;
                        	case 2: phut--;if(phut<0) phut=59;break;
                        	}
                        	while(!down);
                        	delay_ms(15);
                        	}
                        }

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X