วันจันทร์ที่ 24 ธันวาคม พ.ศ. 2555

โปรแกรมไฟกระพริบสลับกัน LED 2 ดวง

  บทความที่แล้วเราทำโปรแกรม โปรแกรมไฟกระพริบ LED 2 ดวง กันไปแล้วโดย LED ติดดับพร้อมกันไม่ยากอย่างที่คิดเลยใช่มั๊ยล่ะครับ ทีนี้เรามาเขียนโปรแกรมให้ LED ติดดับสลับกันบ้างครับ

ขั้นตอนที่ 1

 ประกอบวงจรตามรูปด้านล่าง ลงในโปรแกรม Proteus ครับ



คำสั่งที่ใช้ในการโปรแกรม

while()  เป็นคำสั่งทำงานซ้ำแบบมีเงื่อนไขครับ ซึ่งจะทำงานวนซ้ำไปเรื่อยๆจนกว่าเงื่อนไขจะเป็นเท็จ

output_x(...)   เป็นคำสั่งส่งข้อมูลออกทางเอาต์พุตในพอร์อตที่ต้องการตามค่าที่กำหนด เช่น output_b(0x01);

delay_ms(...)  เป็นคำสั่งหน่วงเวลา เช่น delay_ms(500); โปรแกรมจะหน่วงเวลา 500ms ซึ่งค่านี้เราสามารถเปลี่ยนแปลงได้ตามความต้องการครับ


ขั้นตอนที่ 2

เริ่มเขียนโปรแกรมกันเลยครับ


#include<16F84A.h>
#use delay(clock=4000000)
#fuses XT,NOWDT

void main()
{
  while(true)                      // คำสั่งวนซ้ำแบบมีเงื่อนไข
         {
           output_b(0x01);     // คำสั่งส่งข้อมูลออกทางเอาต์พุตพอร์ต b0
           delay_ms(1000);    // คำสั่งหน่วงเวลา 1 วินาที
           output_b(0x02);     //
คำสั่งส่งข้อมูลออกทางเอาต์พุตพอร์ต b1
           delay_ms(1000);    // คำสั่งหน่วงเวลา 1 วินาที
         }
}






การทำงานของโปรแกรม

      เมื่อโปรแกรมเริ่มทำงาน LED ทั้งสองดวง จะติดและดับสลับกัน โดยหน่วงเวลาในการติด 1 วินาที และหน่วงเวลาในการดับ 1 วินาที 

3 ความคิดเห็น:

  1. คำสั่งส่วนบนหมายความว่าอะไรบ้างครับ

    ตอบลบ
  2. มีแบบกดสวิชเปลี่ยนจังหวะไหมครับ

    ตอบลบ
  3. Casino Finder (2021) - Mapyro
    Find Casino Finder (2021) near me in the search bar. 안산 출장안마 1 Casino, 천안 출장마사지 Reno 춘천 출장마사지 Nevada 강릉 출장샵 888, 888 Casino-Casino, Reno, NV 광주 출장마사지 888 Casino.

    ตอบลบ