Kamis, 07 Desember 2017


[KEMBALI KE MENU SEBELUMNYA]
 




  


1. Mikroprosesor 8086

Mikroprosesor atau CPU adalah “otak” yang merupakan pengendali utama semua operasi dalam sistem komputer. Mikroprosesor mengambil instruksi biner dari memori, menerjemahkannya menjadi serangkaian aksi dan menjalankannya. Aksi tersebut bisa berupa transfer data dari dan ke memori, operasi aritmatika dan logika, atau pembangkitan sinyal kendali. Intel 8086 adalah mikroprosesor 16 bit, di mana dia dapat bekerja secara internal menggunakan operasi 16 bit dan secara eksternal dapat mentransfer data 16 bit melalui bus data.

3.1.1 Arsitektur Mikroprosesor 8086

Prosesor 8086 dapat dihubungkan dengan bus alamat yang berukuran 20 bit, sehingga mampu mengalamati memori maksimal 220 = 1.048.576 byte (1 MB). Diagram blok arsitektur 8086 dapat dilihat pada Gambar . Mikroprosesor 8086 terbagi atas 2 unit, yaitu unit antarmuka bus (bus interface unit, BIU) dan unit pengeksekusi (execution unit, EU).



Unit Antarmuka Bus (BIU)
Unit ini merupakan bagian yang berhubungan langsung dengan “pihak luar”: bus alamat dan bus data. BIU mengirim alamat ke bus alamat, mengambil instruksi (fetch) dari memori, membaca data dari port dan memori, serta menulis data ke port dan memori (menangani transfer data antara bus dan unit eksekusi).
BIU tersusun atas:
1. Instruction Stream Byte Queue (ISBQ). 
BIU memfetch instruksi dari memori sebanyak-banyaknya 6 buah instruksi ke depan. Hal ini dilakukan agar eksekusi progam menjadi lebih cepat. Instruksi yang sudah diambil ini ditaruh di ISBQ yang berupa 6 buah register first-in-first-out. BIU dapat melakukan fetching selagi EU menerjemahkan dan mengeksekusi instruksi yang tidak membutuhkan penggunaan bus (misalnya operasi matematis menggunakan register internal). Ketika EU selesai melaksanakan suatu instruksi, maka dia tinggal mengambil perintah berikutnya di ISBQ, tanpa harus mengirim alamat ke memori untuk mengambil instruksi berikutnya, sehingga eksekusi akan lebih cepat. Kegiatan fetching instruksi berikutnya selagi menjalankan suatu instruksi disebut sebagai: pipelining. Pada mikroprosesor yang lebih baru, ukuran ISBQ tidak hanya 6 byte tetapi mencapai 512 byte, ini efektif untuk program yang mempunyai banyak kalang (struktur program yang berulang).
2. Register segmen.
BIU berisi 4 buah register segmen 16 bit, yaitu: code segment (CS), data segment (DS), extra segment (ES), dan stack segment (SS). Sistem komputer 8086 mempunyai bus alamat 20 bit, tetapi ukuran register - termasuk register alamat (memory address register) – yang dimilikinya hanya 16 bit, lantas bagaimana cara mengatasinya. Cara pemberian alamat 20 bit dilakukan menggunakan 2 komponen alamat: segmen dan offset, yang masing-masing berukuran 16 bit. BIU akan menggeser ke kiri nilai segmen sebanyak 4 bit (mengalikan dengan 16), kemudian menambahkan offset untuk memperoleh alamat fisik memori yang dikirimkan melalui bus alamat. Untuk lebih jelasnya, diberi contoh untuk memberi alamat fisik $38AB4( ) 3 , segmen dapat diisi dengan angka $348A, dan offset diisi dengan angka $4214, lihat Gambar. Cara penulisan kombinasi segmen dan offset adalah: 
segment:offset

Sehingga untuk contoh ini, penulisannya adalah $348A:$4214. Perlu diingat bahwa kita bisa menggunakan kombinasi nilai segmen dan offset yang bervariasi untuk memberi alamat fisik yang sama, misalnya $38AB:$0004, $3800:$0AB4, dsb.



