นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน

ServiceMan
Ico64
Sathaya Bunratchoo
Engineer
Scientific Equipment Center, PSU
เครือข่าย
สมาชิก · ติดตาม: 3 · ผู้ติดตาม: 2

อ่าน: 1973
ความเห็น: 0

พัฒนาโปรแกรมด้วย PIC Microcontroller บทที่ 2

ควบคุม Input / Output PIC Microcontroller

    จากบันทึกก่อนหน้านี้เกี่ยวกับ PIC Microcontroller electronic/29584
บันทึกนี้มาต่อกันด้วยการควบคุม Input / Output กันครับ Input / Output ก็เหมือนกับการเชื่อมต่อออกภายนอกสำหรับควบคุมอุปกรณ์ต่างๆ ยกตัวอย่างเช่น หลอด LED, Switch หรือใหญ่ขึ้นมาหน่อยก็จะเป็นหลอดไฟ หรือจะสั่งเปิด/ปิดเครื่องใช้ไฟฟ้าต่างๆ ซึ่งจะต้องใช้วงจรขับประกอบด้วยก็ได้เช่นกัน

    การใช้งาน IO ผ่าน CCS Compiler ไม่ได้ยากเย็นเลยครับใช้งานง่ายๆ โดยใช้ Function

output_low(PIN_XX); // จะให้ Output เป็น 0 volt ที่ Port XX
เช่น output_low(PIN_B1);  // จะให้ Output เป็น 0 volt ที่ Port B1

ในทางกลับกัน
output_high(PIN_XX); // จะให้ Output เป็น Vcc ที่ Port XX
เช่น output_high(PIN_B1);  // จะให้ Output เป็น Vcc ที่ Port B1

นอกจากนี้ Function ที่ใช้บ่อยร่วมกับ output_high() หรือ output_low() คือ Function delay_ms(int16 time) หมายถึงหน่วงเวลาเป็นเวลา มิลลิวินาที โดยสามารถหน่วงเวลาได้ตั้งแต่ 1 ถึง 65535 ms
เช่น delay_ms(1000); หมายถึงหน่วงเวลาเป็นเวลา 1000 ms หรือ 1 วินาที

อีก Function เกี่ยวกับการหน่วงเวลาคือ delay_us(int16 time) เช่นเดียวกับ delay_ms() ต่างกันเพียงหน่วยของเวลาเป็น ไมโครวินาที แต่มีจุดควรระวังตรงที่รุ่นของ Compiler รุ่นเก่าจะรับค่าเพียง 0-255 เท่านั้นนั่นหมายถึง Function delay_us() จะหน่วงเวลาได้เพียง 0 ถึง 255 us วินาทีเท่านั้น หากใส่ค่ามากกว่านั้นจะมีผลเป็นค่าที่ mod ด้วย 256 (ข้อมูล 2 byte แต่ใช้งานแค่ byte ล่าง)

ยกตัวอย่างโปรแกรมง่ายๆ ไฟกระพริบ

while(1) // ทำซ้ำไม่รู้จบ
{
  output_low(PIN_B1);  // Port B1 = 0 V
  delay_ms(500);  // หน่วงเวลา 0.5 วินาที
  output_high(PIN_B1); // Port B1 = Vcc
  delay_ms(500);  // หน่วงเวลา 0.5 วินาที
}

พบกันใหม่บันทึกหน้ากับ โครงงานง่ายๆ เกี่ยวกับ IO ครับ

หมวดหมู่บันทึก: พัฒนางานประจำ
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 02 กรกฎาคม 2556 21:18 แก้ไข: 02 กรกฎาคม 2556 21:18 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ: Ico24 DaDa, Ico24 Our Shangri-La, และ 9 คนอื่น.
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น

ร่วมแสดงความเห็นในหน้านี้

ชื่อ:
อีเมล:
IP แอดเดรส: 34.232.62.209
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
   
ยกเลิก หรือ