PENGENALAN BAHASA ASSEMBLY C Sugondo Hadiyoso Aplikasi Mikrokontroler
PENGENALAN BAHASA ASSEMBLY & C Sugondo Hadiyoso Aplikasi Mikrokontroler (DTG 2 K 3)
ASSEMBLY • AVR Studio
ASSEMBLY • Penggunaan I/O Port Instruksi I/O in : membaca data I/O Port atau internal peripheral register (Timers, UART, dsb) ke dalam register contoh : in r 16, Pin. A out : menulis data sebuah register ke I/O port atau ke internal peripheral register contoh : out Port. A, r 16 Ldi (load immediate) : menulis konstanta ke register sebelum konstanta itu dituliskan ke I/O port contoh : ldi r 16, 0 b 1111111 ; bentuk biner out Port. D, r 16 ; port. D high semua
sbi (set bit I/O) : untuk membuat logika high satu bit I/O register contoh : sbi Port. B, 7 ; set bit ke-7 Port B cbi (clear bit I/O) : untuk membuat logika low satu bit I/O register contoh : cbi Port. B, 7 ; clear bit ke-7 Port B sbic (skip if bit in I/O is cleared) : untuk mengecek apakah bti I/O register clear. Jika ya, skip satu perintah dibawahnya contoh : sbic Port. A, 3 ; skip perintah jika bit ke 3 Port A clear Sbis (skip if bit in I/O is set) : untuk mengecek apakah bti I/O register set. Jika ya, skip satu perintah dibawahnya contoh : sbis Port. A, 3 ; skip perintah jika bit ke 3 Port A set
Contoh program assembly. include"C: Appnotesm 8535 def. inc". org 0 x 0000 rjmp main: ldi r 16, low(RAMEND) out SPL, r 16 ldi r 16, high(RAMEND) out SPH, r 16 ldi r 16, 0 xff out PORTA, r 16 cbi PORTA, 0 cbi PORTA, 1
Bahasa C • SEJARAH SINGKAT Bahasa Pemrograman C diciptakan dikembangkan oleh Brian Kernighan dan Denis Ritchie di Bell Research Labs. Bahasa Pemrograman C secara khusus diciptakan dengan tujuan agar para programmer (orang yang membuat program komputer) dapat mengakses seluruh internal register. Pada awal tahun 1960 -an, sistem operasi komputer mulai menjadi jauh lebih kompleks daris ebelumnya karena adanya pengenalan multi terminal dan kemampuan multi prosessor. Pada saat itu, sistem operasi diciptakan dengan menggunkan bahasa assembly (bahasa pemrograman tingkat rendah). Di mana banyak pengembang yang menyadari bahwa suatu sistem operasi dapat dikembangkan lebih lagi, tidak cukup hanya dengan menggunakan bahasa assembly. Inilah asal mula Bahasa C yang dimplementasikan pada Digital Equipment Corporation PDP-7. Pada perkembangan selanjutnya Bahasa Pemrograman C digunakan untuk mengimplementasikan Sistem Operasi Unix.
• Sebuah berkas program C terdiri dari beberapa unsur, yaitu dokumentasi program , pengarah prapengolahan, bagian deklarasi global, sebuah fungsi main ( ), dan fungsi buatan pemrogram. Masing-masing fungsi ini terdiri dari badan fungsi yang memuat deklarasi lokal dan kode program yang dapat dieksekusi.
Contoh Program Sederhana • • • • #include <avr/io. h> int main(void) {unsigned char i=0 x 01; for(; ; ) { PORTB=i; i=(i<<1)|(i>>7); } } return(0);
Format Penulisan Bahasa C 1. 2. Bagian Komentar untuk memberi keterangan pada program agar mudah dibaca. Ini akan diabaikan oleh kompiler co : /*……. */ untuk komentar bentuk paragraf // untuk komentar bentuk perbaris sebelum enter Bagian preprocessor #include biasanya digunakan untuk menyertakan file header(. h) atau file library. File include berguna untuk memberitahu kompiler agar membaca file yang di include-kan lebh dahulu agar mengenali definisi-definisi yang digunakan dalam program agar tidak dianggap error. co : #include <avr/io. h>
3. Bagian deklarasi variabel global dideklarasikan di luar semua fungsi termasuk fungsi utama dan letaknya harus di atas. Dapat diakses oleh semua pernyataan dalam program. cara penulisan : Tipe. Data nama. Variabel; unsigned char suhu; 4. Bagian Prototype fungsi berguna untuk mendeklarasikan fungsi yang ditulis di bawah fungsi “main”. cara penulisan : Tipe. Data nama. FUNGSI(Tipe. Data, …. , …); co : unsigned int kuadrat (unsigned char x)
4. Bagian fungsi utama/main bagian ini merupakan bagian fungsi pertama yang akan dieksekusi dengan urutan dari atas ke bawahdan akan loncat-loncat ke fungsi lain bergantung instruksi yang ada didalamnya. cara penulisan tanpa nilai balik (output) dan tanpa parameter input Nama. Fungsi (); dengan nilai balik (output) dan tanpa parameter Variabel. PENAMPUNG = nama. FUNGSI(); dengan nilai balik dan nilai parameter Variabel. PENAMPUNG=Nama. FUNGSI(Variabel_atau_kostant a, …. )
5. Define konstanta untuk mendifinisikan konstanta atau makro. cara penulisan : #define identifier konstanta contoh : define suhu 100
6. If dan endif digunakan untuk mengetes ekspresi yang valid untuk kode program dibawahnya hingga endif cara penulisan : #if (ekspresi) kode program …………… #endif contoh : #define pembagi 15 #if (pembagi>0) y=x/pembagi; #endif
7. If , else, dan endif digunakan untuk mengetes ekspresi yang valid untuk mengolah kode program di bawahnya atau jika tidak valid maka kode program di bawah #else hingga#endif cara penulisan : #if (ekspresi) kode program …………… #else …………… #endif contoh : #definepembagi #if (pembagi>0) y=x/pembagi; #else y=0; #endif 15
Tipe Data
- Slides: 16