Thông báo

Collapse
No announcement yet.

Xem giúp mình code C hẹn giờ DS1307

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

  • Xem giúp mình code C hẹn giờ DS1307

    Chào mọi người.
    Mình lập trình cho DS1307 để hẹn giờ tắt mở máy bơm, nhưng cứ tới giờ là máy chạy, nhưng không bao giờ tắt, hoặc tắt sai giờ (lố giờ).
    Nhìn lại đồng hồ trên LCD thì vẫn hiển thị đúng.

    Dưới đây là code chạy từ 6h-10h, 17h-21h (DS1307 chạy chế độ 24h)
    Code:
    		if (((hour >= 6) && (hour <= 9))	|| ((hour >= 17) && (hour <= 20)))
    			{
    			relay4	=	0;		 // ON
    			lcd_com(0xCC);
    			lcd_data(0xFF);
    			}
    		else		   
    			{
    			relay4	=	1;		// OFF
    			lcd_com(0xCC);
    			lcd_data(0xDB);
    			}

    ----------------------------------------------------
    Thêm thông tin là biến hour mình đã chuyển từ BCD sang DEC.
    Với lại mạch chạy tốt khi mô phỏng trên Proteus, còn chạy thực tế thì lại sai..
    Last edited by TheHouse; 12-09-2012, 22:55.

  • #2
    Nguyên văn bởi thehouse Xem bài viết
    chào mọi người.
    Mình lập trình cho ds1307 để hẹn giờ tắt mở máy bơm, nhưng cứ tới giờ là máy chạy, nhưng không bao giờ tắt, hoặc tắt sai giờ (lố giờ).
    Nhìn lại đồng hồ trên lcd thì vẫn hiển thị đúng.

    Dưới đây là code chạy từ 6h-10h, 17h-21h (ds1307 chạy chế độ 24h)
    Code:
    		if (((hour >= 6) && (hour <= 9))	|| ((hour >= 17) && (hour <= 20)))
    			{
    			relay4	=	0;		 // on
    			lcd_com(0xcc);
    			lcd_data(0xff);
    			}
    		else		   
    			{
    			relay4	=	1;		// off
    			lcd_com(0xcc);
    			lcd_data(0xdb);
    			}
    minh khong biet c, nhung ban xem lai 17 = 10h = 10gio, 20= 14h =14gio.
    Không biết ngày mai sẽ ra sao?
    Mà có ra sao cũng chẳng sao.

    Comment


    • #3
      Mình quên để, biến hour ở trên là mình đã chuyển từ BCD sang DEC rồi mới so sánh.

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X