اطلاعیه

Collapse
No announcement yet.

اشکال در برنامه نویسی

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

    اشکال در برنامه نویسی

    سلام دوستان اگه بخوام مقدار یک پورت ورودی رو بخونم باید چکار کنم؟
    چطوری باید برنامه شو بنویسم؟(به زبان cتو کد ویژن)
    باید اول DDR اون پورت رو صفر کنم...بعد PINاون پورت رو یک کنم بعد مقدار اون پورت رو بریزم تو یه متغیر؟

    #2
    پاسخ : اشکال در برنامه نویسی

    دوست عزیز این همه پست درباره ش تو انجمن زده شده...قبلش ی سرچ میکردید زودتر به نتیجه میرسیدید :NO: :NO: :NO: :NO:

    واسه خوندن پورت باید رجیستر PIN رو بخونید...به هیچ کار دیگه ای هم نیاز نیست...
    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

    www.intelart.ir


    ساخت کنترلر دما PID فازي با AVR [آموزشی]

    دیدگاه


      #3
      پاسخ : اشکال در برنامه نویسی

      کد:
      #include <mega32a.h>
      void main (void){
      int t;
      DDRB=0x01;
      PORTB=0x00;
      while(1){
      t=PINA;
      if (t==0){
      PORTB=0x00;
      }
      else {
      PORTB=0x01;
      }
       }
       }
      این کدهامه...میخوام از یک پورت بخونه اگه صفر بود led روشن نشه...اگه 1 پود led روشن شه...اشکالش چیه؟کار نمیکنه

      دیدگاه


        #4
        پاسخ : اشکال در برنامه نویسی

        شما دارید کل پورت رو میخونید...فکر کنم قصدتون اینه که فقط بیت 0 رو چک کنید....
        اینطور بنویسید :

        [code=cpp]#include <mega32a.h>
        void main (void){

        DDRB=0x01;

        while(1){

        if (!PINA.0){
        PORTB=0x00;
        }
        else {
        PORTB=0x01;
        }
        }
        }[/code]
        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

        www.intelart.ir


        ساخت کنترلر دما PID فازي با AVR [آموزشی]

        دیدگاه


          #5
          پاسخ : اشکال در برنامه نویسی

          نوشته اصلی توسط Mahdi.Faani
          شما دارید کل پورت رو میخونید...فکر کنم قصدتون اینه که فقط بیت 0 رو چک کنید....
          اینطور بنویسید :

          [code=cpp]#include <mega32a.h>
          void main (void){

          DDRB=0x01;

          while(1){

          if (!PINA.0){
          PORTB=0x00;
          }
          else {
          PORTB=0x01;
          }
          }
          }[/code]
          این کد رو نوشتم...اما وقتی ورودیم از 3 ولت به بالاست روشن میشه دیود..چرا؟

          دیدگاه


            #6
            پاسخ : اشکال در برنامه نویسی

            چرا؟؟؟ oo:
            خب بخاطر اینکه دارید اون پین رو چک میکنید اگه 1 بود واستون LED رو روشن کنه اگه 0 بود خاموشش کنه....درسته دیگه...مشکلی نداره...
            تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

            www.intelart.ir


            ساخت کنترلر دما PID فازي با AVR [آموزشی]

            دیدگاه


              #7
              پاسخ : اشکال در برنامه نویسی

              سلام
              برای اینکه میکرو ولتاژ در حد vcc یا همون 5 ولت رو 1 حساب میکنه
              منظور شما احتمالا اینکه چرا ولتاژ ورودی به پین رو اگه 1 ولت بدی عمل نمیکنه درسته؟
              امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

              دیدگاه


                #8
                پاسخ : اشکال در برنامه نویسی

                نوشته اصلی توسط Mahdi.Faani
                چرا؟؟؟ oo:
                خب بخاطر اینکه دارید اون پین رو چک میکنید اگه 1 بود واستون LED رو روشن کنه اگه 0 بود خاموشش کنه....درسته دیگه...مشکلی نداره...
                آهان باینری چک میکنه؟

                دیدگاه


                  #9
                  پاسخ : اشکال در برنامه نویسی

                  نوشته اصلی توسط mahdi8866
                  سلام
                  برای اینکه میکرو ولتاژ در حد vcc یا همون 5 ولت رو 1 حساب میکنه
                  منظور شما احتمالا اینکه چرا ولتاژ ورودی به پین رو اگه 1 ولت بدی عمل نمیکنه درسته؟
                  چرا 3 ولت میدم کار میکنه؟
                  کلا بالای 3ولت کار میکنه

                  دیدگاه


                    #10
                    پاسخ : اشکال در برنامه نویسی

                    نوشته اصلی توسط shabnam77
                    آهان باینری چک میکنه؟
                    اره دیگه مقدار یا 0 یا 1
                    ولتاژ 0 یا gnd حالا همون 0
                    و ولتاژ 5 ولت یا vcc همون1
                    منظورتون ولتاژ به پین ورودی یا تغذیه میکرو؟
                    امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

                    دیدگاه


                      #11
                      پاسخ : اشکال در برنامه نویسی

                      ببینید اینا با منطق TTL کار میکنند
                      تو این منطق که بازه ولتاژ تغذیه بین 0 تا 5 قرار داره ، ولتاژ حدود 2.5 ولت به بالا 1 منطقی به حساب میاد و حدود 2 ولت به پایین رو 0 منطقی در نظر میگیره و اون گپ بینش رو حالت نامعلوم هست که خروجی غیر قابل پیشبینی میده و توضیه هم میشه که هیچوقت ورودیهای منطقی تو اون محدوده ولتاژ قرار نداشته باشند...
                      تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                      www.intelart.ir


                      ساخت کنترلر دما PID فازي با AVR [آموزشی]

                      دیدگاه


                        #12
                        پاسخ : اشکال در برنامه نویسی

                        آهان...متوجه شدم چی شد
                        از هردو ممنونم خیلی کمک کردین

                        دیدگاه

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