ساخت دستگاه باركد خوان و اتصال آن به پورت سريال PC

ـ پيش گفتار
ـ هدف كلي ساخت
ـ توضيح ميكرو كنترلي ۸ – ۵۱
ـ شرح سخت افزار سيستم
ـ شرح Le هاي Ln 324 , max
ـ توضيح برنامه نرم افزاري
ـ ضمايم
يكي هست و هيچ نيست جز او
وحده لااله الاهو

پيش گفتار :
پروژة دستگاه بار كد خوان محصول تحقيق چندين ماهه بوده كه ؟ مسير از منابع و مأخذهاي مختلف در زمينة باركد خواني و ارسال آن به پورت سريال PC بهره جستم .
لازم به ذكر اين نكته است كه مطلوب نظر اينجانب استفاده از باكس رفلكس باركد خوان بود و ؟ به دليل يافت نشدن اين ؟ بنده را بر آن داشت كه به جاي استفاده از روش انعكاس از روش عبوري استفاده كنيم.

كه اين روش مستلزم آن بود كه كارت را نيز اينجانب تعريف نمايم. كه توضيحات لازم به ادامه ارايه خواهد شد.
اين مجموعه را به اساتيد گرانقدر جناب استاد بهرامي زاده تقديم نمايم. وه كه قبول افتد و در نظر آيد.

ـ هدف كلي ساخت:
مي دانيم امروزه دنياي الكترونيك روند رو به رشد سرسيمي را مي پيمايد كه در مقايسه با گدشته غير قابل وصف است. در اين پيمايش سرعت ارسال و دريافت اطلاعات نقش بسزاي دارد و افكار متخصصين را كاملاً به خود مشغول كرده تا مسأله زبان را به حداقل رسانده و نرخ ارسال و دريافت داده ها را تا نهايت ممكن بالا ببرند.
اينك با پي بردن به اهميت اين مسأله ما نيز در جهت تحقيق نيل به اين هدف دستگاه باركد خوان را طراحي نموده و يك نمونه عملي آنرا ساختيم. اين دستگاه همچنان كه از نامش پيداست قادر به خواندن باركد و ارسال آن به پورت سريال PC است.

كه با قرار گرفتن كارت در بين فرستنده به گيرنده نوري خطوط سياه و سفيد trace مي شوند و كد اين كارت استخراج مي شود و طريق پورت سريال به PC منتقل مي شود.
قسمت عمده و مهم طراحي و ساخت اين دستگاه، ميكروكنترلي ۸٫۵۱ است .
كه در بخشهاي آينده به توضيح اين مسأله مي پردازيم.
نگاهي گذرا و اجمالي به ميكروكنترلي ۸٫۵۱
ابتدا بايد ببينيم فرق ميكروكنترلي با ميكرو پروسسور چيست ؟