Secara umum, suatu program terdiri atas 4 bagian: segmen code yang berisi instruksi; segmen data, berisi data yang telah dialokasikan sebelumnya (statik); segmen ekstra, untuk variabel dinamik; serta segmen stack yang dipakai untuk menyimpan informasi pada saat pemanggilan subrutin. Informasi segmen disimpan dalam keempat register segmen sesuai dengan namanya.
3. Instruction Pointer (IP)
, adalah register berisi informasi offset yang bersama-sama CS menunjuk posisi dalam memori di mana instruksi berikutnya berada.

Unit Eksekusi (EU)
Unit ini memberitahu BIU di mana mengambil instruksi dan data, menerjemahkan kode instruksi, dan menjalankannya. EU tersusun atas: 
1. Dekoder instruksi
, yang mengambil urut-urutan instruksi dari ISBQ kemudian menerjemahkannya ke runtutan aksi yang harus dikerjakan oleh EU.
2. Sistem kontrol
, merupakan rangkaian yang mengendalikan kerja mikroprosesor berdasarkan instruksi yang telah diterjemahkan oleh dekoder instruksi tadi.
3. Arithmetic Logic Unit (ALU)
, yaitu bagian dari mikroprosesor yang dapat melakukan operasi matematis (misalnya operasi penjumlahan, pengurangan, perkalian, dan pembagian) dan logika (misalnya operasi AND, OR, XOR, geser, dan rotasi) 16 bit.
4. Register flag (bendera)
, yaitu register flip-flop 16 bit yang menunjukkan kondisi yang dihasilkan oleh eksekusi suatu operasi oleh EU. Selain itu flag juga mengatur beberapa operasi tertentu. Terdapat 9 flag dalam register flag 8086, seperti terlihat pada Gambar



Sebanyak 6 buah flag merupakan flag kondisi yang menunjukkan keadaan setelah eksekusi suatu instruksi, yaitu: Carry Flag (CF), Parity Flag (PF), Auxiliary Carry Flag (AF), Zero Flag (ZF), Sign Flag (SF), dan Overflow Flag (OF). Sedangkan, 3 buah flag sisanya berupa flag kontrol yang mengendalikan operasi tertentu, yaitu: Single Step Trap Flag (TF), Interrupt Flag (IF), dan String Direction Flag (DF). 
5. Register serbaguna
, merupakan register yang dapat digunakan untuk menyimpan data yang akan diolah atau hasil suatu operasi oleh ALU. Terdiri atas 8 buah register 8 bit, yaitu AH, AL, BH, BL, CH, CL, DH, dan DL. Register-register ini juga dapat digunakan secara berpasangan sehingga membentuk register 16 bit, yaitu; AX (gabungan dari AH dan AL), BX, CX, dan DX. AX biasanya digunakan untuk menyimpan hasil operasi, sehingga disebut akumulator. CX biasanya digunakan untuk pencacah untuk keperluan perulangan/kalang (loop), sehingga disebut counter. BX dan DX biasanya digunakan sebagai offset dari alamat data di memori (dengan segmen DS).
6. Register pointer dan indeks
, terdiri atas Stack Pointer (SP), Base Pointer (BP), Source Index (SI), dan Destination Index (DI). Stack (tumpukan) adalah bagian dari memori yang digunakan untuk menyimpan informasi alamat program yang ditinggalkan pada saat terjadi pemanggilan subrutin/subprogram. Demikian juga apabila subrutin tersebut berupa fungsi yang menggunakan parameter, maka data parameter akan disimpan pula di stack. Alamat tumpukan terluar dari stack ditunjuk oleh SS:SP. Sedangkan BP digunakan sebagai offset yang menunjuk ke parameter-parameter fungsi yang dipanggil. SI dan DI biasanya digunakan sebagai offset (masing-masing berpasangan dengan ES dan DS) yang menunjuk ke suatu variabel/data untuk operasi string (larik data).

3.1.2 Bahasa Mesin dan Bahasa Assembly

