اطلاعیه

Collapse
No announcement yet.

روشن کردن leb با دیپ سوییچ

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

    روشن کردن leb با دیپ سوییچ

    میدونم خیلی سادست ولی من جواب نمیگیرم میخوام با فشردن سوییچ چراغ ها روشن و به محض برداشتن خاموش بشه ولی همیشه خاموش میمونه ممنون میشم بگین اشکال کجاس؟
    #include <mega16.h>

    void main(void)
    {
    PORTA=0x00;
    DDRA=0xFF;
    PORTD=0xFF;
    DDRD=0x00;

    while (1)
    {
    if (PORTD.7==0)

    PORTA=0xFF;

    else if (PORTD.7==1)
    PORTA=0x00;
    }
    }

    #2
    پاسخ : روشن کردن leb با دیپ سوییچ

    کد:
    #include <mega16.h>
    
    void main(void)
    {
    DDRA=0xff;
    
    while (1)
       {
       if (PIND.7==0)
    {
     PORTA=0xFF;
    }
     else (PIND.7==1) 
    {
    PORTA=0x00;
    }
    } 
    }
    مقاومت pull down یادت نره برای کلید


    اگه بخای وقتی دستتو بر میداری قطع شه
    جای صفر و یک PIND رو عوض کن
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    دیدگاه


      #3
      پاسخ : روشن کردن leb با دیپ سوییچ

      نوشته اصلی توسط mohsen23esf
      میدونم خیلی سادست ولی من جواب نمیگیرم میخوام با فشردن سوییچ چراغ ها روشن و به محض برداشتن خاموش بشه ولی همیشه خاموش میمونه ممنون میشم بگین اشکال کجاس؟
      #include <mega16.h>

      void main(void)
      {
      PORTA=0x00;
      DDRA=0xFF;
      PORTD=0xFF;
      DDRD=0x00;

      while (1)
      {
      if (PORTD.7==0)

      PORTA=0xFF;

      else if (PORTD.7==1)
      PORTA=0x00;
      }
      }

      :nerd: فقط به یه دستور if نیاز داری!
      چون تا وقتی دستت روی سوئیچ باشه شرط درست و چراغ ها روشنه و هرموقه دستت رو برداری شرط نادرست و چراغ ها خاموش هستند! فقط یادت باشه دستور روشن شدن لامپ که همه ی پین ها رو یک یا صفر می کنی رو حتما داخل دوتا آکولاد دستور if قرار بدی!

      کد:
      PORTA=0x00;
      if (PORTD.7==0)
      }
      PORTA=0xFF;
      delay_ms(10);
      {
      100 درصد درست میشه! :read:

      یه چیز رو دوست دارم از من بپذیری ...

      "آنچه که باعث موفقیت شما می شود سخت کوشی است و نه نخبه بودن!" :nerd:
      آنچه كه باعث موفقيت انسان ها مي شود سخت كوشي است و نه نخبه بودن! Porsche 911 Turbo S 181.000 $ USD
      جناب سعدی فرموده بودند: "بر احوال ان مرد باید گریست _ که دخلش بود نوزده، خرجش بیست!"
      که اگه الان بود باید میگفت: "بود حال و احوال آن مرد زار _ که دخلش ریال است ، خرجش دلار :|"
      http://www.eca.ir/forum2/index.php?topic=80472.msg489565#msg489565
      http://www.eca.ir/forum2/index.php?topic=82242.msg501926#msg501926

      دیدگاه


        #4
        پاسخ : روشن کردن leb با دیپ سوییچ

        دادا مسیح این برنامه ارور داره میشه بگی مشکل برنامه خودم کجاس؟

        دیدگاه


          #5
          پاسخ : روشن کردن leb با دیپ سوییچ

          دوست عزیز افتخار الکترونیک اینطوری تست کردن روشن میشه ولی روشن میمون و دیگه خاموش نمیشه

          دیدگاه


            #6
            پاسخ : روشن کردن leb با دیپ سوییچ

            سلام برای چک کردن پین باید از رجیستر PIN استفاده کنید این کد خودتونه
            کد:
            
            void main(void)
            {
            PORTA=0x00;
            DDRA=0xFF; 
            PORTD=0xFF;
            DDRD=0x00; 
            
            while (1)
               {
               if (PIND.7==0)
            
             PORTA=0xFF;
            
             else if (PIND.7==1) 
            PORTA=0x00;
            } 
            }
            التبه اینطوری بنظرم کافیه
            کد:
            
            void main(void)
            {
            PORTA=0x00;
            DDRA=0xFF; 
            PORTD=0xFF;
            DDRD=0x00; 
            
            while (1)
               {
               if (PORTD.7==0)
            
             PORTA=0xFF;
            
             else 
            PORTA=0x00;
            }
            دکتر چمران در 1311 در تهران متولد شد
            وي در زمان اقامت در آمريکا انجمن اسلامي آمريکا را تأسيس کرد که منجر به قطع بورسيه وي توسط شاه شد.
            او با اينکه يکي از دانشمندان مطرح آمريکا به حساب مي آمد بدون توجه به مدرک به مصر رفت و آموزش نظامي ديد.

            دیدگاه


              #7
              پاسخ : روشن کردن leb با دیپ سوییچ

              کد:
              #include <mega16.h>
              
               void main(void){
               DDRA=0xff;
                       
                  while (1){
                      if(PIND.7==1){
                      PORTA=0XFF;
                       
                      }
              
                      else{
                      PORTA=0x00;
                      
                      }
              
                  }
              
              
               }
              برای تعریف کلید یا ورودی در شرط if باید pin تعریف بشه نه port
              کد بالا که اصلاح کردم کلمه if از جلوی else پاک شد و error بخاطر اون بود
              تو این کدی الان هست دو حالت داریم روشن و خاموش که به زبان ساده گفته شده:
              اگر کلید یک بود پورت a روشن در غیر اینصورت(else) پورت a خاموش

              .The best question deserves a better answer
              =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
              «پناه»می برم «به خدا»
              از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
              محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

              دیدگاه


                #8
                پاسخ : روشن کردن leb با دیپ سوییچ

                دوستان مشکلم حل شد مرسی

                دیدگاه

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