منظور از يك ميكروپروسسور ( ريز پردازنده نام ميكروپروسسورهايي از خانواده X86 انتيل مثل ۸٫۳۸۶ , ۸٫۲۸۶ , ۸٫۸۶ , ۶۸۰۲۰ , ۶۸۰۳۰ , ۶۸۰۴۰ و يا خانواده اي از اين قبل است . اين ميكروپروسسورها فاقد ROM , RAM و پورت هاي I / O در درون خود تراشه هستند به اين دليل به آنها ميكروپروسسورهاي همه منظوره گويند.
طراح سيستمي كه از ميكروپروسسور همه منظورهاي چون پنتيوم، ۶۸۰۴۰ استفاده باشد كه بايد در خارج از آن ROM , RAM پورت هاي I / O و تمايمرها را اضافه نمايد. طراح ما بتواند روي مقدار ROM , RAM پورت هاي I / O به حسب نوع ميكروكنترلي داراي يك CPN به همراه مقدار ثابتي از ROM , RAM ، پورت هاي I / O و تايمر در درون خود مي باشد.

ـ سيستم تك منظوره چيست؟
ميكروكنترلها و ميكروپروسسورها به طور گستره اي در توليد سيستم هاي تك منظوره به كار مي روند. يك محصول تك منظوره بار استفاده از ميكروپروسسور و يا ميكروكنترلي براي انجام فقط يك كار است. يك چاپگر نمونه اي از يك سيستم تك منظوره است زيرا پروسسور داخل آن فقط يك كار را انجام مي دهد و آن اين است كه داده را بدست اورده و آنرا چاپ مي كند. در يك سيستم تك منظوره تنها يك نر افزار كاربردي وجود دارد و معمولاً كه ROM سوزانده باشد.
وظيفه اش يافتن مكان ماوس و ارسال آن به PC است.

انتخاب ميكروكنترلي :
چهار نوع ميكروكنترلي ۸ بيتي مهم وجود دارد كه عبارتند از ۶۸۱۱ از موتورولا ، ۸٫۵۱ از انيتل ، Z 8 از زايلوك و PIC 16 X از شركت ميكرو چپ تكنولوژي ميكروكنترلهاي ۱۶ و ۳۶ بيتي هم وجود دارد . سه روش براي انتخاب وجود دارد.
۱ ـ بر آورد كردن نيازهاي محاسبات كار به طوري مؤثر و مقرون به صرفه
۲ ـ در دسترس داشتن نرم افزارهاي كمكي مانند كامپايلرها، اسمبلرها و عيب ياب ها
۳ ـ منابع گسترده و قابل اعتماد و بي ميكوركنترلها
مروري بر خانواده ۸٫۵۱

تاريخچه مختصري از ۸٫۵۱
در سال ۱۹۸۱شركت In Ael ميكروكنترلري به نام ۸٫۵۱ را معرفي كرد اين ميكروكنترلر داراي ۱۲۸ بايت ROM ، K 4 بايت ROM، در تايمر ، يك پورت سريال و چهار پورت موازي ( هر يك ۸ بيت ) بودكه همه آنها در يك تراشه تعبيه شده بودند زماني به آن (سيستم در يك تراشه ) را گفتند . ۸٫۵۱ يك پروسسور ۸ بيت است . نيمي CPX هر بار مي تواند فقط روي ۸ بيت داده كار كند. داده اي بزرگتر از ۸ بيت بايد به قطعات ۸ بيت بشكنند و سپس بوسيله CPX پردازش شوند ۸٫۵۱ كلاً داراي چهار پورت I / O با عرض ۸ بيت است گر چه ۸٫۵۱ مي تواند حداكثر ۶۴X حافظه ROM در تراشه داشته باشد بسياري از سازندگان فقط K 4 بايت را در تراشه گذاشته اند . ( شكل ص ۲۷ نمودار ملوج )
۸٫۵۱ عضو اصلي خانواده ۸٫۵۱ است In tel آنرا Mes – ۵۱ مي نامد.

امكانات ۸٫۵۱
Feature Quantity
ROM 4K bytes
RAM 128 bytes
Timer 2
I/O Pin 5 32
Serial Port 1
Interrupt Sources 6
دو عضو ديگر خانواده ۸٫۵۱ و ۸٫۵۸ و ۸٫۳۱ است.
نمودار بلوكي درون ميكروكنترلر ۸٫۵۱
××××

AT89C51 از شركت Atmel :
اين تراشه ۸٫۵۱ دانيم داراي ROM سريع مي باشد. در اطراحي هاي سريع اين نوع حافظه ميكرو؟ است. زيرا حافظه سريع بتواند مرا چند ثانيه در مقايسه ۲۰ دقيقه در ؟ برس ۸۷۵۱ باعث شود به اين دليل AT89C51 به جاي ۸۷۵۱ به كاربرده شده است تا هنگام تك شدن تراشه وقتي تلف نشود. هنگام استفاده از AT89C51 برس ساخت سيستم هاي مبتني بر ميكروكنترلر به سوزاننده يا برنامه ريز ROM سريع نياز داريم. وجود به شكننده ROM نيازي نيست.
AT89C51
ROM
4K RAM
128 IP
32 تايمر
۲ وقفه
۶ Vce
5 V

۸٫۵۱ با سرعتهاي مختلف Atmol
صوت حجم در قطعه ۵
AT89C51 – 12 PC 12 m Hz 40
AT89C51 – 16 PC 16 m Hz 40
AT89C51 – 20 PC 20 m Hz 40
شكل ۸٫۵۱ Ic
شرح لايه هاي ۸٫۵۱
ـVec بايد ۴۰ ولتاژ تغذيه صورتي تراشه فراهم باشد و ؟ +۵ است.
ـ GND لايه ۲۰ زمين است .
ـ XTAL 2 , XT AL1 : 8.51 داراي يك اسيلاتور درون تراشه اي است. و براي راندن آن به يك ساعت كرسيتال اسيلاتور كريستال كوارتز به ورودي هاي XT AL1 ( پايين ۱۹ ) و XTAL 2 ( يا ۱۸ ) وصل است.

اسيلاتور كريستال كوارتز متصل به XTAL 2 , XT AL1 به دو خازن P.F وصل مي باشد يك طرف هر يك از خازنها به زمين وصل است.
ـ RST لايه ۹ ، لايه Res ET است . اين يك ورودي فعال بالاست. بعد از اعمال يك پالس بالا به اين پايه ميكروكنترلر ايست شده و همه فعاليت را رها مي كند.
ـ : اعضا خانواده ۸٫۵۱ مانند ۸۹C51 , 8751 يا DS 500 همگرا با ROM در تراشه براي ذخيره برنامه ارائه مي شوند. در اين حالت لايه به Vce روي خانواده براي دستيابي بيروني است.
ـ به معني فعال كردن برنامه ذخيره است.
ـ ALE : ( فعال ساز لچ آدرس ) يك لايه خروجي فعال بالاست.

پايه هاي پورت I / O
چهار پورت P3 , P2 ,P1 , P0 هر كدام ۸ پايه را به كار برند تا پورت ها را ۸ بيتي سازند همه پورت ها پس از Reser به صورت خروجي در كار آيند و آماده استفاده به عنوان خروجي هستند. براي استفاده از هر يك از اين پورت ها به عنوان و وصل، بايد آنها را برنامه ريزي كرد.
كارت O: اين پورت ۸ پايه ( ۳۲ – ۳۹ ) را اشغال مي كند. مي توان از آن به عنوان ورودي يا خروجي استفاده كرد.
براي استفاده از پايه هاي پورت O بر محتواي ورودي و خروجي هر پايه از بيرون به يك مقاومت بالاكش ۱۰km وصل شود.
دليل اين است كه پورت صفر بر خلاف P3 , P2 ,P1 يك در بين باز است.

پورت ۱ : جمعاً ۸ پايه ( ۱ تا ۸ ) را اشغال مي كند. مي توان از آن به صورت ورودي يا خروجي استفاده كرد.
و نيازي به مقاومت بالاكش توليد زيرا داراي مقاومت بالاكش دروني است.
پورت ۲: اين پورت داراي ۸ پايه است ( ۲۱ تا ۲۸ ) ؟ آنها به عنوان ورودي يا خروجي برنامه ريزي كرد. و به ؟ بالاكش نياز ندارد.
پورت ۳ : اين پورت نيز داراي ۸ پايه است ( ۱۰ الي ۱۷) مي توان آنرا به عنوان ورودي يا خروجي برنامه ريزي كرد. نيازي به مقاومت بالاكش ندارد.

توان ديگر پورت ها
P3 Bit Function Pin
P3.0 RXD 10
P3.1 TXD 11
P3.2 12
P3.3 13
P3.4 TO 14
P3.5 T1 15
P3.6 16
P3.7 17
شكل صفحه ۱۲۹ ص ۱۱
شكل صفحه ۱۳۰ ص ۱۲
اينك شرح مختصري در ارتباط با تبادل سريال مي دهيم.

كامپيوترها داده را به دو طريق موازي و سريال انتقال مي دهند در انتقال هاي موازي، داده اغلب از ۸ خط داده و يا بيشتر استفاده مي شود. در اين حالت داده مي تواند به وسيله اي كه فقط جند فوت دورتر است انتقال يابد مثالهايي از اين دست عبارتند از چاپگرها و ديسك هاي سخت كد از كابل هاي نوري استفاده نمايند.
گر چه در اين موارد حجم بسياري از داده در زماني كوتاه جابه جا مي شود نوع فاصله نمي تواند چندان طولاني باشد در فواصل بيشتر از تبادل سريال استفاده مي كنند. در تبادل سريال بر عكس تبادل موازي، هر بار يك بيت ارسال مي گردد.

اصول تبادل سريال: وقتي اين پردازنده هاي با دنياي خارج تبادل اطلاعات باشد بسته اي داده را در ابعاد بايت فراهم مي نمايد در بعضي موارد همچون جايگرها به اطلاعات به راحتي از گذرگاه داده ۸ بيت اخذ شده و به گذرگاه داده ۸ بيت جايگر تحويل مي شود. اين روش اگر كابل زياد طولاني نباشد عملي است زيرا كابل هاي طولاني سيگنالها را تضعيف و ؟ ديگر سيكل مي دهند. بعلاوه مسير ۸ بيت گران هم هست. بنابراين دو تبادل داده بين دو سيستم با فاصله هاي تا صدها فوت يا ميليون ها كيلومتر از انتقال سريال استفاده مي شود.