Interupsi eksternal 1 diaktifkan oleh pin eksternal INT1 apabila bit-1 pada Status Register SREG dan interupsi pada GICR diset. Level dan tepi pada pin
INT1 yang mengaktifkan interupsi didefinisikan di dalam Tabel 2.6. Nilai pada pin INT1 disampel sebelum mendeteksi tepi. Jika interupsi tepi yang terpilih,
pulsa yang berakhir lebih lama daripada perioda 1 clock akan membangkitkan interupsi. Pulsa yang lebih pendek tidak dijamin mampu membangkitkan interupsi
Data Sheet mikrokontroler ATmega 8535. Jika interupsi level rendah dipilih, level
rendah harus ditahan hingga selesainya instruksi pengeksekusian yang sedang berjalan membangkitkan interupsi.
Tabel 2.6. Logika 0 dan 1 ISC11 ISC10
Deskripsi Kondisi low level pada INT1 membangkitkan permintaan
interupsi 1
Kondisi berubahnya logika pada INT1 membangkitkan permintaan interupsi
1 Tepi turun INT1 membangkitkan permintaan interupsi
1 1
Tepi naik INT1 membangkitkan permintaan interupsi
Sumber : Data Sheet Mikrokontroler ATmega 8535
2.9. Bahasa Pemrograman C
2.9.1. Karakteristik Bahasa Pemrograman C
Karakteristik bahasa pemrograman C bersifat serba guna, kaya dengan fitur ekspresi, kendali alir, struktur data modern, dan kumpulan operator Dennis,
1978. C memberikan konstruksi alir kendali dasar yang dibutuhkan bagi suatu program yang terstruktur dengan baik, yaitu pengelompokan pernyataan,
pengambilan keputusan if-else, pemilihan satu dari sekumpulan nilai yang mungkin switch, perulangan dengan pemeriksaan kondisi while, for, keluar
dari perulangan break dan sebagainya Heryanto, 2008. Deklarasi-deklarasi fungsi baru merupakan tahapan lain dalam maksud ini. Meski definisi fungsi tidak
dapat disarangkan, variabel dapat dideklarasikan dengan suatu cara yang terstruktur di dalam blok Dennis, 1978. Fungsi program dapat berada di dalam
berkas sumber yang lokasinya berbeda, serta dikompilasi secara terpisah.
Universitas Sumatera Utara
C dapat diterapkan pada banyak komputer karena sifatnya yang tidak bergantung pada satu arsitektur mesin Dennis, 1978. Dengan sedikit
penanganan, menuliskan program yang bersifat portabel menjadi mudah. Program dapat berjalan tanpa melakukan pengubahan apapun pada kode sumber asal.
Kompilator juga dapat memberi peringatan pada banyak jenis galat Dennis, 1978.
2.9.2. Sistem Bilangan
Sistem bilangan yang digunakan didalam pemrograman bahasa C adalah sebagai berikut :
1. Sistem Bilangan Desimal Sistem bilangan desimal adalah sistem bilangan berbasis 10 yang biasa
dipergunakan dalam kehidupan sehari-hari. Bilangan-bilangan dasar pembentuknya adalah 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9. Untuk menyatakan nilai yang
lebih besar dari 9, digunakan kombinasi dari bilangan-bilangan dasar tersebut seperti 10, 11, 12 dan seterusnya. Bilangan desimal dinyatakan dalam suatu
persamaan sebagai berikut : D = a
n
. 10
n
+ a
n-1
. 10
n-1
+ a
n-2
. 10
n-2
+ …... + a
1
. 10
1
+ a . 10
2.1 Dimana : D = Bilangan dalam desimal
a = Bilangan dasar, 0 s.d 9 n = Indeks bilangan, dimulai dari 0 s.d n, 0 dimulai dari bagian paling
kanan 2. Sistem Bilangan Biner
Sistem bilangan biner adalah sistem bilangan berbasis 2 yang digunakan dalam komputasi digital Dennis, 1978. Bilangan-bilangan dasar pembentuknya
adalah 0 dan 1. Untuk menyatakan nilai yang lebih besar dari 1, digunakan kombinasi dari bilangan-bilangan dasarnya seperti 10, 11, 100, dan seterusnya.
Bilangan biner dinyatakan dalam suatu persamaan sebagai berikut :
Universitas Sumatera Utara
B = a
n
. 2
n
+ a
n-1
. 2
n-1
+ a
n-2
. 2
n-2
+ …... + a
1
. 2
1
+ a . 2
2.2 Dimana : B = Bilangan dalam biner
a = Bilangan dasar, 0 atau 1 n = Indeks bilangan, dimulai dari 0 s.d n, 0 dimulai dari bagian paling
kanan 3. Sistem Bilangan Oktal
Sistem bilangan oktal adalah sistem bilangan berbasis 8 Dennis, 1978. Meski sistem bilangan biner sangat sesuai bagi komputasi digital, namun tidak
demikian bagi manusia. Bilangan tersebut sangat panjang sehingga sukar diingat. Untuk menyederhanakannya, dibentuklah sistem bilangan oktal, yang membagi
bilangan biner untuk setiap 3 digit Dennis, 1978. Bilangan dasar sistem bilangan oktal adalah 0, 1, 2, 3, 4, 5, 6 dan 7. Untuk menyatakan nilai yang lebih besar dari
7, digunakan kombinasi dari bilangan-bilangan dasarnya, seperti 10, 11, 12, dan seterusnya. Bilangan oktal dinyatakan dalam suatu persamaan sebagai berikut :
O = a
n
. 8
n
+ a
n-1
. 8
n-1
+ a
n-2
. 8
n-2
+ …... + a
1
. 8
1
+ a . 8
2.3 Dimana : O = Bilangan dalam oktal
a = Bilangan dasar, 0 s.d 7 n = indeks bilangan, dimulai dari 0 s.d n, 0 dimulai dari bagian paling
kanan 4. Sistem Bilangan Heksadesimal
Sistem bilangan heksadesimal adalah sistem bilangan berbasis 16 Dennis, 1978. Jika dalam sistem bilangan oktal, digunakan 3 digit bilangan biner untuk
menyatakan bilangan dasar, timbul pemikiran untuk menggunakan 4 digit bilangan biner sehingga diperoleh 16 buah bilangan dasar Dennis, 1978.
Bilangan-bilangan dasar pembentuknya adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E dan F. Untuk menyatakan nilai yang lebih besar dari F, digunakan kombinasi
dari bilangan-bilangan dasarnya seperti 10, 11, 12, dan seterusnya. Bilangan heksadesimal dinyatakan dalam suatu persamaan sebagai berikut :
Universitas Sumatera Utara
H = a
n
. 16
n
+ a
n-1
. 16
n-1
+ a
n-2
. 16
n-2
+ …... + a
1
. 16
1
+ a . 16
2.4 Dimana : H = Bilangan dalam heksadesimal
a = Bilangan dasar, 0 s.d F n = Indeks bilangan, dimulai dari 0 s.d n, 0 dimulai dari bagian paling
kanan Tabel 2.7. Bilangan Desimal, Biner, Oktal dan Heksadesimal
Desimal Biner
Oktal Heksadesimal
1 2
3 4
5 6
7 8
9
10 11
12 13
14 15
16 0000
0001 0010
0011 0100
0101 0110
0111 1000
1001 1010
1011 1100
1101 1110
1111
10000 1
2 3
4 5
6 7
10 11
12 13
14 15
16 17
20 1
2 3
4 5
6 7
8 9
A B
C D
E F
10
Sumber : Dennis 1978
2.10. Komponen Elektronika 2.10.1. Saklar Elektromagnet Relay