PDA

View Full Version : مسابقه کانال سه



Developer Programmer
یک شنبه 09 فروردین 1388, 22:49 عصر
راستش نتونستم جای بهتر از این جا واسه پرسیدن سئوال، پیدا کنم

حتما مسابقه کانال سه رو دیدیدن که صدتا شرکت کننده داره و هرکدام از شرکت کننده ها یکی از سه گزینه الف و ب و ج رو انتخاب میکنن ...

وقتی هرکدوم از شرکت کننده ها، کلید رو فشار میدن، نتیجه به کامپیوتر مرکزی میره، کامپیوتر اون رو پردازش میکنه و بعد بر اساس درست یا غلط بودن جواب، چراغ شرکت کننده رو سبز یا قرمز میکنه

چطوری می تونن، کلید فشرده شده از صد تا شرکت کننده رو از طریق پورت بخونن و بهش پاسخ بدن طوریکه مشکل همزمانی هم پیش نمیاد ؟

aminkk
یک شنبه 09 فروردین 1388, 23:03 عصر
فكر مي كنم جواب ها به صورت صف به كامپيوتر مركزي ارسال مي شن.حتماً مبنا رو اين قرار دادن كه بر اساس شماره جوابها در صف قرار بگيره چون اگه مبنا بر اين باشه كه هركي زود تر جواب رو بزنه مشكل همزماني پيش بياد.
من فكر مي كنم اينجوريه كه كامپيوتر 6 ثانيه صبر مي كنه و جواب ها رو به ترتيب از شماره 1 تا 100 از ترمينال ها دريافت مي كنه. كسي هم چيزي نزده باشه يك جواب غلط در نظر گرفته ميشه.

amir_saniyan
دوشنبه 10 فروردین 1388, 01:54 صبح
سلام
بعیده که از پورت کامپیوتر بدون هیچگونه تغییری استفاده کرده باشند. اگه چنین مداری رو بخواهی با استفاده از مطالب مدار منطقی طراحی کنی به راحتی می‌شه از Multiplexer و Demultiplexer و Encoder با اولویت استفاده کرد ولی راه‌حل‌های مناسب‌تر استفاده از AVR به عنوان پردازنده در هر پایانه برای اتصال به کامپیوتر مرکزی است. البته اگر اشتباه نکنم یه چیزی تو مدارهای دیجیتالی به نام پروتکل I2C وجود داره که با دو تا سیم n تا وسیله رو می‌شه به هم وصل کرد (که AVRها هم از اون پشتیبانی می‌کنند).
موفق باشید.

razavi_university
دوشنبه 10 فروردین 1388, 03:26 صبح
فکر کنم در I2C حداکثر 127 وسیله رو بشه به هم وصل کرد

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