Instruksi yang difetch dari memori untuk kemudian diseksekusi oleh mikroprosesor berformat biner (kombinasi angka 0 dan 1), yang disebut bahasa mesin. Sebagai contoh, perintah untuk memindahkan data dalam register BX ke register CX adalah 10001011 11001011 ($8B CB), sedangkan bahasa mesin untuk menjumlahkan data dalam register AL dengan angka 7 adalah 00000100 00000111 ($04 07), dan perintah membaca dari port 5 diberikan dengan 11100100 00000101 ($E4 05).
Seperti terlihat pada ketiga contoh di atas, bahasa mesin tidak mudah untuk dimengerti dan dihapalkan oleh seorang programer, apalagi jumlah instruksi yang tersedia berkisar ribuan perintah. Di samping itu, akan mudah sekali terjadi kesalahan ketika menuliskan angka-angka biner yang tersusun atas angka 0 dan 1 yang banyak sekali. Oleh karena itu biasanya kita tidak memprogram komputer langsung dalam bahasa mesin, namun dalam bahasa assembly.
Dalam bahasa assembly, setiap instruksi diberi kata (mnemonic) yang sesuai dengan maksud perintah itu, sehingga dapat membantu pemrogram dalam mengingat instruksi kepada mikroprosesor tersebut. Kata yang dipakai biasanya berupa singkatan atau beberapa huruf awal dari kata dalam bahasa Inggris untuk perintah tersebut. Misalnya, mnemonic untuk perintah penjumlahan adalah ADD, untuk perintah pengurangan adalah SUB (dari kata subtract), dan untuk memindahkan data( ) 4 dari suatu register atau memori ke lokasi lain adalah MOV (dari kata move). Sebagian besar instruksi terdiri atas mnemonic dan operand yang merupakan parameter dari instruksi tersebut, yang dituliskan di belakang mnemonic tersebut. Contoh bahasa assembly dari perintah-perintah dengan bahasa mesin di atas diberikan dalam Tabel

3.1.3 Pin Diagram Mikroprosessor 8086




Mikroprosesor 8086 mempunyai 40 kaki (pin) yang masing-masing digunakan untuk melewatkan sinyal tertentu. Setiap pin sinyal diberi nama berupa mnemonic yang sesuai dengan fungsinya. Sistem komputer 8086 mempunyai bus data selebar 16 bit dan bus alamat selebar 20 bit, sehingga dapat mengalamati memori sampai dengan 220 atau 1 Mb. Untuk menghemat jumlah pin, maka antara pin untuk data dan pin untuk alamat digabungkan dengan diberi nama AD0-AD15 (dari kata address data), sedangkan 4 bit alamat sisanya diberi nama A16-A19 (pin-pin ini juga digunakan untuk sinyal status). 
Terdapat juga pin-pin untuk catu daya yang disuplaikan, yaitu VCC dan GND, masing-masing untuk tegangan catu daya dan pentanahan. Untuk dapat bekerja, selain membutuhkan catu daya, mikroprosesor 8086 juga memerlukan sinyal detak (clock) secara eksternal dengan frekuensi sampai 10 MHz. Sinyal clock ini dilewatkan ke pin CLK yang ada pada kaki nomor 19. 
Pin-pin lainnya digunakan untuk sinyal kendali. Mikroprosesor 8086 dapat digunakan dalam 2 mode, minimum dan maksimum, yang masing-masing menggunakan pin kendali secara berbeda. Mode ini ditentukan dengan memberi nilai pada pin MXMN/ ( ) 1 , nilai 1 (dihubungkan dengan Vcc) untuk mode minimum dan nilai 0 (ditanahkan) untuk mode maksimum. Kebanyakan aplikasi menggunakan mode minimum. Pada mode ini, nama pin yang dipakai pada kaki nomor 24 sampai dengan 31 adalah yang berada di dalam tanda kurung (sebelah kanan)
Sinyal RESET digunakan untuk memerintah mikroprosesor agar melakukan inisialisasi dengan cara memberi nilai 0 pada register DS, SS, ES, IP, dan flag; serta nilai $FFFF untuk CS( ) 2 . Pin INTR dan NMI digunakan untuk menginterupsi kerja mikroprosesor. Jika ada sinyal pada kedua pin itu, maka mikroprossor akan menghentikan eksekusi program yang sedang dijalankannya, kemudian menjalankan subrutin sesuai yang dikehendaki, dan setelah selesai kembali ke tempat semula di mana program diinterupsi. Sinyal INTR (interrupt) berupa permintaan untuk melakukan interupsi yang dapat dianulir /tidak dipenuhi jika flag IF direset, sedangkan sinyal NMI (non maskable interrupt) tidak dapat ditutup/ditolak, artinya interupsi harus dilakukan. Pin INTA (interrupt acknowledge) digunakan oleh mikroprosesor untuk menjawab bahwa permintaan interupsi dari sinyal INTR dapat diterima/dijalankan
Pin IO M/ (memory/IO), RD (read), dan WR (write) digunakan untuk mengendalikan memori dan port pada saat pemindahan data. Sinyal IO M/ digunakan untuk memilih apakah memori atau port yang akan diakses oleh mikroprosesor. Jika hendak menghubungi memori, maka mikroprosesor memberi nilai tinggi (1) pada sinyal ini dan jika port yang hendak diakses maka sinyal ini diberi nilai rendah (0). Sinyal RD akan diaktifkan (bernilai rendah) jika operasi yang dilakukan adalah membaca, yaitu transfer data dari memori/port ke mikroprosesor. Sementara sinyal WR digunakan untuk menulis, tranfer data dari mikroprosesor ke memori/port, jika aktif. Sinyal-sinyal lain adalah R DT/ (data transmit/receive), DEN (data enable), ALE (address latch enable), dan BHE (bus high enable) yang akan dibahas kemudian.

