การกำหนดให้พอร์ตหรือบิตใดๆ
ของไมโครคอนโทรลเลอร์เป็นพอร์ตอินพุต หรือส่วนในการรับค่าของข้อมูลเข้ามา จะเริ่มต้นด้วยการเขียนข้อมูลให้กับพอร์ตหรือบิตนั้นๆ
เป็นสถานะลอจิก "1" แล้วจึงส่งไปแต่ละบิตของพอร์ตที่ต้องการใช้งาน
เพื่อให้เป็นพอร์ตอินพุต เช่นใช้คำสั่ง MOV P3, #0FFH หรือคำสั่ง
SETB P1.5 จะทำให้วงจรส่วนของการคงสภาวะข้อมูล
หรือวงจรแลตซ์(Latch)* ซึ่งสร้างมาจากวงจร ดี ฟลิป-ฟลอป (D
flip-flop) จะให้เอาต์พุต Q มีสถานะลอจิกเป็น
"1" แล้วจะผ่านไปที่วงจรกลับสัญญาณ (Inverter)
เพื่อให้หยุดการทำงานของเฟต (FET)* ซึ่งจะทำให้ขาสัญญาณของพอร์ตถูกเชื่อมต่อเข้ากับวงจรพูลอัป
* ที่เป็นตัวต้านทานภายใน (Internal Pull up) โดยตรง
ส่งผลให้ขาพอร์ตนั้นมีสถานะลอจิกเป็น "1" และสามารถจะรับสัญญาณที่เป็นลอจิก
"0" จากอุปกรณ์ภายนอกได้
ข้อมูลจากอุปกรณ์ภายนอกที่ต่ออยู่ก็จะถูกส่งเข้ามาเก็บไว้ในวงจรบัฟเฟอร์ภายในพอร์ต
เพื่อรอให้ซีพียูมาทำการอ่านค่าเข้าไป
ดังนั้นอุปกรณ์ภายนอกที่เราจะนำมาเชื่อมต่อกับพอร์ตอินพุต
จึงนิยมกำหนดให้ทำงานในสภาวะลอจิก "0"

แสดงการกำหนดเป็นพอร์ตอินพุตโดยให้สถานะเป็น "1" ตำแหน่งบิตที่ต้องการ
สรุป เป็นช่องสำหรับรับข้อมูลเพื่อนำข้อมูลเข้าไปยังเครื่องนำข้อมูลเข้า
ไม่มีความคิดเห็น :
แสดงความคิดเห็น