اطلاعیه

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