BUKU PANDUAN
BUKU PANDUAN
MODUL MIKROKONTROLER ATMEGA 16
MODUL MIKROKONTROLER ATMEGA 16
TEKNIK KOMPUTER
TEKNIK KOMPUTER
BINA SARANA INFORMATIKA
BINA SARANA INFORMATIKA
AMIK BSI JAKARTA
AMIK BSI JAKARTA
KATA PENGANTAR
KATA PENGANTAR
Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, sehingga Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, sehingga saya dapat menel
saya dapat menelesaikan penyesaikan penyusunan Buku Panduan usunan Buku Panduan Modul Modul Mikrokontroler.Mikrokontroler. Untuk dapat memahami dasar-dasar Mikrokontroler serta pemogramannya, Untuk dapat memahami dasar-dasar Mikrokontroler serta pemogramannya, diperlukan pemahaman secara teori dan penerapan aplikasi. Keuntungan diperlukan pemahaman secara teori dan penerapan aplikasi. Keuntungan dalam memahami dasar – dasar Mikrokontroler ini untuk dapat memahami dalam memahami dasar – dasar Mikrokontroler ini untuk dapat memahami prinsip kerja IC Mikrokontroler serta dapat membuat kreatifitas berbagai prinsip kerja IC Mikrokontroler serta dapat membuat kreatifitas berbagai macam Aplikasi.
macam Aplikasi. Pada Buku P
Pada Buku Panduan Modul anduan Modul Mikrokontroler ini Mikrokontroler ini penulis memberikan penulis memberikan beberapabeberapa penjelasan tentang Karakteristik atau fitur-fitur IC Mikrokontroler, Bahasa penjelasan tentang Karakteristik atau fitur-fitur IC Mikrokontroler, Bahasa pemograman dan Software compiler serta s
pemograman dan Software compiler serta software download program.oftware download program. Penulis
Penulis mengharapkan mengharapkan dengan dengan Buku Buku Panduan Panduan Modul Modul Mikrokontroler Mikrokontroler iniini dapat membatu para pemula atau pencinta elektronika (hobby), Modul dapat membatu para pemula atau pencinta elektronika (hobby), Modul Panduan ini diberikan secara Cuma-Cuma (Gratis), penulis mengarapkan Panduan ini diberikan secara Cuma-Cuma (Gratis), penulis mengarapkan tidak ada pihak lain untuk melakukan komersial atau kepentingan pribadi tidak ada pihak lain untuk melakukan komersial atau kepentingan pribadi tanpa seijin penulis.
tanpa seijin penulis.
Terima kasih penulis sampaikan kepada semua pihak yang telah mendukung Terima kasih penulis sampaikan kepada semua pihak yang telah mendukung kelancaran dan penulis menerima saran dan kritikan dengan senang hati, kelancaran dan penulis menerima saran dan kritikan dengan senang hati, agar dapat membuat penyempurnaan modul ini.
agar dapat membuat penyempurnaan modul ini. Semoga
Semoga Buku Buku Panduan Panduan Modul Modul Mikrokontroler Mikrokontroler ini ini bermanfaat bermanfaat bagibagi pembacanya. pembacanya. Depok, September 2012 Depok, September 2012 Penulis Penulis
KATA PENGANTAR
KATA PENGANTAR
Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, sehingga Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, sehingga saya dapat menel
saya dapat menelesaikan penyesaikan penyusunan Buku Panduan usunan Buku Panduan Modul Modul Mikrokontroler.Mikrokontroler. Untuk dapat memahami dasar-dasar Mikrokontroler serta pemogramannya, Untuk dapat memahami dasar-dasar Mikrokontroler serta pemogramannya, diperlukan pemahaman secara teori dan penerapan aplikasi. Keuntungan diperlukan pemahaman secara teori dan penerapan aplikasi. Keuntungan dalam memahami dasar – dasar Mikrokontroler ini untuk dapat memahami dalam memahami dasar – dasar Mikrokontroler ini untuk dapat memahami prinsip kerja IC Mikrokontroler serta dapat membuat kreatifitas berbagai prinsip kerja IC Mikrokontroler serta dapat membuat kreatifitas berbagai macam Aplikasi.
macam Aplikasi. Pada Buku P
Pada Buku Panduan Modul anduan Modul Mikrokontroler ini Mikrokontroler ini penulis memberikan penulis memberikan beberapabeberapa penjelasan tentang Karakteristik atau fitur-fitur IC Mikrokontroler, Bahasa penjelasan tentang Karakteristik atau fitur-fitur IC Mikrokontroler, Bahasa pemograman dan Software compiler serta s
pemograman dan Software compiler serta software download program.oftware download program. Penulis
Penulis mengharapkan mengharapkan dengan dengan Buku Buku Panduan Panduan Modul Modul Mikrokontroler Mikrokontroler iniini dapat membatu para pemula atau pencinta elektronika (hobby), Modul dapat membatu para pemula atau pencinta elektronika (hobby), Modul Panduan ini diberikan secara Cuma-Cuma (Gratis), penulis mengarapkan Panduan ini diberikan secara Cuma-Cuma (Gratis), penulis mengarapkan tidak ada pihak lain untuk melakukan komersial atau kepentingan pribadi tidak ada pihak lain untuk melakukan komersial atau kepentingan pribadi tanpa seijin penulis.
tanpa seijin penulis.
Terima kasih penulis sampaikan kepada semua pihak yang telah mendukung Terima kasih penulis sampaikan kepada semua pihak yang telah mendukung kelancaran dan penulis menerima saran dan kritikan dengan senang hati, kelancaran dan penulis menerima saran dan kritikan dengan senang hati, agar dapat membuat penyempurnaan modul ini.
agar dapat membuat penyempurnaan modul ini. Semoga
Semoga Buku Buku Panduan Panduan Modul Modul Mikrokontroler Mikrokontroler ini ini bermanfaat bermanfaat bagibagi pembacanya. pembacanya. Depok, September 2012 Depok, September 2012 Penulis Penulis
D����� I��
D����� I��
D��� S���� MODUL PRATIKUM MIKROKONTROLER
D��� S���� MODUL PRATIKUM MIKROKONTROLER
G����� B��� M����
G����� B��� M����
R�������� A���� ��� A�����
R�������� A���� ��� A�����
(MCS51 & AVR)
(MCS51 & AVR)
NB: NB: S����� ���������� 5 S����� ���������� 5 V��� K��� P�� V��� K��� P�� 9 ��� G���� K��� 9 ��� G���� K��� P�� 10 ����P�� 10 ���� ������ ���� PORT �������������� ���� MCS51 ���G����� B��� A������� R�������� LED ��� PUS BUTTON
G����� B��� A������� R�������� LED ��� PUS BUTTON
G����� B��� A������� R��������
G����� B��� A������� R��������
B���� ��� D����� M���� DC L293
B���� ��� D����� M���� DC L293
G����� B��� A�������
R�������� 2 D���� S���� S�����,
S����� IR & LDR ��� D����� T������� LCD 2�16
BAB I
PENDAHULLUAN
M������������� ������ ��������� �������� T������ C��� ���� �������� ����������� ���� ����������� ������� ��������� ������ ����������. M������������� �������� ���� IC A����� ��� D������, ����� ���� �������� IC M������������� ������� �������� ���������� ��������� ���� ������ �����, ������ ����� ���������� ���� �������� ���� ������ ���������� ���� ���������, ������ ������ ��������� ���������� ���� ��������� ������ : 1. B����� P��������� A�������/�������� 2. B����� P��������� C/C++ 3. B����� P��������� B����/B����� 4. B����� P��������� J��� D����� ����������� ��������� ������ ���������� ��� ����� ����������� ���� �� ������� �������, ����� ����� ����� �� ������ ���� M������������� ������ IC M������������� ����� ������� ������ ����������� ������ ����� ����� ������ ������ H���(1) ��� L�� (0), ������ ����� ��� ������� ���� ����� �������� ������ ��������� ���� ��������� ������ ����������� �������� ��������. U���� ����� ����� �� ������ ������� ����� ������ �� ����� ��� : U��� PC (D���������) T����� C������� (H��) ISP (D�������) G����� 1. A��� C������� P��������� M������������� 1 2 3 5 6 4P��� ������������ ������� M������������� ��� ����������� IC �������������� ATMEGA 16 ���� ATMEGA 16A ������ ������ ���������� C/C++, ����� �� ������ ������ �������� C��������� AVR, P��� ISP. 1.68 ��� P������.
1.1 F���� M������������� A����� 16
F���� ������ ���� �� ������ ������ 16 ������� ������� :
1. M������������� AVR (ATMEGA) 8 ��� ���� �������� ��������� ������, ������ ���� ������.
2. M������� A��������� RISC ������ ���������� �������� 16 MIPS ���� ��������� 16M��. 3. A����� 16 M������� ��������� ������ ������� 3 ������ ����� : 1. M������� F���� M����� 16 K����. 2. M������� EEPROM 512 B���. 3. M������� SRAM 1 K����. 4. M������� ������� I���� ��� ������ �������� 32 ���/���. Y���� �� ���� PORTA, K��� PORTB, K��� PORTC ��� K��� PORTD.
5. CPU ���� ������� ���� ���� 32 ���� ��������. 6. M������� ���� ��������� �������� ��� ���������. 7. M������� P��� UAST ����� ��������� ���� ���������� ������ (RX & TX). 8. M������� ����� ���������� ���� ������� ���� : �. M������� T��� ���� T����/C������ ������ ��������� ������������. � 2 B��� ����� / ������� ������ ��������� 8 ���. � 1 ���� ����� / ������� ������ ��������� 16 ���. �. M������� R��� T��� ������� ������ ���������� (F��������) ����������. �. M������� 4 ������� PWM (P���� W���� M�������) �� ���� PORTD ��� 4 ��� ��� 5 (0C1B & 0C1A). �. M������� 8 C������ ������� ADC (A����� D������ C��������/������� ������ �� �������) �� ���� PORTA. �. M������� A���� ���� ������ SPI. �. M������� O������ ������ ����������. 9. B������ �� ������ �������� 4,5V��� �/� 5,5V���. 10. B������ �� K������/���������� 0 �/� 16 MHZ.
1.2 K���������� PIN ATMEGA16 M������������� ������ 16 �������� 40 ��� DIP (D��� I����� P������), ����� �� ����� ���� ������ 1.2, ������ ������ ������ � ������ ��� ����� : 1. K��� VCC ���� ��������� ������� ������ �������� �������� �� PIN 10. 2. K��� GND ���� ��������� G����� �������� �� ���� 11. 3. K��� X���1 & X���2 ���� ��������� ��� ������� ����� ���������� �������� �� P�� 12 ��� P�� 13. 4. K��� AVCC ��������� P�� ������� �������� ����� ADC ���� �������� ����������� �� VCC. 5. K��� AREF ��������� ��� �������� ��������� ���� ����� �������� ADC. 6. K��� ���� ��������� I�������� PC �� M������������� (ISP) �������� ���� ���� PORTB ������ P�� 5 (M���), P�� 6 (M���) ��� P�� 7 (SCK). 7. U���� ����� ����������� ���������� PWM �������� �� ���� PORTD P�� 4 (0C1B) ��� P�� 5 (0C1A). 8. U���� ����� ������������� ������ �������� �� ���� PORTD P�� 0 (RX/��������) ��� P�� 1 (TX/��������). 9. R���� ���� ��������� ������ ������� ������� �������������� �������� �� ���� ��� 9.
10. K��� PORTA �������� ���� ���� 33 �/� ���� 40 ���� ��������� ������ ��������� A����� �� D������ (ADC).
P��� PIN F�����
PA.0 PA0 ADC0 (ADC ����� ������� 0) PA.1 PA1 ADC1 (ADC ����� ������� 1) PA.2 PA2 ADC2 (ADC ����� ������� 2) PA.3 PA3 ADC3 (ADC ����� ������� 3) PA.4 PA4 ADC4 (ADC ����� ������� 4) PA.5 PA5 ADC5 (ADC ����� ������� 5) PA.6 PA6 ADC6 (ADC ����� ������� 6) PA.7 PA7 ADC7 (ADC ����� ������� 7)
G����� 2. A��� ��������� ������ �� D������
11. K��� PORTB �������� ���� ���� 1 �/� ���� 8 ���� ��������� ������ ��� ���� ����� �� �������� ������ ������ ���� ����� ������� ���� ����� ������� ���.
P��� PIN F�����
PB.0 T0 T1 (T����/C������ 0 E������� C������ I����) XCK (USART E������� C���� I����/O�����
PB.1 T1 (T����/C������1 E������� C������ I����)
PB.2 AINO (A����� C��������� P������� I���� / INT2 (E������� I������� 2 I����)
PB.3 AIN1 (A����� C��������� N������� I���� / OCO (T����/C������ O����� C������)
PB.4 SS (SPI S���� S����� I����)
PB.5 MOSI (SPI B�� M����� I����/S���� O�����/������ ��������� �� PC ) PB.6 MISO (SPI B�� M����� I����/S���� O�����/ ������� I�������� �� PC) PB.7 SCK (SPI B�� S����� C����/������� I�������� �� PC)
PORT KHUSUS C�������� ADC
12. K��� PORTC �������� ���� ���� 22 �/� ���� 29 ���� ��������� ������ ��� ���� ����� �������� ������ ������. P��� PIN F����� PC.0 SCL (T���W��� S����� B�� C���� L���) PC.1 SDA ( T�� � W��� S����� B�� D��� I����/O����� L���) PC.2 TCK (JTAG T��� C����) PC.3 TMS (JTAG T��� M��� S�����) PC.4 TDO (JTAG T��� D��� O�����) PC.5 TD1 (JTAG T��� D��� I����) PC.6 TOSC1 (T���� O�������� P��1) ����� ���������� C��� �������� PC.7 TOSC2 (T���� O�������� P��2) ����� ���������� C��� �������� 13. K��� PORTD �������� ���� ���� 14 �/� ���� 22 ���� ��������� ������ ��� ���� ����� �������� �������� ������ ������ ������� PWM ��� K��������� S�����. P��� PIN F����� PD.0 RDX ( ������ ����� ���� ) U���� �������� D��� PD.1 TDX (������ ������ ���� ) ����� �������� D��� PD.2 �INT0 ( �������� �������� �) PD.3 �INT1 ( �������� �������� �) PD.4 OC1B ( T����/C������1 ������ ������������� ������ B ) PD.5 OC1A ( T����/C������1 ������ ������������� ������ A ) PD.6 �ICPI( T����/C������1 ������� ��������� P�� ) PD.7 �OC2 ( ����� / �������2 ������������� ����������� ������ ����� PWM ) G����� 3. T������� ��������� P���� W���� M���������
1.3. B��� D������ AT���� 16.
B��� ������� M�������� �������� ������ ������� ���� ���� ���� ��� ���� IC M������������� A����� 16.
1.4 A��������� M������������� AVR RISC ��� CISC. 1.5. B����� B��� M�����. M����� ���� A����� 16 �������� ���� ������ ����� : A. S����� R������� (SREG) ��������� ������ ���� ���������� ���� ������� ���� ��������� ������ ����� ��������� ����������. B. S���� P������ ��������� ������ ��������� ���� ���������, ����� ����������������� ����� ���� ������ ������ ��������� �� ������ ������ ��������. (������ ��������� PUSH).
C. P��� M����� A�����16. � M����� P������. M����� ������� ��������� ����� ��������� ������������������� ������� ���� �������� ����� �� ����/R��� O��� (ROM) ������ ������ $0000 ������ $1FFF. � M����� D���. M����� D��� ��������� ����� ��������� �������, ������ ���� ������� 3 ������ ����� : 32 ���� �������� ����, 64 ���� �������� I/O ��� 1 K���� SRAM ��������. GPR(G������ P������ R������� ) M������� ������ ���� ����� : $0000 �/� $001F, M����� I/O ��������� 64 ������ $20 ������ $5F. M����� I/O ������������ 1024 B��� ��������� S������ F����� R������� ���� K����� (SFR) ������ A����� $60 ������ $45F. � M����� EEPROM. M����� D��� EEPROM 8 B�� (������������ �������� ������������ ���� ���� ������ (EEPROM): ��������� ������ ����������� ����� ������ ������ ���� ���� ����) ���� ���������� SRAM ����� ������������� ��������������. M����� ����� ��� ���� ������� ��������� ����� ��������� ��������� �������� ���� ���� ��������� ����� �������, ������ EEPROM ���� �������� ������ 512 B��� ������ A����� $000 ������ $1FF.
D. G������ P������ R������� AVR.
S������ ��������� ������� �������� ����� AVR �������� ����� �������� �� ����� ��������. K������ ����� ���� ��������� ���������������� ���� �������������� �������� ������ ��������� (SBCI, SUBI, CPI, ANDI, ��� ORI) ��� LDI
���� �������������� �������� ���� ������� �������. I������������������ �������� ������������ ����� ���� ������� ������ �������� �������� GPR (R16 ������ R31). I�������� ����� ������� ���� ������� SBC, SUB, CP, AND, OR ��� ������� ������� ���� �������������� ��� �������� ���� ���� �������� ����� ��������� ����� �������� ������� ��������
BAB. II
M������� B����� P��������� C/C++
P��� M������������� ATMEGA16
P��������� ������ B����� C ���� ��������� ������ ���������� ������� ������ ����� ���� ��������� ���� ������������ ��������� ����� ������ ���������� ���������/�������� ���� �� M������������� ���� ATMEL ��� AVR. C����� ��������� ������� ������ C : #������� <����16.�> #������� <�����.�> ���� () � ������. ; ������. ; ������. ; �; � K��������� : #������� <����16.�> ��������� ���� ������������ ����� �������� ����� �������� ������ �������� �, �������� ������ ������������� ����� ����� (#�������<�����.�>. ���� () ���� �� ����� ������ ���� ������ ��� ����� ������ ��������� ������� �� ����� ����� ������� ���� �� ����� ������ ���� �������. T���� ����. ��� �� ������ ��. � ��������� �������� ���� ����� ���������� ���� ��������, ��� ������ ���������� �������� ������ ����� ����� ���� (;). T���� ����� ��..�; ������ ���������� ����� ���� ���������� ������ ��������� ���� �������� ������� ���� �������� � �����. 2.1 T��� D��� T��� ���� ��������� ������ ������� ���� ������ ������� ������ ���� ���� ������������ ������ ��������� ���� ���� ������������ ���� ��������.P�������� ���� ���� ���� ����� ���� ������� ������ ������� ���� ������� ����� ������� ��� �������, ����� ����� �������� ����� ������� �� ����� ���� ����.
N�. T��� D��� U����� R���� (J��������)
1. Char 1 byte -128 s/d 127
2. Int 2 byte -32768 s/d 32767
3. Unsigned int 2 byte 0 s/d 65535
4. Long Int 1 byte -2147483648 s/d 2147483648
5. Unsigned Long int 4 byte 0 s/d 4294967296
6. Float 4 byte -3.4E-38 s/d 3.4E+38
7. Double 4 byte 1.7E-308 s/d 1.7E+308
8. Long Double 10 byte 3.4E-4932 s/d 1.1E+4932
9. Char 1 byte -128 s/d 127
10. Unsigned char 1 byte 0 s/d 255
2.2 V������� V������� ������ ����� �������� ���� ��������� ����� �������� ����� ����� �������� �� ����� ������ �������. N���� ����� ����� �������� ����� ������� � ���� ������ ��������� ���� ����� ��������� �������, S������� �������� ����� ���������� ������� ���� �� �������� ������ ������� �������� ������ ����� : � P�������� ��������� �������� ����� ����� ����������� �����. � P�������� ����� ���� ��������� ����� ����� ����� ����� ����� ������������ ����� ��������� ������ C ������� ��������� ����� ������������. � T���� ����� ���������� ������ ������, ������� ���� : $, ?, %, #, &, !, *, +, @ ���. ������� ����� ����� ( ����������). � P������ �����, ������ ����� 32 �������� ������� �� �����. 2.3 O������� A��������� D���� ������ C ��� ���� �������� ���������� ���� ������ ��������� ����� ����� �������, ����� ������� ���� ����� �� ����� ��� : O������� A��������� K��������� C����� P������ O������� ����� P�������� #include <mega16.h> #include <delay.h> void main() { int bil1; int bil2;
*
DDRA=0xFF; bil1=4; PORTA=0xFF;bil2=2; PORTA=bil1*bil2; }/
O������� ����� P�������� #include <mega16.h> #include <delay.h> void main() { // awal program int bil1; int bil2; DDRB=0xFF; PORTB=0xFF; bil1=10; bil2=2;PORTB=bil1 / bil2; // artinya jumlah nilai di PORTB = 5 Bit
} // penutup program atau akhiran program
%
����� ���� ��������� #include <mega16.h> #include <delay.h> void main() { // awal program int bil1; int bil2; DDRC=0xFF; PORTC=0xFF; bil1=14; bil2=2;PORTC=bil1 % bil2; // artinya
jumlah nilai di PORTC = 8 Bit
} // penutup program atau akhiran program
+
����� P��������� #include <mega16.h> #include <delay.h> void main() { // awal program int bil1; int bil2; DDRD=0xFF; PORTD=0xFF; bil1=16; bil2=6;PORTD=bil1 + bil2; // artinya jumlah nilai di PORTD = 24 Bit
} // penutup program atau akhiran program
����� P���������� #include <mega16.h> #include <delay.h> void main() { // awal program int bil1; int bil2; DDRB=0xFF; PORTB=0xFF;
�
bil1=12;bil2=7;PORTB=bil1 - bil2; // artinya jumlah nilai di PORTB = 5 Bit
} 2.4 O������� H������� (P�����������) O������� H������� ��������� ����� ��������� P����������� �������� ������ ��� ���� ������ ���� ������ ����� ���� ��������. U���� ����� �������� ����� ����� �� ����� ��� : T���� O����� H������� O������� A��� C����� < K����� ���� X<Y A����� X ������ ���� Y <= K����� ���� ���� ������ X<=Y A����� X ������ ���� ���� ������ Y > L���� D��� X>Y A����� X L���� ���� Y >= L���� ���� ���� ������ X>=Y A����� X ����� ���� ���� ������ Y == S��� ������ X==Y A����� X ���� ������ Y != T���� ���� ������ X!=Y A����� X ����� ���� ������ Y J��� �������� �������� ������������� �������� ������ ��� ���� �������, ���� �������� ������ ��������� ����� ������������� ������ ����� ���� �������� � �������� ��������. O������� ������ ��� ���� �����, ����� :
1. S����� ����� C (&&) ������� L����� AND (DAN) ������������� O������ AND ���� �������� ����� ���� ��� �������� �������� �����.
T���� G������ L����� AND
I���� 1 I���� 2 O�����
0 0 0 0 1 0 1 0 0 1 1 1 2. S����� ����� C (��) ������� L����� OR (ATAU) ������������� O������ OR ���� �������� ����� ���� ��� ����� ���� ����� ���� ����������� �������� �����. T���� G������ L����� OR
I���� 1 I���� 2 O�����
0 0 0
0 1 1
1 0 1
3. S����� ����� C (!) ������� L����� NOT (LINGKARAN) ������������� ������� NOT ������������ ����� ����� ���� ����������� �������� �����, ��� ���� �������� ����� ���� ����������� �������� ����� ���� ������� I�������. T���� G������ L����� NOT I���� 1 O����� 1 0 0 1
2.5. OPERASI GESER KIRI (<<)
O������ ����� ���� ��������� ������� ���� ���� ��������� ������� ������ �������� ��� 0 ���� ��������� �� ��� 1 �������� ��� 1 ���� ��������� �� ��� 2 ��� ����������. O������ ����� ���� ����������� ��� ���� ������ ��������� ���� ����� << ��������� ����� ���� ���� ������� ��������� ��������� �������� ��������� ������ ��� ����������. C����� P������ ��������� ���������� �� ���� V��� ���� () � ���� � , ���; // ��� ��������� ������� � DDRB=0�FF; // ������� ������ �������� �� ���� B PORTB=0XFF; // O����� ���� ���� P��� B ���=0�1; // ���� ��� �� ����� ���� 1 ��� (�=0;�<<7;�++) // ��������� ���������� ���� � =1 �/� �=7 ������ ������� ������ << � PORTB=���; // �� �������� �� ���� B ���=��� <<7; // ��������� ���������� �� ����� ���� 1 ������ �� 7 �; // ��������� ������� ���� ���������� � // ������� �������
2.6 OPERASI GESER KANAN (>>)
O������ ����� ���� ��������� ������� ���� ���� ��������� ������� ������� �������� ��� 7 ���� ��������� �� ��� 6 �������� ��� 6 ���� ��������� �� ��� 5 ��� ����������. O������ ����� ����� ����������� ��� ���� ������ ������ ������ ����� >> ��������� ����� ���� ���� ������� ��������� ��������� �������� ��������� ������ ��� ������������. C����� P������ ��������� ���������� �� ����� V��� ���� () � ���� � , ���; // ��� ��������� ������� � DDRA=0�FF; // ������� ������ �������� �� ���� A PORTA=0XFF; // O����� ���� ���� P��� A
���=0�7; // ���� ��� �� ����� ���� 7 ��� (�=7;�>>1;�++) // ��������� ���������� ���� � =7 �/� �=1 ������ ������� ������ >> � PORTA=���; // �� �������� �� ���� A ���=��� >>1; // ��������� ���������� �� ����� ���� 7 ������ �� 1 �; // ��������� ������� ���� ���������� � // ������� �������
2.7 OPERASI BITWISE AND (&)
O������ ������� AND ���� ��������� ������� AND ���� ������������� ���, �������� ��� 0 ���� ������������ ������ ��� 0 ��� ��� 1 ��� ����������. C��������: H���� = 0�03 & 0�31; O��������� 0�03 = 00000011 0�31 = 00110001 H���� 0�01 = 00000001 = 1 H #������� <���� 16.�> #������� <�����.�> V��� ���� () � C��� � =0�03; // ���� I���� 1 C��� �=0�31; // ���� I���� 2 DDRB=0XFF; // ������� ������ �������� B PORTB=0�FF; // ������� ������ �� ���� PORTB PORTB= � & � ; // ������� ���� PORTB �������� 1 H �
2.8 OPERASI BITWISE OR (I)
O������ ������� OR ���� ��������� ������� OR ���� ������������� ���, �������� ��� 0 ���� ������������ ������ ��� 0 ��� ��� 1 ��� ����������. C�������� : H���� = 0�05 I 0�31; O��������� 0�05 = 00000101 0�31 = 00110001 H���� 0�35 = 00110101 = 35H
#������� <���� 16.�> #������� <�����.�> V��� ���� () � C��� � =0�03; // ���� ����� 1 C��� �=0�31; // ���� ����� 2 DDRA=0�FF; // M������ A����� �������� A PORTA=0�FF; // O����� �� ���� PORTA
PORTA= � I � ; // ������� ���� �� PORTA �������� 35 H �
2.9 OPERASI BITWISE XOR (�)
O������ ������� XOR ���� ��������� ������� XOR ���� ������������� ���, �������� ��� 0 ���� ������������ ������ ��� 0 ��� ��� 1 ��� ����������. C����� : H���� = 0�02 � 0�FA; O��������� 0�02 = 00000010 0XFA = 11111010 H���� 0�F8 = 11111000 = F8H #������� <���� 16.�> #������� <�����.�> V��� ���� () � C��� � =0�02; // ���� ����� 1 C��� �=0XFA; // ���� ����� 2 DDRC=0XFF; // ������� ������ �������� C PORTC=0�FF; // O���� �� ���� PORTC
PORTC= � � � ; // ������� ���� �� PORTC �������� F8 H � 2.10 OPERASI BITWISE (�) O������ ������� ���� ��������� ������� ������ NOT ���� ������ � ������ ���, �������� ��� 0 ���� ������������ 1, ���������� ��� 1 ���� �������� 0 C�������� : H���� = �0�31; 0�31 = 00110001 H���� �0�3E = 11001110 = 3EH
#������� <���� 16.�> #������� <�����.�> V��� ���� () � C��� � = 0�31; // ���� ����� 1 DDRB=0XFF; // M������ A����� R������� B PORTB=0�FF; // O����� �� ���� PORTB
PORTB= � � �; // ������� ���� �� PORTB �������� 3EH � 2.11 OPERASI MAJEMUK O������� M������ ������� ���� ��� �������� ���� ��������� ����� ���������� ��������� ������� ��������� ���� ��������. O������ ��������� ����� ������� ���� ����� ������� ��� : O������� M������ K��������� C����� = U���� ��������� ����� A = 7 + = U���� �������� ����� ���� ������� ������ A = 2 + 2, A = 4 �= U���� ���������� ����� ���� ������� ������ D = 4 � 2, A = 2 * = U���� ���������� ����� ���� ������� ������ C = 6 � 2, A = 12 / = U���� ��������� ��������� �������� �������� ������ F = 16 / 2, F = 8 % = U���� ��������� ����� ���� ���� ���� ��������� �������� ������ << = U���� ��������� ���������� �������� �� ���� B = 7<<1 >> = U���� ��������� ���������� �������� �� ����� C = 7>>1
& = U���� M�������� ��������� ������� AND D = 1 && 1, D=1
� = U���� M�������� ��������� ������� XOR D = 1�1, D=0 \ = U���� M�������� ��������� ������� OR D = 1 \ 0, D=1 2.12 KOMENTAR PROGRAM K������� ������� ����� ���������� ����� ���������� ��������� ��� ��������� ����� ������� ���� ������ D����� ���� ����, �������� ������� ����� ��������� ���������� ���� ���������� ������� ���� ����� ��������. U���� ���������� �������� ���� ���������� ����� ������ C ��������� �������� /* ��� */ ���� ����������� ����� // ����� �������� ���� ����� ������� ���� ���� �����. K������� ������� ����� ���� ���� �������� ����� ������� (���� ���������).
C����� P������ : // ������� ��� ������ ���� �. D��������� ����� // ��� ���� �������� ����� ���������. T���� ��� ����� ����� ���� ����� �������. C����� ����� : */ ������� ����� ������� ����� DC ���� ����� S������ */ B����� ��� ������� ����� ���������� ������ ������� ���� ������� ������ �������� �����. 2.13 PENYELEKSIAN KONDISI P����������� ������� ��������� ����� ����������� ���������� ����� ������. P����������� ������� ����� ����������� ������� ����� ���� ���� ���� �������� �������� ���. B��� ����� ������� ���� ��� ���� �������� ��� ���������� ���� ����� �������� ��� ����� ���� �������� ������� ������ ����. F����� ������������� ������� ������� ������� ����� ���������� ������ C, �������� ����� ������� ���� ��������.
A. STRUKTUR KONDISI �IF��.�
S������� �� �������� ���� ���������� �� ��� ������ ��������� ����� ���������� ����� ������� �������. B��� ������ ���� ��������� ��������� ���� �������� �����, ���� ���������� ���� ��� �� ����� ���� �� ���� �������� ���� ����������. #������� <����16.�> #������� <�����.�> V��� ����() � ���� ���1; DDRA=0�FF; DDRB=0�FFF; ���1=PORTB; ��(���1==0�40) � PORTA=0�20 � �
B. STRUKTUR KONDISI �IF�.ELSE�� D���� �������� ������� ������� ������� �������� ��� ����������. J��� ������� ���� ��������� �������� ����� ���� ��������� ���� ���������� ������� ���� ������������ ��� ���� ������� ���� ��������� �������� ����� ���� ���������� ���� ����� ���� ������������. B����� ������� ������ ������� �������: �� (������) P����������1 ���� �����������2 C����� P������ ��(�����=��) /*���� ����� ���� ������ �� */ � /*�������� ������� ���*/ ��� (�=0;�<4;�++) � �=�����1(�); PORTA=I // ���������� ����� ���� ��� ���� ������ ����� 50(100); // ������� ����� ��� ���� ���������� � � ���� // ���� ����� ���� �������� ������� ��� � ��� (�=0;�<4;�++) � �=�����2(�); // ���������� ����� ���� ��� ���� ������ PORTA=I; // ������� ����� ��� ���� ���������� �����(100); � � #������� <����16.�> #������� <�����.�> V��� ���� () � ���� ���1; DDRA=0�FF; DDRB=0�FF; ���1=PORTB; �� (���1==0�01) � PORTA = 0�20; � ���� // ���� ����� ���� �������� ������� ��� �
PORTA=0�80; �
�
C. STRUKTUR KONDISI �SWITCH�CASE� DEFAULT��
S������� ������� ����� ������������� ��������� ����� ������������ ������� ������ ����������� ���� ������� ����� ������. S������� ��� ���� ������������ ����� ���� ���� �������� ���������� ������ ���������� ����� �������. Y��� ��� �� ����� ������. S���������� ������ ���� ���������� ������ ��������� ���������� �������. J��� ����� ��� ����� ���� ���� ���� ������ ������ �������, ���� ������ ���� ���������� ������ ���������� ���� ��� �� ����� ���� ���������� ���������. SWITCH�.CASE�. C����� P������ S����� (�� � ���� 1: ��� (�=0;�<4;�++) � I=����� 1(�); PORTA=I; �����(100); � �����; ���� 2: ��� (�=0;�<4;�++) � �=�����2(�); PORTA=I; �����(100); � B����; #������� <����16.�> #������� <�����.�> V��� ���� () � ���� �; DDRA=0�FF; DDRB=0�FF; �=PORTA; ����� (�) � C��� 0: PORTB=5;�����; C��� 1: PORTB=10;�����; C��� 2: PORTB=15;�����; C��� 3: PORTB=20;�����; C��� 4: PORTB=40;�����; C��� 5: PORTB=60;�����; D������: PORTB=0;�����; � � 2.14 PERULANGAN D���� ���������� ������ C �������� ����� ��������� ���� ��������� ����� ��������� ������ ���� �������������� �������� ��������� ����. M������� ����, ���� ���� ����� ��������� ��� �������� �������� ���� 1 ������ 100 ������ 1000, �������� ���� ������ ��������� ����� ��������� �������.
M��� ������ �������� ���������� ���� ����������� ����� ��������� ������� �������� �����, ��� �������� �������� ���������� ����� : 1. S������� P��������� �WHILE� P��������� ����� ������ ��������� ���� ������� ���� �����������, ������ ���������� ���� ����� ��������� ������ ���������� �������� ����� (����) ��� ���� �������� ���� ���������� �������� �����. ����� (����������) C����� P������ ����� (��������) � P����������1 P����������2 � # ������� <����16.�> # ������� <�����.�> V��� ���� () � ���� �=10; DDRA=0�FF; ����� (�>=0) � PORTA=�; ���; � �
2. STRUKTUR PERULANGAN �DO�..WHILE�..��
P��� �������� �������� ���������� ���.����� ���� ���� ������ �������� �����,����� ���� ���� ������ ���������� ������ ����� , ������� ����� ������ �� ����� ���� �������� �� ���� ��������� ���� ���������� ���.����� , ������� ����� ������ �� ����� ����� ���������� . J��� ������ ����������� �������� ���.����� ������������������ ���� ������� ���� ���� ����������. B����� ���� ���� �������� ������� ��� ������: ���.. ����� (P���������) C����� P������ �� � P����������1 P����������2 � ����� (��������) #������� <����16.�> #������� <�����.�> V��� ���� () � C��� �=10; DDRA=0�FF; �� � PORTA=�; ���; � ����� (�>=0); �
3. STRUKTUR PERULANGAN �FOR� S������� ���������� ��� ����� ��������� ����� ��������� ����� ������ ���� ����� ��������� ������ ������������� . D��� ���� ������������,�������� ���������� ��� ��������� ����� ������� ������ ���������� ����� ������ ��� ��������� . B����� ���� ���������� ��� ������ ������� ������� : ��� (������������ ; ������ ; ����������) P���������; K���������: I����������� : ��������� ����� ���������� ������� ���� ���� �������� �������. S����� : �������� ������ ���� ���������� ������� ����� ������ ���� ����������. P��������� : �������� ��������� ����� �������� �������. #������� <����16.�> #������� <�����.�> V��� ���� () � ���� �; DDRA=0�FF; ��� (�=10;�>=�>=0;���) PORTA=�; � 2.15 ARAY (LARIK) A���� ��������� �������� ���� ����������� ���� ���� ������� ���� ����� ������ �������� ���� ����������� ���� ���� ����. L���� ���� ������ ���� ������ ����� ����������� ���� ����� �����. D������ ���� ���������� ����� ����� ������ ������� A���� ������� ����, ����� ������� ��� ��� ����� ������ �������.
A. ARRAY DIMENSI SATU
S����� ������ ����� ����� ������� �������� ������. I����� ����� ������ ������� ������� ���� 0. D�������� A���� ������ ����:
B. ARRAY DIMENSI DUA
A���� ��� ������� ��������� ����� ���� ������� ���� � ���� ����� ��� � ���� �����. B�������� ����� ������ ������� ���� �����.
D�������� ����� ������� ���: [T���������][����������][������2]; C. ARRAY MULTI DIMENSI
A���� ������������� ��������� ����� ���� ��������� ������ ����� ���� ���. B����� �������������� ����� ���� ���� ������ ����� ������� ���� ������ ����� ������� ���. B����� ������� �����: [����������][����������][������1][������2]�[������N]; 2.16 FUNGSI 1. PENGERTIAN FUNGSI F����� ��������� ����� ������ ���� ������� ���� ����������� ����� ����������� ����� ����� �������� ��� �������� �������� ���� ������� ���� ������������. F����� ��������� ������ ����� ����� ������ C ������ ������ C ������� ��������� ���� �������� ������ � ������. D���� ������ ������� ������ C, ������� �������� ���� ������ ����� ������ ����(). K��������� ���������� ������ ����� ������� ����� ������� ���� �������� �������� ���� ����� (��������� ����������� ���� ������) ��� ���� ���� ����������� ��������� ������ ������� ���� ����. 2. PENDEFISIAN FUNGSI S������ ��������� ������ ����� ������������� �������� ������. B����� �������� ������ ������: T����N�����B���� �����F����� (�������1, �������2) � P��������� 1 ; P���������1 ; R����� (��������) ; � C�����: ��� ������(��� ��11,��� ��12) //�������� ������ ������ �
��� �����; H���� = ��11 + ��12 R�����(�����) � K��������� C����� P������ ��� ������ (��� ���1,��� ���2) 1 2 3 4 1. T��� ����� ���� ������ 2. M�������� ���� ������ 3. T��� �������� 4. N��� ������� #������� <����16.�> #������� < �����.�> ��� ������ (��� ���1, ��� ���2) � R����� (���1+���2) ; � V��� ���� () � DDRA=0�FF ; PORTA=������ (20, 50) � 3. PROTOTYPE FUNGSI K�������� ������������� ������ ���� ���������� ������ ��������� ����� ��������� ����� ������� ���� ������� ���� �����. U���� ��������� ��� �������� ���� ������ ����� �������������� ������� ���������, �������� ������� ������ ����. D�������� ������ ������� ������ ��������� ������. C��� ��������������� ������ ���� ������ ������ ������ ��� �������� ����� ����� ���� (;). #������� <����16.�> #������� < �����.�> ��� ������ (��� ���1, ��� ���2) V��� ���� () � DDRA=0�FF ; PORTA=������ (20, 50) � ��� ������ (��� ���1, ��� ���2) � R����� (���1+���2) ; �
4. VARIABEL LOKAL DAN GLOBAL
V������� ����� ������ �������� ���� �������������� �� ����� ����� ������, �������� ��� ����� ������� ������ ��������. S������ ������ ���� ������
��� ���� �������� ��� ���� ������. V������� ������ ������ �������� ���� �������������� �� ���� ������, �������� ����� ������ ����� ����������. #������� <����16.�> #������� < �����.�> ��� ������ (��� ���1, ��� ���2) ��� ����1; ���� ���� () � ��� ����1; DDRA=0�FF ; ����1=������ (20,50) ; PORTA = ����1; � ��� ������ (��� ���1,��� ���2) � R����� (���1+���2) ; �
5. KATA KUNCI EXTERN DAN STATIC
K��� ����� ������ ��� ������ ��������� ����� ���������� ����� ���� �������� ���� ������. S���� �������� ���� ������ ���� ���������� �������� ������ ���� ����� ������ ���� ������� �������� ���� ������ �������� ������������� �� ���� ���� ��������. V������� ������ ���� ������ ���� �� �������� �������� ���� ����� ������ ��������� ���� ����� �������� ������ ���� ������ �������� �������� ������ ���� ���� ��������, �������� ����� ����� ������� ���� ���� ���� ����.
6. FUNGSI TANPA NILAI BALIK
F����� ���� ����� ��������� ����� ����� ��������� ���� ����� ���� ��������� ������ ���� ����� ��������� �������, ������� ���� ������ ����� ������ ����� ������ ���� ������ ����������� ���� ����� ����. C����� P������ : ���� ����� (����) � ��� (� = 0; � < 10 ; �++) ; � ���� ���� ����� ()
� ��� (�=0;<10;�++) ; � /* ������ ������������� V��� ������������� (��� � ) � I�� � ; ��� (�=0; �<� ;�++) ����� () ;
7. FUNGSI DENGAN NILAI BALIK BALIK (������ ����� )
N���� ����� ���� ���������� ����� ���������� ������. T��� ����� ����� ����� ������ ����, ���, �����, ����, ���� �����. C����� P������ : ��� ������ (��� ���1, ��� ���2) � R����� (���1+���2) �
8. ARGUMEN/ PARAMETER FUNGSI
A������ ���������� ������� ������ ������� ���� ��� �����, �����: �. P�������� ������ ����� B����� �������� ��������� ������� ����� ������: ���� ����������� (���� �������1, ���� �������2,�) � ����������. ����������. � #������� <����16.�> #������� <�����.�> V��� T������(��� A) � A=A+1; � V��� ���� () � I�� B; DDRA=0�FF; B=4; T������ (B); PORTA=B; �
�. P�������� ������ ������� B����� �������� ��������� ������ ������� ������: T��� ����������� (���� *�������1, ���� *�������2,�) � �����������. �����������. � #������� <����16.�> #������� <�����.�> V��� T������ (��� *A) � *A=A+1; � V��� ���� () � I�� B; DDRA=0�FF; B=4; T������ (&B); PORTA=B; �