mikroC ile PIC Programlama #07 : Buzzer Uygulaması
Merhaba, mikroC ile PIC programlama eğitimlerimizin bu adımında switch-case yapısını kullanacak ve buzzer ile ses üreteceğiz.
Bölümler
00:00 Proje Dosyalarının Oluşturulması
00:22 Inputların Tanımlanması
01:30 mikroC Sound Library Kullanımı
03:05 Switch-Case Yapısı ile Buzzer Kulanarak Farklı Ses Animasyonlarının Kontrolü
08:32 Program Kodlarının Test Edilmesi
Şematik Tasarım
Uygulama Kodları
// Connections
sbit LED at LATA4_bit;
sbit BUTTON at RB0_bit;
sbit BUZZER at LATD0_bit;
// Global Variables
unsigned short i,j;
// Functions
void wait(unsigned int time){
while(time--)
delay_ms(1);
}
void Tone1() {
Sound_Play(659, 250); // Frequency = 659Hz, duration = 250ms
}
void Tone2() {
Sound_Play(698, 250); // Frequency = 698Hz, duration = 250ms
}
void Tone3() {
Sound_Play(784, 250); // Frequency = 784Hz, duration = 250ms
}
void Melody() { // Plays the melody "Yellow house"
Tone1(); Tone2(); Tone3(); Tone3();
Tone1(); Tone2(); Tone3(); Tone3();
Tone1(); Tone2(); Tone3();
Tone1(); Tone2(); Tone3(); Tone3();
Tone1(); Tone2(); Tone3();
Tone3(); Tone3(); Tone2(); Tone2(); Tone1();
}
void ToneA() {
Sound_Play( 880, 50);
}
void ToneC() {
Sound_Play(1046, 50);
}
void ToneE() {
Sound_Play(1318, 50);
}
void Melody2() {
unsigned short i;
for (i = 9; i > 0; i--) {
ToneA(); ToneC(); ToneE();
}
}
void main() {
TRISA=0b00000000;// [][][][LED][][][][]
TRISB=0b00000001;// [][][][][][][][BUTTON]
TRISD=0b00000000;// [][][][][][][][BUZZER]
LATA=0x00;
LATB=0x00;
LATD=0x00;
ADCON1 |= 0x07;
Sound_Init(&PORTD, 0);
Sound_Play(880, 1000);
while(1){
LED=!BUTTON;
//EP:1
//BUZZER=!BUTTON;
// EP:2
/*if(!BUTTON){
Tone1();
Tone2();
Tone3();
ToneA();
ToneC();
ToneE();
Melody();
Melody2();
while(!BUTTON);
}*/
//EP:3
if(!BUTTON){
delay_ms(100);
if(i<7) i++;
else i=0;
switch(i){
case 0: Tone1(); break;
case 1: Tone2(); break;
case 2: Tone3(); break;
case 3: ToneA(); break;
case 4: ToneC(); break;
case 5: ToneE(); break;
case 6: Melody(); break;
case 7: Melody2(); break;
}
while(!BUTTON);
}
}
}
Uygulama kodlarını GitHub üzerinden incelemek ve indirmek için tıklayın. Merak ettiğiniz ve aklınıza takılan soruları aşağıda 👇 yorum olarak bize iletebilirsiniz. Yeni uygulamalar gerçekleştirirken YouTube kanalımızdaki videolarımızdan yararlanmayı unutmayın. İyi çalışmalar. 🙂 #geliştirmeyebaşla
Yorum yapmak için giriş yapmalısınız.