اطلاعیه

Collapse
No announcement yet.

سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

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

    پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

    سلام دوستان
    یه راهنمایی
    من اگر بخوام تو if بنویسم اگر a=b و c=d دقیقا چطوری باید بنوسیم
    ایطوری درسته
    if(a=b && c=d)
    مموم
    وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
    شما به سمت قوی تر شدن تغییر مسیر دهید

    دیدگاه


      پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

      کد:
      if(a==b & c==d)
      گفت که دیوانه نهی لایق این خانه نهی

      دیدگاه


        پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

        سپاسگذارم
        من دارم یه ساعت درست میکنم
        میخوام وقتی زمان آلارم با زمان ساعت یکی شد بیزر به صدا در بیاد
        اینوطوری مینویسم شرط رو
        if(hore==horealarm & minute== minutealarm
        ولی این ارور رو میده کد ویژن

        the expression must be a modifiable lvalue
        ممنون میشم راهنمایم کنید
        با نشکر
        وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
        شما به سمت قوی تر شدن تغییر مسیر دهید

        دیدگاه


          پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

          برنامتون رو کامل بذارید.
          به نظر نمیاد این دستور مشکلی داشته باشه
          گفت که دیوانه نهی لایق این خانه نهی

          دیدگاه


            پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

            /************************************************** ***
            This program was produced by the
            CodeWizardAVR V2.05.3 Standard
            Automatic Program Generator
            © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
            http://www.hpinfotech.com

            Project :
            Version :
            Date : 10/3/2014
            Author : PerTic@n
            Company : If You Like This Software,Buy It
            Comments:


            Chip type : ATmega16
            Program type : Application
            AVR Core Clock frequency: 8.000000 MHz
            Memory model : Small
            External RAM size : 0
            Data Stack size : 256
            ************************************************** ***/

            #include <mega16.h>
            #include <delay.h>
            // Alphanumeric LCD functions
            #include <alcd.h>

            #include <stdlib.h>

            // Declare your global variables here
            int i;
            int second;
            int m;
            int h;

            int ma=10;
            int ha=10;
            float coun;
            char s[4];
            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=0xF0;
            DDRA=0x0F;


            // Port B 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
            PORTB=0x00;
            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=0xF0;
            DDRC=0xFF;

            // 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=0xFF
            // OC0 output: Disconnected
            TCCR0=0x00;
            TCNT0=0x00;
            OCR0=0x00;

            // Timer/Counter 1 initialization
            // Clock source: System Clock
            // Clock value: Timer1 Stopped
            // Mode: Normal top=0xFFFF
            // 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=0xFF
            // 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;

            // USART initialization
            // USART disabled
            UCSRB=0x00;

            // Analog Comparator initialization
            // Analog Comparator: Off
            // Analog Comparator Input Capture by Timer/Counter 1: Off
            ACSR=0x80;
            SFIOR=0x00;

            // ADC initialization
            // ADC disabled
            ADCSRA=0x00;

            // SPI initialization
            // SPI disabled
            SPCR=0x00;

            // TWI initialization
            // TWI disabled
            TWCR=0x00;

            // Alphanumeric LCD initialization
            // Connections are specified in the
            // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
            // RS - PORTC Bit 3
            // RD - PORTD Bit 7
            // EN - PORTD Bit 6
            // D4 - PORTB Bit 4
            // D5 - PORTB Bit 5
            // D6 - PORTB Bit 6
            // D7 - PORTB Bit 7
            // Characters/line: 8
            lcd_init(16);



            while (1)
            {
            PORTC.0=0;
            for (h=0;h<25;h++)
            {
            for (m=0;m<60;m++)
            {
            for (second=0;second<60;second++)
            {
            //if(PIND.2==0)
            PORTA=0xff;

            //-----ROW1-----
            PORTA.0=0;
            delay_ms(3);
            if(PINA.4==0) {delay_ms(10);h++;delay_ms(5);}
            if(PINA.5==0) {delay_ms(10);m++;delay_ms(5);}
            if(PINA.6==0) {delay_ms(10);ha++;delay_ms(5);}
            if(PINA.7==0) {delay_ms(10);ma++;delay_ms(5);}
            PORTA.0=1;
            if( h==ha & m==ma)
            {
            PORTC.0=1;
            delay_ms(110);
            PORTC.0=0;
            delay_ms(110);
            }


            lcd_gotoxy(6,0);
            itoa(second,s);
            lcd_puts(s);
            lcd_putsf(" "
            delay_ms(10);

            lcd_gotoxy(3,0);
            itoa(m,s);
            lcd_puts(s);
            lcd_putsf(" "
            delay_ms(10);

            lcd_gotoxy(0,0);
            itoa(h,s);
            lcd_puts(s);
            lcd_putsf(" "
            delay_ms(10);



            lcd_gotoxy(3,1);
            itoa(ma,s);
            lcd_puts(s);
            lcd_putsf(" "
            delay_ms(10);

            lcd_gotoxy(0,1);
            itoa(ha,s);
            lcd_puts(s);
            lcd_putsf(" "
            delay_ms(10);


            }

            }

            }


            }
            }
            میدونم این برنامه زیاد دقیق نیست برای ساعت اما فعلا فقط تسته
            اون مشکل حل شد
            اما الان به یه مشکل دیگه خوردم اونم اینکه الان ثانیه سر پنجاه و نه صفر میشه اما دقیقه سر پنجاه و نه و ساعت سر بیست و چهار صفر نمیشه و همین طوری زیاد میشن
            میشه اگر وقت دارید یه نگاه بندازید
            شرمندم
            وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
            شما به سمت قوی تر شدن تغییر مسیر دهید

            دیدگاه


              پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

              طبق این برنامه باید صفر بشه.
              مگر اینکه با اون پایه ها مقدارش رو اضافه کنید.
              کد:
              if(PINA.4==0) {delay_ms(10);h++;delay_ms(5);}
                       if(PINA.5==0) {delay_ms(10);m++;delay_ms(5);}
              گفت که دیوانه نهی لایق این خانه نهی

              دیدگاه


                پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                ممنونم مشکل حل شد تو اضافه کردن با کلیدها بهش نگفته بودم که تا کجا زیاد شه و کجا صفر شه
                حالا یه سوال دیگه
                میشه راهنمایئم کنید اگر بخوام تبدیلش کنم به کی بردی مثل کی برد موبایل که مثلا با زدن کلید دو اول 2 و بعد a و بعد b و بعد c رو چاپ کنه
                من خودم اینو نوشتم اما جواب نداد
                PORTA.2=0;
                delay_ms(3);
                while(PINA.4==0)
                {
                delay_ms(5);

                for(j=0;j<4;j++)
                {
                delay_ms(10);
                if(j=0){ key=2;}
                delay_ms(10);
                if(j=0) {key=;}
                delay_ms(10);
                if(j=0){ key=a;}
                delay_ms(10);
                if(j=0){ key=b; }

                }

                وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
                شما به سمت قوی تر شدن تغییر مسیر دهید

                دیدگاه


                  پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                  منظورتونو نفهمیدم
                  گفت که دیوانه نهی لایق این خانه نهی

                  دیدگاه


                    پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                    ببینید شما وقتی تو موبایلهای قدیمی مثلا نوکیا اگر میخواتید کلمه a را بزنید باید دوبار کلید دو رو میزدید یا مثلا برای زدن c باید سه بار د رو بزنید
                    منظورم این بود
                    وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
                    شما به سمت قوی تر شدن تغییر مسیر دهید

                    دیدگاه


                      پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                      پیاده سازیش یکم سخته.
                      اما روال کارش به این شکله که وقتی کلید زده شد کاراکتر اول مدنظر است و یک تایمر را فعال کنید. اگر تایمر سرریز نشده بود و همان کلید دوباره زده شد. کاراکتر دوم مد نظز است و تایمر دوباره صفر میشود و به همین ترتیب تا آخر.
                      حالا اگه تایمر سرریز شد کاراکتر مورد نظر چاپ میشه
                      گفت که دیوانه نهی لایق این خانه نهی

                      دیدگاه


                        پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

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

                        دیدگاه


                          پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                          من خودم دنبال همچین برنامه ای میگردم ولی هیچ کجا پیدا نکردم

                          دیدگاه


                            پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)


                            من یه برنامه ای میخوام که دوزمان on-off جداگانه داشته باشه (یعنی میخوام درروز دو لامپ جداکانه
                            روشن خاموش کنه ) که این زمان ها با دکمه قابل تغییر باشه و درحافظه eeprom سیو شود و هربار سیو شود که باقطع برق تنظیماتش زمان های وارده بهم نخورد و از ds1307 برای زمان نمایش lcd استفاده شود.
                            فکر کنم باید از مگا32 استفاده شود
                            البته اینهم بگم این برنامه که میگم رایگان درهیچ سایتی وجود نداره .
                            خیلی خیلی ممنون میشم کمکم کنید .

                            دیدگاه


                              پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                              نوشته اصلی توسط alimomtad
                              من یه برنامه ای میخوام که دوزمان on-off جداگانه داشته باشه (یعنی میخوام درروز دو لامپ جداکانه
                              روشن خاموش کنه ) که این زمان ها با دکمه قابل تغییر باشه و درحافظه eeprom سیو شود و هربار سیو شود که باقطع برق تنظیماتش زمان های وارده بهم نخورد و از ds1307 برای زمان نمایش lcd استفاده شود.
                              فکر کنم باید از مگا32 استفاده شود
                              البته اینهم بگم این برنامه که میگم رایگان درهیچ سایتی وجود نداره .
                              خیلی خیلی ممنون میشم کمکم کنید .
                              خیلی کلی گفتین.
                              برنامتون رو به قسمت های کوچکتر تقسیم کنید تا کم کم پیش بریم.
                              در ضمن من c کارر میکنم
                              گفت که دیوانه نهی لایق این خانه نهی

                              دیدگاه


                                پاسخ : سوالات مربوط به زبان C و کدویژن(در میکرو AVR)

                                [move] :read: [/move]
                                سلام به همه اساتید ی سوال داشتم

                                من از زبان c وکامپایلر codvision استفاده میکنم

                                الان یمدته که میخوام زمان اجرای دستوراتم حساب کنم

                                مثلا یه دستور while چقدر زمان میگیره

                                یا یه دستور if و

                                یک خط ساده دستور .....

                                چطور میتونم اینارو حساب کنم
                                ممنون
                                اگه رفرنس خارجی هم دارید لینک بدید میخونم

                                دیدگاه

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