Praktikum :1
Materi/ Bahasan : Pengenalan CodeVisionAVR dan Mikrokontroler ATmega8 (PDIP - SMD)
Waktu : 200 Menit
Mikrokontroler ATMEL AVR - ATMega8
1
Codevision AVR C Compiler dapat digunakan editor sekaligus compiler untuk
mikrokontroler AVR bahkan juga terdapat fasilitas untuk melakukan injeksi (downloader)
program ke mikrokontroler. Untuk source Codevision AVR C Compiler dapat diunduh secara
gratis untuk versi evaluasi dengan kapasitas program 4 kB. Setelah diunduh dapat dilanjutkan
dengan instalasi dengan mengikuti petunjuk yang proses instalasi. Setelah terpasang pada OS
maka Codevision AVR C Compiler dapat digunakan dengan membuat program dengan
langkahlangkah seperti dijelaskan pada 1.1. Software untuk AVR downloader berbasis USBasp
menggunakan Khazama AVR Programmer yang juga tersedia gratis di dunia maya. Penggunaan
Khazama AVR Programmer dijelaskan pada 2.2.
2
e. Dalam tampilan awal CodeWizardAVR akan muncul pilihan jenis chip AVR.
Terdapat 2 pilihan untuk jenis chip AVR yaitu AT90,ATtiny,ATmega,FPSLIC dan
XMEGA. Dikarenakan menggunakan ATmega8535, maka pilihan yang harus
ditentukan adalah AT90,ATtiny,ATmega,FPSLIC. Kemudian klik OK
f. Langkah berikutnya adalah dengan mengatur tipe AVR dan frekuensi crystal yang
digunakan. Tipe AVR yang digunakan adalah ATmega8535 dan frekuensi crystal
adalah 11,059200 MHz.
g. Setelah itu pilih Project – Generate, Save and Exit pada menu bar
CodeWizardAVR. Kemudian simpan dengan nama percobaan1 pada direktori
harddisk.
3
h. Ketikkan program yang di blok berikut pada jendela CodeVision lebih tepatnya di
dalam while(1). Note* setiap akhir program harus diakhiri dengan tanda titik koma
(;)
i. Langkah terakhir adalah me-build program tersebut dengan memilih Project – Build.
Atau dengan menekan keyboard Shift – F9.
Catatan :
Setelah program di build akan muncul jendela pop-up dan pastikan tidak ada error.
4
1.2 Menggunakan Khazama AVR
5
c. Buka Khazama AVR. tampilan Khazama AVR adalah sebagai berikut
d. Pilih jenis AVR yang digunakan. Dalam hal ini pilih ATMEGA8535
e. Pilih File – Load FLASH file to buffer dan pilih file hasil build dari CodeVision.
File tersebut berupa file *.hex yang dapat di temukan pada direktori penyimpanan
project CodeVision.
f. Pilih File – Load EEPROM file to buffer. File yang diminta sama seperti pada
langkah c
6
g. Kemudian pilih Auto Program pada jendela utama Khazama AVR Programmer untuk
memulai pengisian program pada ATmega8535
Klik Disini
h. Untuk chip ATmega yang baru atau belum pernah diisikan program sebelumnya,
maka perlu dilakukan pengaturan fuse bit. Pengaturan fuse bit ini dilakukan hanya
sekali saja. Selanjutnya tidak perlu melakukan lagi pengaturan fuse bit. Untuk
mengatur fuse bit pilih Command – Fuses and Lock Bits… kemudian lakukan
konfigurasi seperti gambar berikut.
7
Kemudian pilih Write All.
Catatan* pengaturan Fuse Bits hanya dilakukan sekali saja pada ATmega baru (belum pernah
dipakai sama sekali).
8
Mata Kuliah : Mikrokontroler 2
Praktikum :2
Materi/ Bahasan : Pembuatan Modul Minimum Sistem
Waktu : 600 Menit
Bahan :
1. Komputer/PC 1x
Langkah-langkah :
1. Buatlah skematik rangkaian sesuai dengan gambar berikut.
9
Gambar 2.2 Skematik Rangkaian Modul Driver
10
Gambar 2.4 Layout Rangkaian Modul Driver Mikrokontroler 2
11
Mata Kuliah : Mikrokontroler 2
Praktikum :3
Materi/ Bahasan : Pemrograman Input-Output
12
PORTC=0x00;
delay_ms(100);
}; //akhir looping
} //akhir program utama
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
Percobaan 2
#include <mega8.h> //menyertakan library file atmega8
#include <delay.h> //library untuk delay
Dari percobaan 2 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
13
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
............................................................................................................................
..................................................................................................................................
..................................................................................................................................
............................................................................................................................
Percobaan 3
#include <mega8.h> //menyertakan library file atmega8
#include <delay.h> //library untuk delay unsigned char led[4]={0x04, 0x08, 0x10,
0x20}; //deklarasi untuk menghidupkan led pada PC2-PC5 unsigned char x, data;
void main(void){ //Program Utama
PORTC=0x00; //Semua portC mengeluarkan logika 0, jadi LED mati
DDRC=0x3C; //Port C dikonfigurasi sebagai output, yaitu PC2-PC5
while (1){
// Place your code here
if(PINC.0==1)
{ for(x=0; x<=4; x++){
data=led[x];
PORTC=data;
delay_ms(100);
}
14
}
else{PORTC=0x00;}
};
}
Dari ppercobaan 3 apa yang dapat anda simpulkan? Jelaskan apa hasil dari
program tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
............................................................................................................................
Latihan
15
Mata Kuliah : Mikrokontroler 2
Praktikum :4
Materi/ Bahasan : Menampilkan Karakter pada LCD
Langkah – langkah :
1. Siapkan semua bahan praktikum yang sudah ditentukan.
2. Nyalakan Komputer/PC dan hubungkan Modul Mikrokontroler 2 menggunakan USB ASP.
3. Buka aplikasi codevisionAVR dan sesuaikan CodeWizardAVR seperti gambar berikut.
4. Hubungkan mikrokontroler dengan pin LCD sesuai dengan port mikrokontroler yang
sudah diatur pada CodewizardAVR.
5. Ketik program di bawah ini :
Percobaan 1
#include <mega8.h>
#include <alcd.h>
void main(void)
16
{ lcd_init(16)
;
while (1)
{
// Place your code here lcd_gotoxy(0,0);
lcd_putsf("BELAJAR"); lcd_gotoxy(2,1);
lcd_putsf("MIKROKONTROLER");
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
.............................................................................................................................
Percobaan 2
#include <mega8.h>
#include <alcd.h>
int i;
void main(void)
{ lcd_init(16)
; while (1)
{
// Place your code here for(i=0;i<16;i++)
{ lcd_clear(); lcd_gotoxy(i,0);
17
lcd_putsf("BELAJAR"); lcd_clear();
lcd_gotoxy(i,1);
lcd_putsf("MIKROKONTROLER");
delay_ms(200);
}
}
}
Dari percobaan 2 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
...........................................................................................................................
Percobaan 3
#include <mega8.h>
#include <alcd.h>
void main(void)
{ lcd_init(16); lcd_gotoxy(4,0);
lcd_putsf("WELCOME"); lcd_clear();
while (1)
{
// Place your code here if(PINC.0==1)
{ lcd_gotoxy(0,0); lcd_putsf("Tombol1
ditekan"); lcd_clear();
}
18
if(PINC.1==1) {
lcd_gotoxy(0,0); lcd_putsf("Tombol2 ditekan");
lcd_clear();
}
else{
lcd_gotoxy(0,0); lcd_putsf("Tombol "); lcd_gotoxy(0,1);
lcd_putsf("Tidak Ditekan");
}
}
}
}
Dari percobaan 3 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
. ................................................................................................................................ .
. ...............................................................................................................................
..............................................................................................................................
LATIHAN
19
Mata Kuliah : Mikrokontroler 2
Praktikum :5
Materi/ Bahasan : Timer, Counter
Langkah – langkah :
1. Siapkan semua bahan praktikum yang sudah ditentukan.
2. Nyalakan Komputer/PC dan hubungkan Modul Mikrokontroler 2 menggunakan USB ASP.
3. Buka aplikasi codevisionAVR dan sesuaikan CodeWizardAVR seperti gambar berikut.
4. Setting port Atmega8 untuk mengaktifkan LCD 2x16 sesuai dengan praktikum 2.
5. Ketik program di bawah ini :
Percobaan 1
#include <mega8.h>
#include <stdio.h>
20
int data, nilai;
unsigned char lcd[16];
void main(void)
{
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
if(data>=100) {nilai++;
data=0;} lcd_gotoxy(0,0);
lcd_putsf("Timer0");
sprintf(lcd,"%4d", nilai);
lcd_gotoxy(0,1); lcd_puts(lcd);
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
21
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
. ................................................................................................................................ .
. ............................................................................................................................... ..
. ..............................................................................................................................
.... .............................................................................................................................
..... ............................................................................................................................ .
..... ........................................................................................................................... ..
..... .......................................................................................................................... ...
..... ......................................................................................................................... ....
..... ........................................................................................................................ .....
..... .......................................................................................................................
........... ...................................................................................................................... .
........... .....................................................................................................................
..................................................................................................................................
......
Percobaan 2
Pada percobaan 2 ini menggunakan Timer1, silahkan mengatur ulang pengaturan
CodeWizardAVR seperti gambar berikut:
22
Ketik program di bawah ini :
#include <mega8.h>
#include <stdio.h>
23
// Place your code here
lcd_gotoxy(0,0);
lcd_putsf("Timer1");
sprintf(lcd,"%3d",data)
lcd_gotoxy(0,1);
lcd_puts(lcd);
}
}
Dari percobaan 2 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
. ................................................................................................................................ .
. ............................................................................................................................... ..
. ..............................................................................................................................
.... .............................................................................................................................
..... ........................................................................................................................
.... ...............................................................................................................................
...
......
24
Percobaan 3
Pada percobaan 3 ini menggunakan Counter0, silahkan mengaktifkan LCD karakter
sesuai dengan praktikum 2 dan mengatur ulang pengaturan CodeWizardAVR seperti
gambar berikut:
#include <mega8.h>
#include <stdio.h>
25
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
sprintf(lcd,"TCNT0%3d",TCNT0);
lcd_gotoxy(0,0);
lcd_puts(lcd);
sprintf(lcd,"%3d",data);
lcd_gotoxy(0,1);
lcd_puts(lcd);
}
}
Dari percobaan 3 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
. ................................................................................................................................ .
. ............................................................................................................................... ..
. .............................................................................................................................. ...
26
. ........................................................................................................................
.....
..... ............................................................................................................................
..................................................................................................................................
......
Latihan
27
Mata Kuliah : Mikrokontroler 2
Praktikum :6
Materi/ Bahasan : Pulse Width Modulution
28
// Place your code here a++;
if(a<=pwm) {PORTC.2=0;}
else {PORTC.2=255;}
}
void main(void)
{
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
pwm=0; delay_ms(1000);
pwm=50; delay_ms(1000);
pwm=150; delay_ms(1000);
pwm=255; delay_ms(1000);
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
.
..................................................................................................................................
...........................................................................................................................
29
Percobaan 2
Pada percobaan 2 ini kita mengatur pwm led menggunakan potensiometer.
Silahkan sesuaikan CodeWizardAVR (mengatur Timer0) seperti percobaan 1 dan silahkan
mengaktifkan PORTC sebagai ADC sesuai gambar berikut.
#include <mega8.h>
#include <delay.h>
30
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0); ADCSRA|
=0x10; return ADCH;
}
void main(void)
{
31
Percobaan 3
Pada percobaan 3 ini kita mencoba menampilkan nilai ADC menggunakan
potensiometer. Silahkan sesuaikan CodeWizardAVR (mengatur
Timer0) seperti percobaan 1, mengaktifkan PORTC sebagai ADC dan mengaktifkan
PORT untuk LCD. Ketik program di bawah ini :
#include <mega8.h>
#include <stdio.h>
#include <delay.h>
32
void main(void)
{
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
pwm=read_adc(5);
sprintf(lcd,"%d",pwm);
lcd_gotoxy(0,0);
lcd_puts(lcd);
lcd_clear();
}
}
Dari percobaan 3 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
..................................................................................................................................
..................................................................................................................................
. ................................................................................................................................
..................................................................................................................................
..
..................................................................................................................................
...........................................................................................................................
33
Mata Kuliah : Mikrokontroler 2
Praktikum :7
Materi/ Bahasan : Interupsi
Waktu : 100 Menit
Bahan :
1. Komputer/PC 1x
2. Modul Mikrokontroler 2 1x
3. USB ASP 1x
Langkah – langkah :
1. Siapkan semua bahan praktikum yang sudah ditentukan.
2. Nyalakan Komputer/PC dan hubungkan Modul Mikrokontroler 2 menggunakan USB ASP.
3. Hubungkan Push Button 2 ke PORTD.2 menggunakan kabel jumper.
4. Buka aplikasi codevisionAVR dan sesuaikan CodeWizardAVR (PORTD.2 sebagai interupsi)
seperti gambar berikut.
34
void main(void)
{
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
lcd_gotoxy(0,0);
lcd_putsf("INT0");
sprintf(lcd,"%i",data);
lcd_gotoxy(0,0);
lcd_puts(lcd);
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
. ................................................................................................................................ .
. ............................................................................................................................... ..
. ..............................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
....
35
Percobaan 2
#include <mega8.h>
#define LED PORTC.2
while (1)
{
// Place your code here
}
}
Dari percobaan 2 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................ .
. ............................................................................................................................... ..
. ..............................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
36
....
Latihan
Mata Kuliah : Mikrokontroler 2
Praktikum :8
Materi/ Bahasan : Komunikasi Serial (Rx Tx)
Waktu : 100 Menit
Bahan :
1. Komputer/PC 1x
2. Modul Mikrokontroler 2 1x
3. USB ASP 1x
Langkah – langkah :
1. Siapkan semua bahan praktikum yang sudah ditentukan.
2. Nyalakan Komputer/PC dan hubungkan Modul Mikrokontroler 2 menggunakan USB ASP.
3. Buka aplikasi codevisionAVR dan sesuaikan CodeWizardAVR (mengaktifkan port serial rx
tx) seperti gambar berikut.
37
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here printf("Serial
Siap /n"); delay_ms(200);
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
................................................................................................................................. .......................
...........................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
. ................................................................................................................................ .
. ...............................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
...
..................................................................................................................................
...........................................................................................................................
Percobaan 2
Pada percobaan 2 ini kita mencoba menyalakan LED menggunakan tombol "o"
dan mematikan LED menggunakan tombol "f" pada keyboard PC. Silahkan aktifkan
PORTC.2 sebagai output dan aktifkan komunikasi serial sesuai dengan percobaan 1.
38
Ketik program di bawah ini :
#include <mega8.h> int a;
void main(void)
{
// Declare your local variables here
PORTC=0x00;
DDRC=0x04;
39
.................................................................................................................................. .
.................................................................................................................................
...
void baca_data_ke_eeprom()
{ jumlah=*data; }
void tampil_lcd()
40
{ lcd_gotoxy(0,0);
lcd_putsf("data=");
itoa(jumlah,lcd);
lcd_gotoxy(0,1);
lcd_puts(lcd);
}
void main(void)
{
PORTC=0x00;
DDRC=0x00;
// Characters/line: 16
lcd_init(16);
while (1)
{
// Place your code here
if(PINC.0==1)
{
jumlah++;
delay_ms(200);
tulis_data_ke_eeprom();
}
else { jumlah=jumlah; }
if(PINC.1==1)
{
jumlah--;
delay_ms(200);
tulis_data_ke_eeprom()
;
}
else { jumlah=jumlah; }
41
baca_data_ke_eeprom()
; lcd_clear();
tampil_lcd();
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................
..................................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.. ............................................................................................................................... .
.. ..............................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
....
Latihan
42
Mata Kuliah : Mikrokontroler 2
Praktikum : 10
Materi/ Bahasan : Motor Servo
Langkah – langkah :
1. Siapkan semua bahan praktikum yang sudah ditentukan.
2. Nyalakan Komputer/PC dan hubungkan Modul Mikrokontroler 2 menggunakan USB ASP.
3. Hubungkan motor servo pada PORTD.4.
4. Ketik program di bawah ini :
Percobaan 1
#include <mega8.h>
#include <delay.h>
void main(void)
while (1)
{
// Place your code here
for(i=0;i<=200;i++)
{ PORTC.7=1;
delay_us(2000);
PORTC.7=0;
delay_us(1000);
}
for(i=0;i<=100;i++)
{ PORTC.7=1;
delay_us(1000);
PORTC.7=0;
delay_us(2000);
}
}
}
43
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................ ............
......................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.. ...............................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
...
Percobaan 2
#include <mega8.h>
#include <stdio.h>
#include <delay.h>
44
{ a=0; PORTB=255; }
if (22<a && a<109)
{ if(a==serpo1)servo1 = 0; }
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
serpo1=23;
delay_ms(1000);
serpo1=65;
delay_ms(1000);
serpo1=108;
delay_ms(1000);
};
}
Dari percobaan 2 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
45
.. ............................................................................................................................... .
.. ..............................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
....
Latihan
46
5. Ketik program di bawah ini :
Percobaan 1
#include <mega8.h>
#include <delay.h>
void main(void)
{
// Declare your local variables here
PORTB=0x00;
DDRB=0xFF;
while (1)
{
47
// Place your code here
DIRA=0; DIRB=1; ENABLE1=1;
delay_ms(1000);
DIRA=1; DIRB=0; ENABLE1=1;
delay_ms(1000);
DIRA=0; DIRB=0; ENABLE1=0;
delay_ms(1000);
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.. ............................................................................................................................... .
.. ..............................................................................................................................
.................................................................................................................................. .
.................................................................................................................................
....
Percobaan 2
#include <mega8.h>
#include <delay.h>
48
#define DIRA PORTB.0 #define
DIRB PORTB.1 #define
ENABLE1 PORTB.2 unsigned
char a, pwm;
}
void main(void)
{
// Declare your local variables here
PORTB=0x00;
DDRB=0xFF;
while (1)
{
// Place your code here
DIRA=0; DIRB=1; pwm=255;
delay_ms(1000); DIRA=0;
DIRB=1; pwm=50;
delay_ms(1000); DIRA=0;
DIRB=0; pwm=0;
delay_ms(1000);
}
}
Dari percobaan 2 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
49
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.. ............................................................................................................................... .
.. ..............................................................................................................................
.... .............................................................................................................................
..... ............................................................................................................................ .
..... ...........................................................................................................................
..................................................................................................................................
.......
Percobaan 3
#include <mega8535.h>
#include <delay.h>
// Alphanumeric LCD functions
#include <alcd.h>
#include <stdio.h>
50
// Place your code here a+
+; if(a<=pwm){PORTC.1=0;}
else {PORTC.1=1;}
}
Void main()
{
PORTB=0x00;
DDRB=0xFF;
while (1)
{
// Place your code here data=read_adc(0);
if(data>=138) {pwm=(data-
128)*2+1;PORTC.0=0;} else if(data<=118)
{pwm=255-(data*2);PORTC.0=1;} else {pwm=0;}
sprintf(lcd,"PWM = %3d",pwm); lcd_gotoxy(0,0);
lcd_puts(lcd); sprintf(lcd,"ADC = %3d",data);
lcd_gotoxy(0,1); lcd_puts(lcd);
Dari percobaan 3 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
.................................................................................................................................. ......................
...........................................................................................................
..................................................................................................................................
. ................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.. ............................................................................................................................... .
.. ..............................................................................................................................
.... .............................................................................................................................
51
..... ............................................................................................................................ .
..... ........................................................................................................................... ..
..... .......................................................................................................................... ...
..... ......................................................................................................................... ....
..... ........................................................................................................................
..................................................................................................................................
.......... .......................................................................................................................
........... ......................................................................................................................
..................................................................................................................................
............
Latihan
52
Mata Kuliah : Mikrokontroler 2
Praktikum : 12
Materi/ Bahasan : Motor Stepper
Waktu : 100 Menit
58
Ba
ha
n:
1. Komputer/PC 1x
2. Modul Mikrokontroler 2 1x
3. Modul Driver 1x
4. Motor Stepper 1x
5. USB ASP 1x
Langkah – langkah :
1. Siapkan semua bahan praktikum yang sudah ditentukan.
2. Nyalakan Komputer/PC dan hubungkan Modul Mikrokontroler 2 menggunakan USB ASP.
3. Hubungkan data driver motor yang ada pada Modul Driver dengan
Modul Mikrokontroler 2 di PORTB.0 - PORTB.3 menggunakan kabel jumper dan
hubungkan Motor Dc dengan driver motor tersebut.
4. Ubah register PORTB sebagai Output.
5. Ketik program di bawah ini :
Percobaan 1
#include <mega8535.h> #include <delay.h> unsigned char
hit,step[]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};
void ccw()
{ for(hit=0;hit<8;hit++)
{ PORTC=step[hit];
delay_ms(30);
}
}
void cw()
{ for(hit=8;hit>0;--hit)
{ PORTC=step[hit];
delay_ms(30);
}
}
void main(void)
{
// Declare your local variables here
PORTB=0x00;
DDRB=0xFF;
while (1)
{
// Place your code here
cw(); ccw();
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.. ............................................................................................................................... .
.. ..............................................................................................................................
.... .............................................................................................................................
..... ............................................................................................................................ .
..... ...........................................................................................................................
..................................................................................................................................
.......
Latihan
54
Mata Kuliah : Mikrokontroler 2
Praktikum : 13
Materi/ Bahasan : LDR (Light Dependent Resistor)
Waktu : 100 Menit
Bahan :
1. Komputer/PC 1x
2. Modul Mikrokontroler 2 1x
3. Modul Driver 1x
4. Motor DC 1x
5. USB ASP 1x
Langkah – langkah :
1. Siapkan semua bahan praktikum yang sudah ditentukan.
2. Nyalakan Komputer/PC dan hubungkan Modul Mikrokontroler 2 menggunakan USB ASP.
3. Ketik program di bawah ini :
Percobaan 1
#include <mega8.h>
#include <delay.h>
#include <stdlib.h>
#include <stdio.h>
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here data=read_adc(0); if
(data>150) {DIRA=0; DIRB=1; pwm=255;}
else if (data<100) {DIRA=0; DIRB=1;
pwm=50; } else {pwm=0;} sprintf(lcd,"ADC =
%3d",data); lcd_gotoxy(0,1); lcd_puts(lcd);
}
}
Dari percobaan 1 apa yang dapat anda simpulkan? Jelaskan apa hasil dari program
tersebut!
..................................................................................................................................
.................................................................................................................................
..................................................................................................................................
. ................................................................................................................................
56
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.. ............................................................................................................................... .
.. ..............................................................................................................................
.... .............................................................................................................................
..... ............................................................................................................................
..................................................................................................................................
...... ........................................................................................................................... .
...... ..........................................................................................................................
..................................................................................................................................
........
Latihan
57