Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Texas Instruments => Konuyu başlatan: xxlxxl - 13 Kasım 2011, 20:58:07

Başlık: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 13 Kasım 2011, 20:58:07
arakdaşlar bir türlü ne yapsam olmuyor mps 2553 entegresinde led yakmak

P1OUT |= 0x0001;
P1OUT |= 0x0002;
P1OUT |= 0x0004;
P1OUT |= 0x0008;
P1OUT |= 0x0010;
P1OUT |= 0x0020;
P1OUT |= 0x0040;
P1OUT |= 0x0080;
P1OUT |= 0x0100;
buraya kadar normal yanıyor fakat 2553 de boş pinklerii yakamıyorum

P1.5
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P1.6
P1.7

yardımcı olacak arkadaşlara şimdiden teşekkür ederim




Başlık: Ynt: mpsg2553
Gönderen: fatihinanc - 13 Kasım 2011, 21:47:16
Merhaba,

Kodun tamamını eklerseniz daha rahat yardımcı olabilirim. Seçtiğiniz pinlerde farklı çevrebirimlerin çıkışları da bulunuyor.
Belki bunlar çıkış görevi yapmıyor olabilir.
Başlık: Ynt: mpsg2553
Gönderen: xxlxxl - 13 Kasım 2011, 21:48:56
tamam ekliyorum sağolasın hocam

#include <msp430g2553.h>
#include   "stdbool.h"

#define BIT0                   (0x0001)
#define BIT1                   (0x0002)//
#define BIT2                   (0x0004)//
#define BIT3                   (0x0008)
#define BIT4                   (0x0010)
#define BIT5                   (0x0020)
#define BIT6                   (0x0040)
#define BIT7                   (0x0080)
#define BIT8                   (0x0100)
#define BIT9                   (0x0200)
#define BITA                   (0x0400)
#define BITB                   (0x0800)
#define BITC                   (0x1000)
#define BITD                   (0x2000)
#define BITE                   (0x4000)
#define BITF                   (0x8000)
int main( void )
{
P1DIR = BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7;
P1OUT = 0;
{
P1OUT |= BIT0;
P1OUT |= BIT1;
P1OUT |= BIT2;
P1OUT |= BIT3;
P1OUT |= BIT4;
P1OUT |= BIT5;
P1OUT |= BIT6;
P1OUT |= BIT7;
}
return 0;
}

2553 pinleri daha çok bende p2 lerde de led yakmak istedim bir türlü olmıyor fakat standart bit ler onlarda p2 lerinde çıkışları değerleri verilmiş 2553.h dosyası içeisinde bu değişkenler varbu dosyayı okuyor librariden zaten bitleri otomatik tanıyor fakat 7 pin yanıyor doğru diğerlerine yazdığım halde yanmıyor
Başlık: Ynt: mpsg2553
Gönderen: fatihinanc - 13 Kasım 2011, 22:11:17
Kodda bir sorun yok gibi görünüyor. Şu şekilde sadeleştirilebilir.


#include <msp430g2553.h>

int main( void )
{
P1DIR = BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7;
P1OUT = 0;

P1OUT |= BIT0;
P1OUT |= BIT1;
P1OUT |= BIT2;
P1OUT |= BIT3;
P1OUT |= BIT4;
P1OUT |= BIT5;
P1OUT |= BIT6;
P1OUT |= BIT7;

return 0;
}


Bu kodun P1.0 - P1.7 arasını sırayla set etmesi lazım. Etmiyor mu ?
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 13 Kasım 2011, 22:12:57
burda sorun yok bu kod sadece standart 7 pini aktif ediyor ama ben istiyorum ki kalan p2 ler var 2553 serisinde onlar neden yakamıyorum bunlarda sıkıntı yok hocam yanıyor bit9 10 - 11 devam edince neden p2 ler led yanmıyor ben çokled yakmak
istiyorum

P1.5
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
ben bu pinlere led bağladım bitleri girmeme ragmen bir türlü yakamıyorum bu pinler 2553 serisinde diğer pinleri yakıyorken bunlar yanmıyor bitler bunlar için ama yanmıyor
Başlık: Ynt: mpsg2553
Gönderen: fatihinanc - 13 Kasım 2011, 22:28:29
8 - 9.. diye giden pinler P2 portuna ait.
Bunlar için P2 portunun saklayıcılarını kullanmalısın.

