Bahasa c untuk pemrogramman avr Sistem mikroprosessor – by rizal suryana
Alat Bantu Applikasi + Compiler = CodeVision AVR Proteus
Tipe Data
Pendefinisian Variabel Mengacu pada type data. Type_data nama variabel Unsigned int data; Unsigned int DATA; Data equ 23H
Konstanta Sebuah variabel yang nilainya tetap const int b=1234 const int pi=3.14
OPERATOR Aritmatika Shift Logika Bitwise Pembanding *, +, -, /, %, ++, -- Logika &&, ||, Pembanding >,<,==,=>,=<,!= Shift >>,<<,>>=,<<= Bitwise &, |, ~,^,! Compound Assignment +=,- =,*=,/=,%=,&=,^=
Operator Aritmatika C = b + a D = c – a A = c * d B = d / a Ab = a%c
Operator Logika && a == b && c >d || c > d || d < a
Operator Pembanding 4 > 2 3 < 10 4 >= 2 5 == 5, A = 12 10 <= 12 7 != 5
Operator Shift 2 >> 3<< 2>>=2 3<<=4
Operator Bitwise 25H & 12H 09H | 2AH ! 1H ~ 25H 07H ^ 2H
Operator Compound Assignment A = A + 3 A = A – 3 A = A * 3 A = A / 3 A = A % 3
Function Merupakan suatu subroutin program int alfa(char par1, int par2, long par3) { /* Write some statements here */ } Running_led () { Please code here } Void lcd_Clear (void) { /write code here Pemanggilan function lcd_Claer( ) ;
Void Hitung_delay(int a, char f){ c = d+a; H = c * f; } Hitung_delay (nilaiA, waktu)
Komentar // untuk satu baris perintah /* */ untuk banyak perintah baris /* PORTA=25; */
Akses Port I/O DDRx Menentukan fungsi dari I/O PORTX AKSES I/O Akses PORT sebagai Output menggunakan variabel PORT (PORTC=25, PORTC.1=1) Akses PORT sebagai INPUT menggunakan Variable PINx. Contoh If (PINA.1==0){ //write code here dataPortA = PINA dataBitPortD = PIND.7 }
Percabangan If Switch () { If … else If … else if … else while Do … while for Switch () { Case : }
Percabangan IF If (PINA.1 == 0){ PORTC.2=1 } Else if (PINA.1==1) { Hitung_delay(); } If (PINA == 100){ PORTC.2=1 Else if (PINA == 50) { PORTC.2=0 Looping : If (PINA.1 == 0){ PORTC.2=1 } Else if (PINA.1==1) { PORTC.2=0 Else if (PINA.2==0) PORTB==0
Percabangan while dan do … while While(NilaiA==10) { PORTA=100; } NilaiA=1; Do { PORTC=I; i++; NilaiA++; }while(NilaiA<10)
Percabangan for for (i=10;i==50;i++;){ printf("%d\r\n",data_ori); delay_ms(100); }
Percabangan Switch inputan=1; switch(inputan){ case ‘5' : data_ori = read_adc(1); printf("%d\r\n",data_ori); delay_ms(100); case ‘1' : case ‘2' : }