PDA

View Full Version : لطفا اونایی که برنامه نویسی سخت افزار با C کار کردند جواب بد



vb4u
سه شنبه 09 تیر 1383, 08:19 صبح
یه Speaker توکار به یه CPU با استفاده از پورت 61H وصل شده.
چهت به صدا در آمدن بلندگو، دو بیت اول پورت 61H (یعنی بیت صفر و بیت یک) بایستی یک شود و جهت خاموش کردن بلندگو، این دو بیت باید صفر شوند.
توجه شود که شش بیت دیگر این پورت برای مقاصد دیگری مورد استفاده قرار می گیرد و نباید در حین روشن و خاموش شدن بلندگو تغییر کند.
از طرف دیگر، در آدرس 0EH حافظه CMOS، یک بایت تشخیص به صورت زیر نگهداری می شود:
0 1 2 3 4 5 6 7
یک بودن بیت هفتم، به معنای تمام شدن باطری CMOS می باشد.
یک بودن بیت ششم، به معنای نادرست بودن مجموع مقابله ای (CheckSum) می باشد.
یک بودن بیت دوم، به معنای نادرست بودن تاریخ و زمان می باشد.

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

در هر بار، لندگو به مدت 100ms به صدا در آمده و بین هر بار فعال شدن آن 50ms تاخیر باشد.

به این می گن برنامه!!!
در پایان هم بگم اگر این برنامه رو نتونم بنویسم در یک کلام بدبخت می شم.
لطفا کمکم کنید.
مرسی.
بهروز
:roll: :roll: :roll:

Inprise
چهارشنبه 10 تیر 1383, 02:05 صبح
برای خواندن/نوشتن در آدرس فیزیکی مورد نظرت از توابع InportB و OutportB استفاده کن

vb4u
چهارشنبه 10 تیر 1383, 09:02 صبح
سلام.
من هم می دونم که باید از این توابع استفاده کنم ولی چه جوریشو بلد نیستم.
شما لطف کنید اگه زحمتی نیست برنامشو واسم بنویسید چون من اصلا C بلد نیستم.
مرسی :cry: :cry: :cry: :roll: :roll:

Inprise
چهارشنبه 10 تیر 1383, 09:26 صبح
مطمئنم حتی نفهمیدی چی گفتم ! وقتت رو اینجا بیهوده تلف نکن .
خوش باشی