Breaking News
Tampilkan postingan dengan label Simulasi. Tampilkan semua postingan
Tampilkan postingan dengan label Simulasi. Tampilkan semua postingan

Kamis, Agustus 15, 2013

Data Logger-Flowchart


Gambar dbawah merupakan flowchat dari software pada Data Logger pada penelitian!!
Read more ...

Jumat, April 27, 2012

Membuat Gelombang Kotak 5 KHz Pada MCS-51

GelKotak5KHz_thumb.jpg
Membuat gelombang kotak dengan menggunakan fasilitas timer yang ada pada MCS-51, Disini dimisalkan membuat gelombang kotak 5 KHz bisa juga dengan frekuensi yang lain seperti yang kita inginkan. Disini kita menggunakan crystal 11.0592 MHz. Sehingga perhitungannya adalah sebagai berikut :

Perhitungan :
Xtal yang dipakai 11.0592MHz sehingga frekuensi timer 1/12 11059200Hz=921600Hz
Waktu yang dibutuhkan timer untuk sekali mencacah =1/921600Hz=1.085 us
Periode Gelombang  T=1/f=1/5000Hz=0.0002 detik=200uS
½ untuk periode tinggi dan rendah ½ 200us= 100us
Timer yang dipakai : Timer 1 mode 1
Isi register TH1 dan TL1 = 65536-(100us/1.085us)=65536-92=65444 Desimal    => FFA4 h
Isi registerter TH1=FFh dan TL1=A4h

Rangkaian menggunakan simulasi proteus :
GelKotak5KHz settingICmikro
Programnya menggunakan assembly :
MOV TMOD,#10h ;Timer-1 Mode-1 (16-bit)
start: MOV TL1,#0A4h ;TL1=0, low byte
MOV TH1,#0ffh ;TH1=DCh, high byte
SETB TR1 ;jalankan Timer
loop: JNB TF1,loop ;Monitor Timer Flag
CLR TR1 ;Matikan Timer
CPL P0.1 ;Mentoggle out untuk tinggi rendah
CLR TF1 ;Reset TF
SJMP start ;reload Timer karena mode-1
END
Disini program diketik pada software IDE yaitu Menggunakan M-IDE Studio for MCS-51. Jika belum punya dapat dicari pada google atau dapat didownlod
hxxp://www.4shared.com/file/r48rUb9t/mide-51.html
Note: ganti hxxp dengan http
Berikut Hasil setelah dirun :
 HasilOsciloscope
Bila masih kurang jelas dapat dilihat pada video berikut :
Read more ...

Simulasi Proteus

Serial Komunikasi RS-485 Dengan MCS-51 Simulasi Proteus



RangkaianRS485.jpg
Membuat program serial komunikasi PC dengan MCS-51 dimana pada PC dan mikrokontroler terhubung dengan komunikasi serial RS-485 sehingga komunikasi data dalam jarak hingga 1200 meter, Pada aplikasi ini jika kita menekan huruf ‘N’ atau ‘n’ pada hyperterminal maka pada hyperterminal akan muncul nama kita (musbikhin) dan jika ditekan ‘R’ atau ‘r’ akan muncul pada hyperterminal NRP kita (7110040519).
(Crystal : 12MHz, Pengakesasan serial menggunakan metode pooling atau bukan interupt sehingga saat ada serial masuk program sedikit lambat. RS 485 disini menggunakan metode full dupplex )

Rangkaian dan Setting:
Rangkaian RS 485
Setting Serial USART_thumb[1]
Setting virtual Serial (baudrate: 2400) dengan cara klik dua kali pada virtual serial:
Setting virtual Serial_thumb[1]
Program (Masih Belum Sempurna) :
Program:

org 0h
nop
call initserial ; inisialisasi serial
mov dptr,#MyCharacter
gets: clr A
Movc A,@A+dptr
cjne A,#0,Next ; mengambil karakter pada label mycharacter ‘Tekan Tombol N atau n untuk Nama
R atau r untuk NRP” sampai karakter 0, jika tidak sama ;dengan 0 maka ;akan jump ke label Next
sjmp getin ; karakter sudah dikirim semua (A=0) jump ke getin
Next: call sendout ;menjalankan subrutin sendout
inc dptr ; mengincrement dptr
sjmp gets ; kembali ke gets
getin: call inchar ;memanggil subrutin inchar
cjne A,#’N',next1 ; jika yang ditekan adalah tombol ‘N’ maka akan melanjutkan program ;dibawahnya jika tidak sama dengan ‘N’ maka akan jump ke next1
mov dptr,#namaku ;menampilkan namaku ‘musbikhin’
clr A
Movc A,@A+dptr
cjne A,#0,lanjut
lanjut: call sendout
inc dptr
sjmp gets
next1: call inchar ;memanggil subrutin inchar
cjne A,#’R',next2 ; jika yang ditekan adalah tombol ‘R’ maka akan melanjutkan program ;dibawahnya jika tidak sama dengan ‘R’ maka akan jump ke next2
mov dptr,#nrpku ;menampilkan nrp ‘7110040519’
clr A
Movc A,@A+dptr
cjne A,#0,lanjut2
lanjut2: call sendout
inc dptr
sjmp gets
next2: call inchar ;memanggil subrutin inchar
cjne A,#’n',next3 ; jika yang ditekan adalah tombol ‘n’ maka akan melanjutkan ;program dibawahnya jika tidak sama dengan ‘n’ maka akan ;jump ke next3
mov dptr,#namaku ;menampilkan namaku ‘musbikhin’
clr A
Movc A,@A+dptr
cjne A,#0,lanjut3
lanjut3: call sendout
inc dptr
sjmp gets
next3: call inchar ;memanggil subrutin inchar
cjne A,#’r',next4 ; jika yang ditekan adalah tombol ‘r’ maka akan melanjutkan ;program dibawahnya jika tidak sama dengan ‘r’ maka akan ;jump ke next4
mov dptr,#nrpku
clr A
Movc A,@A+dptr
cjne A,#0,lanjut4
lanjut4: call sendout
inc dptr
sjmp gets
next4: sjmp getin ;kembali ke getin
;
initserial:
mov scon,#52h ; Konfigurasi komunikasi serial mode 1
mov tmod,#20h ; Baud rate 2400 BPS
mov th1,#0F3H
setb tr1
ret
;
inchar:
detecti: jnb ri,detecti ; Deteksi bit RI apakah data sudah diterima atau belum
clr ri ; mengclearkan bit ri
mov a,sbuf ; membaca data yang diterima pada register sbuf
ret ; kembali ke getin
;
Sendout:
detecto: jnb ti,detecto ; Deteksi bit TI apakah data sudah dikirim atau belum
clr ti ; ; sebelum mengirim data, bit TI dinolkan dulu
mov sbuf,a ; ; mengirim karakter pada register A yang berasal dari DPTR
ret ; kembali ke Next
;
MyCharacter:
DB ‘ Tekan Tombol N atau n untuk Nama R atau r untuk NRP’,13,10,0
namaku:
DB ‘ Musbikhin’,13,10,0
nrpku:
DB ‘ 7110040519′,13,10,0
End

Hasil Program setelah dirun :
Tampilan awal saat program dijalankan:
clip_image002_thumb[1]
Saat ada penekanan sesuai prosedur:
clip_image002[5]_thumb[1]
Semoga bermanfaat bila masih ada kekurangan harap maklum…masih newbie :)
Read more ...
Designed By