Anda di halaman 1dari 6

PRAKTIKUM

SISTEM MIKROPROSESOR DAN MIKROKONTROLER

PERCOBAAN I

CODEVISION & SIMULIDE

Oleh : Sabar Pramono

Program Studi Teknik Elektronika


Jurusan Teknik Elektro
Politeknik Negeri Bandung
2021
MODUL I CODEVISION DAN SIMULIDE

MODUL I CODEVISION DAN SIMULIDE


I. Tujuan
Sesudah praktikum diharapkan mahasiswa mampu:
1. Menggunakan compiler codevision
2. Menggunakan simulator simulide atau proteus
3. Membuat delay dengan menggunakan software
4. Membuat delay dengan menggunakan modul hardware timer
5. Memahami modul hardware timer

II. Landasan Teori

III. Alat dan Komponen Yang digunakan

Software codevision dan simulide

IV. Langkah - langkah percobaan

1. Buat project baru, beri nama project, gunakan mikrokontroller atmega 328 dengan clock 8
Mhz dan simpan pada folder kerja saudara
2. Buat program1 dibawah, compile dan edit program hingga tidak ada error, lalu build
program 1.

Program 1.
/*
* delay.c
*
* Created: 21/03/2021 11:46:50
* Author: dell
*/
void main(void)
{
// Crystal Oscillator division factor: 1
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (1<<CLKPS2) | (1<<CLKPS1) |
(1<<CLKPS0);

// Port D initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out
Bit1=Out Bit0=Out
DDRD=(1<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) |
(1<<DDD2) | (1<<DDD1) | (1<<DDD0);
// State: Bit7=1 Bit6=1 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
// All LEDs are initally off
PORTD=(1<<PORTD7) | (1<<PORTD6) | (1<<PORTD5) | (1<<PORTD4) |
MODUL I CODEVISION DAN SIMULIDE

(1<<PORTD3) | (1<<PORTD2) | (1<<PORTD1) | (1<<PORTD0);

while (1)
{
if(PORTD=255) PORTD=0;
else PORTD=255;
delay_ms(1000);
}
}

3. Buat rangkaian seperti di bawah, atur properties clock 8 Mhz

4. Upload file biner untuk program no.1 ke chip atmega328


Aktifkan tegangan 5V dan simulasikan rangkaian
Amati output.
5. Ubah properties clock pada atmega 328 dengan nilai yang lain dan ulangi langkah
no 3.
6. Ubah nilai factor pembagi clock pada register CLKPR (clock prescaller) dengan
nilai yang berbeda dan ulang langkah no.3
7. Ulangi langkah 1 s/d langkah 6 untuk program 2.
Program 2.
/*
* delay.c
*
* Created: 21/03/2021 11:46:50
* Author: dell
MODUL I CODEVISION DAN SIMULIDE

*/
void main(void)
{
// Crystal Oscillator division factor: 1
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) |
(0<<CLKPS1) | (0<<CLKPS0);

// Port D initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out
Bit2=Out Bit1=Out Bit0=Out
DDRD=(1<<DDD7) | (1<DDD6) | (1<<DDD5) | (1<<DDD4) |
(1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
// State: Bit7=1 Bit6=1 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
PORTD=(1<<PORTD7) & (1<PORTD6) | (1<<PORTD5) |
(1<<PORTD4) | (1<<PORTD3) | (1<<PORTD2) | (1<<PORTD1) |
(1<<PORTD0);

while (1)
{
if(PORTD==255) PORTD=0;
else PORTD=255;
tunggu(10);
}
}

void tunggu(int tunda)


{
for(x=0;x<1000;x++)
for(y=0;y<tunda;y++);
}
8. Ulangi langkah 1 s/d langkah 6 untuk program 3.
Program 3.
/*
* delay.c
*
* Created: 21/03/2021 11:46:50
* Author: dell
*/
/*
* newled.c
*
* Created: 18/03/2021 21:51:41
* Author: dell
*/
MODUL I CODEVISION DAN SIMULIDE

#include <mega328.h>

void main(void)
{
char x;
int i;
x=0xfe;

// Port D initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out
Bit0=Out
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2)
| (1<<DDD1) | (1<<DDD0);
// State: Bit7=1 Bit6=1 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
PORTD=(1<<PORTD7) | (1<<PORTD6) | (1<<PORTD5) | (1<<PORTD4) | (1<<PORTD3)
| (1<<PORTD2) | (1<<PORTD1) | (1<<PORTD0);

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) |


(0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) |
(0<<CS11) | (1<<CS10);

while (1)
{
PORTD=x;

for(i=0;i<122;i++){
while(!(TIFR1.TOV1));
TIFR1.TOV1=1;
}

x=(x<<1)|1;
if(x==0xff) x=0xfe;

// Please write your application code here

}
}
9. Perhatikan berapa durasi waktu setiap perubahan display led?
10. Buat program 8 bit up counter naik 8
11. Buat program 8 bit down counter turun
MODUL I CODEVISION DAN SIMU

12. Buat program LED bergeser ke kiri dan kanan berulang

V. Hasil Pengamatan

1. Hasil pengamatan program 1


a. Program
b. Output
2. Hasil pengamatan program 2
c. Program
d. Output
3. Hasil pengamatan program 3
e. Program
f. Output
4. Hasil pengamatan program dan output no. 10
g. Program
h. Output
5. Hasil pengamatan program dan output no. 11
i. Program
j. Output
6. Hasil pengamatan program dan output no. 12
k. Program
l. Output

VI. Kesimpilan
Tuliskan kesimpulan untuk percobaan ini.

Anda mungkin juga menyukai