3.2. IC Latch 74273

Untuk menghubungkan address ke memori atau I-O maka diperlukan pemisahan address rendah yang multiplek dengan data dengan memakai rangkaian latch. Rangkaian latch akan selalu aktif dengan terhubungnya ke ground kaki LE maka untuk bekerjanya IC latch ini diperlukan sinyal kontrol yang di-input-kan ke kaki –OE. Pin -OE mendapat input dari pin ALE yang merupakan sinyal kontrol yang artinya pin ini akan aktif setiap mikroprosesor meng-output-kan address.




3.3. IC Decoder 74154

IC 74154 merupakan salah satu keluarga TTL yang dimana fungsi dari IC ini adalah sebagai dekoder/demultiplexter 4-16 saluran. Tiap decoder 4-saluran-ke 16-saluran monolit ini menerapkan rangkaian TTL untuk mengubah 4 input biner menjadi 16 jalur keluar, bila kedua input E1 dan E2 adalah rendah. Setiap komponen I-O harus diberi address. Misalkan, ada tiga komponen I-O yang yaitu PPI 8255, PIT 8253 dan PIC 8259 seperti maka untuk membedakannya dapat dibuatkan rangkaian decoder dengan memakai IC decoder 74154 yang keluarannya ada 16 .




3.4. PPI (Programmable Pheriperal Interface)

Untuk hubungan input-output, mikroprosesor memerlukan suatu rangkaian interface. Interface menggunakan IC Programmable Peripheral Interface (PPI) 8255 yang mempunyai 3 port dengan masing-masing berkapasitas 8-bit. Jika dalam merancang sistem minimum 8088 ternyata memerlukan interface lebih dari 3 port maka dapat ditambahkan IC PPI 8255 sesuai kebutuhan dengan menambahkan rangkaian decoder-nya


3.5. Pengertian LED

Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. 





                                                  


4. Listing Program [kembali]

data segment          ; inisialisasi data dari I/O 8255
  
   PORTA EQU 00H
   PORTB EQU 02H
   PORTC EQU 04H
   PCW   EQU 06H
  
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
;

    mov ax, data                  ; masukkan data ke AX
    mov ds, ax                     ; masukkan ax ke cs
    mov es, ax                  ; masukkan ax ke es
    MOV DX,PCW          ; masukkan PWC ke DX
    MOV AL,10000010B    ; IC I/O Mode 2 PORTA dan C output, PORTB input
    OUT DX,AL                  ; berikan mode ini ke IC I/O
   BEGIN:
    MOV CX,3                    ; Membuat perulangan menjadi 3x
    MOV AL,00000001B    ; Bit untuk LED 1 menyala
   KIRI:                               ; LED Bergerak ke kanan                              
    MOV DX,PORTA         ;
    OUT DX,AL                   ; masukkan PORTA ke DX
    SHL AX,1                      ; Geser bit Hidup LED ke kanan
    CALL DELAY               ;  Delay
    LOOP KIRI                    ; Go to KIRI 3 kali karena cx 3
  
    MOV CX,3                     ; Membuat perulangan menjadi 3x
    MOV AL,00001000B     ; Bit untuk LED 4 menyala
                        
   KANAN:                          ; LED Bergerak ke kiri
    MOV DX,PORTA           ; masukkan PORTA ke DX
    OUT DX,AL                   ; Hidupkan LED
    SHR AX,1                       ; Geser bit Hidup LED ke kanan
    CALL DELAY            ; Delay
    LOOP KANAN           ; Go to KANAN 3 kali karena cx 3
  
    JMP BEGIN                     ; Ulangi proses dari led bergerak ke kanan
  
  
    delay proc near               ; Procedure delay
  push cx                             ; simpan cx
        mov cx,2fffh               ; isi cx dengan lama delay
        loop $                         ; looping sampai cx=0
        pop cx                        ; keluarkan kembali cx
        ret                              ; kembali ke program utama
    delay endp                     ; akhir procedure delay

  

