öncelike herkese slm arkadaşlar bilim teknik kayan yazı devresini yapıyorum devreyi kurdum herşey tamam ama sanırım programda sorun var düzgün çalışmıyor yazılması gereken yazı bozuk çıkıyor ve bir kez çıkıyor ikinciyitekrar etmiyor yarım ederseniz sevinirim devreyi 6x16 olarak değiştirdim program bu düzgün derleyemedim
yardım edenlere şimdiden teşekkürler...
#include "C:\Documents and Settings\okan\Desktop\kayan yazı\kayan yaz.h"
#include <pic.h>
#include <delay.c>
main(void)
{
unsigned char gecici_dizi[16];
unsigned char iatoplam_sutun;
signed int kaymadeger;
unsigned const char metin[]={
0X800X800X80 //
0x000x000x000x00 //
0xFC0X080X100X200XFC0X00 // N
0X900XF40X900X00 // İ
0X0C0X100XE00X100X0C0x00 // Y
0XF00X480X440X480XF00X00 // A
0X840XC40XA40X940X8C0X00 // Z
0X900XF40X90 // İ
0x000x000x000x00 // Bosluk
0XFC0X840X840X840X780X00 // D
0XF40X800X800X800XF40X00 // Ü
0XFC0X840X840X840X780X00 // D
0XF40X800X800X800XF40X00 // Ü
0XFC0X300X480X840X00 // K
0x000x000x000x00 //
0X800X800X80 //
//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ç
delay_us(200); // 200 mikrosaniye bekle
}}}
}// işlemleri tekrarla
}// Program sonu