Page 244 - Journal451
P. 244
วารสารราชบััณฑิิตยสภา
ปีีที่่� ๔๕ ฉบัับัที่่� ๑ มกราคม-เมษายน ๒๕๖๓
232 การแลกเปล่�ยนข้้อมููลแบบอนุกรมูโดยใช้้สายสัญญาณ ๒ เส้นระหว่่างไมูโครคอนโทรลเลอร์
สำาหรับไมโครโพีรเซึ่สเซึ่อร์ 8088 และส่วนี้ท้� ๒ เข้้ยนี้ด้วยภาษาซึ่้ (C) สำาหรับไมโครคอนี้โทรลเลอร์
PIC16F627A ซึ่อฟตั์แวร์ส่วนี้แรกตั้องผ่านี้การแอสเซึ่มเบิลและลิงก์ให้อยู่ในี้รูปข้องแฟ้มข้้อมูล
ฐานี้สอง (binary file) เส้ยก่อนี้ แล้วจ่งบรรจุลงสู่หนี้่วยความจำาอ่านี้อย่างเด้ยว (รอม) ในี้แผงวงจร
ไมโครคอนี้โทรลเลอร์ 8088 คำาแนี้ะนี้ำาสำาหรับกระบวนี้การดังกล่าวนี้้�ม้อยู่ในี้ (Fuller, 1995) ส่วนี้
ซึ่อฟตั์แวร์ส่วนี้ท้� ๒ ตั้องผ่านี้การคอมไพีล์และลิงก์ให้อยู่ในี้รูปข้องแฟ้มข้้อมูลฐานี้สิบหก (hexadecimal
file) เส้ยก่อนี้ แล้วจ่งบรรจุลงสู่หนี้่วยความจำาข้องตััวไมโครคอนี้โทรลเลอร์ PIC16F627A รายละเอ้ยด
สำาหรับกระบวนี้การส่วนี้หลังนี้้�ในี้ม้อยู่ในี้ (I-Style, 2550)
ซึ่อฟตั์แวร์ในี้บทความนี้้�แตักตั่างกับซึ่อฟตั์แวร์ในี้บทความท้�ได้นี้ำาเสนี้อไปก่อนี้แล้ว (มงคล
เดช้นี้ครินี้ทร์, ๒๕๖๒) ค่อ ซึ่อฟตั์แวร์ในี้ท้�นี้้�กำาหนี้ดให้แผงวงจรตััวรองแสดงความพีร้อมท้�จะรับ/ส่ง
ข้้อมูลโดยการส่งสัญญาณข้ัดจังหว่ะไปยังแผงวงจรตััวหลัก และแผงวงจรตััวหลักไม่ตั้องใช้้การหยั�ง
สัญญาณ (polling) โดยตัรงแก่แผงวงจรตััวรอง อย่างไรก็ตัาม ในี้การส่งข้้อมูลแตั่ละบิตั แผงวงจร
ตััวหลักและแผงวงจรตััวรองตั่างก็ใช้้วิธี้ข้ัดจังหวะการทำางานี้ข้องกันี้และกันี้ โดยผ่านี้ทางพีัลส์ประสานี้
เวลาดังท้�ได้กล่าวไว้แล้วในี้หัวข้้อท้�ผ่านี้มา
ซอฟต์แว่ร์สำาหรับการแลกเปล่�ยนข้้อมููลโดยใช้้การข้ัดจังหว่ะ
ในี้การแลกเปล้�ยนี้ข้้อมูลแบบอนีุ้กรมโดยท้�แผงวงจรตััวหลัก ค่อ แผงวงจร 8088 อาศััย
การข้ัดจังหวะจากแผงวงจรตััวรอง ค่อ แผงวงจร PIC16F627A นี้ั�นี้ ผู้นี้ิพีนี้ธี์ใช้้ฮาร์ดแวร์ตัามวงจรในี้
ภาพีท้� ๑ ในี้การส่งและรับข้้อมูล แผงวงจรแตั่ละแผงใช้้หลักเกณฑ์์อย่างเด้ยวกันี้ ค่อ เม่�อส่งข้้อมูล
แตั่ละไบตั์ แผงวงจรจะส่งบิตัเริ�มก่อนี้ จากนี้ั�นี้จ่งส่งบิตัข้้อมูล (บิตั “0” หร่อบิตั “1”) จำานี้วนี้ ๘ บิตั โดย
เริ�มจากบิตัท้�ม้นี้ัยสำาคัญสูงสุด (บิตั 7) ตัามด้วยบิตัท้�ม้นี้ัยสำาคัญตัำ�ากว่า (บิตั 6-1) จนี้ถู่งบิตัท้�ม้นี้ัยสำาคัญ
ตัำ�าสุด (บิตั 0) แล้วจ่งปิดท้ายด้วยบิตัหยุด บิตัตั่าง ๆ จำานี้วนี้ทั�งหมด ๑๐ บิตันี้้� แตั่ละบิตัจะม้พีัลส์
ประสานี้เวลานี้ำาหนี้้าก่อนี้เสมอ ดังท้�แสดงไว้ในี้ภาพีท้� ๓ และเม่�อรับข้้อมูลแตั่ละไบตั์ แผงวงจรฝ่่ายรับ
จะตัอบสนี้องตั่อพีัลส์ประสานี้เวลาจากแผงวงจรฝ่่ายส่ง ซึ่่�งทำาหนี้้าท้�เป็นี้สัญญาณข้ัดจังหวะ โดยการ
ตัรวจสอบบิตันี้ำา (บิตัแรกสุด) ท้�ได้รับว่าเป็นี้บิตัเริ�มหร่อไม่ ถู้าบิตันี้้�เป็นี้บิตัเริ�ม แผงวงจรฝ่่ายรับก็จะรับ
บิตัตั่าง ๆ ท้�ม้ตัามมาอ้ก ๘ บิตัเป็นี้บิตัข้้อมูล โดยเริ�มจากบิตัท้�ม้นี้ัยสำาคัญสูงสุด ตัามด้วยบิตัท้�ม้
นี้ัยสำาคัญตัำ�ากว่า จนี้ถู่งบิตัท้�ม้นี้ัยสำาคัญตัำ�าสุด จากนี้ั�นี้จ่งรับบิตัท้� ๑๐ (บิตัท้ายสุด) ซึ่่�งจะตั้องเป็นี้บิตัหยุด
เสมอ แล้วเก็บบิตัข้้อมูลจำานี้วนี้ ๘ บิตัไว้เป็นี้ข้้อมูล ๑ ไบตั์ อย่างไรก็ตัาม ถู้าบิตัท้� ๑๐ นี้้�ไม่ใช้่บิตัหยุด
ก็แสดงว่าการส่งหร่อรับข้้อมูลม้ความผิดพีลาดบกพีร่อง