end start 




File HTML - Download
File Proteus - Download
File Program - Download
Semua File Full - Download

INTERFACE RUNNING LED MENGGUNAKAN MIKROPROSESOR 8086

[KEMBALI KE MENU SEBELUMNYA]   DAFTAR ISI 1. Dasar Teori 2. Rangkaian Simulasi 3. Flowchart 4. Listing Program ...

[KEMBALI KE MENU SEBELUMNYA]
 




  

DAC
DAC (Digital to Analog Convertion) adalah perangkat atau rangkaian elektronika yang berfungsi untuk mengubah suatu isyarat digital (kode-kode biner) menjadi isyarat analog (tegangan analog) sesuai harga dari isyarat digital tersebut. DAC (digital to Analog Convertion) dapat dibangun menggunakan penguat penjumlah inverting dari sebuah operasional amplifier (Op-Amp) yang diberikan sinyal input berupa data logika digital (0 dan 1).
Rangkaian dasar DAC (Digital to Analog Convertion) terdapat 2 tipe yaitu Binary-weighted DAC dan R/2R Ladder DAC. Kedua tipe DAC tersebut dapat dijelaskan sebagai berikut.

Binary-weighted DAC

Sebuah rangkaian Binary-weighted DAC dapat disusun dari beberapa Resistor dan Operational Amplifier yang diset sebagai penguat penjumlah non-inverting seperti gambar berikut.

Rangkaian Dasar Binary-weighted DAC

Rangkaian Binary Weighted DAC,dasar Binary Weighted DAC,rangkaian dasar Binary Weighted DAC,rumus Binary Weighted DAC,prinsip kerja Binary Weighted DAC,sistem kerja Binary Weighted DAC,logika dasar Binary Weighted DAC
Resistor 20KOhm menjumlahkan arus yang dihasilkan dari penutupan switch-switch D0 sampai D3. Resistor-resistor ini diberi skala nilai sedemikian rupa sehingga memenuhi bobot biner (binary-weighted) dari arus yang selanjutnya akan dijumlahkan oleh penguat penjumlah inverting IC 741.
Apabila sumber tegangan pada penguat penumlah IC 741 tersebut adalah simetris ± 15Vdc. Maka dengan menutup D0 menyebabkan tegangan +5Vdc akan diberikan ke penguat penjumlah dengan penguatan – 0,2 kali (20K/100K) sehingga diperoleh tegangan output penguat penjumlah -1Vdc. Penutupan masing-masing switch menyebabkan penggandaan nilai arus yang dihasilkan dari switch sebelumnya. Nilai konversi dari kombinasi penutupan switch ditunjukkan pada tabel berikut.

Tabel Konversi Digital Ke Analog Rangkaian Binary-weighted

Tabel Konversi Digital Ke Analog Rangkaian Binary-weighted DAC,output Binary-weighted DAC,tegangan output Binary-weighted DAC,logika konversi Binary-weighted DAC,konversi data Binary-weighted DAC,hasil Binary-weighted DAC

R/2R Ladder DAC

Metode lain dari konversi Digital to Analog adalah R/2R Ladder. Metode ini banyak digunakan dalam IC-IC DAC. Pada rangkaian R/2R Ladder, hanya dua nilai resistor yang diperlukan, yang dapat diaplikasikan untuk IC DAC dengan resolusi 8, 10 atau 12 bit. Rangkaian R/2R Ladder dapat dilihat pada gambar dibawah.

