پیش گفتار :
پروژه ساخت دستگاه بار کد خوان محصول تحقیق چندین ماهه بوده که در این مسیر از منابع و مأخذهای مختلف در زمینه بارکد خوانی و ارسال آن به پورت سریال PC بهره جستم .
لازم به ذکر این نکته است که مطلوب نظر اینجانب استفاده از باکس رفلکسی بارکد خوان بود ولی به دلیل یافت نشدن این باکس بنده را بر آن داشت که به جای استفاده از روش انعکاسی از روش عبوری استفاده نمایم .
که این روش مستلزم آن بود که کارت را نیز اینجانب تعریف نمایم. که توضیحات لازم در ادامه ارایه خواهد شد.
این مجموعه را به اساتید گرانقدر جناب استاد بهرامی زاده تقدیم (می نمایم ) .
وه که قبول افتد و در نظر آید.
هدف کلی ساخت:
می دانیم امروزه دنیای الکترونیک روند رو به رشد سریعی را می پیماید که در مقایسه با گدشته غیر قابل وصف است. در این پیمایش سرعت ارسال و دریافت اطلاعات نقش بسزایی دارد و افکار متخصصین را کاملاً به خود مشغول کرده تا مسأله زمان را به حداقل رسانده و نرخ ارسال و دریافت داده ها را تا نهایت ممکن بالا ببرند.
اینک با پی بردن به اهمیت این مسأله ما نیز در جهت تحقق نیل به این هدف دستگاه بارکد خوان را طراحی نموده و یک نمونه عملی آنرا ساختیم. این دستگاه همچنان که از نامش پیداست قادر به خواندن بارکد و ارسال آن به پورت سریال PC است.
که با قرار گرفتن کارت در بین فرستنده گیرنده نوری خطوط سیاه و سفید trace می شوند و کد این کارت استخراج می شود و از طریق پورت سریال به PC منتقل می شود.
قسمت عمده و مهم طراحی و ساخت این دستگاه، میکروکنترلر 8051 است .
که در بخشهای آینده به توضیح این مسأله می پردازیم.
شرح میکروکنترلر 8051 :
لازم به توضیح است به جهت جلوگیری از پراکندگی موضوعات و مفاهیم شرح سخت افزار سیستم ، ای سی Max 232 استاندارد Rs232 و برنامه نرم افزاری در داخل همین بخش توضیح داده شده است .
نگاهی گذرا و اجمالی به میکروکنترلر 8051
ابتدا باید ببینیم فرق میکروکنترلر با میکرو پروسسور چیست ؟
منظور از یک میکروپروسسور ( ریز پردازنده ) میکروپروسسورهایی از خانواده X86 اینتل مثل 80386 , 80286 , 8086 , 68020 , 68030 , 68040 و یا خانوادها یی از این قبیل است . این میکروپروسسورها فاقد ROM , RAM و پورت های I/O در درون خود تراشه هستند به این دلیل به آنها میکروپروسسورهای همه منظوره گویند.
طراح سیستمی که از میکروپروسسور همه منظوره ای چون پنتیوم، 68040 استفاده می کند . باید در خارج از آن ROM ، RAM ، پورت های I /O و تمایمرها را اضافه نماید. طراح می تواند روی مقدار ROM ، RAM پورت های I/O بر حسب نوع کاربرد تصمیم گیری و اعمال نظر نماید . این توانمندی در میکروکنترلرها امکان پذیر نیست . یک میکروکنترلر دارای یک CPU به همراه مقدار ثابتی از ROM ، RAM ، پورت های I/ O و تایمر در درون خود می باشد.
سیستم تک منظوره چیست؟
میکروکنترلرها و میکروپروسسورها به طور گستره ای در تولید سیستم های تک منظوره به کار می روند. یک محصول تک منظوره با استفاده از میکروپروسسور و یا میکروکنترلر برای انجام فقط یک کار است. یک چاپگر نمونه ای از یک سیستم تک منظوره است زیرا پروسسور داخل آن فقط یک کار را انجام می دهد و آن این است که داده را بدست اورده و آنرا چاپ می کند. در یک سیستم تک منظوره تنها یک نرم افزار کاربردی وجود دارد و معمولاً در ROM سوزانده می شود . هر یک از وسایل جانبی به PC در داخل خود یک میکروکنترلر دارد . مثلاً در داخل ماوس یک میکرو کنترلر وجود دارد که وظیفه اش یافتن مکان ماوس و ارسال آن به PC است.
انتخاب میکروکنترلر :
چهار نوع میکروکنترلر 8 بیتی مهم وجود دارد که عبارتند از 6811 از موتورولا ، 8051 از اینتل ، Z 8 از زایلوک و PIC16X از شرکت میکرو چیپ تکنولوژی میکروکنترلرهای 16 و 36 بیتی هم وجود دارد . سه روش برای انتخاب وجود دارد.
1 بر آورده کردن نیازهای محاسبات کار به طور مؤثر و مقرون به صرفه
2 در دسترس داشتن نرم افزارهای کمکی مانند کامپایلرها، اسمبلرها و عیب یاب ها
3 منابع گسترده و قابل اعتماد و برای میکرو کنترلرها
مروری بر خانواده 8051
تاریخچه مختصری از 8051
در سال 1981شرکت اینتل میکروکنترلری به نام 8051 را معرفی کرد این میکروکنترلر دارای 128 بایت RAM ، K 4 بایت ROM، دو تایمر ، یک پورت سریال و چهار پورت موازی ( هر یک 8 بیت ) بودکه همه آنها در یک تراشه تعبیه شده بودند زمانی به آن (سیستم در یک تراشه ) را می گفتند . 8051 یک پروسسور 8 بیت است . یعنی CPU هر بار می تواند فقط روی 8 بیت داده کار کند. داده های بزرگتر از 8 بیت باید به قطعات 8 بیت بشکنند و سپس بوسیله CPU پردازش شوند 8051 کلاً دارای چهار پورت I / O با عرض 8 بیت است گر چه 8051 می تواند حداکثر 64K حافظه ROM در تراشه داشته باشد بسیاری از سازندگان فقط K 4 بایت را در تراشه گذاشته اند .
8051 عضو اصلی خانواده 8051 است Intel آنرا MCS – 51 می نامد.