mikroC ve PIC18F4550 kitabımız hakkında

Başlatan kemalserkan, 26 Nisan 2012, 09:10:04

XX_CİHAN_XX

#45
Alıntı yapılan: yusufburak - 06 Kasım 2012, 23:33:08
haklısınız bunun böyle olduğunu biliyorum ama çarpma bölme gibi matematiksel işlem yaparken direk bu şekilde kullanmam bi sorun oluşturur mu ?
12*15 ile 0x0C*0x0F yada 0b00001100 * 0b00001111 aynı şeylerdir.
Her yazım şekli aynı sonucu bize verir. Onluk sisteme çevirme deyince genel olarak benim anladığım bu sayıları display gibi yerlerde gösterebilme yada basamaklarına ayırıp değerlendirebilme amacıyla yapılan bir çevrim işlemidir.

Ancak niyetiniz sadece aritmetiksel ve mantıksal işlemler yapmak ise onluk format zorunlu değildir.
Bu durumda binary, hex yada desimal formatta yazmanızın bir önemi kalmaz hepsi aynı sayıdır.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

z

10lu sayılar işlemcilerde işlenirken iki seçenek var.

Birinci seçenekte 10'lu sayı doğrudan ikili sayıya çevrilir. Üzerinde ne işlem yapılacaksa yapılır ve gerisin geriye 10'lu sisteme dönülür.
İkinci seçenekte ise onluk sayı, BCD formatta kullanılır ve üzerinde BCD işlem yapılır sonuç doğrudan doğruya kullanılır.

Onlu sistemdeki 12 sayısı, ikili sisteme birinci seçenekte 0x0C olarak, ikinci seçenekte ise 0x12 olarak aktarılır.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

asenyurt

arkadaşlar önceki yazımda i2c pcf8574 ile sıkıntım vardı.
elimdeki entegre nxp markalı bir pcf8574 idi
philips olanı ile değiştirince sorunsuz çalıştı
aklınızda bulunsun..

yusufburak

mesela;
time=(cnt*65,5)+TMR1H+TMR1L-0x24;

işlemini yazdığım zaman derlediğimde hata vermiyo. peki bu işlemi yapabilr mi gerçekten ?

time ise unsigned olarak tanımlanmıştır.
Öğretici aranıyor :)

LukeSkywalker

Yapamaz. Yani eksik yapar. 65,5 sayisi floatdur. Typecasting yapmaniz gerekir bu islemde.

yusufburak

Typecasting dediğiniz şey nedir acaba ? :S
Öğretici aranıyor :)

yusufburak

while (1)  {
if(dugme){
time=cnt*65,5 ;
time=time+TMR1H+TMR1L-0x24;
Hiz=10/time;
Lcd_Out(2,1,"time m/s");
TMR1H=0X00;
TMR1L=0x24;
cnt=0;
while(porta.ra0);

}
}

bu kodlarda cnt kaç kez 65.5 ms'lik kesme geldiğini sayıyo ve bende burdan time süresini bulmak istiyorum :S nerde hata yapıyorum ? ekranda time m/s yazıyo :) ben orda rakam yazdırmasını istiyorum :S ?
Öğretici aranıyor :)

tekniker_murat

#52
Merhabalar öncelikle emeklerinizden ötürü çok teşekkür ederim Kitabı aldım okudum okumaya da devam ediyorum daha doğrusu devam edeceğim ama kafamda bir karmaşa var....

Karmaşa şu ben programı bir yerden edindim kurdum çalıştırdım bir çok program çalıştı ama LCD konusunda program biraz zırvaladı şöyle ki ; ben kodları buraya yazayım kitapta kodlar bu şekilde

sbit LCD_RS          at        RB2_bit;
sbit LCD_EN          at        RB3_bit;
sbit LCD_D7          at        RB7_bit;
sbit LCD_D6          at        RB6_bit;
sbit LCD_D5          at        RB5_bit;
sbit LCD_D4          at        RB4_bit;

sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB7_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB4_bit;

void    main(){
cmcon=7;

while (){

}
}


Ben bu kodları kendi devreme göre uyarladım yukarıdaki gibi tek değişiklik port ve pin isimleri derlemek istediğim zaman hata veriyor verdiği hata da şu

