#include <xc.h>
// PIC12F675 konfigürasyon bitleri
#pragma config FOSC = INTRCIO // Dahili osilatör, I/O fonksiyonu ile GP4/5
#pragma config WDTE = OFF // Watchdog Timer kapal?
#pragma config PWRTE = OFF // Power-up Timer kapal?
#pragma config MCLRE = OFF // GP3/MCLR pinini MCLR olarak kullanma, GP3 olarak kullan
#pragma config BOREN = OFF // Brown-out Reset kapal?
#pragma config CPD = OFF // Data EEPROM bellek kod korumas? kapal?
#pragma config CP = OFF // Program belle?i kod korumas? kapal?
#define _XTAL_FREQ 4000000 // 4 MHz iç osilatör frekans?
// Alarm sesi için gerekli tan?mlamalar
#define ALARM_PIN GP4 // Alarm sesinin ç?k?? pinini tan?mla (GP4 kullan?l?yor)
// Alarm sesi üretmek için kullan?lan fonksiyon
void Alarm_Sound() {
for (int i = 0; i < 100; i++) {
ALARM_PIN = !ALARM_PIN; // Alarm pinini aç/kapa
__delay_ms(2); // 1 ms bekle
}
for (int i = 0; i < 100; i++) {
ALARM_PIN = !ALARM_PIN; // Alarm pinini aç/kapa
__delay_ms(4); // 2 ms bekle
}
}
void main() {
TRISIO = 0b00000100; // GP0 ve GP2'yi giri?, di?erlerini ç?k?? olarak ayarla
GPIO = 0x00; // Tüm pinleri dü?ük yap
// GP4 pinini ç?k?? olarak ayarla
TRISIO &= ~(1<<4); // GP4 pinini ç?k?? olarak ayarla
GPIO &= ~(1<<4); // GP4 pinini dü?ük yap
while (1) {
if (GP2) { // E?er GP2 yüksekse (alarm aktifse)
Alarm_Sound(); // Alarm sesini üret
} // Ana döngü içeri?i...
}
}
Beyler alarm sistemi yapmaya çalışıyorum . alarm için oluşturduğum fonsiyonu çağırınca çalışmıyor neden ? İsiste Smüle ediyorum. GP2 koşulu kaldırıp direkt fonsiyonu sonsuz döngüyede çağırıyorum ama yine fonksiyondaki hareket gerçekleşmiyor.
Merhaba,
Aşağıdaki bloğu kapatıp denermisin ?
TRISIO &= ~(1<<4); // GP4 pinini ç?k?? olarak ayarla
GPIO &= ~(1<<4); // GP4 pinini dü?ük yap
CMCON = 0x07; // GP0 ve GP1 pinlerini dijital modda kullanmak için CMCON'u ayarla
ANSEL = 0x00;// Analog Girişleri pasif et.
void main de bu iki fonksiyonu atlamışım. farkettim düzelttim. teşekkürler.