پاسخ : مشخص کردن تعداد تکرار یک حلقه از طریق key pad
سلام:
اگر با زبان C بخواید می تونید به این صورت عمل کنید که محلی که شما اگر key pad داده رو میگیرید یه متغییر رو بسته به شماره وارد شده از key pad مقدار دهی کنید
سپس توی یه حلقه while مقدار رو مرتب از متغییر کم کنید مثلا اگر عدد ورودی 3 باشده برنامه پایین میاد PORTA رو 3 بار در 2 ضرب میکنه
while(x(
{
x--;
PORTA*2
{
پاسخ : مشخص کردن تعداد تکرار یک حلقه از طریق key pad
سلام دوست عزیز
تقریبا دوستان پاسخ رو دادند اما از اونجا که دیدم شما این سوال رو هم در بخش avr نوشتی هم pic و هم 8051 به همین خاطر یک جواب کلی میدم.
به طور کلی شما با هر میکرویی که کار کنی و با هر زبان برنامه نویسی که بخوای این کار رو انجام بدی فکر میکنم بهترین کار این هست که مقداری که از KeyPad میخوانی رو در یک متغیر ( که در واقع رجیستر های حافظه موقت هستند ) ذخیره کنی. بعد وارد حلقه که میشی هربار اون مقدار رو یکی کم کنی و چک کنی که آیا صفر شده یا خیر، اگر بله که از حلقه خارج بشی، اگر خیر تکرار حلقه ادامه پیدا کنه.
با توجه به اینکه شما از چه میکرویی استفاده میکنی و از چه زبانی برای برنامه نویسی میکنی نوع کد نوشته شده تغییر میکنه که دو نمونه از کدها برای C و Basic و محمد صالح عزیز و حامد عزیز لطف کردند و نوئشتند. در زبان اسمبلی برای ایجاد تاخیر دقیقا این روش به کار میره و شما با مشخص کردن مقادیر درون رجیسترها زمان تاخیر رو کنترل میکنید.
موفق باشی
از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
شاد و موفق باشید
دیدگاه