เนี้อหา

หลักการทำงานของพอร์ตเครื่องพิมพ์

WELCOME http://www.geocities.com/kitti_hirun2001

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

กลุ่มสัญญาณข้อมูล ( DATA )

   มีขนาด 8 บิตเป็นรีจีสเตอร์เอาท์พุตขนาด 8 บิตซึ่งมีตำแหน่งพอร์ตในการติดต่อคือ 0378H ( LPT1 ) หรือ 0278 ( LPT2 ) เราสามารถส่งค่าข้อมูลออกได้โดยใช้คำสั่ง OUTซึ่งเมื่อเขียนข้อมูลออกไปที่พอร์ตนี้จะทำให้สัญญาณมีค่าเหมือนกับข้อมูลที่เขียนออกไปเช่นเมื่อเขียนข้อมูลเป็น " 1 " ออกไปที่บิตใดของพอร์ตนี้จะทำให้ขาสัญญาณของบิตนั้นเป็น " 1 " ตามไปด้วยซึ่งพอร์ตนี้สามารถอ่านค่าของข้อมูลที่เราเขียนออกไปแล้วกลับเข้ามาเพื่อตรวจสอบว่าสัญญาณที่ถูกส่งออกไปนั้นมีการถูกเปลี่ยนแปลงโดยอุปกรณ์ภายนอกหรือไม่ ดังแสดงรายละเอียดและการทำงานของกลุ่มสัญญาณข้อมูลในตาราง

บิตสัญญาณข้อมูลที่อ่าน/เขียน

สัญญาณที่พอร์ตเมื่อถูกเขียนด้วยลอจิก " 1 "

สัญญาณจากพอร์ตเมื่ออ่านได้เป็นลอจิก " 1 "

ขาสัญญาณของ DB25

0

HIGH

HIGH

2

1

HIGH

HIGH

3

2

HIGH

HIGH

4

3

HIGH

HIGH

5

4

HIGH

HIGH

6

5

HIGH

HIGH

7

6

HIGH

HIGH

8

7

HIGH

HIGH

9

ตารางแสดงรายละเอียดและการทำงานของกลุ่มสัญญาณข้อมูล

 

กลุ่มสัญญาณควบคุม ( Control )

    มีขนาด 4 บิตโดยมีตำแหน่งพอร์ตในการติดต่ออยู่ที่ 037AH ( LPT1 ) หรือ 270AH ( LPT2 ) เราสามารถเขียนและอ่านข้อมูลจากพอร์ตนี้ได้ ซึ่งสัญญาณของบิต 0 ,1และ3จะถูกกลับสภาวะเป็นตรงกันข้ามจากค่าของข้อมูลที่เขียนอ่านคือถ้าเขียนข้อมูลเป็น1ออกไปที่บิตเหล่านี้จะทำให้สัญญานกลับเป็น 0 หรือถ้าสัญญานที่คอนเนกเตอร์มีค่าเป็น 0 อยู่เมื่ออ่านค่าเข้ามาจะได้ค่าเป็น 1

บิตสัญญานข้อมูลที่อ่าน / เขียน

สัญญานที่พอร์ตเมื่อถูกเขียนด้วยลอจิก 1

สัญญานจากพอร์ตเมื่ออ่านได้เป็นลอจิก 1

ขาสัญญานของ DB15

0

LOW

LOW

1

1

LOW

LOW

14

2

HIGH

HIGH

16

3

LOW

LOW

17

4

ENABLE IRQ7

ENABLE IRQ7 BIT

 

5-7

 

 

 

ตารางแสดงรายละเอียดและการทำงานของกลุ่มสัญญานควบคุม

กลุ่มสัญญานสถานะ

   มีขนาด 5 บิต พอร์ตนี้มีตำแหน่งในการติดต่ออยู่ที่0379H ( LPT1 ) หรือ 0279H ( LPT2 ) ซึ่งสัญญานข้อมูลจากพอร์ตนี้ใช้สำหรับ อ่านสถานะของสัญญานอินพุตแบบรีลไทม์จากภายนอกเพื่อส่งค่าไปประมวลผล อย่างไรก็ตามสัญญานที่นำมาใช้เชื่อมต่อเพื่อใช้ควบคุมและอ่านเขียนข้อมูลกับบอร์ด ET-AD12 นี้จะใช้สัญญานจากพอร์ตเครื่องพิมพ์เพียง4 สัญญานเท่านั้นคือ สัญญานจากพอร์ตข้อมูลมีตำแหน่งของการติดต่ออยู่ที่ 0378H ( LPT1 ) และ  0278H ( LPT2 ) โดยใช้สัญญานจากพอร์ตนี้จำนวน 3 เส้นเท่านั้นคือ D0 ,D1และ D3 สัญญาน D0ถูกใช้สำหรับเป็นสัญญาณข้อมูลที่จะเขียนให้กับ LTC1298 ทางข้อมูลเข้า ( D1 ) สัญญาน D1ถูกใช้สำหรับเป็นสัญญานนาฬิกา ( CLK ) เพื่อใช้กำหนดการอ่าน / เขียนข้อมูลระหว่างเครื่องพีซีกับไอซีให้สัมพันธ์สอดคล้องกันสำหรับสัญญาน D3 ถูกใช้เป็นสัญญานควบคุมการเลือกการทำงาน ( CS ) ของLTC1298 สัญญานจากพอร์ตอินพุตสถานะมีตำแหน่งของการติดต่ออยู่ที่ 0379H ( LPT1 ) หรือ  0279 ( LPT2 )โดยใช้สัญญานจากพอร์ตนี้เพียง 1 เส้นคือบิตที่ 7 ( BUSY ) สัญญานนี้จะใช้เป็นอินพุตสำหรับทำการอ่านค่าของข้อมูลที่ได้จากการแปลงที่ส่งออกจาก LTC1298 ที่ขา D0

บิตสัญญานข้อมูลที่อ่าน / เขียน สัญญานจากพอร์ตเมื่ออ่านได้เป็นลอจิกท " 1 " ขาสัญญานของ DB25
0 - -
1 - -
2 - -
3 HIGH 15
4 HIGH 13
5 HIGH 12
6 HIGH 10
7 LOW 11

ตารางแสดงรายละเอียดการทำงานของกลุ่มสถานะ

                    หลังทราบหลักการทำงานของพอร์ตเครื่องพิมพ์อย่างละเอียดแล้วเชื่อว่าผู้อ่านคงจะเริ่มเป็นแนวทาง

        ในการเขียนโปรแกรมขี้นบ้างแล้ว  ดังที่กล่าวไว้ในตอนต้นว่า ET-AD12 ไม่จำกัดภาษาในการเขียนโปรแกรม

        เพียงแต่ให้เป็นภาษาที่สนับสนุนคำสั่งในการควบคุมพอร์ตนี้  เพื่อเป็นแนวทางในการเขียนโปรแกรมต่อไป



BACK NEXT
Hosted by www.Geocities.ws

1