[EN] PIC18F458/PIC16F877 Ep.1 Related Devices

This article is about the use of an 8-bit PIC family of PIC microcontrollers PIC18F458 and PIC16F877 which are RISC type microcontrollers like AVR family microcontrollers and we have published a book on PIC using BASIC language (or order from Shoppee). This article, will be in C language and the board used as shown in Figures 1 and 2, but for the laboratory of the Faculty of Information Technology Phetchaburi Rajabhat University, choose a board for learning in the course of computer architecture as shown in Figure 2, and use a set of chip programs as shown in Figure 3. Article part 1 (Board CP-PIC V3/458 or CP-PIC V3/877), is an introduction to the features of the microcontroller and appearance of the laboratory test board. The use of the different parts of the PIC will be discussed in the next article.

Figure 1 CP-PIC V3/458 and CP-PIC V3/877
Read More

[TH] PIC18F458 Ep.5 GPIO and 7-Segments

บทความนี้เป็นการประยุกต์ใช้ GPIO ของ PIC18F458 เพื่อสั่งงานวงจรของแอลอีดี 8 หลอดที่จัดเรียงตำแหน่งกันเป็นเหมือนตัวเลขดังภาพที่ 1 โดยใช้หลอด LED จำนวน 8 หลอดมาจัดวางใหม่และเรียกว่า 7-Segment ที่สามารถนำไปประยุกต์แสดงผลตัวเลข และตัวอักษรได้อีกจำนวนหนึ่ง นอกจากนี้ บนตัวบอร์ดทดลองได้ติดตั้ง 7-Segment เอาไว้จำนวน 4 หลัก ทำให้สามารถเขียนโปรแกรมเพื่อควบคุมการแสดงผลข้อมูล 4 หลัก

ภาพที่ 1 ภาคแสดงผลด้วย 7-Segment บนบอร์ดทดลอง
Read More

[TH] PIC18F458 Ep.4 GPIO

หลังจากที่ได้สร้างโครงงานและโค้ดโปรแกรมเบื้องต้นจากบทความการใช้ MPLAB X IDE ไปก่อนหน้านี้ บทความนี้เป็นการใช้งานไมโครคอนโทรลเลอร์เพื่อใช้เป็นหน่วยนำออกสัญญาณหรือการ Output และนำเข้าสัญญาณหรือ Input ผ่านทางพอร์ตของ PIC18F458 ทั้งพอร์ต A, B, C และ D ผ่านทางวงจร LED และ Switch

ภาพที่ 1 บอร์ดทดลองแล็บสถาปัตยกรรมกับการทดลองใช้งาน GPIO
Read More

[TH] PIC18F458 Ep.3 An Introduction to Using MPLAB X IDE with XC8.

บทความนี้เป็นการใช้งานชุดพัฒนาโปรแกรม MPLAB X IDE (ดังภาพที่ 1) เพื่อใช้กับไมโครคอนโทรลเลอร์แบบ 8 บิตของบริษัท Microchip ด้วยภาษา C ผ่านทางเครื่องมือแปลภาษาที่เรียกว่า XC8 เพื่อเป็นพื้นฐานเบื้องต้นสำหรับการใช้งานในบทความต่อไป ซี่งขั้นตอนการพัฒนาโปรแกรมด้วยเครื่องมือชุดนี้มีขั้นตอนดังนี้

  1. สร้างไฟล์โครงงานและกำหนดประเภทของชิพไมโครคอนโทรลเลอร์เป็น PIC18F458
  2. สร้างไฟล์ภาษา C สำหรับชุดแปลภาษา XC8
  3. สร้างข้อมูลเกี่ยวกับการตั้งค่าไมโครคอนโทรลเลอร์เพื่อนำมาแปะเข้ากับโค้ดโปรแกรม
  4. คอมไพล์โปรแกรม
  5. นำไฟล์ที่ได้นั้นไปอัพโหลดเข้าบอร์ดผ่านทางเครื่องมือ PICKit2 หรือใหม่กว่า
ภาพที่ 1 หน้าต่างโปรแกรม MPLAB X IDE + XC8
Read More

[TH] PIC18F458 Ep.2 เจาะรายละเอียด

