ความเห็น: 0
พัฒนาโปรแกรมด้วย PIC Microcontroller บทที่ 2
จากบันทึกก่อนหน้านี้เกี่ยวกับ 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 ครับ
บันทึกอื่นๆ
- เก่ากว่า « พัฒนาโปรแกรมด้วย PIC Microcontro...
- ใหม่กว่า » ทำทุกอย่างให้ถูกต้องตามระเบียบ ก...
ร่วมแสดงความเห็นในหน้านี้