#include #include main(void) { unsigned char gecici_dizi[16]; unsigned char i,a,toplam_sutun; signed int kayma,deger; unsigned const char metin[]={ 0xFF,0x89,0x89,0x89,0x76,0x00, // B 0x84,0xFD,0x84,0x00, // İ 0xFF,0x80,0x80,0x80,0x80,0x00, // L 0x84,0xFD,0x84,0x00, // İ 0xFF,0x02,0x0C,0x02,0xFF,0x00, // M 0x00,0x00,0x00,0x00, // Bosluk 0x38,0x40,0x80,0x40,0x38,0x00, // v 0x70,0xA8,0xA8,0xA8,0xB0,0x00, // e 0x00,0x00,0x00,0x00, // Bosluk 0x01,0x01,0xFF,0x01,0x01,0x00, // T 0xFF,0x89,0x89,0x89,0x81,0x00, // E 0xFF,0x18,0x24,0x42,0x81,0x00, // K 0xFF,0x04,0x08,0x10,0xFF,0x00, // N 0x84,0xFD,0x84,0x00, // İ 0xFF,0x18,0x24,0x42,0x81,0x00};// K //Metindeki sütunların sayısını hesapla toplam_sutun=80; //10x6+5x4=60+20=80 //Port ayarlama işlemleri TRISB=0; TRISA=0; CMCON=0x07; PORTB=0x00; for(;;){//Ana döngü //Geçici diziyi sıfırla for(i=0;i<=15;i++){ gecici_dizi[i]=0; //Dizi elemanları başlangıçta 0 } //Kaydırma işlemleri for(kayma=-14;kayma<=toplam_sutun;kayma++){ //Metni 16 sütunluk parçalara böl for(i=0;i<=15;i++){ deger=i+kayma; if(deger<0)gecici_dizi[i]=0; //metin girişi if(deger>=0&°er<=toplam_sutun-1) gecici_dizi[i]=metin[deger]; if(deger>toplam_sutun)gecici_dizi[i]=0; //metin çıkışı } //Tarama işlemleri for(a=0;a<40;a++){ //Aynı görüntüyü 40 kez tekrarla for(i=0;i<=15;i++){ //Geçici diziyi görüntüle PORTB=gecici_dizi[i]; // Veriyi PortB'ye gönder PORTA=i; // ilgili sütun'u seç DelayUs(200); // 200 mikrosaniye bekle }}} }// işlemleri tekrarla }// Program sonu