';' expected but LCD_RS found
internal error

Buna göre kendimce şu yorumları yapıyorum

1: Bu program kitapta anlatılan program ile aynı versiyon olmayabilir.
2: Benim yazımımda yada diyagramımda bir hata olabilir.

Fakat ben işi garantiye almak için YENİ BAŞLAYANLAR İÇİN MİKROC PİC PROGRAMLAMA PİC16F628A KİTABI'nı da aldım onda da aynı kodlar yazıyor :)

Bu kitapta anlatılan programın Versiyonu hakkında bilgi verebilirseniz çok memnun olurum....
[email]murat.yagci.1984@gmail.com[/email]

deblekeli

@by_deblekeli

tekniker_murat

Alıntı yapılan: tekniker_murat - 05 Aralık 2012, 22:38:49
Merhabalar öncelikle emeklerinizden ötürü çok teşekkür ederim Kitabı aldım okudum okumaya da devam ediyorum daha doğrusu devam edeceğim ama kafamda bir karmaşa var....

Karmaşa şu ben programı bir yerden edindim kurdum çalıştırdım bir çok program çalıştı ama LCD konusunda program biraz zırvaladı şöyle ki ; ben kodları buraya yazayım kitapta kodlar bu şekilde

sbit LCD_RS          at        RB2_bit;
sbit LCD_EN          at        RB3_bit;
sbit LCD_D7          at        RB7_bit;
sbit LCD_D6          at        RB6_bit;
sbit LCD_D5          at        RB5_bit;
sbit LCD_D4          at        RB4_bit;

sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB7_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB4_bit;

void    main(){
cmcon=7;

while (){

}
}


Ben bu kodları kendi devreme göre uyarladım yukarıdaki gibi tek değişiklik port ve pin isimleri derlemek istediğim zaman hata veriyor verdiği hata da şu

';' expected but LCD_RS found
internal error

Buna göre kendimce şu yorumları yapıyorum

1: Bu program kitapta anlatılan program ile aynı versiyon olmayabilir.
2: Benim yazımımda yada diyagramımda bir hata olabilir.

Fakat ben işi garantiye almak için YENİ BAŞLAYANLAR İÇİN MİKROC PİC PROGRAMLAMA PİC16F628A KİTABI'nı da aldım onda da aynı kodlar yazıyor :)

Bu kitapta anlatılan programın Versiyonu hakkında bilgi verebilirseniz çok memnun olurum....

Evet konuya ilgilenen arkadaşlar vardır belki diye düşündüm ve cevap verme isteği duydum...

Bu yukarıdaki kodların her biri ayrı ayrı çalışıyo tek problem programın eski versiyon olması yüzündenmiş program versiyonunu yükselttim herşey düzeldi :D
Hayırlı çalışmalar dilerim
[email]murat.yagci.1984@gmail.com[/email]

furkanersoy

ÇOMÜ Bünyesinde Mikrodenetleyiciler dersinde bu kitaptan işliyoruz.Gerçekten PİC18F4550 ile tanıştıgınızda yapabileceğiniz şeyler çok fazla,çokta eğlenceli...Devreleri proteus üzerinden kurup artılarınızı katıp müthiş şeyler çıkabiliyor.Micro C ise güzel bir dil vede program herkeze tavsiye ederim.Fiziksel olarak devrelerimi yapmaya başladım... ::)

yusufburak

7 433 Not enough RAM for call stack __Lib_Delays.c


böyle bir hata ile karşılaşıyorum :S ne yapmalıyım ?
Öğretici aranıyor :)

yusuf3101

Merhaba arakdaşlar bu kitabı bende aldım ve Mikro C programı konusunda sıkıntı yaşıyorum derleme esnasında demo limit hatası veriyor program.. araştırmalarıma göre bu hata kullandığım programın sınırlı kullanım olmasından dolayı yani 1 ay sonra kendi kendine kapanacak program, bunu nasıl crack yaparım yada full sürümünü nerden bulabilirim? sabahtan beri arıyorum ellitane program indirip kurum yine olmuyor bilen varsa yardımlarınızı bekliyorum şimdiden teşekkürler herkese

erpay

Full sürümünü ankarada satan bir firma var ama biraz pahalı.

LukeSkywalker