C Programming Tutorial

เรียนรู้หน้าที่ และการใช้งาน I/O ของ PIC MCU

วันนี้ เราจะมาทำความเข้าใจของ ขาแต่ละขาของไมโครคอนโทรลเลอร์ตระกูล PIC จากค่ายไมโครชิพกันครับ โดยเบอร์ที่จะยกตัวอย่างต่อไปนี้ ก็เป็นเบอร์ PIC18F46K22 สำหรับเบอร์อื่นๆ ก็สามารถศึกษาจากดาต้่าชีทของเบอร์นั้นๆ ได้ โดยผมจะอธิบายจากดาต้าชีทเหมือนกัน ดังนั้น ท่านสามารถนำหลักการพิจารณานี้ ไปศึกษาจากเบอร์อื่นๆ ตามดาต้าชีทของมันได้เลย 

สิ่งที่เรารู้เป็นอันดับแรกๆ ก็คือ ไมโครคอนโทรลเลอร์ที่เรากำลังจะเลือกใช้งานนั้น มีจำนวนขาที่ใช้งาน อยู่กี่ขา เพียงพอกับโปรเจคเราไหม และขาที่ต้องใช้งานฟังก์ชั่นพิเศษนอกเหนือจากขาที่เป็นดิจิตอล อินพุต เอาท์พุตนั้น มีอยู่หรือเปล่า เพียงพอไหม ซึ่งข้อมูลคร่าวๆ เหล่านี้ เราจะสามารถพบได้ที่หน้าเว็บของไมโครคอนโทรลเลอร์เบอร์นั้น สำหรับเบอร์ PIC18F46K22 นั้น ก็เช่นเดียวกัน ทางไมโครชิพจะสรุปไว้แล้ว ที่หน้าดาวน์โหลดดาต้าชีทของมัน แต่ รายละเอียดลึกๆ นั้น เราต้องโหลดดาต้าชีทมาดู

เอาหล่ะ เมื่อเราได้โหลดดาต้าชีทของเบอร์ PIC18F46K22 มาแล้ว เราก็มาดูในส่วนของ PIN Diagrams ของมมันก่อน ในตัวอย่างนี้ ผมมี PIC18F46K22 ตัวถังแบบ PDIP 40 PIN อยู๋ในมือ ผมจึงโฟกัสไปที่ Pin Diagrams (40-pin) ซึ่งจากรูป จะเห็นการจัดเรียงตัวของขาไมโครคอนโทรลเลอร์ ซึ่งจะมีทั้งขาที่เป็นแหล่งจ่าย Vcc,Vss  ขาที่เป็นขาโปรแกรม PGD,PGC ส่วนขาอื่นๆ ที่เห็นจะเป็นตำแหน่ง bit ต่างๆ ในแต่ละ PORT เช่น RA0 คือ บิตแรกของรีจิสเตอร์ PORTA ส่วน RA1,RA2,RA3...,RA7 ก็ไล่ไปเรื่อยๆ จนครบ 8 บิต (รีจิสเตอร์ หนึ่งมีขนาด 8 บิต มันจึงได้ชื่อว่า ไมโครคอนโทรลเลอร์ 8 บิต นั่นเอง)  ซึ่งจะเห็นตำแหน่งการเรียงตัวของแต่ละบิต ในแต่ละ PORT จะวางเรียงตัวใกล้ๆ กัน

PIC18F46K22 Pinout


ต่อมาในตาราง TABLE 1-3: PIC18(L)F4XK22 PINOUT I/O DESCRIPTIONS เขาจะบอกถึงรายละเอียดของแต่ละขา ของไมโครคอนโทรลเลอร์ โดยจะบอกทั้งตัวถัง PDIP, TQFP, QFN, UQFN ซึ่งตัวถังของเราเป็นแบบ PDIP ดังนั้นเราจึงจะสนใจเฉพาะช่องข้อมูลที่เขียนว่า PDIP เท่านั้น ในตารางนี้ มีคำย่อที่ควรทำความเข้าใจสักหน่อย เช่น  ST, TTL , CMOS, Analog,  เหล่านี้ มันคืออะไรกันแน่