دسته بندی | کامپیوتر و IT |
بازدید ها | 37 |
فرمت فایل | doc |
حجم فایل | 92 کیلو بایت |
تعداد صفحات فایل | 29 |
Universal Serial Bus (USB)
USBیک استاندارد باس برای اتصال تجهیزات است. USB قطعه مهمی است که برای اتصال قطعات جانبی به واسطه یک سوکت اتصالی استاندارد طراحی شده است که توانایی plug and play را با ایجاد امکانی برای اتصال و قطع ارتباط بدون reboot کردن کامپیوتر گسترش می دهد. دیگر خصوصیات راحتی آن شامل تامین توان تجهیزات کم مصرف بدون نیاز به تغذیه توان خارجی و ایجاد امکان استفاده از برخی تجهیزات بدون نیاز به نصب درایورهای تجهیز مستقل است.
هدف USB کنار گذاشتن سریال های قدیمی و پورت موازی است. USB می تواند تجهیزات جانبی را مانند موس، کیبرد، PDA ها، گاماپدها و joystickها، اسکنرها، دوربین های دیجیتال و پرینترها را متصل کند. برای بسیاری تجهیزات مانند اسکنر و دوربین های دیجیتال، USB تبدیل به یک روش اتصال استاندارد شده است. USB همچینین به طور گسترده ای جهت اتصال پرینترهای non-netwoked استفاده میشود؛ USB اتصال چندین پرینتر را به یک کامپیوتر ساده می کند. USB منحصراً برای کامپیوترهای شخصی طراحی شد، اما به قطعه ای معمول در دیگر تجهیزات مانند PDAها و ویدئوگیم ها تبدیل شده است.
طراحی USB توسط USB Implementers Forum (USB-IF) ، یک موسسه استاندارد کننده با همکاری شرکت های بزرگ کامپیوتری و صنایع الکترونیک استاندارد شده است.
تاریخچه
از سال 2006، مشخصات USB با ویرایش 2.0 است. برخی شرکت های بزرگ در توسعه نرخ انتقال داده بالاتر نسبت به مختصات 1.1 پیشقدم هستند. مشخصات USB 2.0 در آوریل 2000 تدوین شد و توسط USB-IF در پایان سال 2001 استاندارد سازی شد. نسخه های پیشین قابل ذکر، 0.9، 1.0 و 1.1 هستند. تجهیزات مطابق با هریک از ویرایش های استاندارد همچنین با تمامی تجهیزات طراحی شده بر اساس مختصات پیشین قابلیت اجرا دارد.
سیستم USB یک طراحی متقارن دارد، شامل یک کنترلر هاب و تجهیزات جانبی. هاب های USB اضافی ممکن است در زنجیره گنجانده شود، که اجازه انشعاب به یک ساختار درختی را می دهد، با محدودیت 5 سطح انشعاب در هر کنترلر. حداکثر تا 127 تجهیز شامل باس ممکن است به یک کنترلر میزبان (host) تک متصل شود. کامپیوترهای مدرن همچنین دارای کنترلرهای میزبان متعددی هستند که امکان اتصال تعداد زیادی تجهیزات USB را فراهم می کند. کابل های USB نیازی به Terminate شدن ندارند.
در ترمینولوژی USB، تجهیزات مجزا به عنوان functionها شناخته می شوند، چون هر تجهیز ممکن است عملاً به عنوان میزبان چندین function باشد، مانند یک webcam با یک میکروفون همراه. Functionها توسط هاب به صورت سری به یکدیگر متصل می شوند. هاب ها تجهیزات با وظایف ویژه هستند که به عنوانfunction شناخته نمی شوند. همیشه یک هاب به عنوان هاب ریشه وجود دراد که به طور مستقیم به کنترلر میزبان متصل است. Functionها و هاب ها دارای لوله های متصل هستند (کانال های منطقی). لوله ها اتصالاتی از کنترلر میزبان به یک واحد منطقی روی تجهیز به نام endpoint هستند. ترم endpoint همچنین گاهی به کل لوله اطلاق می شود. یک function می تواند تا 32 لوله اکتیو داشته باش، 16 تا به کنترلر میزبان و 16 تا بیرون کنترلر. هر endpoint می تواند داده را تنها در یک جهت منتقل کند، به دون یا خارج تجهیز/function . بدین معنی که هر لوله تک جهت است.
هنگامی که یک تجهیز متصل می شود، ابتدا میزبان آنرا تعیین و تشخیص می دهد و درایوری را که نیاز دارد load می کند. هنگامی که یک function یا هاب به کنترلر میزبان از طریق هر هاب روی باس متصل می شود، یک آدرس 7 بیتی روی باس توسط کنترلر میزبان با آن اختصاص داده می شود. هیچ داده ای بدون دستور مستقیم از کنترلر میزبان نمی تواند توسط function انتقال یابد.
کانکتورهایی که کمیته USB مشخص کرده اند، جهت تامین تعدادی از اهداف USB و بنا به تجربیات به دست آمده طراحی شده است. به طور کلی:
کانکتورها مقاوم طراحی شده اند. بسیاری از طراحی کانکتورهای قدیمی شکننده بود، با پین ها یا دیگر تجهیزات حساس مستعد خم شدن یا شکستن حتی با اعمال نیروی معمولی. اتصالات الکتریکی در یک کانکتور الکتریکی توسط زبانه پلاستیکی مجاور و کل سیستم اتصال توسط غلاف فلزی محصور کننده محافظت می شوند. در نتیجه کانکتورهای USB به طور ایمن می توانند حمل، نصب یا جدا شوند. غلاف محافظ و قالب بدنه بدین معنی است که کانکتور می تواند ضربه ببیند، بیفتد و تصادم کند بدون آن که صدمه ببیند. نیروی قابل ملاحظه ای برای صدمه زدن به کانکتور یک USB مورد نیاز است.
اتصال اشتباه یک کانکتور USB مشکل است. کانکتورها را نمی توان در جهت عکس نصب کرد و از شکل و حس ظاهری اتصال پیداست که اتصال به طور مناسب صورت گرفته است یا خیر.
کانکتورها با قیمت ارزانی تولید می شوند.
نیروی متوسطی برای اتصال/ جدا کردن مورد نیاز است. کابل های USB و تجهیزات کوچک USB با نیروی گیرایی در محل قرار گرفتن جای می گیرند (بدون نیاز به پیچ، گیره یا نگهدارنده هایی که دیگر تجهیزات به آنها نیازمندند.
ساختار کانتور این اطمینان را ایجاد میکند که محافظ خارجی روی plug با قطعه مقابل خود در محل قرار گرفتن پیش از اتصال چهار کانکتور متصل می شوند. این محافط معمولاً به گراند سیستم متصل است و به بارهای استاتیک اجازه میدهد از این طریق تخلیه شوند (به جای قطعات الکتریکی حساس).
به علاوه، توان و اتصالات مربوطه پس از گراند سیستم ایجاد می شوند، اما پیش از اتصالات داده. کابل ها فقط دارای plug و میزبان ها فقط دارای receptacle هستند.
|
کانکتور USB |
1 |
تجهیز کنترلر ذخیره USB |
2 |
|
نقاط تست |
3 |
|
چیپ حافظه فلش |
4 |
|
اسیلاتور کریستال |
5 |
|
LED |
6 |
|
سوئیچ Write-protect |
7 |
|
فضا برای چیپ حافظه فلش دوم |
8 |
سلول حافظه فلش:
حافظه فلش اطلاعات را در یک آرایه از ترانزیستورها معروف به سلول ذخیره می کند که هر کدام به طور سنتی یک بیت اطلاعات را ذخیره می کنند. حافظه های فلش جدید که بعضاً با نام تجهیزات سلول چند سطحی (multi level cell) شناخته می شوند می توانند بیش از یک بیت را در هر سلول ذخیره کنند.
چنان که در شکل 1 نشان داده شده است،در فلش NOR، هر سلول شبیه به یک ترانزیستور MOSFET استاندارد است، جز این که به جای یک گیت دارای دو گیت است. یک گیت، گیت کنترل (CG) شبیه دیگر ترانیستورهای MOS است، اما دومی یک گیت شناور (FG) است که توسط یک لایه اکسید ایزوله شده است. FG بین CG و substrate است. از آنجا که FG توسط لایه اکسید عایق شده است، هر الکترون قرار گرفته روی آن در آنجا محبوس می شودو بنابراین اطلاعات ذخیره می شود. هنگامی که الکترون ها روی FG هستند میدان الکتریکی حاصل از CG که ولتاژ انتقالی (Vt) سلول را اصلاح می کند را تعدیل می کند. بنابراین هنگامی که سلول با قرار گرفتن ولتاژ مشخصی روی CG در حالت read است، جریان الکتریکی می تواندبسته به Vt روی سلول در جریان یا متوقف باشد که این پدیده با مقدار الکترون روی FG کنترل می شود.این حضور یا غیبت جریان حس و به 1ها یا 0ها تفسیر می شود که داده های ذخیره شده را بازتولید می کنند. در یک تجهیز سلول چند سطحی که بیش از یک بیت اطلاعات را در هر سلول ذخیره می کنند، به جای حضور یا غیاب جریان، مقدار آن جهت تعیین مقدار الکترون ذخیره شده روی FG حس می شود.
دسته بندی | برنامه نویسی |
بازدید ها | 26 |
فرمت فایل | doc |
حجم فایل | 144 کیلو بایت |
تعداد صفحات فایل | 18 |
آموزش پیاده سازی گرافیکی هشت وزیر با C#
مقدمه
محمد امین شریفی تحصیلات مقدماتی خود را در دبیرستان همیشه ماندگار البرز گذراند و هم اینک دانشجوی سال اول کارشناسی تکنولوژی نرم افزار در دانشگاه آزاد واحد دماوند می باشد.علاقه مند به گسترش برنامه های دات نت و حل کردن مسائل برنامه نویسی با C++ است.
این مقاله در راستای نوشتار کتابچه ای به نام 'پیاده سازی بازی های تخته ای' نوشته شده است و در صورت آشنایی با این برنامه،شما می توانید با انواع بازی های تخته ای مانند reverse, chess, dooz, tic-tac-toe, checkers آشنا شوید،هم اینک بازی reverse و dooz کامل شده است و باقی بازی ها هم در آینده نزدیک نوشته خواهد شد و بطور رایگان در اختیار دانش جویان نرم افزار قرار خواهد گرفت.
این مقاله برای آن دسته از افرادی می باشد که پیشین با C# کار کرده اند و یا قصد آشنایی و برنامه نویسی با این قالب برنامه نویسی را دارند.در این مقاله کوشش شده است که هر بخش مستقل از بخش های دیگر باشد و دوستانی که با C# و یا پیاده سازی گرافیکی تخته بازی آشنایی دارند می توانند با سرعت از این بخش ها عبور کنند و به سراغ الگوریتم بازی بروند.ولی توصیه میکنم که سلسله مراتب بخش ها را هر چند گذرا مرور کنید.
هدف از نوشتن این مقاله آشنا کردن خواننده با الگوریتم هشت وزیر به صورت گرافیکی می باشد. در این بازی ما باید هشت وزیر را بگونه ای در صحه شطرنج بچینیم که هیچ یک از وزیرها، 7 وزیر دیگر را تحدید نکند.در این مقاله، هر 2 نوع پیاده سازی بازگشتی و غیر بازگشتی نوشته شده است.
پس از خواندن این مقاله از دانشجویان انتظار می رود که بتوانند الگوریتم هشت وزیر را تحلیل کرده و مطابق با نیاز خود در محیط های مختلف طراحی و پیاده سازی کنند.
فصل اول : طراحی
گام نخست : پیاده سازی مهره و کاشی بازی
|
|
مهره نشان دهنده وزیر |
|
را ایجاد کنید.eight_queen ای به نام Windows Application برنامه Visual C# را اجرا کنید و از قسمت Visual Studio
SquareControl.cs به نام User Control یک Add new item بر روی پروژه یتان کلیک راست کنید و از قسمت
کاشی صفحه شطرنج ما را می سازدUser control را ایجاد کنید.در واقع این
این کنترل را به 32, 32 تغییر می دهیم.حالا کاشی تخته یمان آماده شد!size
تخته یمان که به شکل دایره است می رسد(Discs)نوبت به طراحی مهره های
این مهره ها را می توان به 2 صورت پیاده سازی کرد:
با قرار دادن عکس وزیر درون کاشی های شطرنج .1
با کشیدن دایره درون کاشی های شطرنج. .2
که در این مقاله راه دوم را برگزیدیم.یعنی با کد زیر دایره ای با رنگ سفید یا سیاه درون کاشی هایمان رسم می کنیم.
e.Graphics.DrawEllipse(SquareControl.pen, left, top, width, height);
را حذف کردیم و آنرا به گام های بعدی محول کرده ایم.shadow و animationدر این گام ما قسمت
|
|
نام دامنه |
پارامتر |
اضافه می کنیم:User controlدر ابتدای کار نام دامنه زیر را
using System.Drawing.Drawing2D;
سپس رنگ کاشی خود را تعیین می کنیم:
public static Color NormalBackColor= Color.Green;
باید متغیری برای ذخیره کردن ردیف و ستون مهره ها ایجاد کنیم.به این دلیل که کدمان حرفه ای تر بشود ، آنها را تعریف کرده ایم:propertyمستقیمان به صورت
// These reflect the position of the square on the board.
Public int col{get;set;}
public int row{get;set;}
در انتها هم رنگ و قلم موی خود را انتخاب می کنیم:
// Drawing tools.
Private static Pen pen = new Pen(Color.Black);
private static SolidBrush solidBrush = new SolidBrush(Color.Black);
گام سوم : تابع تنظیم ردیف و ستون
فهرست
مقدمه. 3
معرفی نویسنده اثر. 3
درباره این مقاله. 3
مخاطبان این مقاله. 3
هدف از نوشتن این مقاله. 3
فصل اول : طراحی. 4
گام نخست : پیاده سازی مهره و کاشی بازی.. 4
گام دوم : تعریف پارامترها و نام دامنه برای User Control ها 5
گام سوم : تابع تنظیم ردیف و ستون. 6
گام چهارم : ایجاد و نابود سازی User Control ها 7
گام پنجم : چیدن مهره ها در صفحه شطرنج. 8
گام ششم : کشیدن حاشیه بین کاشی ها 10
گام هفتم : نگاه کلی بر کلاس SquareControl 11
فصل دوم : پیاده سازی محیط بازی.. 12
گام هشتم : تعریف متغییر های تخته بازی.. 12
گام نهم : پیاده سازی تابع سازنده تخته بازی.. 13
گام دهم : ذخیره 92 حالت مختلف.. 14
فصل سوم : الگوریتم هشت وزیر به روش غیر بازگشتی. 15
گام یازدهم : معرفی الگوریتم 15
گام دوازدهم : روش بررسی صحّت قرار گیری مهره 16
فصل چهارم : الگوریتم هشت وزیر به روش بازگشتی. 17
گام سیزدهم : معرفی الگوریتم 17
گام چهاردهم : روش بررسی صحّت قرارگیری مهره 17
دسته بندی | برنامه نویسی |
بازدید ها | 21 |
فرمت فایل | doc |
حجم فایل | 68 کیلو بایت |
تعداد صفحات فایل | 96 |
فصل اول
آشنایی بااینترنت
تاریخچه اینترنت
فصل دوم
آشنایی با وب جهانی
اصول طراحی صفحات وب