اطلاعیه

Collapse
No announcement yet.

دستور شرطی

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

    دستور شرطی


    سلام و عرض ادب
    من تازه واردم
    یه دستور شرطی بنویسید
    که وقتی پورت b.0 یک شد روی lcd 2*16 حروفی یا عددی نمایش داده بشه
    تا عمر دارم دعاتون میکنم.
    هر چی سعی می کنم نمیتونم
    basic و c باشه
    :eek:

    #2
    پاسخ : دستور شرطی

    اگه با بیسیک میخوای میتونی یه همچین چیزی برای قسمت شرط بنویسی
    در اول برنامه مینویسی
    config portb=input
    بعد

    if pinb.o set then
    lcd "*****"
    end if

    احتمالا مشکلت مربوط به دستور pin باید باشه
    آنچه سرنوشت ما را تعیین می کند ، شرایط زندگی ما نیست بلکه تصمیم های ماست .
    آنتونی رابینز

    دیدگاه


      #3
      پاسخ : دستور شرطی

      سلام مشکلت این باشه
      من یه برنامه می نویسم اگر
      portb.0=1
      روی ال سی دی 1را نشون می ده و اگر 0 بو د 0 را نشون می ده
      [pre]
      کد:
      $regfile = "m16def.dat"
      $crystal = 12000000
      Config Portb = Input
      Config Lcd = 16 * 2
      Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6
      Do
      If Pinb.0 = 1 Then
      Locate 1 , 1 : Lcd "alan 1 hast"
      Locate 2 , 1 : Lcd "eca"
      Else
      Locate 1 , 1 : Lcd "alan 0 ast"
      End If
      Loop
      [/pre]
      در پروتیوس امتحان کن
      موفق باشی
      يادش بخير يه وقتايي هر روز ميومدم اينجا !

      دیدگاه


        #4
        پاسخ : دستور شرطی

        سلام و شاد باش و تشکر از توجه شما
        امتحانشون میکنم و میگم
        میخوام با ساختن یه پرژه منم وارد خونواده avr ها بشم و کتاب و سی دی دارم وکلی چیز دانلودم ولی اشکالم در استارت اولیه است که مطمئنا این مثالهای کوچیک درهای بزرگی به روم باز میشه
        به امید روزهای خوش برای شما

        دیدگاه


          #5
          پاسخ : دستور شرطی

          ُسلام
          برو مقاله آقا یک نفر را پدا کن و بخون و هر کجا مشکل داشتی بگو
          يادش بخير يه وقتايي هر روز ميومدم اينجا !

          دیدگاه


            #6
            پاسخ : دستور شرطی

            نوشته اصلی توسط milad_arm
            سلام مشکلت این باشه
            من یه برنامه می نویسم اگر
            portb.0=1
            روی ال سی دی 1را نشون می ده و اگر 0 بو د 0 را نشون می ده
            [pre]
            کد:
            $regfile = "m16def.dat"
            $crystal = 12000000
            Config Portb = Input
            Config Lcd = 16 * 2
            Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6
            Do
            If Pinb.0 = 1 Then
            Locate 1 , 1 : Lcd "alan 1 hast"
            Locate 2 , 1 : Lcd "eca"
            Else
            Locate 1 , 1 : Lcd "alan 0 ast"
            End If
            Loop
            [/pre]
            در پروتیوس امتحان کن
            موفق باشی
            نوشته اصلی توسط processor
            اگه با بیسیک میخوای میتونی یه همچین چیزی برای قسمت شرط بنویسی
            در اول برنامه مینویسی
            config portb=input
            بعد

            if pinb.o set then
            lcd "*****"
            end if

            احتمالا مشکلت مربوط به دستور pin باید باشه
            سلام
            امتحان کردم چواب نگرفتم
            شما هم امتجان کنید به من بگید
            :eek:

            دیدگاه


              #7
              پاسخ : دستور شرطی

              یعنی مزاحم نشم
              چشم
              :sad:

              دیدگاه


                #8
                پاسخ : دستور شرطی

                سلام
                بهتره نوع میکرو و پورت مربوط به lcd رو بزاری تا یه برنامه کامل بذاریم برات. lcd این برنامه روی پورت A ست شده و تازمانی که پین B.0 رو صفر نگه داری عبارت "PUSH" و به محض رها کردن عبارت "FREE" رو نمایش میده. پیشنهاد میکنم یه مقاومت 10k رو از پین b.0 به Vcc بدی و با یه سیم پین b.0 رو زمین کنی. ( یعنی Pullup کنی)
                موفق باشی.



                کد:
                /*****************************************************
                This program was produced by the
                CodeWizardAVR V2.04.4a Advanced
                Automatic Program Generator
                © Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
                http://www.hpinfotech.com
                
                Project : 
                Version : 
                Date  : 2010/09/20
                Author : NeVaDa
                Company : 
                Comments: 
                
                
                Chip type        : ATmega16
                Program type      : Application
                AVR Core Clock frequency: 2.000000 MHz
                Memory model      : Small
                External RAM size    : 0
                Data Stack size     : 256
                *****************************************************/
                
                #include <mega16.h>
                #include <delay.h>
                // Alphanumeric LCD Module functions
                #asm
                  .equ __lcd_port=0x1B ;PORTA
                #endasm
                #include <lcd.h>
                
                // Declare your global variables here
                
                void main(void)
                {
                // Declare your local variables here
                
                // Input/Output Ports initialization
                // Port A initialization
                // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                PORTA=0x00;
                DDRA=0x00;
                
                // Port B initialization
                // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P 
                PORTB=0xFF;
                DDRB=0x00;
                
                // Port C initialization
                // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                PORTC=0x00;
                DDRC=0x00;
                
                // Port D initialization
                // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
                PORTD=0x00;
                DDRD=0x00;
                
                // Timer/Counter 0 initialization
                // Clock source: System Clock
                // Clock value: Timer 0 Stopped
                // Mode: Normal top=FFh
                // OC0 output: Disconnected
                TCCR0=0x00;
                TCNT0=0x00;
                OCR0=0x00;
                
                // Timer/Counter 1 initialization
                // Clock source: System Clock
                // Clock value: Timer1 Stopped
                // Mode: Normal top=FFFFh
                // OC1A output: Discon.
                // OC1B output: Discon.
                // Noise Canceler: Off
                // Input Capture on Falling Edge
                // Timer1 Overflow Interrupt: Off
                // Input Capture Interrupt: Off
                // Compare A Match Interrupt: Off
                // Compare B Match Interrupt: Off
                TCCR1A=0x00;
                TCCR1B=0x00;
                TCNT1H=0x00;
                TCNT1L=0x00;
                ICR1H=0x00;
                ICR1L=0x00;
                OCR1AH=0x00;
                OCR1AL=0x00;
                OCR1BH=0x00;
                OCR1BL=0x00;
                
                // Timer/Counter 2 initialization
                // Clock source: System Clock
                // Clock value: Timer2 Stopped
                // Mode: Normal top=FFh
                // OC2 output: Disconnected
                ASSR=0x00;
                TCCR2=0x00;
                TCNT2=0x00;
                OCR2=0x00;
                
                // External Interrupt(s) initialization
                // INT0: Off
                // INT1: Off
                // INT2: Off
                MCUCR=0x00;
                MCUCSR=0x00;
                
                // Timer(s)/Counter(s) Interrupt(s) initialization
                TIMSK=0x00;
                
                // Analog Comparator initialization
                // Analog Comparator: Off
                // Analog Comparator Input Capture by Timer/Counter 1: Off
                ACSR=0x80;
                SFIOR=0x00;
                
                // LCD module initialization
                lcd_init(16);
                
                while (1)
                  {
                   if (PINB.0==0)
                    {
                     lcd_clear();
                     lcd_putsf("PUSH");
                     delay_ms(700);
                    }
                   else
                    {
                     lcd_clear();
                     lcd_putsf("FREE");
                     delay_ms(100);
                    }
                  };
                }
                تشکر لازم نیست!

                دیدگاه


                  #9
                  پاسخ : دستور شرطی

                  یعنی مزاحم نشم
                  دوست عزیز همین طور که گفتند باید مشکلت رو بیان کنی
                  چون برنامه نوشته شده درسته شاید توی سخت افزار یا ... باشه
                  اینطوری راحت تر میشه کمکت کرد . :read:

                  ************************************************** ***
                  برای کسی که قدرت صبر کردن دارد تمام درها باز شدنی است .
                  آنچه سرنوشت ما را تعیین می کند ، شرایط زندگی ما نیست بلکه تصمیم های ماست .
                  آنتونی رابینز

                  دیدگاه


                    #10
                    پاسخ : دستور شرطی

                    سلام
                    اگه مشخصات پایه lcd و... را بدی بهتر می شه

                    متاسفانه با ایرانسل می یام سرعت پلد نداره
                    يادش بخير يه وقتايي هر روز ميومدم اينجا !

                    دیدگاه


                      #11
                      پاسخ : دستور شرطی

                      سلام
                      عرض به حضور محترمتان که
                      با بیسکام تونستم که نوشته ای روی lcdنمایش بدم یا شیفت راست و چپش کنم و یا با تعریف زمان نوشته های نمایش بدم
                      ولی با هر مثالی که پیش میرم نمیتونم نوشته ای را به شرط ست و یا ریست نمایش بدم

                      دیدگاه

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