koda şu kısımları da eklemek gerekiyor;


P2DIR = BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7; //P2.0 - P2.7 çıkış
P2SEL = 0x00; // P2.6 ve P2.7 bitlerini g/ç yapmak için.
P2OUT = 0;


sonrasında ise P2OUT |= BIT0; şeklinde pinleri set etmelisin.
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 13 Kasım 2011, 22:30:09
hocam tam olarak örneği yazarmısın hemen derley.p denicem çok makbule geçti kodu yaza bilrisen hemen derleyip işlicem led yakacak şekilde olmasını nasıl yapacağız
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: fatihinanc - 13 Kasım 2011, 22:32:34
Alıntı yapılan: xxlxxl - 13 Kasım 2011, 22:30:09
hocam tam olarak örneği yazarmısın hemen derley.p denicem çok makbule geçti kodu yaza bilrisen hemen derleyip işlicem led yakacak şekilde olmasını nasıl yapacağız

Bundan sonrasını senin getirebileceğine inanıyorum. Buraya kadar nasıl getirdiysen aynı şekilde... ;)
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 13 Kasım 2011, 22:34:07
SAYIN HOCAM AYNEN YAPTIM AMA YANMADI ??

P2DIR = BIT8|BIT9|BITA|BITB|BITC|BITD|BITE|BITF; //P2.0 - P2.7 çıkış
    P2SEL = 0x00; // P2.6 ve P2.7 bitlerini g/ç yapmak için.



P2OUT |= BIT8;
P2OUT |= BIT9;
P2OUT |= BITA;
P2OUT |= BITB;
P2OUT |= BITC;
P2OUT |= BITD;
P2OUT |= BITE;
P2OUT |= BITF;
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: fatihinanc - 13 Kasım 2011, 22:39:34
Alıntı yapılan: xxlxxl - 13 Kasım 2011, 22:34:07
P2DIR = BIT8|BIT9|BITA|BITB|BITC|BITD|BITE|BITF; //P2.0 - P2.7 çıkış

Buraya dikkat etmek lazım. Yukarıda BIT0 şeklinde yazmıştım. Dediğim gibi P2 portu P1 den bağımsız ayrı bir port. Ve dolayısiyle kendine ait saklayıcıları var.
Bunlar P1 için ne ise P2 için de aynıdır. Yani P1 portunun 0. bitini set etmek istiyorsan. P1OUT = BIT0, 7.bitini set etmek istiyorsan P1OUT |= BIT7 yazıyorsan aynı şeyler P2 portu için de geçerli.

Yani P2.0'ı set etmek için : P2OUT = BIT0;
P2.5'i set etmek için : P2OUT |= BIT5;

yazmak yeterli.

MSP430F2553'ün datasheetini iyi okumak gerekli. Yoksa bu ve benzeri sebeplerden dolayı ileride daha büyük yerlerde takılabilirsin.

Kolay Gelsin.
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 13 Kasım 2011, 22:42:59
SAYIN HOCAM SÜPERSİN FİKİRLER EVRDİN BİR KAÇ DENEME YAPIYORUM FARKLI ŞEYLERDE ŞU AN YANDI TEŞEKKÜR EDERİM DENEMELERE BAŞLADIM AYRICA FORM VE YAPIMCILARINA TEŞEKÜR EDERİM


NOT: BURDAKİ AMAÇ LED YAKMAK LA BERABER MANTIK KAPMAK GERÇEKTEN BU İŞLER LED YAK SÖNDÜR LE BAŞLIYOR FAKAT İŞİN İÇİNE GİRDİKÇE GÜZEL OLUYOR
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 13 Kasım 2011, 23:03:00
TAMAM .............
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 16 Kasım 2011, 17:22:56
saygı değer arakdaşlar hocalarım merhabalar... yukarıdaki kodu baya denemeler yaptıktan sonra bir eksiklik daha buldum msnp serisinde anlaşılan daha çalışmam lazım eksiklik nedir...