Rangkaian Dasar R/2R Ladder DAC

Rangkaian Dasar R2R Ladder DAC,dasar R2R Ladder DAC,teori R2R Ladder DAC,definisi R2R Ladder DAC,rumus R2R Ladder DAC,rangkaian R2R Ladder DAC
Prinsip kerja dari rangkaian R/2R Ladder adalah sebagai berikut : informasi digital 4 bit masuk ke switch D0 sampai D3. Switch ini mempunyai kondisi “1” (sekitar 5 V) atau “0” (sekitar 0 V). Dengan pengaturan switch akan  menyebabkan perubahan tegangan yag diberikan ke penguat penjumlah inverting sesuai dengan nilai ekivalen biner-nya. Sebagai contoh, jika D0 = 0, D1 = 0, D2 = 0 dan D3 = 1, maka R1 akan paralel dengan R5 menghasilkan 10 k . Selanjutnya 10 k ini seri dengan R6 = 10 k menghasilkan 20 k . 20 k ini paralel dengan R2 menghasilkan 10 k , dan seterusnya sampai R7, R3 dan R8. Sehingga diperoleh rangkaian ekivalennya seperti gambar berikut.

Rangkaian Ekivalen R/2R Ladder

Rangkaian Ekivalen R2R Ladder,analisa dac R2R Ladder,menghitung dac R2R Ladder,ekivalen dac R2R Ladder
Sehingga teganagan output (Vout) analog dari rangkaian R/2R Ladder DAC diatas dapat dihitung dengan menggunakan persamaan:
Vout=(-Vref(\frac{R9}{R}))\cdot ((\frac{D_{0}}{16})+(\frac{D_{1}}{8})+(\frac{D_{2}}{4})+(\frac{D_{3}}{2}))
Vout yang dihasilkan dari kombinasi switch ini adalah -5V. Nilai kombinasi dan hasil konversi rangkaian R/2R Ladder DAC  ditunjukkan pada tabel berikut.

Tabel Konversi Digital Ke Analog Rangkaian R/2R Ladder

Tabel Konversi Digital Ke Analog Rangkaian R2R Ladder DAC,output R2R Ladder DAC,konversi data R2R Ladder DAC,sinyal R2R Ladder DAC,output R2R Ladder DAC



int PWMPin = 9 ;
int intensity = 0 ;

void setup() {
  pinMode(PWMPin, OUTPUT) ;
}

void loop() {
  intensity += 1 ;
  if (intensity > 255){
    intensity = 0 ;
  }
  analogWrite(PWMPin, intensity) ;
  delay(10) ;
}




File HTML - Download
File Proteus - Download
File Program - Download
Semua File Full - Download

DAC

[KEMBALI KE MENU SEBELUMNYA]   DAFTAR ISI 1. Dasar Teori 2. Rangkaian Simulasi 3. Flowchart 4. Listing Program ...

[KEMBALI KE MENU SEBELUMNYA]
 




  

TIMER DAN COUNTER 
AVR ATMEGA16 memiliki tiga buah timer, yaitu Timer/Counter0 (8 bit), Timer/Counter1 (16 bit), dan Timer/Counter3 (16 bit).
Timer/ Counter 0
Timer/Counter0 adalah Timer/Counter 8 bit yang multifungsi. Fitur-fitur dari Timer/Counter0 pada ATMEGA16  adalah sebagai berikut.
a. Counter 1 kanal.
b. Timer di-nol-kan saat proses pembandingan tercapai (compare match).
c. Sebagai pembangkit gelombang PWM dan pembangkit frekuensi.
d. Clock prescaler 10 bit.
e. Sumber interupsi dari compare match (OCF0) dan overflow (TOV0).
Pengaturan Timer/Counter0 diatur oleh TCCR0 (Timer/Counter Control Register0) yang dapat dilihat pada Tabel dibawah.

Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
FOC0
WGM00
COM01
COM00
WGM01
CS02
CS01
CS00

