Tugas 2 Memori, Timer, Counter & Bahasa Pemrograman

NAMA          : GERALD MAULANA
NIM              : 13220012
KELAS         : 13.3A.37



RESUME : Memori, Timer, Counter & Bahasa Pemrograman

Program Memory, Data Memory dan EEPROM

Memori yang terdapat pada Mikrokontroler dipisahkan menjadi 3 bagian yaitu program memory (memori program), data memory (memori data) dan Memori Data EEPROM yaitu :

1. Memori program berfungsi untuk menyimpan instruksi-intruksi program yang sifatnya hanya di baca/Read Only (ROM) dengan alamat $0000 hingga $1FFF.

2. Memori Data berfungsi untuk keperluan program, memori data terbagi 3 bagian yaitu : 32 buah register umum, 64 buah register I/O dan 1 Kbyte SRAM internal.
GPR (General Purpose Register) Menepati alamat data yaitu : $0000 s/d $001F, Memori I/O menempati 64 alamat $20 hingga $5F. Memori I/O berkapasitas 1024 Byte merupakan Special Fungsi Register yang Khusus (SFR) dengan Alamat $60 hingga $45F.

3. Memori Data EEPROM 8 Bit (Electrically Erasable Programmable read only Memory (EEPROM): merupakan memori nonvolatile (tidak hilang ketika catu daya mati) yang menyerupai SRAM dalam fleksibilitas pemrogramannya. Memori jenis ini pada umumnya digunakan untuk menyimpan data–data permanen yang akan digunakan dalam program, jumlah EEPROM yang tersedia adalah 512 Byte
dengan Alamat $000 hingga $1FF.

Timer dan Counter

Didalam mikrokontroler AVR Atmega 16 terdapat tiga buah Timer / Counter 32 bit yang dapat difungsikan sebagai timer atau counter.
Timer 0 = 8 bit
Timer 1 = 16 bit
Timer 2 = 8 bit
Timer / Counter 8 bit Memiliki multifungsi adapun fiturnya :
- Counter satu kanal
- Timer dinolkan saat Match compare (Autoreload)
- Phase Correct Pulse Width Modulator (PWM)
- Frekuensi generator
- 10 bit cloc prescaler
- interupsi timer / toimer overflow (T0Vn) dan Compare Match (0CFn)

Counter 8 bit
Timer/Counter 8 bit dapat menghitung maksimal 255 (00-FF)

Timer/Counter 16 bit
Pada mode normal, TCNT1 akan menghitung naik dan membangkitkan interrupt timer/counter 1 ketika nilainya berubah dari 0xFFFF ke 0x0000. untuk menggunakan timer yang menghitung mundur cukup dengan memasukan nilai yang diinginkan ke TCNT1 dan menunggu sampai terjadi interrupt, tetapi untuk timer yang menghitung maju nilainya harus 65536 – (timer value).

Pemakaian Timer Untuk Mengukur waktu

Fungsi utama timer adalah mengukur waktu. Pada saat sebuah timer digunakan waktunya akan satu setiap siklus mesin (siklus instruksi).
Karena X-tal yang digunakan sebagai pembangkit pulsa pada mikrokontroler ATMEGA adalah 12 Mhertz. Maka dapat dihitung berapa lama satu siklus
Frekuensi X-tal (f) = 12 MHz = 12.000.000 Hz Siklus atau perioda (t) dimana: t = 1/f t = 1/(12.000.000) t = 0, 0000000833 detik t = 0.083 detik

Bahasa Pemrograman

Format bahasa pemograman:
Sama seperti mikroprosesor agar CPU didalam mikrokontroler dapat mengerjakan suatu pekerjaan maka diperlukan program dalam bentuk perintah - perintah (instruksi)
Perintah-perintah tersebut di tulis dalam bentuk:
1. Bahasa mesin (bahasa tingkat rendah)
2. Bahasa Asembler/Asembly (bahasa tingkat menengah)
3. Basic, pascal,C++ dsb (bahasa tingkat tinggi)

Jenis bahasa yang di gunakan pada Mikrokontroler

1.Bahasa mesin
Bahasa dalam bentuk biner yang disandikan menjadi code yang dikenal dengan code mesin biasanya dalam bentuk heksadesimal Hexa.
Semua perintah di masukan dalam bentuk kode mesin atau Operational Code (Op-Code) kode diterjemahkan mikrokontroler menjadi bentuk biner kemudian baru diproses. Program pada CPU mikrokontroler yang disimpan didalam ROM merupakan bahasa mesin. Umumnya perintah-perintah tersebut di tulis dalam bentuk bilangan hexa tetapi disimpan di dalam memory (ROM) dalam format bilangan biner
contoh :
001110100b (74h)
11110000(F0h)
Bahasa mesin adalah bahasa tinggkat rendah.

2. Bahasa Assembly (Assembler)
Bahasa yang di gunakan oleh programer untuk membuat program sehingga dapat diproses oleh mikrokontroler.
Bahasa asembler merupakan sandi yang merupakan singkatan kata dari kata-kata dalam bahasa inggris, contoh:
Mov dari Move
INC dari Increment
SJMP dari Short Jump, dll

3. Bahasa C
Penulisan program dalam bahasa C
#include merupakan file header atau library
#define merupakan definisi konstanta
#if -#endif merupakan kode program, dll.

Contoh :
#include<mega16.h> (merupakan lokasi standar fileyang kita tentukan dari jenis ic yang digunakan).
#define Max 100 (setiap kemunculan max diganti angka 100).
#if ………mengawali program
#endif ( mengahiri program)
Contoh #define pembagi 15
#if (pembagi >0)
y=x/pembagi;
#endif

Komentar