Rangkaian ini merupakan Project Akhir dari kuliah Praktikum Sistem Microcontroler.
Rangkaian ini merupakan representasi dari sebuah piano dimana rangkaian ini dapat mengeluarkan sura dengan frekuensi tertentu. Dengan pengaturan frekuensi tersebut, maka suara yang dihasilkan berupa nada-nada harmonis. Rangkaian ini merupakan rangkaian yang menggunakan mikrokontroler 8051. Sebuah keypad digunakan untuk input yang mewakili key musik pada organ dengan nada dasar C dimulai dari C-middle. Tombol keypad 1 – 8 untuk mengeluarkan nada do sampai dengan Do. Tombol 9 untuk mengeluarkan sebuah lagu. Untuk output, sebuah speaker dihubungkan ke pin keluaran. Setiap penekanan tombol 1- 8, nada yang dihasilkan berbunyi selama 1 detik.
Setiap nada dalam musik memiliki frekuensi tertentu. Nada C-middle memiliki frekuensi 262 Hz sedangkan nada C pada satu oktaf diatasnya memiliki frekuensi 524 Hz atau dua kali dari frekuensi C-middle. Pada organ, terdapat 12 macam nada dalam satu oktaf yaitu C, C#, D, D#, E , F, F3#, G, G#, A, A#, B. Untuk nada dasar C ( C Mayor ) nada-nada yang digunakan adalah C, D, E, F, G, A , B, C’. Frekuensi dari nada-nada tersebut meningkat secara logaritmik dimana frekuensi setiap nada dari 12 nada merupakan n kali frekuensi nada dibawahnya ( n adalah akar dubelas dari 2 ).
Frekuensi setiap nada dapat dihitung dengan rumus :
Frekuensi nada ke-i = Frekuensi nada ke ( i-1 ) x 2 1/12
Jika 12Ö2 atau 21/12 = 1.059463094 atau 1.059 maka
Frekuensi dari
C- middle 262 Hz
C# = 262 * 1.059 = 277.458 277 Hz
D = 277.458 * 1.059 = 293.828 294 Hz.
D# = 293.828 * 1.059 = 311.164 311 Hz.
E = 311.164 * 1.059 = 329.522 330 Hz.
F = 329.522 * 1.059 = 348.963 345 Hz.
F# = 348.963 * 1.059 = 369.552 361 Hz.
G = 369.552 * 1.059 = 391.355 391 Hz.
G# = 391.355 * 1.059 = 414.445 414 Hz.
A = 414.445 * 1.059 = 438.897 439 Hz.
A# = 438.897 * 1.059 = 464.792 465 Hz.
B = 464.792 * 1.059 = 492.215 492 Hz.
C’ = 492.215 * 1.059 = 523.674 524 Hz
Flow Chart
Source Code
==========================================
sib equ -1012
do equ -956
re equ -851
mi equ -758
fa equ -716
sol equ -637
la equ -568
si equ -508
do1 equ -478
org 0H
jmp start
start:
mov TMOD,#01H
mov R7,#0
mov R6,#0
ajmp scan
lagu:
acall DO
acall RE
acall MI
acall DO
acall delay
acall DO
acall RE
acall MI
acall DO
acall MI
acall FA
acall SOL
acall SOL
acall SOL
acall MI
acall FA
acall SOL
acall SOL
acall SOL
acall delay
acall SOLs
acall LAs
acall SOLs
acall FAs
acall MI
acall DO
acall SOLs
acall LAs
acall SOLs
acall FAs
acall MI
acall DO
acall RE
acall delay
acall SIB
acall DO
acall DO
acall RE
acall delay
acall SIB
acall DO
acall DO
ajmp scan
DO:
mov R0,#2
dol:
mov R1,#255
dol0:
mov TH0,#HIGH do
mov TL0,#LOW do
setb TR0
lcall main
djnz R1,dol0
djnz R0,dol
ret
RE:
mov R0,#2
rel:
mov R1,#255
rel0:
mov TH0,#HIGH re
mov TL0,#LOW re
setb TR0
lcall main
djnz R1,rel0
djnz R0,rel
ret
MI:
mov R0,#2
mil:
mov R1,#255
mil0:
mov TH0,#HIGH mi
mov TL0,#LOW mi
setb TR0
lcall main
djnz R1,mil0
djnz R0,mil
ret
………………………….
…………………………..
…………………………..
< source code tidak ditampilkan seluruhnya >
==========================================
Skematik Rangkaian
Rangkaian Jadi
Thank to Dody Kurniadi <partner praktikum >