Penjelasan untuk tiap bit-bitnya adalah sebagai berikut.
a. Bit 7 – FOC0: Force Output Compare
b. Bit 6,3 –WGM01:WGM00: Waveform Generation Unit
Bit ini mengontrol kenaikan dari counter, sumber dari nilai maksimum counter, dan tipe dari jenis timer/counter yang dihasilkan, yaitu mode normal, clear timer, mode compare match, dan dua tipe dari PWM (Pulse Width Modulation). 
Berikut ini tabel pengaturan pada bit WGM01 dan WGM00.


Mode

WGM01
(CTC0)

WGM00
(PWM0)

Mode operasiTimer/Counter

TOP

Update
OCR0
Bendera
TOV0
diset saat nilai
0
0
0
Normal

0xFF
Immediate
   MAX
1
0
1
PWM, phase correct

0xFF
TOP
BOTTOM
2
1
0
CTC

OCR0
Immediate
MAX
3
1
1
Fast PWM

0xFF
TOP
MAX

c. Bit 5, 4 – COM01:COM00: Compare Match Output Mode
Bit ini mengontrol pin OC0 (pin Output Compare). Apabila kedua bit ini nol atau clear, maka pin OC0 berfungsi sebagai pin biasa. Bila salah satu bit set, maka fungsi pin ini tergantung pada pengaturan bit pada WGM00 dan WGM01. 
Berikut daftar tabel pengaturan bit COM01 dan COM00 sesuai pengaturan bit pada WGM00 dan WGM01.
Tabel  Pengaturan Bit COM01 dan COM00 Mode Non-PWM
COM01
COM00
Keterangan
0
0
Operasi port normal, OC0 tidak dihubungkan.
0
1
Toggle OC0 saat proses pembandingan tercapai.
1
0
Clear OC0 saat proses pembandingan tercapai.
1
1
Set OC0 saat proses pembandingan tercapai.

Tabel Pengaturan Bit COM01 dan COM00  Mode Fast PWM
COM01
COM00
Keterangan
0
0
Operasi port normal, OC0 tak dihubungkan.
0
1
Reserved

1

0
Clear OC0 saat proses pembandingan tercapai, set OC0 pada nilai TOP.

1

1
Set OC0 saat proses pembandingan tercapai, clear OC0 pada nilai TOP.

Tabel   Pengaturan Bit COM01 dan COM00 Mode Phase Correct PWM
COM01
COM00
Keterangan
0
0
Operasi port normal, OC0 tak dihubungkan.
0
1
Reserved

1

0
Clear OC0 saat proses pembandingan tercapai, yaitu ketika hitungan naik. Set OC0 saat proses pembandingan tercapai, yaitu ketika hitungan turun.

1

1
Set OC0 saat proses pembandingan tercapai, yaitu ketika hitungan naik. Clear OC0 saat proses pembandingan tercapai, yaitu ketika hitungan turun.

d. Bit 2, 1, 0 – CS02, CS01, CS00: Clock Select

Ketiga bit tersebut untuk memilih sumber clock yang akan digunakan oleh Timer/Counter0.

Tabel    Konfigurasi Bit Clock Select
CS02
CS01
CS00
Keterangan
0
0
0
Tanpa sumber clock (timer/counter tidak difungsikan).
0
0
1
clkI/O /1 (tanpa prescaling)
0
1
0
clkI/O /8 (dari prescaler)
0
1
1
clkI/O /64 (dari prescaler)
1
0
0
clkI/O /256 (dari prescaler)
1
0
1
clkI/O /1024 (dari prescaler)
1
1
0
Sumber clock eksternal pada pin T0. Clock pada falling edge.
1
1
1
Sumber clock eksternal pada pin T0. Clock pada rising edge.




int LED_Pin = 13 ;

void setup() {
  pinMode(LED_Pin, OUTPUT) ;

}

void loop() {

    digitalWrite(LED_Pin, LOW) ;
    delay(1250) ;
    digitalWrite(LED_Pin, HIGH) ;
    delay(1250);
 
  }





File HTML - Download
File Proteus - Download
File Program - Download
Semua File Full - Download

Timer

[KEMBALI KE MENU SEBELUMNYA]   DAFTAR ISI 1. Dasar Teori 2. Rangkaian Simulasi 3. Flowchart 4. Listing Program ...

 

© 2015 - Distributed By Free Blogger Templates | Lyrics | Songs.pk | Download Ringtones | HD Wallpapers For Mobile