PIC16F877 ile Yürüyen Işık (Kara Şimşek) Uygulaması CCS C Kodu
Uygulamanın CCS C Kodu
/******************************************************
Uygulama Adı : Display Uygulaması-1 (0-F Sayıcı)
PIC PROG/DEKA : Port B jumper'ı 7-seg konumunda olmalı
*******************************************************/
#include <16f877.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.
//***********Denetleyici konfigürasyon ayarları************
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000) // Gecikme fonksiyonu için kullanılan osilatör frekansı belirtiliyor
int i; // i isminde 8 bitlik bir değişken tanıtılıyor.
// Ortak katot display için veri değerleri
const int digit[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7C, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
/********* ANA PROGRAM FONKSİYONU********/
void main ()
{
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı
set_tris_a(0x00); // A portu tümüyle çıkış olarak yönlendiriliyor
set_tris_b(0x00); // B portu tümüyle çıkış olarak yönlendiriliyor
output_b(0x00); // B portu çıkışları sıfırlanıyor
output_a(0x02); // RA1 pini lojik-1 yapılıyor, diğer pinler lojik-0
while(1) // Sonsuz döngü oluşturuluyor
{
for(i=0;i<=15;i++)
{
output_b(digit[i]); // digit[i] değerini B portuna gönder
delay_ms(500); // 500 msn bekle
}
}
}
Uygulamanın Simulasyonu
 |
PIC16F877 ile 0-F Sayıcı Uygulaması Simulasyonu |
This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
0 yorum:
Yorum Gönder