Monday, January 28, 2013
Saturday, January 26, 2013
Lampu lalu lintas berbasis Microcontroller AT89c51
Berikut disajikan contoh kecil dari cahaya proyek sederhana pengendalian lalu lintas denganmikrokontroler AT89C51 untuk empat kondisi. Contoh proyek ini dapat Anda mengembangkan menjadi tiga lampu lalu lintas dan dua tahap. Lampu lalu lintas 4 jalur atau empat tiang berartibahwa satu siklus terdiri dari empat lampu . Situasi ini lebih lampu jelas dapat dilihat pada Tabel4.1 untuk lampu output yang digunakan dUC AT89C51
Timur
Port 1.0 = lampu merah
Port 1.1 = lampu kuning
Port 1.2 = lampu Hijau
Selatan
Port 1.3 = lampu merah
Port 1.4 = lampu kuning
Port 1.5 = lampu Hijau
Barat::
Port 3.0 = lampu merah
Port 3.1 = lampu kuning
Port 3.2 = lampu Hijau
Utara:
Port 3.3 = lampu merah
Port 3.4 = lampu kuning
Port 3.5 = lampu Hijau
Contoh mudah menyalakan lampu Merah, Kuning dan Hijau di sisi timur jalan melihat gambar .1untuk sisi lain dari jalan adalah ide yang sama.
CATATAN:
Jika rangkaian driver lampu terlalu sensitif, basis masukan ujung resitor 4,7 K ohm pull downresistor dapat dipasang ke tanah
To be more flexible in its setup delay of the light, then the program can be made like the example below, variable delay can easily be changed
;==============================================================;
; PROGRAM SIMULASI LAMPU LALULINTAS ;
; by: ARIF JOHAR TAUFIQ ;
Timur
Port 1.0 = lampu merah
Port 1.1 = lampu kuning
Port 1.2 = lampu Hijau
Selatan
Port 1.3 = lampu merah
Port 1.4 = lampu kuning
Port 1.5 = lampu Hijau
Barat::
Port 3.0 = lampu merah
Port 3.1 = lampu kuning
Port 3.2 = lampu Hijau
Utara:
Port 3.3 = lampu merah
Port 3.4 = lampu kuning
Port 3.5 = lampu Hijau
Contoh mudah menyalakan lampu Merah, Kuning dan Hijau di sisi timur jalan melihat gambar .1untuk sisi lain dari jalan adalah ide yang sama.
CATATAN:
Jika rangkaian driver lampu terlalu sensitif, basis masukan ujung resitor 4,7 K ohm pull downresistor dapat dipasang ke tanah
Gambar 1. Driver ke lampu LED
Traffic lights working chart four light poles are designed as follows:
Gambar 2. Arah perubahan nyala lampu
Untuk menyalakan lampu, mikrokontroler mengirimkan sinyal ke port-tinggi terkait. Di sini lampunyala membutuhkan input tinggi untuk driver lampu, karena desain driver tersebut dalam, angka4.1 transistor pertama dalam keadaan off. Jadi jika Anda mendapatkan masukan tinggi dari dasarteraliri port pendaftaran saat ini:
Ib = (Vport-VBE) / 4,7 k ohm Ampere
Arus ini sudah cukup untuk membuat transistor kerja akan jenuh sehingga arus LED dari VCC:
Tumpahan minyak = (Vcc-VLED) / 560ohm Ampere
Misalkan kita ingin lampu hijau timur (HT) dan semua merah lainnya, mengirim data ke port 1 =0CH (00001100b) dan port3 = 09H (00001001b)
Sehingga program ini ditulis sebagai berikut, demi kenyamanan keterlambatan tidak dihitungdalam menit yang presisi. Jika Anda ingin jam referensi lebih rinci dapat digunakan olehprogrammer di timer UC.
Ib = (Vport-VBE) / 4,7 k ohm Ampere
Arus ini sudah cukup untuk membuat transistor kerja akan jenuh sehingga arus LED dari VCC:
Tumpahan minyak = (Vcc-VLED) / 560ohm Ampere
Misalkan kita ingin lampu hijau timur (HT) dan semua merah lainnya, mengirim data ke port 1 =0CH (00001100b) dan port3 = 09H (00001001b)
Sehingga program ini ditulis sebagai berikut, demi kenyamanan keterlambatan tidak dihitungdalam menit yang presisi. Jika Anda ingin jam referensi lebih rinci dapat digunakan olehprogrammer di timer UC.
;-----------------------------------
; PROGRAM TRAFFIC LIGHT
; PROGRAM TRAFFIC LIGHT
; By : Arif Johar Taufiq
; http://guru.technosains.com
;-----------------------------------
ORG 00H
LJMP K1
ORG 100H
K1: MOV P1,#09H ; MERAH SEMUA
MOV P3,#09H
ACALL TUNDA
K2: MOV P1,#0CH
MOV P3,#09H
ACALL TUNDA
K3: MOV P1,#0EH
MOV P3,#09H
ACALL TUNDA
K4: MOV P1,#09H
MOV P3,#09H
ACALL TUNDA
K5: MOV P1,#21H
MOV P3,#09H
ACALL TUNDA
K6: MOV P1,#31H
MOV P3,#09H
ACALL TUNDA
K7: MOV P1,#09H
MOV P3,#09H
ACALL TUNDA
K8: MOV P1,#09H
MOV P3,#0CH
ACALL TUNDA
K9: MOV P1,#09H
MOV P3,#0EH
ACALL TUNDA
K10: MOV P1,#09H
MOV P3,#09H
ACALL TUNDA
K11: MOV P1,#09H
MOV P3,#21H
ACALL TUNDA
K12: MOV P1,#09H
MOV P3,#31H
ACALL TUNDA
LJMP K1
TUNDA: MOV R7,#00H
ULANG2: MOV R6,#00H
ULANG1: MOV R5,#00H
ULANG: INC R5
CJNE R5,#02H,ULANG
INC R6
CJNE R6,#02H,ULANG1
INC R7
CJNE R7,#02H,ULANG2
RET
END
;-----------------------------------
ORG 00H
LJMP K1
ORG 100H
K1: MOV P1,#09H ; MERAH SEMUA
MOV P3,#09H
ACALL TUNDA
K2: MOV P1,#0CH
MOV P3,#09H
ACALL TUNDA
K3: MOV P1,#0EH
MOV P3,#09H
ACALL TUNDA
K4: MOV P1,#09H
MOV P3,#09H
ACALL TUNDA
K5: MOV P1,#21H
MOV P3,#09H
ACALL TUNDA
K6: MOV P1,#31H
MOV P3,#09H
ACALL TUNDA
K7: MOV P1,#09H
MOV P3,#09H
ACALL TUNDA
K8: MOV P1,#09H
MOV P3,#0CH
ACALL TUNDA
K9: MOV P1,#09H
MOV P3,#0EH
ACALL TUNDA
K10: MOV P1,#09H
MOV P3,#09H
ACALL TUNDA
K11: MOV P1,#09H
MOV P3,#21H
ACALL TUNDA
K12: MOV P1,#09H
MOV P3,#31H
ACALL TUNDA
LJMP K1
TUNDA: MOV R7,#00H
ULANG2: MOV R6,#00H
ULANG1: MOV R5,#00H
ULANG: INC R5
CJNE R5,#02H,ULANG
INC R6
CJNE R6,#02H,ULANG1
INC R7
CJNE R7,#02H,ULANG2
RET
END
To be more flexible in its setup delay of the light, then the program can be made like the example below, variable delay can easily be changed
;==============================================================;
; PROGRAM SIMULASI LAMPU LALULINTAS ;
; by: ARIF JOHAR TAUFIQ ;
; http://guru.technosains.com
;==============================================================;
; POSOSI LAMPU: ;
; ;
; BARAT ;
; H (P1.2) ;
; K (P1.1) ;
; M (P1.0) ;
; ;
; SEL H K M M K H UTARA ;
; (P3.6) (P3.5) (P3.4) (P3.0) (P3.1) (P3.2) ;
; ;
; M (P1.4) ;
; K (P1.5) ;
; H (P1.6) ;
; TIMUR ;
;==============================================================;
TD_RED EQU 03H ;waktu tunda merah 3 dtk //dapat diubah
TD_GREEN EQU 05H ;waktu tunda hijau 5 dtk //dapat diubah
TD_YELLOW EQU 02H ;waktu tunda kuning 2 dtk //dapat diubah
ORG 00H
LJMP AWAL
;==================
;LAMPU BARAT
;==================
ORG 100H
AWAL: MOV R2,#00H
BARAT_1: ACALL ALL_RED ; semua MERAH
MOV A,#00H
AA: ACALL TUNDA
INC A
CJNE A,#TD_RED,AA
BARAT_2: MOV P1,#14H ; hijau barat
MOV P3,#11H
MOV A,#00H
BB: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,BB
BARAT_3: MOV P1,#12H ; kuning barat
MOV P3,#11H
MOV A,#00H
CC: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,CC
;==================
; LAMPU UTARA
;==================
UTARA_1: ACALL ALL_RED ;semua merah
MOV A,#00H
DD: ACALL TUNDA
INC A
CJNE A,#TD_RED,DD
UTARA_2: MOV P1,#11H ;hijau utara
MOV P3,#14H
MOV A,#00H
EE: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,EE
UTATA_3: MOV P1,#11H ;kuning utara
MOV P3,#12H
MOV A,#00H
FF: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,FF
;=================
; LAMPU TIMUR
;=================
TIMUR_1: ACALL ALL_RED ;semua merah
MOV A,#00H
GG: ACALL TUNDA
INC A
CJNE A,#TD_RED,GG
TIMUR_2: MOV P1,#41H ;hijau timur
MOV P3,#11H
MOV A,#00H
HH: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,HH
TIMUR_3: MOV P1,#21H ;kuning timur
MOV P3,#11H
MOV A,#00H
II: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,II
;==============================================================;
; POSOSI LAMPU: ;
; ;
; BARAT ;
; H (P1.2) ;
; K (P1.1) ;
; M (P1.0) ;
; ;
; SEL H K M M K H UTARA ;
; (P3.6) (P3.5) (P3.4) (P3.0) (P3.1) (P3.2) ;
; ;
; M (P1.4) ;
; K (P1.5) ;
; H (P1.6) ;
; TIMUR ;
;==============================================================;
TD_RED EQU 03H ;waktu tunda merah 3 dtk //dapat diubah
TD_GREEN EQU 05H ;waktu tunda hijau 5 dtk //dapat diubah
TD_YELLOW EQU 02H ;waktu tunda kuning 2 dtk //dapat diubah
ORG 00H
LJMP AWAL
;==================
;LAMPU BARAT
;==================
ORG 100H
AWAL: MOV R2,#00H
BARAT_1: ACALL ALL_RED ; semua MERAH
MOV A,#00H
AA: ACALL TUNDA
INC A
CJNE A,#TD_RED,AA
BARAT_2: MOV P1,#14H ; hijau barat
MOV P3,#11H
MOV A,#00H
BB: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,BB
BARAT_3: MOV P1,#12H ; kuning barat
MOV P3,#11H
MOV A,#00H
CC: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,CC
;==================
; LAMPU UTARA
;==================
UTARA_1: ACALL ALL_RED ;semua merah
MOV A,#00H
DD: ACALL TUNDA
INC A
CJNE A,#TD_RED,DD
UTARA_2: MOV P1,#11H ;hijau utara
MOV P3,#14H
MOV A,#00H
EE: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,EE
UTATA_3: MOV P1,#11H ;kuning utara
MOV P3,#12H
MOV A,#00H
FF: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,FF
;=================
; LAMPU TIMUR
;=================
TIMUR_1: ACALL ALL_RED ;semua merah
MOV A,#00H
GG: ACALL TUNDA
INC A
CJNE A,#TD_RED,GG
TIMUR_2: MOV P1,#41H ;hijau timur
MOV P3,#11H
MOV A,#00H
HH: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,HH
TIMUR_3: MOV P1,#21H ;kuning timur
MOV P3,#11H
MOV A,#00H
II: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,II
;==================
; LAMPU SELATAN
;==================
SELATAN_1: ACALL ALL_RED ;semua merah
MOV A,#00H
JJ: ACALL TUNDA
INC A
CJNE A,#TD_RED,JJ
SELATAN_2: MOV P1,#11H ;hijau selatan
MOV P3,#41H
MOV A,#00H
KK: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,KK
SELATAN_3: MOV P1,#11H ;kuning selatan
MOV P3,#21H
MOV A,#00
LL: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,LL
INC R2
CJNE R2,#03H,MAJU
SJMP SUS
MAJU: LJMP BARAT_1
SUS: MOV A,#00H
RENE: ACALL ALL_OFF
ACALL TUNDA
ACALL ALL_YL
ACALL TUNDA
INC A
CJNE A,#05,RENE
LJMP AWAL
;======================
; PROSEDUR SEMUA MERAH
;======================
ALL_RED: MOV P1,#11H
MOV P3,#11H
RET
;=======================
; PROSEDUR SEMUA KUNING
;=======================
ALL_YL: MOV P1,#22H
MOV P3,#22H
RET
;=======================
; PROSEDUR SEMUA MATI
;=======================
ALL_OFF: MOV P1,#00H
MOV P3,#00H
RET
;======================
; PROSEDUR TUNDA ; 1 detik xtal 12mhz
;======================
TUNDA: MOV R1,#00H
WIH: MOV R0,#0h
LAGI: MOV TMOD,#01h
MOV TH0,#0D8h
MOV TL0,#0EFh
SETB TR0
ULANG: JBC TF0,HITUNG
SJMP ULANG
HITUNG: INC R0
CJNE R0,#050h,LAGI
INC R1
CJNE R1,#02H,WIH
RET
; LAMPU SELATAN
;==================
SELATAN_1: ACALL ALL_RED ;semua merah
MOV A,#00H
JJ: ACALL TUNDA
INC A
CJNE A,#TD_RED,JJ
SELATAN_2: MOV P1,#11H ;hijau selatan
MOV P3,#41H
MOV A,#00H
KK: ACALL TUNDA
INC A
CJNE A,#TD_GREEN,KK
SELATAN_3: MOV P1,#11H ;kuning selatan
MOV P3,#21H
MOV A,#00
LL: ACALL TUNDA
INC A
CJNE A,#TD_YELLOW,LL
INC R2
CJNE R2,#03H,MAJU
SJMP SUS
MAJU: LJMP BARAT_1
SUS: MOV A,#00H
RENE: ACALL ALL_OFF
ACALL TUNDA
ACALL ALL_YL
ACALL TUNDA
INC A
CJNE A,#05,RENE
LJMP AWAL
;======================
; PROSEDUR SEMUA MERAH
;======================
ALL_RED: MOV P1,#11H
MOV P3,#11H
RET
;=======================
; PROSEDUR SEMUA KUNING
;=======================
ALL_YL: MOV P1,#22H
MOV P3,#22H
RET
;=======================
; PROSEDUR SEMUA MATI
;=======================
ALL_OFF: MOV P1,#00H
MOV P3,#00H
RET
;======================
; PROSEDUR TUNDA ; 1 detik xtal 12mhz
;======================
TUNDA: MOV R1,#00H
WIH: MOV R0,#0h
LAGI: MOV TMOD,#01h
MOV TH0,#0D8h
MOV TL0,#0EFh
SETB TR0
ULANG: JBC TF0,HITUNG
SJMP ULANG
HITUNG: INC R0
CJNE R0,#050h,LAGI
INC R1
CJNE R1,#02H,WIH
RET
Software simulasi Pesawat & Helikopter RC
Bagi anda yang ingin merasakan sensasi menerbangkan pesawat & helikopter RC (remote control) tanpa merusak nya sedikitpun, nahh!! software ini sangat berguna bagi pemula yang ingin menerbangkan RC ini. Software ini menyediakan banyak jenis pesawat & helikopter RC dari yang sederhana sampai hight class...
SCREAN SHOOT:
okeh! langsung aja kita download softwarenya disini. hanya tinggal di install. finish!
software ini masih berbentuk DEMO, jadi hanya untuk masa percobaan saja. untuk menjadikannya full version kita harus mempunyai code registarasinya. unutuk mendapatkan code registrasiya. saya akan membantu anda! anda hanya tinggal coment dan cantumkan computer id dari software anda! ... cara mengetahui computer id anda dengan cara . klik setting-->active license--> cari computer id. misal! computer id:244446......
SCREAN SHOOT:
okeh! langsung aja kita download softwarenya disini. hanya tinggal di install. finish!
software ini masih berbentuk DEMO, jadi hanya untuk masa percobaan saja. untuk menjadikannya full version kita harus mempunyai code registarasinya. unutuk mendapatkan code registrasiya. saya akan membantu anda! anda hanya tinggal coment dan cantumkan computer id dari software anda! ... cara mengetahui computer id anda dengan cara . klik setting-->active license--> cari computer id. misal! computer id:244446......
Thursday, January 24, 2013
Runing LED (Lampu berjalan) menggunakan IC AT89s51 (x51 family)
Buat ngisi liburan kita refresing otak dulu nh!! , , schematic rangkaian system minumum berbasis AT89s51 (x51 family) ini, saya menggunakan software simulasi elektronik PROTEUS, kelebihan software ini adalah, IC Microcontroller dapat di program lansung. Format yang digunakan atau bahasa program yang di gunakan adalah .ASM (assembly) dan di rubah ke dalam format hexadesimal .HEX. . . untuk merubah Bahasa .ASM menjadi .HEX dapat menggunakan sotware ASM51 <--check this out!.... Okeh! langsung saja, berikut adalah contoh program untuk IC AT89s51...
======================C code=================================
#include <at89x51.h>
void feel1ms( )
{
int i;
for(i=0;i<150;i++);
}
void feel(int n)
{
int i;
for(i=0;i<n;i++)
feel1ms( );
}
void main( )
{
volatile unsigned char a=0x01;
while(1)
{
a=((a>>7)|(a<<1));
feel(1000);
P0=a;
}
}
===================assembly code===============================
$mod51
ORG 00H
LOOP: MOV A, #0FEH
MOV R2, #8
OUTPUT: MOV P0, A
RL A
ACALL DELAY
DJNZ R2, OUTPUT
LJMP LOOP
DELAY: MOV R6, #0
MOV R7, #0
DELAYLOOP:
DJNZ R6, DELAYLOOP
DJNZ R7, DELAYLOOP
RETI
END
Berikut adalah hasil dari compile file .c dan .asm dengan software MIDE-51
===============================HEX code====================
:1000000074FE7A08F58023110EDAF90200007E00F2
:070010007F00DEFEDFFC3281
:00000001FF
Program HEX ini lah yang akan di masukkan atau yang digunakan sebagai perintah dari AT89s51.
Silahkan tinggalkan keritik dan saran atau pertanyaan! Di sini kita sama - sama belajar, harap di maklumi.....
Subscribe to:
Posts (Atom)