BUKU PANDUAN MODUL MIKROKONTROLER ATMEGA 16
TEKNIK KOMPUTER BINA SARANA INFORMATIKA
AMIK BSI JAKARTA 1 E���� : �������������@�����.��.��, �������������@�����.��.��, ����������������.������ ����������������.��������.��� ��.��� T����� K������� AMIK BSI JA�����
KATA PENGANTAR
Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, sehingga saya dapat menelesaikan menelesaikan penyusunan penyusunan Buku Panduan Modul Mikrokontroler. Untuk dapat memahami dasar-dasar Mikrokontroler serta pemogramannya, diperlukan pemahaman secara teori dan penerapan aplikasi. Keuntungan dalam memahami dasar – dasar Mikrokontroler ini untuk dapat memahami prinsip kerja IC Mikrokontroler serta dapat membuat kreatifitas berbagai macam Aplikasi. Pada Buku Panduan Panduan Modul Mikrokontroler ini penulis memberikan beberapa penjelasan tentang Karakteristik atau fitur-fitur IC Mikrokontroler, Bahasa pemograman dan Software compiler serta software s oftware download program. Penulis mengharapkan dengan Buku Panduan Modul Mikrokontroler ini dapat membatu para pemula atau pencinta elektronika (hobby), Modul Panduan ini diberikan secara Cuma-Cuma (Gratis), penulis mengarapkan tidak ada pihak lain untuk melakukan komersial atau kepentingan pribadi tanpa seijin penulis. Terima kasih penulis sampaikan kepada semua pihak yang telah mendukung kelancaran dan penulis menerima saran dan kritikan dengan senang hati, agar dapat membuat penyempurnaan modul ini. Semoga Buku Panduan Modul pembacanya.
Mikrokontroler ini bermanfaat bagi
Depok, September 2012
Penulis
2 E���� : �������������@�����.��.��, �������������@�����.��.��, ����������������.������ ����������������.��������.��� ��.��� T����� K������� AMIK BSI JA�����
KATA PENGANTAR
Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, sehingga saya dapat menelesaikan menelesaikan penyusunan penyusunan Buku Panduan Modul Mikrokontroler. Untuk dapat memahami dasar-dasar Mikrokontroler serta pemogramannya, diperlukan pemahaman secara teori dan penerapan aplikasi. Keuntungan dalam memahami dasar – dasar Mikrokontroler ini untuk dapat memahami prinsip kerja IC Mikrokontroler serta dapat membuat kreatifitas berbagai macam Aplikasi. Pada Buku Panduan Panduan Modul Mikrokontroler ini penulis memberikan beberapa penjelasan tentang Karakteristik atau fitur-fitur IC Mikrokontroler, Bahasa pemograman dan Software compiler serta software s oftware download program. Penulis mengharapkan dengan Buku Panduan Modul Mikrokontroler ini dapat membatu para pemula atau pencinta elektronika (hobby), Modul Panduan ini diberikan secara Cuma-Cuma (Gratis), penulis mengarapkan tidak ada pihak lain untuk melakukan komersial atau kepentingan pribadi tanpa seijin penulis. Terima kasih penulis sampaikan kepada semua pihak yang telah mendukung kelancaran dan penulis menerima saran dan kritikan dengan senang hati, agar dapat membuat penyempurnaan modul ini. Semoga Buku Panduan Modul pembacanya.
Mikrokontroler ini bermanfaat bagi
Depok, September 2012
Penulis
2 E���� : �������������@�����.��.��, �������������@�����.��.��, ����������������.������ ����������������.��������.��� ��.��� T����� K������� AMIK BSI JA�����
D����� I��
3 E���� : �������������@�����.��.��, �������������@�����.��.��, ����������������.������ ����������������.��������.��� ��.��� T����� K������� AMIK BSI JA�����
D��� S���� MODUL PRATIKUM MIKROKONTROLER
G����� B��� M���� R�������� A���� ��� A����� (MCS51 & AVR) NB: S����� ���������� 5 V��� K��� P�� 9 ��� G���� K��� P�� 10 ���� ������ ���� PORT �������������� ���� MCS51 ��� A�����16/32/8535. 4 E���� : �������������@�����.��.��, �������������@�����.��.��, ����������������.������ ����������������.��������.��� ��.��� T����� K������� AMIK BSI JA�����
G����� B��� A������� R�������� LED ��� PUS BUTTON
G����� B��� A������� R�������� B���� ��� D����� M���� DC L293 5 E���� : �������������@�����.��.��, �������������@�����.��.��, ����������������.������ ����������������.��������.��� ��.��� T����� K������� AMIK BSI JA�����
G����� B��� A������� R�������� 2 D���� S���� S�����, S����� IR & LDR ��� D����� T������� LCD 2�16
G����� B��� R�������� D��������� USB A�����8 16PU/PI 6 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
BAB I PENDAHULLUAN M������������� ������ ��������� �������� T������ C��� ���� �������� ����������� ���� ����������� ������� ��������� ������ ����������. M������������� �������� ���� IC A����� ��� D������, ����� ���� �������� IC M������������� ������� �������� ���������� ��������� ���� ������ �����, ������ ����� ���������� ���� �������� ���� ������ ���������� ���� ���������, ������ ������ ��������� ���������� ���� ��������� ������ : 1.
B����� P��������� A�������/��������
2.
B����� P��������� C/C++
3. 4.
B����� P��������� B����/B����� B����� P��������� J���
D����� ����������� ��������� ������ ���������� ��� ����� ����������� ���� �� ������� �������, ����� ����� ����� �� ������ ���� M������������� ������ IC M������������� ����� ������� ������ ����������� ������ ����� ����� ������ ������ H���(1) ��� L�� (0), ������ ����� ��� ������� ���� ����� �������� ������ ��������� ���� ��������� ������ ����������� �������� ��������. U���� ����� ����� �� ������ ������� ����� ������ �� ����� ��� :
5
6
1
U���
2
4
PC
(D���������)
T�����
3
C������� (H��)
ISP (D�������)
G����� 1. A��� C������� P��������� M������������� 7 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
P���
������������
�������
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.
8 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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.
9 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
10. K��� PORTA �������� ���� ���� 33 �/� ���� 40 ���� ��������� ������
��������� A����� �� D������ (ADC). P��� PIN PA.0 PA.1 PA.2 PA.3 PA.4 PA.5 PA.6 PA.7
F����� PA0 ADC0 (ADC ����� ������� 0) PA1 ADC1 (ADC ����� ������� 1) PA2 ADC2 (ADC ����� ������� 2) PA3 ADC3 (ADC ����� ������� 3) PA4 ADC4 (ADC ����� ������� 4) PA5 ADC5 (ADC ����� ������� 5) PA6 ADC6 (ADC ����� ������� 6) PA7 ADC7 (ADC ����� ������� 7)
PORT KHUSUS C�������� ADC
G����� 2. A��� ��������� ������ �� D������ 11. K��� PORTB �������� ���� ���� 1 �/� ���� 8 ���� ��������� ������ ��� ���� ����� �� �������� ������ ������ ���� ����� ������� ���� ����� ������� ���.
P��� PIN PB.0 PB.1 PB.2 PB.3 PB.4 PB.5 PB.6 PB.7
F����� T0 T1 (T����/C������ 0 E������� C������ I����) XCK (USART E������� C���� I����/O����� T1 (T����/C������1 E������� C������ I����) AINO (A����� C��������� P������� I���� / INT2 (E������� I������� 2 I����) AIN1 (A����� C��������� N������� I���� / OCO (T����/C������ O����� C������) SS (SPI S���� S����� I����) MOSI (SPI B�� M����� I����/S���� O�����/������ ��������� �� PC ) MISO (SPI B�� M����� I����/S���� O�����/ ������� I�������� �� PC) SCK (SPI B�� S����� C����/������� I�������� �� PC) 10
E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
12. K��� PORTC �������� ���� ���� 22 �/� ���� 29 ���� ��������� ������ ��� ���� ����� �������� ������ ������.
P��� PIN PC.0 PC.1 PC.2 PC.3 PC.4 PC.5 PC.6 PC.7
13.
F����� SCL (T���W��� S����� B�� C���� L���) SDA ( T�� � W��� S����� B�� D��� I����/O����� L���) TCK (JTAG T��� C����) TMS (JTAG T��� M��� S�����) TDO (JTAG T��� D��� O�����) TD1 (JTAG T��� D��� I����) TOSC1 (T���� O�������� P��1) ����� ���������� C��� �������� TOSC2 (T���� O�������� P��2) ����� ���������� C��� ��������
K��� PORTD �������� ���� ���� 14 �/� ���� 22 ���� ��������� ������ ��� ���� ����� �������� �������� ������ ������ ������� PWM ��� K��������� S�����.
P��� PIN PD.0 PD.1 PD.2 PD.3 PD.4 PD.5 PD.6 PD.7
F����� RDX ( ������ ����� ���� ) U���� �������� D��� TDX (������ ������ ���� ) ����� �������� D��� �INT0 ( �������� �������� �) �INT1 ( �������� �������� �) OC1B ( T����/C������1 ������ ������������� ������ B ) OC1A ( T����/C������1 ������ ������������� ������ A ) �ICPI( T����/C������1 ������� ��������� P�� ) �OC2 ( ����� / �������2 ������������� ����������� ������ ����� PWM )
G����� 3. T������� ��������� P���� W���� M��������� 11 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
1.3.
B��� D������ AT���� 16.
B��� ������� M�������� �������� ������ ������� ���� ���� ���� ��� ���� IC M������������� A����� 16.
12 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
1.4
A��������� M������������� AVR RISC ��� CISC.
1.5.
B����� B��� M�����.
M����� ���� A����� 16 �������� ���� ������ ����� : A. S����� R������� (SREG) ��������� ������ ���� ���������� ���� ������� ����
��������� ������ ����� ��������� ����������.
B. S���� P������ ��������� ������ ��������� ���� ���������, �����
����������������� ����� ���� ������ ������ ��������� �� ������ ������ ��������. (������ ��������� PUSH).
13 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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.
14 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
D. G������ P������ R������� AVR.
S������ ��������� ������� �������� ����� AVR �������� ����� �������� �� ����� ��������. K������ ����� ���� ��������� ���������������� ���� �������������� �������� ������ ��������� (SBCI, SUBI, CPI, ANDI, ��� ORI) ��� LDI ���� �������������� �������� ���� ������� �������. I������������������ �������� ������������ ����� ���� ������� ������ �������� �������� GPR (R16 ������ R31). I�������� ����� ������� ���� ������� SBC, SUB, CP, AND, OR ��� ������� ������� ���� �������������� ��� �������� ���� ���� �������� ����� ��������� ����� �������� ������� ��������
15 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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��� ���� ��������� ������ ������� ���� ������ ������� ������ ���� ���� ������������ ������ ��������� ���� ���� ������������ ���� ��������. 16 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
P�������� ���� ���� ���� ����� ���� ������� ������ ������� ���� ������� ����� ������� ��� �������, ����� ����� �������� ����� ������� �� ����� ���� ����. N�. T��� D��� U����� R���� (J��������) Char 1 byte -128 s/d 127 1. Int 2 byte -32768 s/d 32767 2. Unsigned int 2 byte 0 s/d 65535 3. Long Int 1 byte -2147483648 s/d 2147483648 4. Unsigned Long int 4 byte 0 s/d 4294967296 5. Float 4 byte -3.4E-38 s/d 3.4E+38 6. Double 4 byte 1.7E-308 s/d 1.7E+308 7. Long Double 10 byte 3.4E-4932 s/d 1.1E+4932 8. Char 1 byte -128 s/d 127 9. 1 byte 0 s/d 255 10. Unsigned char 2.2
V�������
V������� ������ ����� �������� ���� ��������� ����� �������� ����� ����� �������� �� ����� ������ �������. N���� ����� ����� �������� ����� ������� � ���� ������ ��������� ���� ����� ��������� �������, S������� �������� ����� ���������� ������� ���� �� �������� ������ ������� �������� ������ ����� : � P�������� ��������� �������� ����� ����� ����������� �����. � P�������� ����� ���� ��������� ����� ����� ����� ����� ����� ������������ ����� ��������� ������ C ������� ��������� ����� ������������. � T���� ����� ���������� ������ ������, ������� ���� : $, ?, %, #, &, !, *, +, @ ���. ������� ����� ����� ( ����������). � P������ �����, ������ ����� 32 �������� ������� �� �����. 2.3
O������� A���������
D���� ������ C ��� ���� �������� ���������� ���� ������ ��������� ����� ����� �������, ����� ������� ���� ����� �� ����� ��� : O������� A���������
K���������
O������� ����� P��������
C����� P������ #include #include void main() { int bil1; int bil2; 17
E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
*
/
O������� ����� P��������
%
����� ���� ���������
+
����� P���������
����� P����������
DDRA=0xFF; PORTA=0xFF; bil1=4; bil2=2; PORTA=bil1*bil2; } #include #include 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 #include 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 #include #include 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 #include #include void main() { // awal program int bil1; int bil2; DDRB=0xFF; PORTB=0xFF; 18
E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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��� K����� ���� K����� ���� ���� ������ L���� D��� L���� ���� ���� ������ S��� ������ T���� ���� ������
XY X>=Y X==Y X!=Y
C����� A����� X ������ ���� Y A����� X ������ ���� ���� ������ Y A����� X L���� ���� Y A����� X ����� ���� ���� ������ Y A����� 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 1 1 1 19 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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; PORTA=0XFF;
// ��� ��������� ������� � // ������� ������ �������� �� ���� A // O����� ���� ���� P��� A 20
E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
���=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; C��� �=0�31; DDRB=0XFF; PORTB=0�FF; PORTB= � & � ; �
2.8
// ���� I���� 1 // ���� I���� 2 // ������� ������ �������� B // ������� ������ �� ���� PORTB // ������� ���� PORTB �������� 1 H
OPERASI BITWISE OR (I)
O������ ������� OR ���� ��������� ������� OR ���� ������������� ���, �������� ��� 0 ���� ������������ ������ ��� 0 ��� ��� 1 ��� ����������. C�������� : H���� = 0�05 I 0�31;
O��������� 0�05 = 00000101
H����
0�31 = 00110001 0�35 = 00110101 = 35H
21 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
#������� <���� 16.�> #������� <�����.�> V��� ���� () � C��� � =0�03; C��� �=0�31; DDRA=0�FF; PORTA=0�FF; PORTA= � I � ; �
2.9
// ���� ����� 1 // ���� ����� 2 // M������ A����� �������� A // O����� �� ���� PORTA // ������� ���� �� PORTA �������� 35 H
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
22 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
#������� <���� 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������� K��������� C����� M������ = 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������� ������� ����� ���� ���� �������� ����� ������� (���� ���������). 23 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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 � � 24 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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; � ���� // ���� ����� ���� �������� ������� ��� � 25 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PORTA=0�80; � �
C.
STRUKTUR KONDISI �SWITCH�CASE� DEFAULT��
S������� ������� ����� ������������� ��������� ����� ������������ ������� ������ ����������� ���� ������� ����� ������. S������� ��� ���� ������������ ����� ���� ���� �������� ���������� ������ ���������� ����� �������. Y��� ��� �� ����� ������. S���������� ������ ���� ���������� ������ ��������� ���������� �������. J��� ����� ��� ����� ���� ���� ���� ������ ������ �������, ���� ������ ���� ���������� ������ ���������� ���� ��� �� ����� ���� ���������� ���������. SWITCH�.CASE�. S����� (�� � ���� 1: ��� (�=0;�<4;�++) � I=����� 1(�); PORTA=I; �����(100); � �����; ���� 2: ��� (�=0;�<4;�++) � �=�����2(�); PORTA=I; �����(100); � B����;
C����� P������ #������� <����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, �������� ���� ������ ��������� ����� ��������� �������.
26 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
M��� ������ �������� ���������� ���� ����������� ����� ��������� ������� �������� �����, ��� �������� �������� ���������� ����� : 1. S������� P��������� �WHILE�
P��������� ����� ������ ��������� ���� ������� ���� �����������, ������ ���������� ���� ����� ��������� ������ ���������� �������� ����� (����) ��� ���� �������� ���� ���������� �������� �����. ����� (����������) ����� (��������) � P����������1 P����������2 �
C����� P������ # ������� <����16.�> # ������� <�����.�> V��� ���� () � ���� �=10; DDRA=0�FF; ����� (�>=0) � PORTA=�; ���; ��
2. STRUKTUR PERULANGAN �DO�..WHILE�..��
P��� �������� �������� ���������� ���.����� ���� ���� ������ �������� �����,����� ���� ���� ������ ���������� ������ ����� , ������� ����� ������ �� ����� ���� �������� �� ���� ��������� ���� ���������� ���.����� , ������� ����� ������ �� ����� ����� ���������� . J��� ������ ����������� �������� ���.����� ������������������ ���� ������� ���� ���� ����������. B����� ���� ���� �������� ������� ��� ������: ���.. ����� (P���������) �� � P����������1 P����������2 � ����� (��������)
C����� P������ #������� <����16.�> #������� <�����.�> V��� ���� () � C��� �=10; DDRA=0�FF; �� � PORTA=�; ���; � ����� (�>=0); �
27 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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���� ������ ����: D�������� ����� ������� ���� : [T���������][����������][������1]; 28 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
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) //�������� ������ ������ � 29 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
��� �����; H���� = ��11 + ��12 R�����(�����) � K���������
��� ������ 1
2
(��� ���1,��� ���2) 3
4
1. 2. 3. 4.
T��� ����� ���� ������ M�������� ���� ������ T��� �������� N��� �������
C����� P������ #������� <����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������ ������ ���� ������ 30 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
��� ���� �������� ��� ���� ������. 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 ; �++) ; � ���� ���� ����� () 31 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
� ��� (�=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; � 32 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
�. P�������� ������ ������� B����� �������� ��������� ������ ������� ������: T��� ����������� (���� *�������1, ���� *�������2,�) � �����������. �����������. � #������� <����16.�> #������� <�����.�> V��� T������ (��� *A) � *A=A+1; � V��� ���� () � I�� B; DDRA=0�FF; B=4; T������ (&B); PORTA=B; �
33 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
BAB. III M������� P������ C��������� AVR (C�������) C���V�����AVR ��������� ������ ����� �������� C, I��������� D���������� E����������� (IDE) ��� A�������� P������ G�������� ���� �������� ����� �������������� ������ A���� ���� AVR. C���V�����AVR ����� ���������� ���� ������ ������� W������ 95, 98, M�, NT4, 2000, XP ��� W������ 7. C���� � C������� C ����� ������������� ������ ����� �������� ���� ������ ANSI C, ������ ���� ��������� ���� ���������� ���� AVR, ������ �������� �������� ����� ����� ��������� ��������� ������ ���� ���������� AVR ��� ��������� ���� ������ ��������. S����� ������� ������� C, C���V�����AVR ���� ��������� ������� ���� ����� ������ H������� ���� ������� ���� : 1. 2. 3. 4. 5. 6.
M�������� C��� ��������� AVR. M�������� I�����O����� ���� ���� PORT. M�������� M���� LCD. BUS I2C ���� P�����. M�������� T���� �������� ��� ��������. M�������� USART ������� RX I������� ��� TX I�������. 7. M������� S����� S��� LM75 ���� N�������. 8. R����T��� C����: PCF8563, PCF8583 ���� P������, DS1302 ��� DS1307 ���� M����/D����� S������������. 9. K������� �� K��� G���. 10.S����� S��� DS1820, DS18S20, ��� DS18B20 ���� M����/D����� S������������. T���������/ T�������� DS1621 ���� M����/D����� S������������. 11.M������� EEPROM DS2430 ��� DS2433. ���� M����/D����� S������������. 12.M������� SPI ( B��� K��������� S�����). 13.M������� P���� M��������� P��������� T������� E�������. 14.M������� D���� ���� ����� �����. 15.M�������� K�������� A����� �� D������ (ADC). 16.P������� 1�W��� ���� M����/D����� S������������. 34 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
3.1
L������ � ������� ����� ����������� �������� ���������� AVR :
1. D������� �������� C��������� AVR �� ���� : ����://�����.���.; ���.������.��/������/ ; ����://���.������������������.���/��������; 2. S������ ������� �������� ������� ������� ������� �������� ������ ���� ����������.
3. Klik New lalu rubah Source dengan klik Project, lalu klik OK lalu klik Yes
4. Maka tampil untuk melakukan seting baik jenis tipe IC maupun Kristal/Xtall, karena menggunakan IC Atmega 16 atau Atmega 16A maka ubahlah Chip Atinny 13 dan clock 4.000000MHz. Klik pilih Atmega 16 atau Atmega 16A lalu klik di clock ketik 12.000000 MHz.
S�����
35 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
5. Lalu klik PORT (tujuan untuk mengatifkan jenis port yang digunakan ) karena menggunakan skema gambar yang sudah di rangkai pada software simulasi proteus di alamat PORTC maka klik PORTC, lalu seting bit IN menjadi bit Out ����� ������ P�����/O�� T ������� 1.
S�����
6. S������ ������� ��������� ����������� ������� ����������� ������ ���� ���� F��� ���� ����� G�������, S��� ��� E���.
7. M��� ������ ����� ��������� ������� ���� ������ �������� 3 ���� ��������� ����������� ������� ������� ���.
36 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
BAB. IV M������� P������ D������� (ISP P���.1.68)
37 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
C��� M���������� P������ ������ S������� ISP P��� (V�� 1.68) O��� F��� H�� U���� D������� M�������� D��� P������ H�� K� M����� E�������
K��� C������ M������ ���� B��������� W���� F���� B��� D������� P������ K� IC
P������ F��� M��������� F��� B�� L��� C��� U���� M������� P������ ���� ����� �� �������� ������ ����
J���� IC M������������� A���� A����� AVR ANT9 ���
����� ���������
U���� M�������� P������ ���� ��� �� IC ���� ���������
U���� ������� / S������� IC M�������������
NB : S������� P��� ISP V 1.68 M�������� �������� D������� ������� �� ����� IC M������������� ������� ���������� USB, S������� ��� ���� ��������� ����� ������� �� �������� ����� IC M������������� B��� ATMEL (MCS51) ��� AVR (ATMEGA, ANTY)
38 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
4.1
L������ � L������ ����� ����������� �������
1. K��� P������ ������� 2. K��� ������� U���� ������� ���� ������� H�������
3. B����� S������ D� P�����
D��������� USB K� K������� PC/L�����
4. S������ ��������/��������� D��������� USB �� K������� PC/L�����
5. D� S����� C��� P���� ����� IC ���� �� �������, ������ ����������� A����� 16 ����� ����� IC ������ 16.
6. S������ ������� ������� ���� R��� U���� ������� ������ ���� M������ IC A����� 16.
7. B��� ����� ���� ������� ���� ����� ��������� �� IC A����� 16 ���� ������.
39 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
8. B��� ����� ���� ������ ���������� ����.
9. L������ ������ ���� ��� ������ ������������ ���V���� = E1 ��� H���V���� = 99 ������� L��V���� = EF & H���V���� = D9
10. S������ ��������� ������ ���� ���, �������� ���� C������ �������� ���� ���� �������
11. P���� ����� ���� ���� ���� ��������� ����� ��������� ������� ���� ��� �� IC M������������� AT����16
B����� ��������� ���� ����� �������� �������
NB : P������� ����� ���� ������� ���� ����� ������ : 1. S���� �������� ����� �� IC A����� 16 (�������� �����������). 2. K���� ����� 3. IC R���� (���� ���� ���� ���� ����� ������ ���� ���) 40 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
12. S������ ������� ���� ���� ����� ���� ����� ���� ���� ���� ����� ���� ��� �� ������� ��������, ����� ������ ���� ��������� ������� ���� ����� �������� �� ������, ���� ����� ������ ���� ���� ����� ������� ��� ���� ��� ���� ����� �� �������� ����, ���� ���� O���.
13. M��� ������ �� �����
T������� L�� ���� ���� ����� �� ����� �� �C M������������� ATMEGA 16
14. K��� ������� ���� ����� ����� , ������ ����� ����� ����� ����������� ���������� ���� ������ ���� ����� ������� S������ ��� ���� ���� C������ ���� ������� �����
Bila berhasil mendownload program ke IC Mikrokontroler ATmega 16 dan juga program fuse 41 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
15. J����� K��� ���� ����
���� ����� ����� �������� ������� ��������
NB : B��� �� ���� ���� ���� ����� ����� ������� ���� ������� ���� ������� �� IC M������������� A����� 16. B��� ����� �������� ���� ���������� ����� ����������� ������� �� ����� IC ��������������, ���� IC S��� ������� ��� ����� ��������.
NB : T��������� ����� ���� ����� �������� ������� �� IC ����������� 1. 2. 3. 4.
S���� P����� IC M�������������/�������� K����� ������� ���� ������� ����� ���������� IC R������� K���� ���� T������ ������ �� ���� ����, ���
42 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
BAB. V A������� R��������
43 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK I APLIKASI INPUT/OUTPUT MENYALAKAN LED
#������� <����16.�> #������� <�����.�> ���� ����(����) � DDRC=0�0FF; PORTC=0�00; ����� (1) � PORTC=0�11111111; ��������(500); PORTC=0�11111110; ��������(500); PORTC=0�11111101; ��������(500); PORTC=0�11111011; ��������(500); PORTC=0�11110111; ��������(500); PORTC=0�11101111; ��������(500); PORTC=0�11011111; ��������(500); PORTC=0�10111111; ��������(500); PORTC=0�01111111; ��������(500); �; �
1. B������ �������� ��� ������� ������� ��� ������? 2. B������ �������� ��� ������� ������ ����? 3. B������ �������� ��� ������� ������ ����������� ���������? �����/�������. (�������� ������� ����� ��� ��������� ���� ����� ������) NB : D���� ������� �������� ��� ������� ���� ����� ���� ��� ������, ����� �������� ������� ����� �������� ��� ���� ������.
44 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
T���� B������� B���� G����� S���� S������
A���� �7 �6 �5 �4 �3 �2 �1 �0 DATA D� G F � D � � A HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0
0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0
0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0
0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1
0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1
0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0
C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 88H 83H C6H A1H 86H 8EH
45 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK II A������� M��������� S���� S����� #include #include void bin7seg(unsigned char data1) { switch (data1) { case 0: PORTA=0xc0; break; case 1: PORTA=0xf9; break; case 2: PORTA=0xa4; break; case 3: PORTA=0xb0; break; case 4: PORTA=0x99; break; case 5: PORTA=0x92; break; case 6: PORTA=0x82; break; case 7: PORTA=0xf8; break; case 8: PORTA=0x80; break; case 9: PORTA=0x90; break; } } void main(void) { DDRA=0xff; while (1) { bin7seg(0); delay_ms(500); bin7seg(1); delay_ms(500); bin7seg(2); delay_ms(500); bin7seg(3); delay_ms(500); bin7seg(4); delay_ms(500); bin7seg(5); delay_ms(500); bin7seg(6); delay_ms(500); bin7seg(7); delay_ms(500); bin7seg(8); delay_ms(500); bin7seg(9); delay_ms(500); }; }
1. B������ T������� ����� ������� ������� ���� 0 �/� F ? 2. B������ T������� ����� ������� ������ ( �. �. � ) ? 3. B������ �������� S���� ������� ������ ( A.Y.A.H) ��� ( �.�.�) ?
NB : K������� ���� ��������� ����� M���� P������� ��� �������� S���� S����� A���� ���� �������� P������, ������� ����� ���������� ����������� ������� ��� (G�����). 46 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
A������� ���������� S���� S������ 2 D����
47 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK III A������� ��� ������ ��� ������ #������� <����16.�> #������� <�����.�> ���� ����(����) � DDRC=0���; PORTC=0�00; DDRD=0�00; PORTD =0���; �����(1) � ��(PIND.0==0) � PORTC=0�1111110; ��������(100); //����� 100 �� � �� (PIND.1==0) � PORTC=0�11111101; ��������(100); //����� 100 �� � �� (PIND.2==0) � PORTC=0�11111011; ��������(100); � �� (PIND.3==0) � PORTC=0�11110111; ��������(100); � �� (PIND.4==0) � PORTC=0�11101111; ��������(100); � �� (PIND.5==0) � PORTC=0�11011111; ��������(100); � �� (PIND.6==0) � PORTC=0�10111111; ��������(100); � �� (PIND.7==0) � PORTC=0�01111111; ��������(100); � � //����� ������� � //A���� ������� �����
1. B������ T������� ��� ������� ������ ������� ������� ������ ? 2. B������ T������� ��� ������� ������� ������� ������� ������ ? 3. B������ �������� ��� ������ ���� ���� �� ����� ������ ? 48
E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK IV A������� S���� S����� ������ P�� B�����
#include #include void main(void) { DDRA=0xFF; PORTA=0x00; DDRD=0x00; PORTD =0xFF; while(1) { PORTA=0xC0; If (PIND.0==0) { PORTA=0xF9; } If (PIND.1==0) { PORTA=0xA4; } if (PIND.2==0) { PORTA=0xB0; } if (PIND.3==0) { PORTA=0x99; } if (PIND.4==0) { PORTA=0x92; } if (PIND.5==0) { PORTA=0x82; } if (PIND.6==0) { PORTA=0xF8; } if (PIND.7==0) { PORTA=0x80; } }; //akhir looping } //Akhir program utama
1
������� ���� A �/� F ?
NB : K��� P��� ���� ��������� ������ �����
2
���� P��� A
B������ T������� ����� ������� ������ ( �.� .� ) ?
P�� B����� K��� P��� D, S����� S������ ����
B������ T������� ����� �������
3
B������ �������� S���� ������� ������ ( �.�.�.�) ��� ( �.�.�.� ) ? 49
E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK V A������� S����� ������ BUZER
#������� <����16.�> #������� <�����.�> ���� ����(����) � PORTA=0�10000000; // ���� P��� A.7 ����� ������ (�����) DDRA=0�00; PORTC=0�00; // ���� P��� C.7 ����� ����� (������) DDRC=0�10000000; ����� (1) � � PORTC=0�10000000; // K������ B���� ����� ����� ��������(100); �� (PINA.7==1) // ���� ������ ��������� ���� ����� ����� PORTC=0�00000000; // ������� B���� ������� ����� ��������(200); � �; �
P��� ���� �� ������� ����� ������ K��� P���A.7, ����� B���� K��� P���C.7,
1. B������ �������� ��� ���� ����� ������� ������ ����� ������ ������ ���������� 2. B������ ������ �������� ������ ������ ��������� ��� ������ ���� ������ ������ ��������� 50 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK VI A������� S����� ������ M���� DC
#������� <����16.�> #������� <�����.�> ���� ����(����) � PORTA=0�10000000; DDRA=0�00; ����� (1) � �� (PINA.7==0) // D��� ����� S����� � PORTB.0=1; // ���� ����� ����� DC PORTB.1=0; // ���� ����� ����� DC � �� (PINA.7==0) � PORTB.0=0; PORTB.1=1; � �; �
NB : S����� K��� P��� A.7, M���� DC �� ���� P��� B.0 ��� P��� B.1
1. B������ �������� ������ ������ ��������� ����� �� �������� ������ ��� ������ ��������� ���� ����� �� �������� ������� 2. B������ ����� �� ��� ����� �������� ������ ������ ���������. 51 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK VII A������� ������ ������ ����� DC ��� B����
#������� <����16.�> #������� <�����.�> ���� ����(����) � PORTA=0�10000000; DDRA=0�00; PORTB=0�FF; // ���� ����� ���� ������ (�����) DDRB=0�000; PORTC=0�00; // ����� B���� DDRC=0�10000000; ����� (1) � � PORTC=0�10000000; ��������(100); PORTB.0=0; PORTB.1=0; � �� (PINA.7==1) // ���� ������ ��������� � PORTB.0=1; PORTB.1=0; ��������(100); PORTC=0�00000000; ��������(200); � �; �
NB : ������ �� ���� P��� A.7
1. B������ �������� ������ ������ ��������� ����� �� �������� ������ ��� ������ ��������� ���� ����� �� �������� ������� 2. B������ ����� �� ��� ����� �������� ������ ������ ���������.
52 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK VIII A������� ������ ��� ����� ������
53 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
TABEL LAYAR LCD
Tabel 1 : Konfigurasi Pin LCD No. Nama Pin Deskripsi
1
GND
0V
2
VCC
+5V
3
VEE
Kontras LCD
4
RS
Register Select
5
R/W
1 = Read ; 0 = Write
6
EN
Enable LCD, 1=enable
7
D0
Data Bus 0
8
D1
Data Bus 1
9
D2
Data Bus 2
10
D3
Data Bus 3
11
D4
Data Bus 4
12
D5
Data Bus 5
13
D6
Data Bus 6
14
D7
Data Bus 7
15
Anoda
Anoda Backlight LED
16
Katoda
Katoda Backlight LED
Selam at D atang Di Kam pus B IN A S A R A N A IN F O R M A T I K A 1 D N G
2 C C V
3 E E V
4 S R
5 W / R
6 E
7 0 B D
8 1 B D
9 2 B D
0 1 2 1 1 1 3 4 5 B B B D D D
3 4 5 6 1 1 1 1 6 7 L D B B P N B D D G
5V
K 0 1
5V ) 0 A ( P
) 1 A ( P
) 2 A ( P
) 4 A ( P
) 5 A ( P
) 6 A ( P
) 7 A ( P
K 0 1
G����� S���� R�������� LCD 2 �16 54 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK X A������� T������� L���� LCD 2 � 16
#������� <����16.�> #������� <�����.�> #��� .��� ����������=0�1B ;PORTA #������ #������� <���.�> ���� ����(����) � ��������(16); ����������(0,0); ���������("������� ������"); ��������(1000); ����������(0,1); ���������("�� AMIK BSI"); ��������(1000); ����������(0,5); ���������(" JURUSAN "); ��������(1000); ����������(0,8); ���������("T.K�������"); ��������(1000); ����� (1) � // P���� ���� ���� ���� �; �
55 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK XI A������� T������� L���� LCD ������ P�� B�����
#������� <����16.�> #������� <�����.�> #��� .��� ����������=0�1B ;PORTA #������ #������� <���.�> ���� ����(����) � DDRC=0�FF; PORTC=0�00; DDRD=0X00; PORTD=0XFF; ��������(16); ����������(0,0); ���������("S������ D�����"); ��������(800); ����� (1) � ��(PIND.7==1) � ����������(0,1); PORTC=0���; ���������("= D� L�� T����� I ="); ��������(800); � ���� � ����������(0,0); PORTC=0�00; ���������("P������� M����"); ��������(800); ����������(0,1); PORTC=0�00; ���������("**T����� K����**"); ��������(800); � �; �
56 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
PRAKTEK XII A������� T������� L���� LCD, S����� ��� B����
#������� <����16.�> #������� <�����.�> #��� .��� ����������=0�1B ;PORTA #������ #������� <���.�> ���� ����(����) � DDRC=0�FF; PORTC=0�00; DDRD=0X00; PORTD=0XFF; ��������(16); ����� (1) � ��(PIND.7==0) � ����������(0,0); ���������("S������ D�����"); ��������(800); ����������(0,1); PORTC=0���; ���������("=S������� M����="); ��������(800); � ���� � ����������(0,0); PORTC=0�00; ���������("S������� K�����"); ��������(800); ����������(0,1); PORTC=0�00; ���������("**T����� K����**"); ��������(800); � �; �
57 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����
BAB VI P������
58 E���� : �������������@�����.��.��, ����������������.��������.��� T����� K������� AMIK BSI JA�����