Training Elektronika Industri

No HP : 082322992336

Trainer Microcontroller

No HP : 082322992336

team electronics indonesia

No HP : 082322992336

Interface Electric car

No HP : 082322992336

Altium designer

No HP : 082322992336

Senin, 08 Februari 2016

UKK ELEKTRONIKA INDUSTRI 2016

Contoh program UKK elektronika industri 2016 “motor stepper” menggunakan compiler M-IDE dan bahasa assembler

Cara kerja program
·            SW1 ditekan maka program akan direset
·            SW2 ditekan maka motor stepper akan berputar 90O ke kanan (searah jarum jam)
·            SW3 ditekan maka motor stepper akan berputar 180O ke kiri (berlawanan arah jarum jam)
·            SW4 ditekan maka motor stepper akan stop

Cara kerja motor stepper
Untuk memutar CW
STEPP
PIN4
PIN3
PIN2
PIN1
STEPP1
1
1
0
0
STEPP2
0
1
1
0
STEPP3
0
0
1
1
STEPP4
1
0
0
1

Untuk memutar CCW
STEPP
PIN4
PIN3
PIN2
PIN1
STEPP1
1
0
0
1
STEPP2
0
0
1
1
STEPP3
0
1
1
0
STEPP4
1
1
0
0

Gambar Rangkaian



Contoh program Sederhana

;*******************************************************
;mendefisinikan i/o atau variable
;*******************************************************
                motor           equ     P0      ;mengidentifikasi PO sebagai motor
                SW2            equ     p1.0    ;mengidentifikasi SW2 sebagai P1.0
                SW3            equ     p1.1    ;mengidentifikasi SW3 sebagai P1.1
                SW4            equ     p1.2    ;mengidentifikasi SW4 sebagai P1.2            
                Org             0000H
;------------------------------------------------------
               
;*******************************************************
;MAIN PROGRAM (pembacaan kondisi tombol)
;*******************************************************
main_prog:      MOV    Motor,#000H    ;memindah nilai 00h ke motor (semua kutup motor dimatikan)
                JNB    SW2,sub_90    ;jika SW2 sama dengan 0, maka membaca atau loncat ke sub_90
                JNB    SW3,sub_180   ;jika SW2 sama dengan 0, maka membaca atau loncat ke sub_180
                sjmp    main_prog      ;lompat pendek ke main_program
;------------------------------------------------------

;*******************************************************
;SUB PROGRAM (PEMBACAAN SW3 / PROGRAM MOTOR 90 DERAJAT)
;*******************************************************
sub_90:         MOV    R1,#3           ;R1 terisi dengan nilai 3 (mengalami pengulangan selama 3x)
loop_90:                MOV    motor,#00CH    ;kondisi kutup motor 1100
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                MOV    motor,#006H    ;kondisi kutup motor 0110
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                MOV    motor,#003H    ;kondisi kutup motor 0011
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                MOV    motor,#009H    ;kondisi kutup motor 1001
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                DJNZ   R1,loop_90     ;pengurangan hingga sama dengan 0, jika tidak maka akan selalu membaca loop_90
                MOV    motor,#000H    ;kondisi kutup motor 0000
                SJMP   main_prog      ;kembali ke main_program
                RET
;------------------------------------------------------

;*******************************************************
;SUB PROGRAM (PEMBACAAN SW4 / PROGRAM MOTOR 180 DERAJAT)
;*******************************************************
sub_180:        MOV    R1,#6           ;R1 terisi dengan nilai 6 (mengalami pengulangan selama 6x)
loop_180:       MOV    motor,#009H    ;kondisi kutup motor 1001
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                MOV    motor,#003H    ;kondisi kutup motor 0011
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                MOV    motor,#006H    ;kondisi kutup motor 0110
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                MOV    motor,#00CH    ;kondisi kutup motor 1100
                call     delay           ;delay
                JNB    SW4,main_prog  ;jika SW4 sama dengan 0, maka membaca atau loncat main_prog
                DJNZ   R1,loop_180    ;pengurangan hingga sama dengan 0, jika tidak maka akan selalu membaca loop_180
                MOV    motor,#000H    ;kondisi kutup motor 1001
                SJMP   main_prog      ;kembali ke main_program
                RET
;------------------------------------------------------
       
;*******************************************************
;tunda
;*******************************************************        
delay:           MOV    R5,#0ffh         ;mengisi R5 dengan nilai ff
                MOV    R6,#0ffH        ;mengisi R6 dengan nilai ff
                MOV    R7,#4           ;mengisi R7 dengan nilai 4
delay_loop:     DJNZ   R5,delay_loop   ;pengurangan R5 hingga sama dengan 0, jika tidak maka akan selalu membaca delay_loop
                DJNZ   R6,delay_loop   ;pengurangan R6 hingga sama dengan 0, jika tidak maka akan selalu membaca delay_loop
                DJNZ   R7,delay_loop   ;pengurangan R7 hingga sama dengan 0, jika tidak maka akan selalu membaca delay_loop
                RET
               
                END   
;------------------------------------------------------


Informasi tambahan

  1. Jangan lupa saat membuat PCB, sediakan soket untuk input Power supply
  2. Berikan Pull Up pada P0 dengan menggunakan resistor 10K atau R pack 10K

Untuk mencoba contoh program, maka sesiakan software sebagai berikut:

  1. M-IDE Compiler
  2.  ISIS Proteus 8.2 ke atas
            Download simulasi dan program
        DOWNLOAD