• Tidak ada hasil yang ditemukan

PRAKTIKUM MIKROPROSESSOR DAN MIKROKONTROLLER

N/A
N/A
3100210020 Muhammad Aulia Rahman

Academic year: 2023

Membagikan " PRAKTIKUM MIKROPROSESSOR DAN MIKROKONTROLLER"

Copied!
6
0
0

Teks penuh

(1)

NAMA : MUHAMMAD AULIA RAHMAN NIM : 3100210020

TUGAS 7 PRAKTIKUM MIKROPROSESSOR DAN MIKROKONTROLLER

1. Rangkaian antarmuka sebuah penampil 7 segmen dengan arduino uno dan menggunakan dekoder BCD ke 7 ruas. Buatlah program untuk mengendalikan penampil 7 segmen pada rangkaian tersebut sedemikian sehingga:

a. menampilkan angka 0,1,...9, dan kembali ke 0, begitu seterusnya.

void inis_pin(int awal, int akhir, boolean logika) { for (int i = awal; i <= akhir; i++) {

pinMode(i, OUTPUT);

digitalWrite(i, logika);

} }

void kendali_LED(int awal, int akhir, int nilai) { for (int i = awal; i <= akhir; i++) {

boolean logika = nilai & (1 << (akhir - i));

digitalWrite(i, logika);

} }

void setup() {

inis_pin(2, 5, 0);

}

(2)

void loop() {

kendali_LED(2, 5, 0b0000); // 0 delay(1000);

kendali_LED(2, 5, 0b1000); // 1 delay(1000);

kendali_LED(2, 5, 0b0100); // 2 delay(1000);

kendali_LED(2, 5, 0b1100); // 3 delay(1000);

kendali_LED(2, 5, 0b0010); // 4 delay(1000);

kendali_LED(2, 5, 0b1010); // 5 delay(1000);

kendali_LED(2, 5, 0b0110); // 6 delay(1000);

kendali_LED(2, 5, 0b1110); // 7 delay(1000);

kendali_LED(2, 5, 0b0001); // 8 delay(1000);

kendali_LED(2, 5, 0b1001); // 9 delay(1000);

}

b. menampilkan angka 9,8,...0, dan kembali ke 9, begitu seterusnya.

void inis_pin(int awal, int akhir, boolean logika) { for (int i = awal; i <= akhir; i++) {

pinMode(i, OUTPUT);

digitalWrite(i, logika);

} }

void kendali_LED(int awal, int akhir, int nilai) {

(3)

for (int i = awal; i <= akhir; i++) {

boolean logika = nilai & (1 << (akhir - i));

digitalWrite(i, logika);

} }

void setup() {

inis_pin(2, 5, 0);

}

void loop() {

kendali_LED(2, 5, 0b1001); // 9 delay(1000);

kendali_LED(2, 5, 0b0001); // 8 delay(1000);

kendali_LED(2, 5, 0b1110); // 7 delay(1000);

kendali_LED(2, 5, 0b0110); // 6 delay(1000);

kendali_LED(2, 5, 0b1010); // 5 delay(1000);

kendali_LED(2, 5, 0b0010); // 4 delay(1000);

kendali_LED(2, 5, 0b1100); // 3 delay(1000);

kendali_LED(2, 5, 0b0100); // 2 delay(1000);

kendali_LED(2, 5, 0b1000); // 1 delay(1000);

kendali_LED(2, 5, 0b0000); // 0 delay(1000);

}

2.

Rangkaian antarmuka 3 buah penampil 7 segmen dengan arduino uno menggunakan

teknik scanning. Buatlah program untuk mengendalikan penampil 7 segmen pada

rangkaian tersebut sedemikian sehingga menampilkan 3 angka terakhir NIM anda

masing-masing.

(4)

void inis_pin(int awal,int akhir,boolean logika) {for (int i=awal;i<=akhir;i++){

pinMode(i,OUTPUT);

digitalWrite(i,logika);

} }

void kendali_LED(int awal,int akhir, int nilai) {for (int i=awal;i<=akhir;i++){

boolean logika= nilai&(1<<(akhir-i));

digitalWrite(i,logika);}

}

void setup() {

inis_pin(2,9,0);

inis_pin(A0,A2,0);

}

void loop() {

kendali_LED(2,9,0b01111110);

kendali_LED(A0,A2,0b100);

delay(30);

kendali_LED(2,9,0b00011000);

kendali_LED(A0,A2,0b010);

delay(30);

kendali_LED(2,9,0b11111100);

kendali_LED(A0,A2,0b001);

delay(30);

}

(5)

3. Buatlah rangkaian seperti no 2, namun ditambahkan dekoder BCD ke 7 segmen.

Buatlah program untuk mengendalikan penampil 7 segmen pada rangkaian tersebut sedemikian sehingga menampilkan 3 angka terakhir NIM anda masing- masing.

const int segmenPins[7] = {2, 3, 4, 5, 6, 7, 8}; // Pin untuk segmen A-G const int digitPins[3] = {9, 10, 11}; // Pin untuk mengendalikan digit 1-3

const int dekoderBCD[10] = { 0b01111110, // 0

0b00011000, // 1 0b10110110, // 2 0b10011110, // 3 0b11011000, // 4 0b11001110, // 5 0b11101110, // 6 0b00011100, // 7 0b11111110, // 8 0b11011110 // 9 };

void setup() {

for (int i = 0; i < 7; i++) { pinMode(segmenPins[i], OUTPUT);

}

for (int i = 0; i < 3; i++) { pinMode(digitPins[i], OUTPUT);

} }

void tampilkanAngka(int angka) { for (int i = 0; i < 7; i++) {

digitalWrite(segmenPins[i], bitRead(dekoderBCD[angka], i));

} }

(6)

void loop() {

for (int digit = 0; digit < 3; digit++) { tampilkanAngka(digit);

for (int i = 0; i < 3; i++) {

digitalWrite(digitPins[i], i == digit);

}

delay(5); // Delay untuk stabilisasi tampilan }

}

Referensi

Dokumen terkait

Buat program untuk menampilkan deret fibonaci, di mana jumlah elemen yang ditampilkan ditentukan oleh user.. Buatlah sebuah bentuk bangun seperti gambar

Setelah rangkaian adc mikrokontroller ATMEGA16 dibuat, maka sekarang saatnya Anda membuat program yang digunakan untuk membaca ADC ATMEGA16 dan menampilkan data

Buatlah program untuk menampilkan baris angka ganjil dengan jumlah angka ganjil yang tertampil ditentukan oleh user (pengguna aplikasi) menggunakan ketiga jenis program

Proteus mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang kita buat.. Menurut beberapa pandapat

Penelitian ini mempunyai tujuan untuk membuat Alat Penampil Karakter dan Angka Berjalan dengan Tampilan 7 Segmen, serta menganalisa cara kerja dari rangkaiannya dengan melakukan

Pada rangkaian Sensor Pencacah Dengan Infra Merah yang dirancang terdapat 2 buah seven segment yang akan menampilkan angka masukan dari 00 sampai angka

Ketika program di run angka muncul tampilan untuk memasukan angka , masukan angka 10 seperti contoh diatas , program akan otomatis menampilkan hasil perkalian dari

Maka, apabila menekan tombol dengan memasukkan angka digit pada keypad “123” dan kemudian menekan tombol ‘#’ ini akan diproses di dalam else if key_val == '#' dan didalam program