صفحه 1 از 2
استفاده از کلید در میکرو
ارسال شده: چهارشنبه ۱۱ فروردین ۱۳۹۵, ۴:۵۷ ب.ظ
توسط javad_2010
سلام
با استفاده از منطق ۰و ۱ میشه به میکرو فهموند که یه کاری انجام بده،مثلا پایه ایی رو صفر یا یک کنه.این میشه کلید
اما وقتی این کارو انجام میدیم با استفاده از دستور if,این کلید فقط یکبار دستور حلقه رو انجام میده،وبعد از اتمام دستور با فشردن مجدد کلید دیگه دستور انجام نمیشه!!!
چطور میشه دوباره کلید از نو بشه؟؟؟
یعنی کلید بازم عمل کنه،نه فقط یکبار
If(PINB.0==1)
}
Delay_ms(25);
While(PINB.0==0);
دستورات
{
Re: استفاده از کلید در میکرو
ارسال شده: چهارشنبه ۱۱ فروردین ۱۳۹۵, ۵:۲۶ ب.ظ
توسط sinaset
سلام بر شما
معمولا از چند راه کار استفاده میشه .
یکی از این رها معمولا یک مقاومت پول آپ (یا پول دان) مخالف به پین مربوطه وصل میشود،تا درصورتی که کلید رها شد،وضعیت کلید به حالت اول برگردد ..
مثالی که ذکر کردید
Please Login or Register to see this codeدر این وضعیت شما باید یک مقاومت 10 تا 4.7 کیلواهم از GND به پایه مربوط وصل کنید.
در این وضعیت وقت کلید را فعال کنید،پایه 1 میشود،وقتی که کلید رها شود فوری GND میشود .. (یا همون 0 میشود)
راهایی دیگری نیز وجود دارد،ولی مقاومت های پول آپ و پول دان دقت کارها را بیشتر افزایش میدهد.
باتشکر.
Re: استفاده از کلید در میکرو
ارسال شده: چهارشنبه ۱۱ فروردین ۱۳۹۵, ۵:۳۸ ب.ظ
توسط javad_2010
sinaset نوشته شده:سلام بر شما
معمولا از چند راه کار استفاده میشه .
یکی از این رها معمولا یک مقاومت پول آپ (یا پول دان) مخالف به پین مربوطه وصل میشود،تا درصورتی که کلید رها شد،وضعیت کلید به حالت اول برگردد ..
مثالی که ذکر کردید
Please Login or Register to see this codeدر این وضعیت شما باید یک مقاومت 10 تا 4.7 کیلواهم از GND به پایه مربوط وصل کنید.
در این وضعیت وقت کلید را فعال کنید،پایه 1 میشود،وقتی که کلید رها شود فوری GND میشود .. (یا همون 0 میشود)
راهایی دیگری نیز وجود دارد،ولی مقاومت های پول آپ و پول دان دقت کارها را بیشتر افزایش میدهد.
باتشکر.
با سلام
اینکارو انجام دادم تو محیط پروتئس،وقتی شبیه سازی میکنم انجام نمیشه
Re: استفاده از کلید در میکرو
ارسال شده: چهارشنبه ۱۱ فروردین ۱۳۹۵, ۶:۱۲ ب.ظ
توسط sinaset
سلام بر شما
پایه مربوط را چطور تعریف کردید امپیدانس را بالا بردید ی که خیر؟! در صورت امکان کدهایی برنامه خود را در اینجا قرار دهید.
باتشکر.
Re: استفاده از کلید در میکرو
ارسال شده: چهارشنبه ۱۱ فروردین ۱۳۹۵, ۶:۳۸ ب.ظ
توسط javad_2010
Please Login or Register to see this code
Re: استفاده از کلید در میکرو
ارسال شده: چهارشنبه ۱۱ فروردین ۱۳۹۵, ۶:۴۶ ب.ظ
توسط sinaset
با سلام
به اجازه پست شما رو ویرایش کردم و در کد: قرار دادم.(لطفا در پست های بعدی درون کد: قرار بدهید)
درست نمی دونم چه کاری می خواهید انجام دهید. اما وقتی پورت را به عنوان خروجی تعریف کردید باید از دستور PORT استفاده کنید،که در برنامه بالا از PIN استفاده کرده اید .
پول اپ را هم فعال کنید.. بعد از DDRB.0=1 بنویسید PORTB.0=0x00
باقی دستورات پورت B را به صورت PORTB بنویسید.
باتشکر.
Re: استفاده از کلید در میکرو
ارسال شده: چهارشنبه ۱۱ فروردین ۱۳۹۵, ۱۰:۴۷ ب.ظ
توسط javad_2010
sinaset نوشته شده:با سلام
به اجازه پست شما رو ویرایش کردم و در کد: قرار دادم.(لطفا در پست های بعدی درون کد: قرار بدهید)
درست نمی دونم چه کاری می خواهید انجام دهید. اما وقتی پورت را به عنوان خروجی تعریف کردید باید از دستور PORT استفاده کنید،که در برنامه بالا از PIN استفاده کرده اید .
پول اپ را هم فعال کنید.. بعد از DDRB.0=1 بنویسید PORTB.0=0x00
باقی دستورات پورت B را به صورت PORTB بنویسید.
باتشکر.
بازم نشد
کلید فقط یه بار عمل میکنه
من یه بیتو فقط عنوان خروجی تعریف کردم،باتوجه به کم بودن تعداد پایه tiny45
Re: استفاده از کلید در میکرو
ارسال شده: پنجشنبه ۱۲ فروردین ۱۳۹۵, ۸:۰۵ ق.ظ
توسط sinaset
سلام بر شما
پست قبلی شما رو اشتباه مطالعه کردم.. شما DDRB.0 رو به عنوان خروجی قرار دادید و DDRB.1 رو صفر قرار دادید (به عنوان ورودی) .. (پس نیازی به استفاده از دستور پورت نیست چون DDRB.1 صفر می باشد)
می خواهید پورت 1 حدود 6 بار خاموش و روشن شود؟!
برنامه رو براتون اصلاح کردم
Please Login or Register to see this codeفقط در اصلاحه جدید.. مقاومت 4.7 تا 10 کیلو اهم رو از VCC به پایه PORTB.1 وصل کنید و به کلید هم جریان منفی یا GND وصل کنید ( * در برنامه های حرفه اکثرا از منفی برای فعال کردن کلید ها استفاده می کنند،شاید یکی از دلایلش حرکت الکترونیک ها از منفی به مثبت می باشد)
و نکته مهم دیگر،برنامه نوشته شده توسط شما،در حلقه تعریف نشده بود! به خاطر داشته باشید همیشه در تابع اصلی یعنی void main همیشه یک حلقه بی نهایت قرار دهید و کدهایی که می خواهید دائم برسی شوند را در ان قرار بدهید،وگرنه به مشکلات به مانند مشکلاتی که اکنون داشتید اید برخواهید خورد.
باتشکر.
Re: استفاده از کلید در میکرو
ارسال شده: پنجشنبه ۱۲ فروردین ۱۳۹۵, ۱۰:۲۵ ق.ظ
توسط javad_2010
sinaset نوشته شده:سلام بر شما
پست قبلی شما رو اشتباه مطالعه کردم.. شما DDRB.0 رو به عنوان خروجی قرار دادید و DDRB.1 رو صفر قرار دادید (به عنوان ورودی) .. (پس نیازی به استفاده از دستور پورت نیست چون DDRB.1 صفر می باشد)
می خواهید پورت 1 حدود 6 بار خاموش و روشن شود؟!
برنامه رو براتون اصلاح کردم
Please Login or Register to see this codeفقط در اصلاحه جدید.. مقاومت 4.7 تا 10 کیلو اهم رو از VCC به پایه PORTB.1 وصل کنید و به کلید هم جریان منفی یا GND وصل کنید ( * در برنامه های حرفه اکثرا از منفی برای فعال کردن کلید ها استفاده می کنند،شاید یکی از دلایلش حرکت الکترونیک ها از منفی به مثبت می باشد)
و نکته مهم دیگر،برنامه نوشته شده توسط شما،در حلقه تعریف نشده بود! به خاطر داشته باشید همیشه در تابع اصلی یعنی void main همیشه یک حلقه بی نهایت قرار دهید و کدهایی که می خواهید دائم برسی شوند را در ان قرار بدهید،وگرنه به مشکلات به مانند مشکلاتی که اکنون داشتید اید برخواهید خورد.
باتشکر.
اپدانس یعنی چی؟؟؟
Re: استفاده از کلید در میکرو
ارسال شده: پنجشنبه ۱۲ فروردین ۱۳۹۵, ۱۱:۰۶ ق.ظ
توسط javad_2010
sinaset نوشته شده:سلام بر شما
پست قبلی شما رو اشتباه مطالعه کردم.. شما DDRB.0 رو به عنوان خروجی قرار دادید و DDRB.1 رو صفر قرار دادید (به عنوان ورودی) .. (پس نیازی به استفاده از دستور پورت نیست چون DDRB.1 صفر می باشد)
می خواهید پورت 1 حدود 6 بار خاموش و روشن شود؟!
برنامه رو براتون اصلاح کردم
Please Login or Register to see this codeفقط در اصلاحه جدید.. مقاومت 4.7 تا 10 کیلو اهم رو از VCC به پایه PORTB.1 وصل کنید و به کلید هم جریان منفی یا GND وصل کنید ( * در برنامه های حرفه اکثرا از منفی برای فعال کردن کلید ها استفاده می کنند،شاید یکی از دلایلش حرکت الکترونیک ها از منفی به مثبت می باشد)
و نکته مهم دیگر،برنامه نوشته شده توسط شما،در حلقه تعریف نشده بود! به خاطر داشته باشید همیشه در تابع اصلی یعنی void main همیشه یک حلقه بی نهایت قرار دهید و کدهایی که می خواهید دائم برسی شوند را در ان قرار بدهید،وگرنه به مشکلات به مانند مشکلاتی که اکنون داشتید اید برخواهید خورد.
باتشکر.
...........
بازم ممنون از توجه تون
بازم نشد
کلید فقط یکبار عمل میکند.C
Re: استفاده از کلید در میکرو
ارسال شده: پنجشنبه ۱۲ فروردین ۱۳۹۵, ۱۱:۴۵ ق.ظ
توسط sinaset
سلام بر شما
فایل پرتئوس و کدهاتون رو یک جا اپلود کنید و اینجا قرار بدید تا بررسی کنم.
امپیدانس رو هم می توانید در
اینجامطالعه فرمایید
باتشکر.
Re: استفاده از کلید در میکرو
ارسال شده: پنجشنبه ۱۲ فروردین ۱۳۹۵, ۶:۵۰ ب.ظ
توسط javad_2010
ممنون از توجه تون
[External Link Removed for Guests]