Pic16f84a ile havada yazı yazma devresi ccs c programında sıkıntı

Katılım
20 Ağu 2010
Mesajlar
32
Puanları
1
Yaş
31
#include <pic.h>
#include <delay.c>

main(void)
{

unsigned int i;
unsigned char dizi[]={
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0xFF,0x10,0x10,0x10,0xFF,0x00, // H
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // B
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};

TRISB=0;

for(;;{
for(i=0;i<48;i++){
PORTB=dizi;
DelayMs(1); // 1ms bekle
}
DelayMs(48); // 48ms bekle
}
}



rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

ARKADAŞLAR BEN BU PROĞRAMI PIC C compiler proğramında derletmeye çalışıyorum ama eror veriyo eror veren yerleri kırmızı yazdım yardım ederseniz sevirim şimdiden teşekürler


ARKADAŞLAR BURDAKİ PROĞRAMIN BASİC DİLİNDE YAZA BİLİRMİYİZ
 
Son düzenleme:
pici tanıtmak için (hangi pic) bi dosya ihtiyacın varmıdır?
osilatör için (kristal) frekansın ne?
rs232 için tanıtıcı bi dosya ihtiyacı var mıdır?

en azından bunlar eksik gibi gözüküyor.
 
#include <16F876.h> // kendi işlemcini yaz ben örnek için yazdım
#fuses HS,NOWDT,NOPROTECT
#use delay (clock=20000000) // ben 20MHZ kullandın varsaydım 2MHZ kullanıcaksan #fuses HS yazan yeri #fuses XT olarak degiştir


unsigned int i;
unsigned char dizi[]={
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0xFF,0x10,0x10,0x10,0xFF,0x00, // H
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // B
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};

void main(){
set_tris_b(0x00);
output_b(0x00);

while(1){
for(i=0;i<48;i++){
output_b(dizi);
delay_ms(1); // 1ms bekle
}
delay_ms(48); // 48ms bekle
}
}

rs232 nie kullanıyorsun ona anlam vermedim böyle bir dene bazı fonksiyonları olması gerektiği gibi yazmamışın hatan bu :)
 
Son düzenleme:
#include <16F876.h> // kendi işlemcini yaz ben örnek için yazdım
#fuses HS,NOWDT,NOPROTECT
#use delay (clock=20000000) // ben 20MHZ kullandın varsaydım 2MHZ kullanıcaksan #fuses HS yazan yeri #fuses XT olarak degiştir


main(void)
{

unsigned int i;
unsigned char dizi[]={
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0xFF,0x10,0x10,0x10,0xFF,0x00, // H
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // B
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};

void main(){
set_tris_b(0x00);
output_b(0x00);

while(1){
for(i=0;i<48;i++){
output_b(dizi);
delay_ms(1); // 1ms bekle
}
delay_ms(48); // 48ms bekle
}
}

rs232 nie kullanıyorsun ona anlam vermedim böyle bir dene bazı fonksiyonları olması gerektiği gibi yazmamışın hatan bu :)




kardeş eline salık verdiğin proğramı derlemeye çalıştım ama bu severde i harflerinde eror verdi for(i=0;i<48;i++){
output_b(dizi);
burdaki i harflerinde ve while(1){ parantez işaretinde eror verdi
 
kardeş eline salık verdiğin proğramı derlemeye çalıştım ama bu severde i harflerinde eror verdi for(i=0;i<48;i++){
output_b(dizi);
burdaki i harflerinde ve while(1){ parantez işaretinde eror verdi


üst taraftaki main gözümden kaçmış bende main yok diye aşağıda gine yazmışım CCS'de gelişmek için serdar çiçek'in kitabını sana önereblirim

Kod:
#include <16F876.h> // kendi işlemcini yaz ben örnek için yazdım
#fuses HS,NOWDT,NOPROTECT 
#use delay (clock=20000000) // ben 20MHZ kullandın varsaydım 2MHZ kullanıcaksan #fuses HS yazan yeri #fuses XT olarak degiştir

unsigned int i;
unsigned char dizi[]={
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0xFF,0x10,0x10,0x10,0xFF,0x00, // H
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // B
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};


void main(){
set_tris_b(0x00);
output_b(0x00);


while(1)
{
for(i=0;i<48;i++){
output_b(dizi[i]);
delay_ms(1); // 1ms bekle
}
delay_ms(48); // 48ms bekle
}
}
 
Son düzenleme:
teşekkür edrim eline salık tavsiyen içinde saol ama ben basic dilinde yazıyorum bu proğramı internetten bulduğum bi devre için kullanmam gerekti
 
Merhaba arkadaşlar 16f84a ile havaya yazı yazma hobi devresi yaptım fakat devreyi buldugum yerde kodlar pıc c ile yazılmış bana acil asm kodları lazım yardımcı olabilecek arkadaş varmı acaba ?

#include <pic.h>
#include <delay.c>

main(void)
{

unsigned int i;
unsigned char dizi[]={
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0xFF,0x10,0x10,0x10,0xFF,0x00, // H
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // B
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};

TRISB=0;

for(; ; ) {
for(i=0;i<48;i++){
PORTB=dizi;
DelayMs(1); // 1ms bekle
}
DelayMs(48); // 48ms bekle
}
}
 

Forum istatistikleri

Konular
128,185
Mesajlar
915,696
Kullanıcılar
449,956
Son üye
CharmanDear

Yeni konular

Geri
Üst