Searching

Belum menemukan yang Anda cari, mungkin kata kunci Anda kurang tepat atau masih salah. Coba masukkan lagi kata kunci Anda yang baru pada fasilitas searching di Blog ini untuk lebih lengkap, search in database this blog :

Perhatian

Untuk tampilan gambar yang lebih jelas, Anda dapat klik langsung pada gambar yang ada. Selamat menjelajah !
More Read :

Tuesday, April 10, 2007

PWM DENGAN MIKROKONTROLER

Sebagaimana yang ditunjukkan pada rangkaian terlampir bit 0 dari port 3 mengendalikan transistor yang difungsikan sebagai saklar. Motor dihidupkan untuk suatu periode watku tertentu dan kemudian di off kan dengan periode waktu tertentu pula. Bagian pada saat motor hidup disebut DUTY CYCLE. Bila duty cycle yang diberikan adalah 10 % maka program ini menyimpan data waktu ON selama 10 siklus dan OFF selama 246 siklus dari 256 siklus.

Berikutnya nilai duty cycle disimpan pada RAM internal yang diberi label dCycle. Komplemen dari duty cycle disimpan pada RAM internal dengan nama dCycleC. Pada perancangan software ini, Timer 0 diaplikasikan dalam mode 2, yaitu 8 bit timer auto reload, yang akan melakukan increment nilai register counter setiap siklus, dan bila terjadi overflow maka data yang berada pada TH0 akan diloadkan ke TL0.


Bila frekuensi kristal yang digunakan adalah 12 Mhz, sehingga jika nilai reload adalah 0 maka
timer 0 akan over flow setiap 256 udetik; dan jika nilai reload adalah FFh maka timer akan over flow setiap 1 udetik.

;==============================================================
; PROGRAMMING ASSEMBLY PROCEDURE
;===============================================================
;1. Program pertama menghidupkan motor dan menempatkan nilai dCycle pada TH0 sebagai nilai reload
;2. Pada saat timer 0 overflow komplemen dari duty cycle dCycleC ditempatkan pada TH0 sebagai
; nilai reload sehingga motor dalam keadaan off.
;3. Keadaan motor on dan off disimpan pada RAM internal dengan nama KeadaanMotor
;4. Demikian seterusnya program menjalankan on dan off;
;
PWM bit P1.0
dCycle equ 30h
dCycleC equ 31h
SettingD equ 32h
;
org 0h

ljmp start
org 0bh
ljmp Timer_Interrupt0

;
start: mov settingD,#128 ; setting kecepatan motor dengan duty cycle = 50 %
mov dCycle,SettingD
mov A,dCycle
cpl A
mov dCycleC,A
Init_TimerInterupt0
;
Setb PWM
;==============================================================================
; RUTINE UTAMA YANG " PALING PENTING DAN KOMPLEKS "
;==============================================================================
Forever:sjmp Forever
;
;==============================================================================
;Subrutine Timer_Interupsi0
;=============================================================================
;Subrutine berikut digunakan untuk memberikan layanan interupsi timer overflow
; bila hal ini terjadi maka nilai reload TH0 akan diloadkan ke TL0
;Pada saat awal KondisiMotor = '1' sehingga bila interupsi ini ditemui maka
; akan menuju pada label motoroff dan ditandai kondisimotor = '0'
;=============================================================================
Timer_Interupsi0:
JB KondisiMotor,MotoroFF

MotorOn:
Setb PWM
Mov TH0,dCycle
Setb KondisiMotor
reti
;
MotorOff:
clr PWM
mov TH0,dcycleC
clr KondisiMotor
reti
;
;===================================================================
;Subrutine Init_interupsi_timer0
;===================================================================
;Subrutine ini digunakan untuk menginisialisasi lokasi RAM bagian low byte
; dan lokasi RAM bagian high byte
;Inisialisasi mode timer: timer 0 difungsikan sebagai timer 8 bit mode 2
;
;==================================================================
Init_interupsi_Timer0:
mov TH0,#dCycle
Mov TMOD,#00000010b ; timer0 = sbg timer 8 bit, mode 2
setb ET0 ; Enable timer 0 interupsi
Setb EA ; Master Enable All Interupsi
setb TR0 ; start rock and roll timer 0
Setb KondisiMotor
ret
;
end

2 comments:

Unknown said...

Bos, ini aku sharekan untuk mengakses PWM dengan ATMEGA16 menggunakan codevision
http://iswanto.staff.umy.ac.id/2011/02/27/mengakses-pwm-atmega16-dengan-codevision/

indra said...

KALO PAKE DUA MOTOR GMN CARANYA PAK??saya belom tau source codenya dengan assembly dengan 2 motor

Disclaimer


Blog ini tidak bertanggung jawab atas kesalahan atas program yang Anda download ataupun sesuatu hal yang berhubungan dengan materi-materi yang ada. Terima kasih atas saran dan kritik yang membangun. Non profit blog. Untuk lebih lanjut hub Webmaster di : agencs@yahoo.com


"All Links In This Blog Is Temporary Link"

NO SPAM AND VIOLATED CONTENT

Generated®


Banner IP Browser

Lihat gambar di bawah ini, ingin punya yang seperti ini juga. Anda bisa pasang banner ini di blog Anda atau posting Anda. Bisa deteksi IP Adress, Browser.

Tulis code ini di footer blog kamu atau posting kamu. Copy (CTRL+C) Paste (CTRL+V) at this script.
Coba Deh, Kuueereeen lho ....
 


Creative Commons License
Powered by Blogger | Created and Maintained by Generated
Blogger Beta Template by GeckoandFly and Blogcrowds | Design by Andreas Viklund
This workis licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Malaysia License.
Best viewed in Firefox 1.5+ at 1024x768 or higher resolution
Copyright 2007 Content by BIZON network
Hosting Reseller Reviews cydots.com - Free Domains!