ในบทความก่อนหน้านี้ได้แนะนำบอร์ดที่ใช้ในแล็บวิชาสถาปัตยกรรมคอมพิวเตอร์และซอฟต์แวร์ที่ใช้ในการฝึกปฎิบัติไปแล้ว ครั้งนี้เป็นเนื้อหาเกี่ยวกับคุณสมบัติและผังการทำงานภายในชิพ PIC18F458 จากเอกสารของบริษัท Microchip เพื่อเป็นพื้นฐานในการเขียนโปรแกรมใช้งานความสามารถของไมโครคอนโทรลเลอร์ต่อไปในบทความถัดไป (ส่วนรายละเอียดของ PIC16F877 สามารถอ่านได้จากบทความนี้ครับ)

ภาพที่ 1 บอร์ดทดลองแล็บสถาปัตยกรรม
Read More

[TH] PIC18F458/PIC16F877 Ep.1 อุปกรณ์ที่เกี่ยวข้อง

บทความนี้เป็นเรื่องของการใช้ไมโครคอนโทรลเลอร์ PIC ในตระกูล 8 บิต รุ่น PIC18F458 และ PIC16F877 อันเป็นไมโครคอนโทรลเลอร์ประเภท RISC เหมือนกับไมโครคอนโทรลเลอร์ตระกูล AVR และทางเราได้มีผลงานหนังสือเกี่ยวกับ PIC โดยใช้ภาษา BASIC (หรือสั่งซื้อจาก Shoppee) แต่ในบทความนี้จะเป็นภาษา C และบอร์ดที่ใช้เป็นดังภาพที่ 1 และ 2 แต่สำหรับในห้องปฏิบัติการของคณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยราชภัฏเพชรบุรี เลือกใช้บอร์ดสำหรับเรียนรู้ในรายวิชาสถาปัตยกรรมคอมพิวเตอร์ดังภาพที่ 2 พร้อมใช้ชุดโปรแกรมชิพดังภาพที่ 3 โดยบทความตอนที่ 1 (บอร์ด CP-PIC V3/458 หรือ CP-PIC V3/877) นี้เป็นการแนะนำคุณสมบัติของไมโครคอนโทรลเลอร์และรูปร่างหน้าตาของบอร์ดทดลองในห้องปฏิบัติการ สำหรับการใช้งานส่วนต่าง ๆ ของ PIC จะกล่าวถึงในบทความตอนถัดไป

ภาพที่ 1 บอร์ด CP-PIC V3/458 และ CP-PIC V3/877
Read More

[TH] An Interrupt in MicroPython

บทความนี้อธิบายหลักการทำการขัดจังหวะหรืออินเทอร์รัพต์ (Interrupt) และการดักการเกิดการขัดจังหวะด้วย MicroPython โดยทดลองกับ ESP8266 และ ESP32 เพื่อเป็นแนวทางในการเขียนโปรแกรมตอบสนองการเกิดเหตุการณ์จากภายนอกโดยไม่ต้องรอให้งานที่ทำอยู่นั้นทำเสร็จก่อน

ภาพที่ 1 การทดลองตรวจจับระยะด้วยการดักการขัดจังหวะ
Read More

[TH] Using the DHT22/DHT11 Temperature and Humidity Sensor Module with ESP8266

บทความครั้งนี้เป็นการใช้งานโมดูลวัดค่าอุณหภูมิและความชื้น DHT22 และ DHT11 ด้วยภาษาไพธอน ซึ่งเป็นโมดูลเซ็นเซอร์ที่ทำงานด้วยการใช้สายสัญญาณเพียงเส้นเดียว ทำให้ประหยัดพอร์ตของไมโครคอนโทรลเลอร์ในการเชื่อมต่อกับโมดูลเซ็นเซอร์ นอกจากนี้ MicroPython มีไลบรารีเตรียมไว้สำหรับการใช้งาน DHT22 และ DHT11 จึงสะดวกและประหยัดเวลา ลดความผิดพลาดที่อาจจะเกิดจากการเขียนโปรแกรมด้วยตนเอง

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

ภาพที่ 1 ผลลัพธ์จาก code17-1
Read More