اطلاعیه

Collapse
No announcement yet.

راه اندازی MCP41

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راه اندازی MCP41

    سلام
    من میخواستم MCP41 رو راه اندازی کنم برنامش رو هم نوشتم ولی داخل پروتئوس که جواب نمیده. برنامه ای که نوشتم اینه:
    کد:
    #include <mega32.h>
    #include <spi.h>
    void main(void){
    PORTA=0x00;
    DDRA=0x00;
    PORTB=0x00;
    DDRB=0xB0;
    PORTC=0x00;
    DDRC=0x00;
    PORTD=0x00;
    DDRD=0x00;
    // SPI initialization
    // SPI Type: Master
    // SPI Clock Rate: 921.600 kHz
    // SPI Clock Phase: Cycle Start
    // SPI Clock Polarity: Low
    // SPI Data Order: MSB First
    SPCR=0x50;
    SPSR=0x00;
    spi(0b00010001);
    spi(0b10000000);
    while (1);
    }
    نه تنها توی این فورم بلکه تو هیچ سایتی هم تا به حال مثالی ازش ندیدم هر جا هم که کسی پرسیده بهش پیشنهاد دادن از PWM استفاده کنه. ممکنه کمک کنید یک بار برای همیشه این آی سی رو راه اندازی کنیم؟
    تو دستور اول دو تا بیت اول(از سمت چپ) که مهم نیستن. دو تا بیت دوم هم که برای نوشتن باید 01 باشن دو تا بیت بعدی هم باز مهم نیستن و دو تا بیت آخر هم برای انتخاب کاناله که باز تو این آی سی مهم نیست چون تک کانالست. پس فقط بیت سوم و چهارم مهمه.
    دستور دوم هم که ولوم رو تغییر میده اما هر مقداری میذارم بی تاثیره.

    #2
    پاسخ : راه اندازی MCP41

    من با این آی سی کار کردم.
    بهتره خودتون برنامه راه اندازیش رو بنویسی و از دستورات آماده استفاده نکنی
    نکته مهم در این آی سی اینه که وقتی شما پایه فعال ساز spi رو صفر کنید و بعد داده ها رو ارسال کنید، وقتی که پایه رو دوباره غیر فعال کنید یعنی اون رو یک کنید در لبه بالارونده، اون موقع مقادیر مقاومت پتانسیومتر در رجیستر قرار میگیره
    ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

    امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

    دیدگاه


      #3
      پاسخ : راه اندازی MCP41

      سلام

      طبق دیتاشیت قبل از شروع باید پایه CS را low کنید و بعد از پایان هم این پایه را high کنید. این طور که دیتاشیت گفته تا وقتی CS را high نکنید رجیستر ها ثبت نمیشه.

      دیدگاه

      لطفا صبر کنید...
      X