Elektrotekno.com Ana Sayfa || Programlanabilir Cihaz ve Elemanlar || Microchip Pic Serisi


Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Microchip Pic Serisi forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "PIC C ile PIC Programlama" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!

PIC C ile PIC Programlama

Kayıt: 12 Eyl 2006
Mesajlar: 26

Offline
bilgeyazilim
Tarih: 03 10 2006 00:05

Bu bilgiler için teşekkür ederiz. Size bir sorum olacak. Bana unsigned char olarak tanımlanmış bir değişkenin bitleri lazım. Bunlara ulaşıp istediğimi değiştirip istediğimi kıyaslamaya sokabilmem lazım. Bunun için iki yol buldum.
1. AND, OR komutları ile
2. bit değişkeninden türetilmiş bir değeri kullanarak.

sorum ise şu: static bit deger@.... komutunda (verdiğiniz ve kitaptakinin aynısını yazıyorum) bit olayını tanımıyor derleyici. Acaba bir kütüphane falanmı eklememiz gerekiyor?

Kayıt: 27 Arl 2005
Mesajlar: 130

Offline
coshkun
Tarih: 03 10 2006 01:09

bilgeyazilim yazmış
Bu bilgiler için teşekkür ederiz. Size bir sorum olacak. Bana unsigned char olarak tanımlanmış bir değişkenin bitleri lazım. Bunlara ulaşıp istediğimi değiştirip istediğimi kıyaslamaya sokabilmem lazım. Bunun için iki yol buldum.
1. AND, OR komutları ile
2. bit değişkeninden türetilmiş bir değeri kullanarak.

sorum ise şu: static bit deger@.... komutunda (verdiğiniz ve kitaptakinin aynısını yazıyorum) bit olayını tanımıyor derleyici. Acaba bir kütüphane falanmı eklememiz gerekiyor?

Bildiğim kadarıyla static bit ... şeklinde sadece donanımsal bitler tanımlanıyor.Bit bazında işlem yapmak için AND,OR gibi komutlarla maskeleme yapmak daha mantıklı görünüyor.
Yukarıda örnekler var:
Örnek 3.4
Bir değişkenin herhangi bir bitini 1 veya 0 yapmak için “define” direktifini kullanarak bir makro yazınız.

Çözüm 3.4
Herhangi bir biti 1 yapmak için kullanacağımız makroya bit_set dersek, şu şekilde yazabiliriz:

#define bit_set(var, bitno) ((var) │= (1<< (bitno)))

Herhangi bir biti 0 yapmak için, kullanacağımız makroya bit_reset dersek, şu şekilde yazabiliriz:

#define bit_reset(var, bitno) ((yar) &= ~(1<< (bitno)))

Başa dön
Kayıt: 12 Eyl 2006
Mesajlar: 26

Offline
bilgeyazilim
Tarih: 03 10 2006 06:26

pıc c de bti karşılığı!


O zaman bana şunu yapabilirmisniz. Benim bilgim az. Yapamadım.
unsigned char deger=0x7C; // 0b01111100
unsigned char sonuc;
// Ben istiyorum ki, eğer deger değişkeninin 0. biti1 ise sonuc değişkeninin 0.biti 1 olsun değilse 0 olsun.
//Bu konuda yardımcı olabilirseniz sevinirim.

Başa dön
Kayıt: 27 Arl 2005
Mesajlar: 130

Offline
coshkun
Tarih: 03 10 2006 12:21

bilgeyazilim yazmış
O zaman bana şunu yapabilirmisniz. Benim bilgim az. Yapamadım.
unsigned char deger=0x7C; // 0b01111100
unsigned char sonuc;
// Ben istiyorum ki, eğer deger değişkeninin 0. biti1 ise sonuc değişkeninin 0.biti 1 olsun değilse 0 olsun.
//Bu konuda yardımcı olabilirseniz sevinirim.


Yanlışım varsa arkadaşlar düzeltsin lütfen:

if((deger & 1) ==1) //deger'in ilk biti 1 ise *aşağıda açıkladım
bitset(sonuc,0) ; //sonuc degiskeninin 0.bitini 1 yap (bitset makrosu kullanıldı)
else //degilse
bit_reset(sonuc,0) //sonuc değişkeninin 0. bitini 0 yap
------------------------------------------------------------

deger & 1 dediğimizde şu işlemi yapmış oluyoruz

deger 11010101
1 00000001
And---------------
00000001 oluyor
Bu degeri ==1 şeklinde 1'le karşılaştırıyorum

Başa dön
Kayıt: 05 Ekm 2006
Mesajlar: 1

Offline
FIR_Lama
Tarih: 05 10 2006 08:17

öncelikle paylaşımın için teşekkürler. ben projemde 16f877 kullanmayı düşünüyorum, projemin temeli ise infrared sensör ile önündeki nesnenin mesafesine göre PWMle çalıştırdığım motorun hızının azaltılması, hızlandırılması veya durdurulması...

konuyla ilgili sorum ise 16f877(yada herhangi bir dahili ADC'si olan pic) için pic-c'de adc nasıl yapılır? pwm nasıl verilir? ayrıca internetten bulduğum bütün kodlar yüzlerce define'la başladığı için kafa karıştırıcı olabiliyor, birkaç basit işlev yapan pic-c kodu(mümkünse açıklamalı) yazabilir misiniz?

not: neden 16f877 derseniz çok da mantıklı bir sebebim yok aslında... bana gereken bir(belki iki) analog input, dahili bi ADC(4bit bile yeter), ve pwm(minimum 4-5bit çözünürlüklü) output... bunlar için 16f873 de var ama pic-c lite'ın listesinde bu pic'i göremedim...

Başa dön
Kayıt: 12 Eyl 2006
Mesajlar: 26

Offline
bilgeyazilim
Tarih: 05 10 2006 17:26

Adrese gir.


[url]www.bilgeyazilim.net [/url]sitesinde PIC16F877A ile sıcaklık okuyup, Visual C#.NEt te hazırlanan arayüze aktarma ile ilgili bir makale yazdım. Sana faydalı olur.

Başa dön
Kayıt: 23 Şub 2006
Mesajlar: 22

Offline
most05
Tarih: 08 10 2006 16:15

tesekkurler

Başa dön
Kayıt: 21 Ekm 2006
Mesajlar: 69

Offline
cnrszr
Tarih: 22 10 2006 01:04

Mustinin diğer forumlarda da bu yazılarını gördüm uğraşıyor eleman ya herkese kolay gelsin şu pic olayını halletmek lazım.

Başa dön


Sayfaya git Önceki  1, 2

PIC C ile PIC Programlama


Benzer Konular

- PIC 16F84 Mikrodenetleyici İleri Programlama Seminerleri Notları

- PICBIT ile PIC Programlama
- Temel Seviye PicBasic ile PIC Programlama
- saü - programlama dillerinin prensipleri ders notu (türkçe)
- mpasm - pic programlama
- eeprom programlama (yardım)
- PLC S7 200 programlama teknikleri
- ELN4087 Mantıksal Programlama ders notu
- Bilgisayar programlama dersi I ders notları

- pıc 16f84 mikrodenetleyici ileri programlama kurs kitabı




Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar için iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71