Page 28 - The Journal of the Royal Society of Thailand
P. 28
วารสารราชบััณฑิิตยสภา
ปีที� ๔๙ ฉบับที� ๑ มกราคม-เมษายน ๒๕๖๗
18 การต่่อประสานแผงวงจรไมโครคอนโทรลเลอร์เพื่่�อการเรียนร้�กับหน่วยความจำอีอีพื่ร็อมแบบอนุกรมต่ามเกณฑ์์วิธีี I2C
๒. กำหนดให�วงจรรวม 8255 (2) ซึ่่�งเป็็นช่องทางเขี�า-ออกขีองขี�อม้ลแบบขีนานขีนาด ๘ บิต่ ทำงาน
ดังนี� ค่อ ช่องทาง A (Port 2A) และช่องทาง C คร่�งไบต่์บน (Port 2C upper nibble) เป็็นช่องทางสัญญาณเขี�า
ส่วนช่องทาง B (Port 2B) และช่องทาง C คร่�งไบต่์ล่าง (Port 2C lower nibble) เป็็นช่องทางสัญญาณออก
๓. สร�างขี�อม้ลอย่างง่ายจาก 1 (=01h) ถ่ง 100 (=64h) รวม ๑๐๐ ไบต่์ ขี่�นในบัฟเฟอร์ด�านออก
(obuf) โดยแสดงขี�อม้ลแต่่ละไบต่์ผ่านชุดแสดงผลแบบไดโอดเป็ล่งแสงต่ามวงจรในภาพื่ที� ๒
๔. เขีียนขี�อม้ลทั�งหมดจากบัฟเฟอร์ obuf ในขีั�นต่อน (๓) ลงในอีอีพื่ร็อมแบบอนุกรม AT24C256
โดยแสดงขี�อม้ลทีละ ๑ ไบต่์ผ่านชุดแสดงผลแบบไดโอดเป็ล่งแสงต่ามภาพื่ที� ๒ ก่อนที�จะเขีียน ทั�งนี�โป็รแกรม
ได�แบ่งขี�อม้ลออกเป็็น ๒ กลุ่ม กลุ่มแรกจำนวน ๖๔ ไบต่์ (จำนวนส้งสุดที�จะเขีียนได�ในแต่่ละรอบ) และกลุ่มที� ๒
จำนวน ๓๖ ไบต่์
๕. อ่านขี�อม้ลทั�งหมด ๑๐๐ ไบต่์จากอีอีพื่ร็อม AT24C256 และเก็บลงไว�ในบัฟเฟอร์ด�านเขี�า (ibuf)
๖. ทวนสอบ (verify) ขี�อม้ลในบัฟเฟอร์ ibuf โดยการแสดงขี�อม้ลแต่่ละไบต่์ผ่านชุดแสดงผลแบบไดโอด
เป็ล่งแสงต่ามภาพื่ที� ๒
ภาพื่ที� ๑๐ โป็รแกรมหลักที�ใช�สาธีิต่การต่่อป็ระสานแผงวงจรไมโครคอนโทรลเลอร์กับอีอีพื่ร็อมแบบ
อนุกรม
;Interfacing the 8088 Microcontroller Board for Learning
;with a Serial EEPROM Under the I2C Protocol
;Output pin: 8255 (2) pin PC0 -|<|- ->pin SDA of serial EEPROM AT24C256
;Output pin: 8255 (2) pin PC1 -|<|- ->pin SCL of serial EEPROM AT24C256
;Input pin: 8255 (2) pin PC4 <-> SDA line
;Input pin: 8255 (2) pin PC5 <-> SCL line
;Program name: I2C-ROM.ASM
;Date: Sep 19, 2023
;use Borland's Turbo Assembler and Linker
;assemble: tasm I2C-ROM
;link: tlink /t I2C-ROM.OBJ, I2C-ROM.BIN
;burn I2C-ROM.BIN to 32-KB parallel EPROM
;or transfer it to 32-KB parallel EPROM emulator
.model tiny
.code
org 8000h ;start address of system ROM (IC 27256)
;CONSTANTS for 8255 (2)
ppi_port2a equ 28h ;8255 (2) Port 2A
ppi_port2b equ 29h ;8255 (2) Port 2B
ppi_port2c equ 2Ah ;8255 (2) Port 2C
ppi_ctrl_2 equ 2Bh ;8255 (2) control port
obuf equ 0400h ;address of output data buffer
ibuf equ 0470h ;address of input data buffer