اطلاعیه

Collapse
No announcement yet.

تولید پالس با avr

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

    تولید پالس با avr

    با سلام خدمت دوستان
    من میخوام با atmega8 یک پالس تولید کنم با دو تا ورودی یک ورودی برای افزایش پهنای پالس دیگری برای کاهش
    به طور مثال یک پریود 1000ms داریم هر بار که کلید 1 فشرده میشه به اندازه 100ms پهنای پالس زیاد بشه تا نهایت بعد از 10 بار فشرده شدن پالس 1000ms بالا باشه وبرعکس با هر بار فشردن کلید 2 100ms کم بشه تا به صفر برسه
    دوستان کسی میتونه برنامه c ش رو بنویسه؟نه با وقفه یا چیز دیگر
    با تشکر

    #2
    پاسخ : تولید پالس با avr

    سلام دادا.
    کاری نداره که. با تایمر راحت میشه نوشتش. اگه از کرستال ساعت استفاده کنی با دستورات پورت هم می تونی بنویسی.
    موفق باشی.
    تشکر لازم نیست!

    دیدگاه


      #3
      پاسخ : تولید پالس با avr

      نه منظور من با تایمر و این چیزا نبود با خود دستورات برنامه c میخواستم میتونی کمک کنی؟

      دیدگاه


        #4
        پاسخ : تولید پالس با avr

        سلام کاری نداره با دستور DELAY_MS می تونی- یه مقدار فکر کنی خودت بجواب می رسی
        نادانترين مردم کساني هستند که فکر مي کنند داناترين آنها هستند.

        دیدگاه


          #5
          پاسخ : تولید پالس با avr

          سلام دادا.
          اگه اینکارو نتونی انجام بدی که توی مراحل بعدی خیلی اذیت می شی. بهرحال.
          کد زیر یه یه پریود 1000 میلی ثانیه رو روی پورت A بوجود میاره.
          کد:
          PORTA.0=1;
          delay_ms(1000);
          PORTA0=0;
          delay_ms(1000);
          حالا اگه بخوای با یه میکرو سوییچ مقدار رو زیاد کنی اینکارو بکن
          (فرض بر اینکه سوییچ به پین 0 پورت B متل هست(PB.0))
          کد:
          if (PINB.0==1)
          time=time+100;
          if(time==2000)
          time=1000;
          PORTA.0=1;
          delay_ms(time);
          PORTA0=0;
          delay_ms(time);
          تشکر لازم نیست!

          دیدگاه


            #6
            پاسخ : تولید پالس با avr

            مرسی از جوابت
            من نمیدونستم تو پرانتز دستور delay میشه متغیر گذاشت پس میشه؟
            میرم بررسی میکنم جواب میدم
            ممنون

            دیدگاه


              #7
              پاسخ : تولید پالس با avr

              سلام دادا.
              من نمیدونستم تو پرانتز دستور delay میشه متغیر گذاشت.
              فرقی نکیکنه که.
              اصلاً میتونی برای گذاشتن تاخیر از تایمر استفاده کنی که خیلی دقیق تره. توی روال تایمر پورت رو خاموش و روشن کن. همین.
              تشکر لازم نیست!

              دیدگاه

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