▼ กำลังโหลดข้อมูล... ▼
แสดงความคิดเห็น
คุณสามารถแสดงความคิดเห็นกับกระทู้นี้ได้ด้วยการเข้าสู่ระบบ
กระทู้ที่คุณอาจสนใจ
อ่านกระทู้อื่นที่พูดคุยเกี่ยวกับ
ฮาร์ดแวร์
การพัฒนาซอฟต์แวร์
วิศวกรรมคอมพิวเตอร์
อิเล็กทรอนิกส์
การเรียน
PIC16F628A ต้องการเขียนคำสั่งนับเวลาถอยหลัง
โดยโจทย์คือ ให้รดน้ำทุก 8ชั่วโมง โดยการรดน้ำแต่ละรอบการรดน้ำ ให้รด1นาที หยุด1นาที จำนวน4ครั้งแล้วจึงนับถอยหลังไปอีก 8โมงโมง วนแบบนี้เรื่อยๆ ซึ่งเป็นมินิโปรเจคประจำวิชา
ตอนนี้ที่ผมเขียนคือใช้คำสั่ง Delay และใช้ For วนลูป Delay เอา แต่ปรากฏว่า มันกลับรดทุก 2ชั่วโมง ผมเลยงงว่าเกิดจากอะไรอะ
แล้วถ้าใช้เป็นคำสั่ง Timer ที่อยู่ใน PIC นับเวลาเอาจะแม่นกว่ารึเปล่าครับ?
นี่คือส่วนของคำสั่งที่นับถอยหลัง8ชั่วโมง ที่ผมใช้ครับ ในส่วน start(1) stop(1) เป็นฟังก์ชั่นควบคุม LED กระพริบ
void delay_8hr(void)
{
for(min=0;min<72;min++)
{
for(n=0;n<100;n++)
{
start(1);
delay_ms(2000);
stop(1);
delay_ms(2000);
}
}
}
รบกวนด้วยครับ ผมไม่เก่งทางด้านการเขียนไมโครคอนโทรลเลอร์เลย ส่งได้ถึงแค่ซัมเมอร์เท่านั้น