Back To Main
:: Rocking The Control ::
เรียนรู้เกี่ยวกับระบบควบคุม
เบื้องต้น โปรแกรมาเบิลลอจิก
คอนโทรล์ ไมโครคอนโทร -
เลอร์ และการประยุกต์ใช้งาน
เบื้องต้น
...........................................
.................................
Control  Overview
.................................
 + PLC Operation
      -
Toshiba T2
      -
SIEMENS S5
      -
SIEMENS S7
      -
Touch Screen
................................
 
Instrument &
               
Measurement
................................
 
Elec / MCS-51
 
Program Interface
...............................
+Basic Application
       -
SIEMENS plc
       -
TOSHIBA plc
       -
AT89C8252/53
...............................
This site is best viwed with IE4 or later version with resolution set at least 800 x 600



This site is host by geocities server

 
Application->MCS->Star-Delta Start
Download :                                                             (N/A)
            
             Source(.asm)     Schematic (.sch)     Print cir. board (.pcb)          :This is draft version for education only


ในตัวอย่างนี้จะเป็นตัวอย่างโปรแกรมการสตาร์ทมอเตอร์ แบบสตาร์-เดลต้า โดยใช้ไมโครคอนโทรเลอร์ โดยตัวอย่างวงจรที่ใช้อ้างอิงในการลองเขียนโปรแกรมก็สามารถโหลดได้จากด้านบน

                                      
                                              รูปตัวอย่าง schematic                                                     รูปจำลอง lay out ของวงจร

  โดยการทำงานคร่าวๆก็คือเมื่อกดสวิทช์ S1 จะเป็นการตั้งเวลาหน่วงของช่วงสตาร์ โดยจะตั้งได้จาก 1-10 วินาทีและแสดงผลบน 7 segment และเมื่อกดสวิทช์ S2 ก็จะเริ่มสตาร์ท ช่วงสตาร์โดยเวลาบน 7 segment จะลดค่าลงทีละ 1 จนเมื่อครบเวลาก็จะรันช่วงเดลต้าต่อไป
  ในส่วนของโปรแกรมก็จะมีลูปของการแสดง 7 segment และเงื่อนไขการกดสวิตช์ต่างๆ
  กำหนดการ declare ค่าให้กับ port และอุปกรณ์
                          DIGIT1             BIT          P2.0     
                          DIGIT2             BIT          P2.1
                         START_SW   BIT          P3.6
                         DELAY_SW    BIT          P3.7
                         CHIP_CLK        BIT          P2.2
                         DSP_ASCII      EQU       030H
                         DSP_NUM       EQU       031H
                         DELAY_CNT   EQU       032H
                         FLAG                  EQU       02FH
                         DUMMY            BIT          FLAG.0
                        DUMMY2           BIT           FLAG.1
 ลูปการตรวจสอบการกดสวิตช์
                        JB                 DELAY_SW,START
                        ACALL         DELAY_10ms
                       JB                  DELAY_SW,START
                        ACALL          DELAY_PRESS
  ลูปของเงื่อนไขการกดสวิตช์เพื่อตั้งเวลาหน่วง เมื่อกดสวิตช์จะทำการเคลียร์ค่าของพอร์ต 0 ซึ่งเป็น driver ก่อน จากนั้นจะรับค่าของการกดสวิตช์ โดยจะเพิ่มค่าขึ้นครั้งละ 1 และตรวจสอบว่าค่าเป็น 9 หรือไม่ หากเป็น 9 ก็ให้วนค่าไปเริ่มจาก 1 ใหม่
       DELAY_PRESS:        MOV        P0,#00
                                                ACALL     CHIP_CLK
                                                MOV        DSP_ASCII,#3
                                                MOV        R0,DSP_NUM
                                                CJNE       R0,#9,NEXT3
                                                MOV         DSP_NUM,#0
        NEXT3:                         INC           DSP_NUM
                                                CLR          DUMMY
                                                CLR          DUMMY2
ในส่วนนี้จะเป็นลูปของการแสดงผลทาง 7 segment จะมี 2 หลัก โดยในหลักที่ 1 จะแสดงค่าตัวเลขจากการตั้งเวลา นับเวลาถอยหลัง และจะแสดงให้แต่ละ segment วิ่งวนไปเรื่อยๆเมื่อเข้าในลูปของการต่อ delta (คล้ายไฟวิ่ง แต่อันนี้เป็น 7 segment วิ่ง อิอิ) และหลักที่ 2 ของ 7 segment จะแสดงเป็นสัญญลักษณ์ในช่วงการทำงานต่างๆ
          SEGMENT_SCAN: JNB        DUMMY2,NEXT1
                                                  MOV      DPTR,#DOT_A
                                                  MOV      A,DSP_NUM
                                                 JB           DUMMY2,NEXT2
  
           NEXT1:                       MOV       A,DSP_NUM
                                                 MOV       DPTR,#NUM0
           NEXT2:                       MOVC    A,@A+DPTR
                                                 MOV        P0,A
                                                 CLR         DIGIT1
                                                 ACALL    DELAY_1ms
                                                 SETB      DIGIT1


Reference : base on simulate tool with inex nx51and manual

.............................................................................................................................................................
Copyright ©2002 EPrivacy Homepage.
For more information, and any suggestion please contact
EPrivacy Webmaster 
............................................................................................................................................................