สำนักงานราชบัณฑิตยสภา

แผงวงจรไมโครคอนโทรลเลอร์เพื่ อการเรี ยนรู้ 58 The Journal of the Royal Institute of Thailand Vol. 38 No. 3 July-Sep 2013 out count0,al ; การเตรียมการเริ่มต้นส� ำหรับ 8251 mov al,0 ; รีเซต 8251 โดยใส่ข้อมูลค่า 0 รวม 3 ครั้งที่ช่องทางควบคุม out ser_ctrl,al out ser_ctrl,al out ser_ctrl,al mov cx,4 delay0: loop delay0 ; ชะลอการท� ำงานของ 8088 mov al,01000000b ; รีเซต 8251 ไปที่ mode set out ser_ctrl,al mov cx,4 delay1: loop delay1 ; ชะลอการท� ำงานของ 8088 mov al,ser_mode ; ก� ำหนดโหมดการท� ำงานรับ-ส่งข้อมูลอนุกรม out ser_ctrl,al mov cx,4 delay2: loop delay2 ; ชะลอการท� ำงานของ 8088 mov al,xcv_cmnd ; ท� ำให้ 8251 สามารถรับ-ส่งข้อมูลได้ out ser_ctrl,al mov cx,4 delay3: loop delay3 ; ชะลอการท� ำงานของ 8088 sti ; เปิดโอกาสให้มีการขัดจังหวะได้ ; การสื่อสารข้อมูลอนุกรมกับคอมพิวเตอร์ภายนอก recv: in al,ser_ctrl ; ตรวจดูข้อมูลในช่องทางควบคุมของ 8251 jmp short $+2 ; ชะลอการท� ำงานของ 8088 test al,2 ; ตรวจดูบิต 1 ของข้อมูล, ค่า 1 => มีข้อมูลให้รับแล้ว jz recv ; ยังไม่มีข้อมูลเข้ามา in al,ser_data ; รับข้อมูลเข้า jmp short $+2 ; ชะลอการท� ำงานของ 8088 and al,7Fh ; ตัด parity bit ออก call sending ; ส่งข้อมูลที่ได้รับกลับไปยังคอมพิวเตอร์ภายนอก

RkJQdWJsaXNoZXIy NTk0NjM=