اطلاعیه

Collapse
No announcement yet.

برنامه نویسی XMEGA با Bascom-AVR

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

    #31
    پاسخ : برنامه نویسی XMEGA با Bascom-AVR

    شما باید ابتدا یکی از پایه ها را به عنوان منبع Event به یکی از کانال های Event system نسبت دهید و بعد کانال مورد نظر را برای تایمر به عنوان منبع Event تعیین کنید. این درحالی است که در کد شما چنین کاری انجام نشده و علاوه بر آن عبارت EVENT_SOURCE= TOP هم نوشته شده که درست نیست.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #32
      پاسخ : برنامه نویسی XMEGA با Bascom-AVR

      خیلی ممنون آقای طراح @};-
      راستش حالت های مختلف رو امتحان کردم ولی در نهایت نتونستم روی شمارش پالس تنظیمش کنم ، اگه میشه بی زحمت تنظیمات مربوط به حالت شمارش پالس ورودی روی پایه c.4 که تایمر1 هست رو بعنوان نمونه بزارید
      بعد چطوری میشه تعداد پالس هایی که به وقفه نرفته رو خوند ؟ توی سری mega دستور a=counter1 مینوشتیم و مقدار لحظه ای کانتر رو بهمون میداد ولی برای xmega اگه بنویسم a=tcc1 ارور میگیره . :sad:

      دیدگاه


        #33
        پاسخ : برنامه نویسی XMEGA با Bascom-AVR

        من یکبار دیگر پست های شما را بصورت دقیق تر مطالعه کردم و بر اساس آن این توضیح را لازم می بینم که اندازه گیری فرکانس با روش مورد نظر شما که شمارش تعداد پالسها در یک ثانیه است، ارتباطی با قابلیت Frequency capture در XMEGA ندارد که از روی یک سیکل می توان فرکانس موج را حساب کرد. در روش دوم یک لبه مشخص موجب capture کردن مقدار تایمر و صفر کردن آن خواهد شد و بنابراین با معلوم بودن فرکانس تایمر می توان از روی یک سیکل آن فرکانس لحظه ای را محاسبه کرد. در اینحالت منبع کلاک تایمر از کلاک سیستم و عددی ثابت است. اما در روش مورد نظر شما افزایش مقدار تایمر توسط یک پالس بیرونی انجام می شود و مقدار تغییرات آن در یک ثانیه نشان دهنده فرکانس است. در کدهای نوشته شده از طرف شما هم یکسری اشکالات وجود دارد (مانند عدد 31250 که با فرض کلاک 32 مگاهرتز باید 31249 باشد). یک مسئله دیگر این است که در دستورهای بسکام برای یکسری از تنظیمات در XMEGA ظاهرا گزینه ای وجود ندارد و باید بصورت مستقیم به رجیسترها مقدار دهی کرد. بر این اساس برای آنکه لبه بالا رونده PC4 مقدار TCC1 را افزایش دهد، می توانید بنویسید:

        Portc_pin4ctrl = &H01
        Config Event_system = 0 , Mux0 = Portc.4
        Config Tcc1 = Normal , Prescale = E0


        ضمنا برای دسترسی به مقدار تایمر در TCC1 می توانید از عبارت TCC1_CNT استفاده کنید.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #34
          پاسخ : برنامه نویسی XMEGA با Bascom-AVR

          با سلام و عرض ادب
          برنامه ای با بسکام برای اندازه گیری مقدار مقاومت و خازن نوشته ام . ولی رفتارهای بسیار عجیب و غریب و به نظر نامعقولی در ADC میبینم. مثلا مقدار adc با تغییر مقدار مقاومت هیچ تغییری نمی کند و حتی حذف کردن مقدار mux تابع getadc در بعضی وقتا باعث نمایش مقدار adc میشود در حالیکه بعضی موارد حذف کردنش هیچ تغییری ایجاد نمیکنه و در بعضی موارد هم بودنش مقدار adc را 0.0 نشان می دهد. یعنی برنامه هیچ ثباتی نداره و هر دفعه که روشن و خاموش میشه و یک برنامه یکم تغییر پیدا میکنه و دوباره به حالت اولش برمیگرده یک رفتار متفاوت نشون میده.
          میشه لطفا برنامه را چک کنید و بگید ایراد من کجاست ؟
          متشکرم

          Config Adca = Single , Convmode = Unsigned , Resolution = 12bit , Dma = Off , Reference = Arefa , Event_mode = None , Prescaler = 8 , _
          Ch0_gain = 1 , Ch0_inp = Single_ended , Mux0 = 0 , Ch1_gain = 1 , Ch1_inp = Single_ended , Mux1 = 0 , Ch2_gain = 1 , Ch2_inp = Single_ended , Mux2 = 0 , _
          Ch3_gain = 1 , Ch3_inp = Single_ended , Mux3 = 0
          Config Adcb = Single , Convmode = Unsigned , Resolution = 12bit , Dma = Off , Reference = Arefa , Event_mode = None , Prescaler = 8 , _
          Ch0_gain = 1 , Ch0_inp = Single_ended , Mux0 = 0 , Ch1_gain = 1 , Ch1_inp = Single_ended , Mux1 = 0 , Ch2_gain = 1 , Ch2_inp = Single_ended , Mux2 = 0 , _
          Ch3_gain = 1 , Ch3_inp = Single_ended , Mux3 = 0
          Config Eeprom = Mapped
          Config Single = Scientific , Digits = 3



          Main:

          Wait 2
          Cls
          Cursor Off

          Relay2 = 1
          X4_5a6 = Getadc(adca , 0 , 40)

          Locate 5 , 3
          Lcd X4_5a6

          Locate 6 , 3
          Sngl = X4_5a6
          Lcd Sngl



          Filter = 0
          Relay2 = 1
          Waitms 100
          X4_5a6 = Getadc(adca , 0 )
          'If X4_5a6 < 2600 Then
          Waitms 100
          For M10 = 0 To 500
          Waitms 10
          X4_5a6 = Getadc(adca , 0 , 40 )
          Locate 9 , 10
          Lcd X4_5a6
          Wait 3
          Filter = X4_5a6 + Filter
          Next M10

          Filter = Filter / 500
          X4_5a6 = Filter

          Locate 10 , 10
          Lcd Filter




          End


          دیدگاه


            #35
            پاسخ : برنامه نویسی XMEGA با Bascom-AVR

            لطفا توضیح دهید که از کدام پین به عنوان ورودی استفاده می کنید و ورودی Reference را به چه پینی و چه ولتاژی متصل کرده اید؟
            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه


              #36
              پاسخ : برنامه نویسی XMEGA با Bascom-AVR

              با تشکر از توجه شما
              جناب طراح ، با توجه به اینکه اطلاعاتی در ارتباط با ولتاژ مرجع و ... خواسته بودید ، آنها را در این پست ضمیمه کردم. متشکرم


              دیدگاه


                #37
                پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                دستور Start adcb را قبل از استفاده از adcb قرار دهید و نتیجه را اطلاع دهید.
                اوژن: به معنای افکننده و شکست دهنده است
                دانایی، توانایی است-Knowledge is POWER
                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                دیدگاه


                  #38
                  پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                  از channel B در این پروژه استفاده نکردم ولی دستوری رو که فرمودین قبل از getadc گذاشتم ولی نتیجه ای حاصل نشد.
                  با توجه به برنامه زیر در حال حاضر مقادیر خروجی به این صورت است :

                  Dim X4_5a6 As Word

                  Main:

                  Wait 2
                  Cls
                  Cursor Off

                  Relay2 = 1

                  X4_5a6 = Getadc(adca , 0 , 40)
                  Locate 5 , 3
                  Lcd X4_5a6 '=1109



                  Waitms 10

                  X4_5a6 = Getadc(adca , 0 , 40 )
                  Locate 9 , 10
                  Lcd X4_5a6 '=846




                  End



                  دیدگاه


                    #39
                    پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                    منظور همان adca بود که بدلیل کثرت استفاده از adcb بدان صورت نوشته شد. در مورد مشکل شما مواردی را مطرح می کنم تا شاید مسئله حل شود.
                    1- از آنجایی که از مد single conversion استفاده کرده اید و با توجه به ابهام در Help بسکام، برای امتحان یک دستور start adca را قبل از خواندن مقادیر قرار دهید و وقفه کمی هم بین این دستور و getadc بنویسید. یک روش دیگر قرار دادن Adc در مد Free running است.
                    2- در نسخه های اولیه XMEGA بهترین جواب از نظر عدم تغییرات در مد Signed حاصل می شود و حتی الامکان از این مد استفاده کنید.
                    3-در صورت امکان ولتاژ ورودی به ADC را با اسیلوسکوپ مشاهده کنید تا به هر دلیل نویزی روی آن قرار نداشته باشد.
                    4- کلاک ADC را با توجه به کلاک peripheral انتخاب کنید. زیرا در صورت بالا بردن کلاک تا 32 مگاهرتز، مقدار prescaler انتخاب شده صحیح نیست.
                    اوژن: به معنای افکننده و شکست دهنده است
                    دانایی، توانایی است-Knowledge is POWER
                    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                    دیدگاه


                      #40
                      پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                      از توجه شما بسیار سپاسگذارم .
                      متاسفانه با این تغییرات هم مشکلم برطرف نشده است.
                      ولی یک مساله را به صورت سطحی یاد گرفتم . اگر برایم کمی توضیح دهید شاید کمک شایانی باشد.
                      در دستور getadc مقادیر channel و mux را چطور و با توجه به چه پارامترهایی تعیین می کنید . با توجه به عکس زیر من چطور میتوانم در محیط بسکام تعیین کنم که adc8a مقدارش خوانده شود (که در اینجا پین A.7 می باشد )؟ و اینکه شما مقدار mux را معمولا براساس چه پارامترهایی محاسبه میکنید؟ متشکرم

                      دیدگاه


                        #41
                        پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                        مطابق توضیحات در Help بسکام، مقدار MUX معرف رجیستر MUXCTRL مربوط به هر کانال است ( صفحه 310 در XMEGA A Manual) و با توجه به توضیحات این رجیستر و این موضوع که از مد single ended برای کانال های ADCA استفاده کرده اید، برای اتصال PA7 به کانال صفر باید MUX0=56 را قرار دهید.
                        اوژن: به معنای افکننده و شکست دهنده است
                        دانایی، توانایی است-Knowledge is POWER
                        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                        دیدگاه


                          #42
                          پاسخ : برنامه نویسی XMEGA با Bascom-AVR

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

                          مساله : به دست آوردن تغییرات ولتاژ روی پین های ورودی x4_5b و X4_6b به واسطه قرار دادن مقاومت های متفاوت بین این دو پین و اندازه گیری و نمایش ADC مربوط به آن روی LCD .( با توجه به عکس زیر)
                          نکته: در حال حاضر بین این دو پین ولتاژ وجود دارد و به واسطه قرار گرفتن مقاومت بین این دو پین ولتاژ بین این دو پین تغییر می کند ( تغییرات ولتاژ را با ولت متر اندازه گرفتم )
                          مشکل : مقداری ADC که روی LCD نمایش داده می شود همواره مقدار ثابیتی برابر با 2047 دارد و با تغییر مقاومت و اتصال کوتاه و باز کردن ، مقدار آن هیچ تغییری نمی کند در حالی که مقدار آن باید با تغییرات ولتاژ این دو پین تغییر کند !!!

                          Config Adca = Free , Convmode = Signed , Resolution = 12bit , Dma = Off , Reference = Arefa , Event_mode = None , Prescaler = 8 , _
                          Ch0_gain = 1 , Ch0_inp = Single_ended , Mux0 = 56 , Ch1_gain = 1 , Ch1_inp = Single_ended , Mux1 = 0 , Ch2_gain = 1 , Ch2_inp = Single_ended , Mux2 = 0 , _
                          Ch3_gain = 1 , Ch3_inp = Single_ended , Mux3 = 0

                          Config Single = Scientific , Digits = 3

                          Dim X4_5a6 As Word

                          Main:

                          Wait 2
                          Cls
                          Cursor Off


                          Relay2 = 1
                          Waitms 200
                          Start Adca
                          Waitms 500

                          X4_5a6 = Getadc(adca , 0 , 56)
                          Locate 2 , 10
                          Lcd X4_5a6

                          End

                          دیدگاه


                            #43
                            پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                            نوشته اصلی توسط mehrdadkey2
                            نکته: در حال حاضر بین این دو پین ولتاژ وجود دارد و به واسطه قرار گرفتن مقاومت بین این دو پین ولتاژ بین این دو پین تغییر می کند ( تغییرات ولتاژ را با ولت متر اندازه گرفتم )
                            با توجه به وجود بهره ای حدود 23.4 در تقویت کننده شما، آیا خروجی تقویت کننده را هم اندازه گیری کرده اید تا مقدار آن از Vref بیشتر نباشد؟ در صورتی که این ولتاژ در وضعیت صحیح قرار داشته باشد، در مرحله اول بهتر است از طریق یک پتانسیومتر ولتاژی را از صفر تا Vref به ورودی ADC اعمال کنید (بعد از قطع ارتباط تقویت کننده) و بعد از جواب گرفتن از عملکرد آن، خروجی تقویت کننده را متصل کنید. یک بحث جانبی در رابطه با جواب گرفتن از بسکام در کاربرد های مختلف، قرار دادن مقادیر مناسب برای swstack و hwstack است که با توجه به کامل نبودن برنامه شما، نمی توان قضاوتی را در این مورد انجام داد.
                            اوژن: به معنای افکننده و شکست دهنده است
                            دانایی، توانایی است-Knowledge is POWER
                            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                            دیدگاه


                              #44
                              پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                              با سلام دوباره خدمت مهندسین و استادان عزیز
                              فرکانس متر رو با کمک دوستان بویژه آقای طراح تونستم عملی کنم ولی یه مشکل عجیب داره،
                              اول از همه این کد برنامه هست :
                              کد:
                              $regfile = "xm16a4def.dat"
                              $crystal = 8000000
                              $hwstack = 40
                              $swstack = 16
                              $framesize = 32
                              $lib "xmega.lib"
                              $external _xmegafix_clear
                              $external _xmegafix_rol_r1014
                              Config Osc = Enabled , 32mhzosc = Enabled
                              Config Sysclock = 32mhz , Prescalea = 4 , Prescalebc = 1_1
                              Config Lcd = 16 * 2
                              Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
                              Config Priority = Static , Vector = Application , Lo = Enabled , Med = Enabled , Hi = Enabled
                              
                              
                              Config Pind.0 = Output
                              
                              
                              'timer0 portc config (frequency timer)
                              Config Tcc0 = Normal , Prescale = 8
                              Tcc0_per = 250
                              On Tcc0_ovf Tc0_isr
                              Enable Tcc0_ovf , Lo
                              Enable Interrupts
                              Stop Tcc0
                              Start Tcc0
                              
                              'timer0 portd config (tolid pulse)
                              Config Tcd0 = Normal , Prescale = 8
                              Tcd0_per = 200
                              On Tcd0_ovf Td0_isr
                              Enable Tcd0_ovf , Lo
                              Stop Tcd0
                              Start Tcd0
                              
                              'timer1 portc config(shomaresh tedad pulse be paye c.4)
                              Portc_pin4ctrl = &H01
                              Config Event_system = 0 , Mux0 = Portc.4
                              Config Tcc1 = Normal , Prescale = E0
                              Tcc1_per = 50000
                              On Tcc1_ovf Tc1_isr
                              Enable Tcc1_ovf , Hi
                              Stop Tcc1
                              Start Tcc1
                              
                              
                              Dim I As Word
                              Dim W As Word
                              Dim A As Word
                              Dim P As Word
                              Dim P2 As Single
                              
                              Do
                              Loop
                              
                              End
                              
                              
                              'timer0 portc
                              Tc0_isr:
                              Stop Tcc0
                              I = I + 1
                              
                              If I = 4000 Then
                              Stop Tcc0
                              Cls
                              Locate 1 , 1
                              Lcd "frequnce "
                              Locate 2 , 1
                              P2 = P * 50000
                              P2 = P2 + Tcc1_cnt
                              Lcd ; P2
                              I = 0
                              P = 0
                              P2 = 0
                              Tcc1_cnt = 0
                              End If
                              Start Tcc0
                              Return
                              
                              
                              'timer0 portd
                              Td0_isr:
                              Stop Tcd0
                              Toggle Portd.0
                              Start Tcd0
                              Return
                              
                              'timer1 portc
                              Tc1_isr:
                              Stop Tcc1
                              P = P + 1
                              Tcc1_cnt = 0
                              Start Tcc1
                              Return


                              خوب اما مشکل ، همونطور که توی برنامه میبینید فرکان 2500( Tcd0_per = 200 ) توسط پایه d.0 خود میکرو تولید و به پایه c.4 برای اندازه گیری داده شد. (توسط یک رشته سیم کوتاه)عددی که روی lcd نشون میده حدود 2525 هست که میشه گفت تقریبا درسته ، ولی هر چی فرکانس رو بیشتر میکنم این مقدار خطا بیشتر میشه
                              مثلا برای حالتی که فرکانس باید 10000 نشون داده بشه (Tcd0_per = 50 )، روی lcd عدد 9819 میاد ، یا بجای فرکانس 20k حدود 18897 نشون میده !
                              این همه ماجرا نیست و وقتی دامنه رو کوچیکتر میکنم (Tcd0_per = 10 ) عدد 37757 رو نشون میده و دیگه بیشتر از این مقدار نمیشه ! یعنی اگهTcd0_per = 1 هم بزارم باز همون 37757 نشون میده !
                              جایی سوتی دادم ؟ :mrgreen: لطفا اینبار هم به کمک این تازه وارد بیایید

                              دیدگاه


                                #45
                                پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                                این مسئله اصلا عجیب نیست که با افزایش فرکانس، خطاهایی ایجاد شود. دلیل این امر این است که کدهای نوشته شده در روتین وقفه برای اجرا زمانی رابه خود اختصاص می دهند که اگر این زمان نسبت به تقاضای وقفه قابل مقایسه شود، امکان پاسخگویی به وقفه در زمان دقیق خود ممکن نخواهد شد. برای غلبه بر این امر اولا برنامه نوشته شده باید اصولی و بر اساس حداکثر بکارگیری توانایی های سخت افزار به جای نرم افزار باشد و دوم اینکه روتین ها حساس به زمان (time critical) باید تا حد ممکن کوتاه باشند.
                                در نمونه کد شما اولین اشکالی که به چشم می خورد، نوشتن کد مربوط به نمایش روی LCD و یکسری محاسبات در روتین وقفه است که باعث صرف زمان بی جهتی می شود و در مرحله اول باید این بخش اصلاح شود. برای تولید یک فرکانس هم نیاز به ایجاد وقفه و اشغال کردن وقت CPU نیست و برای تولید فرکانس می توانید از مدهای مربوطه در تایمر استفاده کنید.
                                اوژن: به معنای افکننده و شکست دهنده است
                                دانایی، توانایی است-Knowledge is POWER
                                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                                دیدگاه

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