Page 251 - Journal451
P. 251

วารสารราชบััณฑิิตยสภา
                                          ปีีที่่� ๔๕ ฉบัับัที่่� ๑ มกราคม-เมษายน ๒๕๖๓
             ศาสตราจารย์์ ดร.มงคล เดชนครินทร์                                               239


                  ;Page 7/7 of Fig. 6

                  delayhms proc ;delay of about 0.5 ms
                           push cx
                           mov  cx,0080h
                  reptu:   loop reptu
                           pop  cx
                           ret
                  delayhms endp
                  ;***********************************

                  delay1ms proc ;delay of about 1 ms
                           push cx
                           mov  cx,0100h
                  reptx:   loop reptx
                           pop  cx
                           ret
                  delay1ms endp
                  ;***********************************

                  delay1   proc ;delay of about 64 ms
                           push cx
                           mov  cx,4000h
                  delay5:  loop delay5
                           pop  cx
                           ret
                  delay1   endp
                  ;***********************************

                  delay2   proc ;delay of about 250 ms
                           push cx
                           mov  cx,0FFFFh
                  delay6:  loop delay6
                           pop  cx
                           ret
                  delay2   endp
                  ;***********************************
                  rset:
                  org 0FFF0h ;Instruction Pointer address at reset
                  db  0EAh,0,80h,0,0 ;far jump to start of ROM

                  end main
                  ;***********************************************

             ภาพท่� ๖  ซึ่อฟตั์แวร์การแลกเปล้�ยนี้ข้้อมูลแบบข้ัดจังหวะข้องแผงวงจรไมโครคอนี้โทรลเลอร์ 8088 (ตั่อ)
                     ซึ่อฟตั์แวร์ภาษาแอสเซึ่มบล้สำาหรับไมโครโพีรเซึ่สเซึ่อร์ 8088 ตัามภาพีท้� ๖ ม้รายละเอ้ยด

             มากกว่าท้�แสดงไว้ในี้ผังงานี้ตัามภาพีท้� ๔  ยกตััวอย่างว่า ในี้กระบวนี้การเริ�มตั้นี้ข้องการทำางานี้ ไมโคร

             โพีรเซึ่สเซึ่อร์ 8088 จะกำาหนี้ดค่าเริ�มตั้นี้ข้องตััวแปร (variable) ตััวตั่าง ๆ ค่อ datbyt, endcnt, intflg,
             xmtflag, datpos ให้เป็นี้ศัูนี้ย์ทุกตััว หนี้่วงเวลาไว้ราว ๑ วินี้าท้ก่อนี้เข้้าสู่วงวนี้ loop ท้�ใช้้ตัรวจสอบ
             ความพีร้อมรับ/ส่งข้้อมูลข้องแผงวงจรไมโครคอนี้โทรลเลอร์ PIC16F627A (แผงวงจรตััวรอง) แสดงผล

             ข้้อมูลแตั่ละไบตั์ผ่านี้ช้่องทาง B ข้องวงจรรวม 8255 (2) ก่อนี้ท้�จะส่งบิตัข้้อมูลครั�งละ ๑ บิตัผ่านี้ทางข้า

             PC3 ข้องวงจรรวม 8255 (1) และแสดงผลข้้อมูลทุกไบตั์ท้�ได้รับจากแผงวงจรตััวรอง  นี้อกจากนี้้� ในี้รูท้นี้
             isr88 ซึ่่�งเป็นี้รูท่นให้บริการหลังการข้ัดจังหว่ะ (interrupt service routine: ISR) นี้ั�นี้ ไมโครโพีรเซึ่สเซึ่อร์
             8088 จะตัอบสนี้องตั่อการข้ัดจังหวะจากแผงวงจรตััวรองโดยการรับข้้อมูล/สัญญาณควบคุมครั�งละ
   246   247   248   249   250   251   252   253   254   255   256