1: p2 ye giden ledleri sıra ile yakmayı başardım..
2: fakat her ledi bağımsız kapa aç yamamadım

led1 , led2 , led3 yandı diyelim ben led1 i söndürmek istiyorum olmuyor

P2OUT = 0;          kodu ile tüm ledler aynı zamada sönüyor bir türlü olmuyor..

p1 ile olan ledlerde sorun yok herşey normal fakat bu p2 olan bacaklarda led yakma işlemi tamamken neden bağımsız sönmüyor tekrar yardımlarınız bekliyorum saygılarımla..

LED YAKMAK ------------------
P2OUT |= BIT0;  LED YANDI bunu söndürecek bir kod
P2OUT |= BIT1;  LED YANDI bunu söndürecek bir kod

!!!! P2OUT = 0;  bu kod tüm pin2 bağlantılarımı kesiyor
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: Mujdat117 - 16 Kasım 2011, 18:02:44
P2OUT = 0 yaptığınızda p2 portunu reset etmiş olursunuz yani yanan tüm ledleri söndürürsünüz. Siz seçtiğiniz 1 pinin durumunu toggle etmeniz gerekiyor.
P1out= '11111111'b yaptıgınızda tüm ledleri yakarsınız burdan herhangibi bir ledi söndürmek için
P2out='01111111'b porta bu şekilde yeniden yüğklemek yani portun ilgili bitinin durumunu terslemeniz gerekiyor.
C bilmeidğim için size kod konusunda yardımcı olamıycam ama mantık budur.
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 16 Kasım 2011, 18:09:42
P1OUT = 0x40; // LED on
P1OUT = 0x00; // led off

p2 lerde durumn farklı biraz yinede denicem yukafdaki kodu teşekür ederim
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 16 Kasım 2011, 21:29:38
#include <msp430g2553.h>
#include   "stdbool.h"
#define WDTCONFIG (WDTCNTCL|WDTSSEL)
int main( void )
{
//P1DIR = BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7;
//P1OUT = 0;
P2DIR = BIT0|BIT1|BIT2|BIT3|BIT4|BIT5;
P2DIR = 0xFF;                                     
P2SEL = 0x00;
P2OUT = 0;
{
P2OUT |= BIT0;
P2OUT |= BIT1;
P2OUT |= BIT2;/
P2OUT |= BIT3;
P2OUT |= BIT4;
P2OUT |= BIT5;
///P2OUT = ????;  en son fixlenen kod arkadaşlar burdaki kod p2 olan tüm ledleri yakar fakat sorun varki
// p2out ile istenilen led söndürülsün p2out = 0; kodu tüm ledleri söndürüyor
/// öyle bir kod olsunki istediğimiz ledi söndürelimm bu kod çalışıyorrr bu sorunu hala çözemedim //çözülmedi

// istenilen led söndürme kodu ne ola bilir ??? P2OUT = BIT2 yi  söndürmek diğer ledler sönmesin
}
return 0;


yardımcı olacak herkese şimdiden teşekkür ediyorum
}
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: ErsinErce - 16 Kasım 2011, 21:38:09
bunalmis hocanın C yazılarına göz gezdir

~ & bu işaretlerle yapılan bir yapı arıyorsun
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 16 Kasım 2011, 22:23:11
bunalmış hocakimdir biraz daha açıklayıcı yardımlar bekliyorum
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: ErsinErce - 16 Kasım 2011, 22:43:26
açıklayıcı yardımlar arama bölümünde bulunmaktadır, ayrıca bahsettiğim konu aşağıda buyrun;
https://www.picproje.org/index.php/topic,35908.0.html
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 16 Kasım 2011, 22:47:24
sevgili arkadaşım çok güzel yalnız burd abenim özellikle örnek kodda koydum orda pin2 ler pin1 lerde sorun yok pin 2 lerde ledler sonmuyor aynıanda sonuyor istediğiğm şu led1 yak led1 sondur ama led2 yanarken led1 sondur kodu bu yuden koydum ordaki örneklr karışık pin1 ler için


