پیش گفتار :
پروژه دستگاه بار کد خوان محصول تحقیق چندین ماهه بود مسیر از منابع و مأخذهای مختلف در زمینه بارکد خوانی و ارسال آن به پورت سریال PC بهره جستم .
لازم به ذکر این نکته است که مطلوب نظر اینجانب استفاده از باکس رفلکس بارکد خوان بود و ؟ به دلیل یافت نشدن این ؟ بنده را بر آن داشت که به جای استفاده از روش انعکاس از روش عبوری استفاده کنیم.
که این روش مستلزم آن بود که کارت را نیز اینجانب تعریف نمایم. که توضیحات لازم به ادامه ارایه خواهد شد.
این مجموعه را به اساتید گرانقدر جناب استاد بهرامی زاده تقدیم نمایم. وه که قبول افتد و در نظر آید.
هدف کلی ساخت:
می دانیم امروزه دنیای الکترونیک روند رو به رشد سرسیمی را می پیماید که در مقایسه با گدشته غیر قابل وصف است. در این پیمایش سرعت ارسال و دریافت اطلاعات نقش بسزای دارد و افکار متخصصین را کاملاً به خود مشغول کرده تا مسأله زبان را به حداقل رسانده و نرخ ارسال و دریافت داده ها را تا نهایت ممکن بالا ببرند.
اینک با پی بردن به اهمیت این مسأله ما نیز در جهت تحقیق نیل به این هدف دستگاه بارکد خوان را طراحی نموده و یک نمونه عملی آنرا ساختیم. این دستگاه همچنان که از نامش پیداست قادر به خواندن بارکد و ارسال آن به پورت سریال PC است.
که با قرار گرفتن کارت در بین فرستنده به گیرنده نوری خطوط سیاه و سفید trace می شوند و کد این کارت استخراج می شود و طریق پورت سریال به PC منتقل می شود.
قسمت عمده و مهم طراحی و ساخت این دستگاه، میکروکنترلی 8.51 است .
که در بخشهای آینده به توضیح این مسأله می پردازیم.
نگاهی گذرا و اجمالی به میکروکنترلی 8.51
ابتدا باید ببینیم فرق میکروکنترلی با میکرو پروسسور چیست ؟
منظور از یک میکروپروسسور ( ریز پردازنده نام میکروپروسسورهایی از خانواده X86 انتیل مثل 8.386 , 8.286 , 8.86 , 68020 , 68030 , 68040 و یا خانواده ای از این قبل است . این میکروپروسسورها فاقد ROM , RAM و پورت های I / O در درون خود تراشه هستند به این دلیل به آنها میکروپروسسورهای همه منظوره گویند.
طراح سیستمی که از میکروپروسسور همه منظورهای چون پنتیوم، 68040 استفاده باشد که باید در خارج از آن ROM , RAM پورت های I / O و تمایمرها را اضافه نماید. طراح ما بتواند روی مقدار ROM , RAM پورت های I / O به حسب نوع میکروکنترلی دارای یک CPN به همراه مقدار ثابتی از ROM , RAM ، پورت های I / O و تایمر در درون خود می باشد.
سیستم تک منظوره چیست؟
میکروکنترلها و میکروپروسسورها به طور گستره ای در تولید سیستم های تک منظوره به کار می روند. یک محصول تک منظوره بار استفاده از میکروپروسسور و یا میکروکنترلی برای انجام فقط یک کار است. یک چاپگر نمونه ای از یک سیستم تک منظوره است زیرا پروسسور داخل آن فقط یک کار را انجام می دهد و آن این است که داده را بدست اورده و آنرا چاپ می کند. در یک سیستم تک منظوره تنها یک نر افزار کاربردی وجود دارد و معمولاً که ROM سوزانده باشد.
وظیفه اش یافتن مکان ماوس و ارسال آن به PC است.
انتخاب میکروکنترلی :
چهار نوع میکروکنترلی 8 بیتی مهم وجود دارد که عبارتند از 6811 از موتورولا ، 8.51 از انیتل ، Z 8 از زایلوک و PIC 16 X از شرکت میکرو چپ تکنولوژی میکروکنترلهای 16 و 36 بیتی هم وجود دارد . سه روش برای انتخاب وجود دارد.
1 بر آورد کردن نیازهای محاسبات کار به طوری مؤثر و مقرون به صرفه
2 در دسترس داشتن نرم افزارهای کمکی مانند کامپایلرها، اسمبلرها و عیب یاب ها
3 منابع گسترده و قابل اعتماد و بی میکورکنترلها
مروری بر خانواده 8.51
تاریخچه مختصری از 8.51
در سال 1981شرکت In Ael میکروکنترلری به نام 8.51 را معرفی کرد این میکروکنترلر دارای 128 بایت ROM ، K 4 بایت ROM، در تایمر ، یک پورت سریال و چهار پورت موازی ( هر یک 8 بیت ) بودکه همه آنها در یک تراشه تعبیه شده بودند زمانی به آن (سیستم در یک تراشه ) را گفتند . 8.51 یک پروسسور 8 بیت است . نیمی CPX هر بار می تواند فقط روی 8 بیت داده کار کند. داده ای بزرگتر از 8 بیت باید به قطعات 8 بیت بشکنند و سپس بوسیله CPX پردازش شوند 8.51 کلاً دارای چهار پورت I / O با عرض 8 بیت است گر چه 8.51 می تواند حداکثر 64X حافظه ROM در تراشه داشته باشد بسیاری از سازندگان فقط K 4 بایت را در تراشه گذاشته اند . ( شکل ص 27 نمودار ملوج )
8.51 عضو اصلی خانواده 8.51 است In tel آنرا Mes – 51 می نامد.
امکانات 8.51
Feature Quantity
ROM 4K bytes
RAM 128 bytes
Timer 2
I/O Pin 5 32
Serial Port 1
Interrupt Sources 6
دو عضو دیگر خانواده 8.51 و 8.58 و 8.31 است.
نمودار بلوکی درون میکروکنترلر 8.51
××××
AT89C51 از شرکت Atmel :
این تراشه 8.51 دانیم دارای ROM سریع می باشد. در اطراحی های سریع این نوع حافظه میکرو؟ است. زیرا حافظه سریع بتواند مرا چند ثانیه در مقایسه 20 دقیقه در ؟ برس 8751 باعث شود به این دلیل AT89C51 به جای 8751 به کاربرده شده است تا هنگام تک شدن تراشه وقتی تلف نشود. هنگام استفاده از AT89C51 برس ساخت سیستم های مبتنی بر میکروکنترلر به سوزاننده یا برنامه ریز ROM سریع نیاز داریم. وجود به شکننده ROM نیازی نیست
(جداول و نمودار در فایل اصلی موجود است)
شرح لایه های 8.51
Vec باید 40 ولتاژ تغذیه صورتی تراشه فراهم باشد و ؟ +5 است.
GND لایه 20 زمین است .
XTAL 2 , XT AL1 : 8.51 دارای یک اسیلاتور درون تراشه ای است. و برای راندن آن به یک ساعت کرسیتال اسیلاتور کریستال کوارتز به ورودی های XT AL1 ( پایین 19 ) و XTAL 2 ( یا 18 ) وصل است.
اسیلاتور کریستال کوارتز متصل به XTAL 2 , XT AL1 به دو خازن P.F وصل می باشد یک طرف هر یک از خازنها به زمین وصل است.
RST لایه 9 ، لایه Res ET است . این یک ورودی فعال بالاست. بعد از اعمال یک پالس بالا به این پایه میکروکنترلر ایست شده و همه فعالیت را رها می کند.
: اعضا خانواده 8.51 مانند 89C51 , 8751 یا DS 500 همگرا با ROM در تراشه برای ذخیره برنامه ارائه می شوند. در این حالت لایه به Vce روی خانواده برای دستیابی بیرونی است.
به معنی فعال کردن برنامه ذخیره است.
ALE : ( فعال ساز لچ آدرس ) یک لایه خروجی فعال بالاست.
پایه های پورت I / O
چهار پورت P3 , P2 ,P1 , P0 هر کدام 8 پایه را به کار برند تا پورت ها را 8 بیتی سازند همه پورت ها پس از Reser به صورت خروجی در کار آیند و آماده استفاده به عنوان خروجی هستند. برای استفاده از هر یک از این پورت ها به عنوان و وصل، باید آنها را برنامه ریزی کرد.
کارت O: این پورت 8 پایه ( 32 – 39 ) را اشغال می کند. می توان از آن به عنوان ورودی یا خروجی استفاده کرد.
برای استفاده از پایه های پورت O بر محتوای ورودی و خروجی هر پایه از بیرون به یک مقاومت بالاکش 10km وصل شود.
دلیل این است که پورت صفر بر خلاف P3 , P2 ,P1 یک در بین باز است.
پورت 1 : جمعاً 8 پایه ( 1 تا 8 ) را اشغال می کند. می توان از آن به صورت ورودی یا خروجی استفاده کرد.
و نیازی به مقاومت بالاکش تولید زیرا دارای مقاومت بالاکش درونی است.
پورت 2: این پورت دارای 8 پایه است ( 21 تا 28 ) ؟ آنها به عنوان ورودی یا خروجی برنامه ریزی کرد. و به ؟ بالاکش نیاز ندارد.
پورت 3 : این پورت نیز دارای 8 پایه است ( 10 الی 17) می توان آنرا به عنوان ورودی یا خروجی برنامه ریزی کرد. نیازی به مقاومت بالاکش ندارد