CONTACT | TEL : 02-728-3440, EMAIL : SALES@ASTRONLOGIC.COM
ASTRON LOGIC RESEARCH AND DEVELOPMENT CO.,LTD.

» WEBBOARD

vhdl code expansion I/O

IC ตัวนี้ผมเขียนขึ้นโดยเป็น iC ที่ใช้ขยาย I/O มีอยู่ด้วยกัน 6 Port
PORT 4, PORT 5, PORT 6, PORT 7, PORT 8, PORT 9 และ port control คือ PORT 2 มี ขา Prong , และ Reset

==>> ขั้นตอนการ write
การ write จะมี อยู่ด้วยกัน 3 mode คือ wr,wr_or=,wr_and โดยแต่ละแบบ มีขั้นตอนที่เหมือนกัน
1. enable ขา chip_select active low =0
2. เลือก port โดย และ mode การ write ตัวอย่าง 00010001
ตรงสีแดงคือ mode การ write แบบธรรมดา
address การ write ==>> wr =0001XXXX
wr_or =0010XXXX
wr _and =0011XXXX
ตรงสีเหลือง เป็นตำแหน่งของ port===>>> PORT 4 ==XXXX0000
PORT 5 ==XXXX0001
PORT 6 ==XXXX0010
PORT 7 ==XXXX0011
PORT 8 ==XXXX0100
PORT 9 ==XXXX0101
3. ส่ง clock signal 1 ลูก ไปที่ ขา prong
4. หลังจากนั้นก็ กำหนด DATA เช่น PORT _2 =0xAA(เขียนด้วยภาษา c) เป็นต้น และตามด้วย clock signal 1 ลูก ไปที่ ขา prong อีก 1ลูก
5. DATA จะ ออกทาง port ที่เรากำหนดออกมา
****หมายเหตุขา reset และ chip_select active low จำเป็นต้องต่อ R pull ไว้ด้วยup


===>> ขั้นตอนการ read
1. เลือก port ที่ต้องการ จะ read ตามตำแหน่งของ port ด้านบน
ทำตามตัวอย่าง 00000001
**ตรงสีแดงคือ opcode ของการ read สีเหลืองคือ ตำแหน่ง port

2. ส่ง clock signal 1 ลูก ไปที่ ขา prong
3. จากนั้น เราก็เขียนโปรแกรมรับค่า ที่อ่านมา

***ปัญหาที่พบที่อยากให้ช้วยคือ การread ยังมีปัญหาอยู่ครับ แต่ผมก็ไม่ทราบว่าจะหาที่ไหน จนปัญาอยู่เหมือนกัน ...หวังว่าผู้รู้ทุกท่านจะมาช้วยด้วยนะครับผมก็ขอบคุณมากละครับ ...ถ้าต้องการรายละเอียดเกี่ยวกับ โปรแกรมที่ผมเขียนนี้ ก็ ตั้งกะทู้เลยนะครับ
โปรแกรมตาม link นี้เลยนะครับ http://www.uploadtoday.com/download/?21064&A=906765

จากคุณ : yai ตั้งกระทู้นี้เมื่อ 14:41 [27/08/2008]

ความคิดเห็นที่1

ที่จะทำคล้ายๆๆ กับ 8255 ใช่ปาวคับ แต่ไม่เห็น code เลยบอกไม่ได้นะคับว่าจะแก้ยังไง

จากคุณ : rei 12:24 [25/09/2008]
ร่วมด้วยช่วยกันตอบครับ
ชื่อ :
E-Mail :
คำตอบ :







คลิกเพื่อแทรกรูป