mümkünse yukardaki örneğe göre örnek berilmesi bende deniyorum kitimde saygılarımla
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: fatihinanc - 16 Kasım 2011, 23:50:19
Alıntı yapılan: xxlxxl - 16 Kasım 2011, 22:47:24
sevgili arkadaşım çok güzel yalnız burd abenim özellikle örnek kodda koydum orda pin2 ler pin1 lerde sorun yok pin 2 lerde ledler sonmuyor aynıanda sonuyor istediğiğm şu led1 yak led1 sondur ama led2 yanarken led1 sondur kodu bu yuden koydum ordaki örneklr karışık pin1 ler için


mümkünse yukardaki örneğe göre örnek berilmesi bende deniyorum kitimde saygılarımla

@ErsinErce hocam ;) demiş ~& kullanmak gerekiyor.

Yani olaya biraz mantıksal yaklaşmak lazım. Bir pini set etmek için 1 kullanıyorsan reset etmek(sıfırlamak) için de 0 kullanırsın.
Yani diğer pinlerin durumunu bozmadan porta öyle bir işlem yapacaksın ki sadece istediğin pin 0 olacak.
Bu işleme maskeleme deniliyor. Forumda aratırsan birçok yardımcı konu ve örnek bulabilirsin.

Burada önemli olan ~ ve & operatörlerini iyi anlayabilmek ;)
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 17 Kasım 2011, 10:53:24
sayım emektar ben burda msp serisine yeni başlayan birisi olarak ve yeni başlayanlara bir nebze yol aça bilmek için konulara girdim ~ işaretini biliyorum neden sen sadece copy paste yapıyorsun  bunu yapınca tüm ledler yanıyor ben burda p2 lerin peşindeyim yoksa karaşimşek yapma değil amacım....

ben yukarda son şekli ile çalışan kaynak kodu koydum denemeden etmeden geliyor sanırım millet ben her kodu deniyorum kitim var ve deniyorum lütfen olaylara birazda benm tarafımdan bakınız demekki olmuyor ki sürekli yazıyorum son çalışankod yukarda bir zahmet deneme şansınız varsa denyin ben dedim gibi sürekli deniyorum kod olarak yardımcı olurmusun operatorleri denedim olmuyor  yukardaki çalışan koda istinaden kod yardımı taleb ediyorum teşekkür ederim
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: fatihinanc - 17 Kasım 2011, 11:01:59
P2OUT &= (~BIT2);

Her kodu denemişsin ama galiba bunu unutmuşsun, işin mantığını anlatmaya çalışıyorum. Mantığını bilmeden ne kadar kod denersen dene.
Yukarıda ~ve & işaretini araştır denilmesinin sebebi de bu aslında.

Kolay gelsin.
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 17 Kasım 2011, 11:05:24
emektar bitanesin valla sağolasın inan denemedim kod kalmadı teşekkür ederim şimdi deniyorum ben amacım kimseyi kırmak değil ama bilmeyen ler için her kod değerli çünkü bir sürü kodlaral uğraşıyorum kafa artık durdu durma noktasına geldi desem ama desteklerinden dolayı teşekkür ediyorum hemen deniyorumm
Başlık: Ynt: mps2553 entegresinde led yakmak ?
Gönderen: xxlxxl - 17 Kasım 2011, 11:14:34
kodları denedim ledler sönüor fakat ledlerde çok az pırıltılar var 330 ohm dirençle bağlılar pin1 lerde yapılan ld kapatmalarda her hangi bir pırıltı yok ledler tam sönüyor p2 lerde bu durum pırıltı şeklinde kalıyor nedeni ne bilmiyorum 330 ohm direçlerle yaktığım halde ledlere enerji geliyor çok azda olsa osilator şeklinde sonuçta ld kapatma olayı tamam.. texsası öğrenmek lazım farklı bir entegre

ŞU AN İTİBARİ İLE SORUN ÇÖZÜLDÜ !!!!!!!!!  gerekli topraklama da yapılınca hiç bir sorun kalmadı forma ve yardımalrını ve sabırlarını esirgemeyen herkese sonsuz teşekkürlerimi sunuyorum inanın hiç çekinmeden sorunlarımız sorularımızı çözümleye bileceğimiz bri platform kısa sürede bıu derece yardım aldığım bir forma rastlamadım