تحقیق درباره بررسي چكونگي عملكرد سيستم باركد خوان

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819  -  صارمی

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق درباره بررسي چكونگي عملكرد سيستم باركد خوان

بازديد: 541

 

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

ـ پيش گفتار

ـ هدف كلي ساخت

ـ توضيح ميكرو كنترلر  8051

ـ شرح سخت افزار سيستم

ـ شرح IC MAX 232

ـ شرح استاندارد RS 232

ـ توضيح برنامه نرم افزاري

يكي هست و هيچ نيست جز او

وحده لااله الاهو

 

پيش گفتار :

پروژة دستگاه بار كد خوان محصول تحقيق چندين ماهه بوده كه در اين  مسير از منابع و مأخذهاي مختلف در زمينة باركد خواني و ارسال آن به پورت سريال 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  مي نامد.

 

 

 

 

Feature              Quantity

ROM                4K bytes

RAM            128    bytes

Timer                  2

I/O Pins              32

Serial Port            1  

Interrupt           Sources

 

دو عضو ديگر خانواده 8051 و 8058 و 8031 است.

 

 

 

 

AT89C1  از شركت  Atmel :

اين تراشه 8051 رايج داراي ROM  سريع مي باشد. در طراحي هاي سريع اين نوع حافظه ميكروايده آل است. زيرا حافظه سريع مي تواند طي چند ثانيه، در مقايسه 20 دقيقه در لازم براي8751  پاك شود به اين دليل AT89C51 به جاي 8751 به كاربرده شده است تا هنگام پاك شدن تراشه وقتي تلف نشود. هنگام استفاده از AT89C51  براي ساخت سيستم هاي مبتني بر ميكروكنترلر به سوزاننده يا برنامه ريز ROM  سريع نياز داريم. با ين وجود به پاك كننده ROM نيازي نيست.

 

 

 

 

AT89C51

 

ROM

 

RAM

 

I/ O

پايه  هاي

تايمر

 

وقفه

 

Vcc

 

 

4K

128

32

2

6

5 V

 

 

 

 

 

8051  با سرعتهاي مختلف Atmel

پايه ها      سرعت                 شماره قطعه 

AT89C51   - 12 PC     12 M Hz      40

AT89C51   - 16 PC     16 M Hz      40

AT89C51   - 20 PC      20 M Hz     40

 

شكل 8051 Ic

شرح پايه هاي 8051

ـVcc  پايه  40 ولتاژ تغذيه رابراي تراشه فراهم مي كند . ولتاژ منبع +5V  است .

ـ GND  پايه 20 زمين است .

ـ  XTAL 2 , XT AL1 : 8051  داراي يك اسيلاتور درون تراشه اي است. ولي  براي راندن آن به يك ساعت كرسيتال نياز است . اغلب يك اسيلاتور كريستال كوارتز به ورودي هاي XT AL1  ( پايه 19 ) وXTAL 2( پايه 18 ) وصل است.

اسيلاتور كريستال كوارتز متصل به XTAL 2 , XT AL1به دو خازن PF30 وصل مي باشد يك طرف هر يك از خازنها به زمين وصل است.

ـ RST پايه 9 ، پايه RESET است . اين يك ورودي فعال بالاست. بعد از اعمال يك پالس بالا به اين پايه ميكروكنترلر ريست شده و همه فعاليت  ها را رها مي كند.

ـ : اعضا خانواده 8051 مانند 89C51 , 8751  يا  DS 5000  همگي با ROM  در تراشه براي ذخيره برنامه ارائه مي شوند. در اين حالت پايه    به Vcc وصل مي گردد.  به معني دستيابي بيروني است.

ـ  به معني فعال كردن برنامه ذخيره است و يك پايه خروجي است .

ـ ALE : ( فعال ساز لچ آدرس ) يك پايه   خروجي فعال بالاست.

 

 

پايه هاي پورت I / O

چهار پورت P3 , P2 ,P1 , P0  هر كدام 8 پايه را به كار مي برند تا پورت ها را 8 بيتي سازند همه پورت ها پس از RESET به صورت خروجي در مي آيند و آماده استفاده به عنوان خروجي هستند. براي استفاده از هر يك از اين پورت ها به عنوان  ورودي ، بايد آنها را برنامه ريزي كرد.

پورت صفر O: اين پورت 8 پايه ( 32 – 39  ) را اشغال مي كند. مي توان از آن به عنوان ورودي يا خروجي استفاده كرد.

براي استفاده از پايه هاي پورت به عنوان  ورودي و خروجي هر پايه از بيرون به يك مقاومت بالاكش 10k  وصل شود.

دليل اين است كه پورت صفر بر خلاف P3 , P2 ,P1 يك درين باز است.

پورت 1 : جمعاً 8 پايه ( 1 تا 8 ) را اشغال مي كند. مي توان از آن به صورت ورودي يا خروجي استفاده كرد.

و نيازي به مقاومت بالاكش ندارد زيرا داراي مقاومت بالاكش دروني است.

پورت 2: اين پورت داراي 8 پايه است ( 21 تا 28 ) مي توان  آنها را به عنوان ورودي يا خروجي برنامه ريزي كرد. و به  مقاومت بالاكش نياز ندارد.

پورت 3 : اين پورت نيز داراي 8 پايه است ( 10  الي 17) مي توان آنرا به عنوان ورودي يا خروجي برنامه ريزي كرد. نيازي به مقاومت بالاكش ندارد.

ديگر پورت  3

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

 
اينك شرح مختصري در ارتباط با تبادل سريال مي دهيم.

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

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

 

اصول تبادل سريال:

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

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

براي به راه اندازي تبادل سريال داده، بايت داده بايد از گذرگاه 8 بيتي ريز پردازنده گرفته شده و با استفاده از شيفت رجيستر ورودي ـ موازي ـ خروجي ـ سريال به بيت هاي سريال تبديل گردد. كه آنگاه  قابل ارسال به يك خط داده خواهد بود. واضح است كه در سمت گيرنده بايد يك شيفت رجيستر ورودي ـ سريال ـ خروجي موازي براي دريافت داده ارسالي وجود داشته باشد و پس از بسته بندي كردن به صورت بايت آنها را به گيرنده تحويل دهد.

تبادل داده دو روش را به كار مي برد. كه يكي روش همزمان و ديگري روش غير همزمان است. روش همزمان هر بار يك بلوك از داده را انتقال مي دهد. در حالي كه روش غير همزمان هر بار يك بايت را منتقل مي كند.

براي پياده كردن هر يك از دو روش  فوق تراشه هاي IC خاصي بوسيله سازندگان براي تبادل سريال داده ساخته شده است. اين تراشه ها عموماً UART  ( فرستنده گيرنده غير همزمان يونيور سال ) و USART ( فرستنده گيرنده ‏همزمان  ـ غير همزمان  . يونيورسال ) خوانده مي شوند.

كه 8051  داراي UART  دروني است.

 

استاندارهاي Rs 232 :

 براي ايجاد امكان سازگاري در ميان تجهيزات تبادل داده ساخت سازندگان مختلف يك استاندارد واسطي به نام Rs 232 بوسيله سازمان صنايع الكترونيك ( EIA  ) در 1960  بر پاشد. در سال 1963  استاندارد فوق اصلاح و Rs 232 A  نام گرفت. در سالهاي بعد Rs 232B  و Rs 232e  نيز معرفي شد. در اين جا به استاندارد Rs 232 مي پردازيم.

امروزه Rs 232 يك استاندارد واسط I / O  با كاربردي گسترده است. چون استاندارد مذكور قبل از خانوادة TTL  بنا نهاده شد . سطوح ولتاژ ورودي و خروجي سازگار با TTL نيستند . در Rs 232 منطق 1 با – 3   تا – 25  ولت تعريف مي شود ، ضمن اينكه +3  تا +25  ولت هم بيت صفر است.

فاصله – 3 تا +3 تعريف نشده است. به اين دليل براي اتصال هر Rs 232 به يك سيستم مبتني بر ميكروكنترلر، بايد از مبدل هاي ولتاژي همچون MAX 232  براي  تبديل از سطح TTL به سطح Rs 232 و بر عكس استفاده كنيم .  تراشه هاي MAX 232 به نام راه اندازهاي خط و گيرنده هاي خط نام گذاري شده اند.

DB – 9  از استاندارد I / O سريال كه فقط 9  پايه دارد توسط IBM  معرفي شد به منظور ايجاد انتقال سريع و قابل اطمينان داده بين دستگاها در انتقال بايد هماهنگي  وجود داشته باشد .

در ست مثل چاپگر چون در وسيله گيرنده ممكن است براي پذيرش داده جايي نباشد. بايد مكانيزمي براي اطلاع به فرستنده ايجاد شود تا از ارسال داده خودداري كند

رابطه پلاك  و پايه DB–9 سيگنالهاي و پايه IBMPC

توصيف

پايه

تشخيص حامل داده DCD

1

داده رسيده RXD

2

داده ارسال شده TXD

3

پايانه داده آماده DTR

4

سيگنال زمين

5

مجموعه داده آماده

6

تقاضاي ارسال

7

آمادگي براي ارسال

8

تشخيص دهنده

9


 

DTR  : ( آمادگي پايانه داده ) وقتي كه پايانه ( يا پورت Com  درPC  ) روشن شود، پس از يك سري تست هاي دروني PC سيگنال DTR رابه بيرون ارسال مي نمايد تا آمادگي خود را براي تبادل داده اعلام نمايد. اگر مشكلي در پورت Com وجود داشته باشد اين سيگنال فعال نمي گردد. اين سيگنال يك سيگنال فعال پايين بوده و به مودم اطلاع مي دهد كه آماده است . اين پايه يك خروجي از DTE         ( پورت Com  در PC  ) و يك ورودي به مودم است .

CD  يا DCD  : ( تشخيص حامل يا تشخيص حامل داده ) مودم سيگنال DCD را براي اطلاع  (PC)  DTE ارسال مي دارد تا تشخيص حامل معتبر و ارتباط بين خود و  ديگر مودم ها را اعلام نمايد. بنابراين DCD يك خروجي از مودم و ورودي به يك  PC است.

DSR  ( آماده دريافت يا مجموعه داده آماده ) : وقتي كه يك  DCE  ( مودم ) روشن شود و شروع به تست خود كند يك DSR را صادر مي كند تا آمادگي تبادل اطلاعات را اعلام نمايد. بنابراين سيگنال مذكور يك خروجي از مودم و ورودي به PC  است اين يك سيگنال فعال پايين است.

RTS  : تقاضاي ارسال: وقتي وسيله (PC) DTE  داراي بايتي براي ارسال است سيگنال RTS را ايجاد مي كند تا به مودم داشتن يك بايت داده براي ارسال را اعلام نمايد RTS يك خروجي فعال پايين از DTE  و ورودي به مودم است .

( ساده ترين اتصال بين ميكروكنترلر و PC  )

DTE                                      DTE                                                                    Text Box: TXD

RXD

Text Box: TXD

RXD

 

 

( ارتباطات DTE - DCE  و DTE -  DTE )

اتصال 8051  به Rs232

در اين قسمت جزئيات اتصال فيزيكي 8051  به كانكتور Rs232  ارائه شده است. همانگونه كه قبلاً گفته شد استاندارد Rs232 با TTL  سازگار نيست بنابراين از راه اندازي همچون MAX232  براي تبادل سطوح و ولتاژ Rs232 به سطح TTL و بالعكس بايد استفاده شود.

 

پايه هاي TXD   , RXD  در 8051

8051 داراي دو پايه است كه خصوصاً براي ارسال و دريافت سريال داده بكار مي رود اين دو پايه TXD  و RXD  ناميده شود و بخشي از پورت 3  (P3.1, P3.0) مي باشند . پايه 11 از 8051 (P3.1 ) به  TXD  و پايه10 (P3.0  ) به RXD‌  اختصاص يافته است . اين پايه ها سازگار با TTL هستند . بنابر اين نياز به يك راه انداز خط دارند تا با Rs232  سازگار شوند چنين وسيله اي تراشه MAX232  مي باشد كه در زير مورد بحث قرار مي گيرد .

MAX232  :

MAX232  دو مجموعه راه انداز براي ارسال و دريافت داده دارد كه در شكل زير نشان داده شده است.

راه اندازهاي به كار رفته براي TXD ، T1  و T2  خوانده مي شوند در حالي كه راه اندازهاي RXD با R2 , R1  مشخص شده اند.

در بسياري از كاربردها تنها يكي از آنها به كار مي رود مثلاًT1  و R1 همراه با هم براي TXD و RXD در 8051 استفاده شده و مجموعه دوم بلا استفاده باقي مانده است. توجه كنيد كه راه انداز T1  در MAX232 داراي علائم T lin  و Tlout به ترتيب در پايه هاي  11 و 14 مي باشد و پايه T linدر سمت TTL  به TXD  ميكروكنترلر وصل است در حالي كه Tloutدر سمت Rs232  بوده و به پايه  RXD در كانكتور Rs232 DB   وصل مي باشد . خط راه انداز R1  داراي علامت Rlin  و Rlout  روي  شماره پايه هاي 12 , 13  مي باشد. R1in  ( پايه 12)  نيز در سمت TTL بوده و به پايه RXD از ميكروكنترلر متصل مي باشد .

MAX232 به چهار خازن از 1 تا  22  ميكروفاراد  نياز دارد بيشترين نوع مصرفي خازن  22  ميكروفاراد است يكي از مزاياي MAX232 اين است كه از منبع تغذيه +5Vاستفاده مي كند كه مشابه ولتاژ براي 8051 است به بيان ديگر با يك منبع +5Vمي توان 8051 و MAX232 را راه انداخت.

 

برنامه نويسي تبادل اطلاعات سريال در 8051

در اين قسمت مثالهاي تبادل اطلاعات سريال 8051  را مورد بحث قرار مي دهيم و نشان خواهيم داد كه چگونه آنها را براي ارسال و دريافت داده سريال برنامه نويسي كنيمما برتبادل اطلاعات سريال با پورت COM  در PC  تأكيد خواهيم كرد.

8051 داده را با ميزان باودهاي مختلفي بطور سريال ارسال و يادريافت  مي كند ميزان باود در 8051 قابل برنامه ريزي است . 

3 كار به كمك تايمر 1  انجام مي شود. وقتي كه از تايمر 1 براي تنظيم ميزان باود

استفاده شود بايد آنرا در مد 2 ، يعني 8 بيت را باركردن خودكار، برنامه ريزي كرد براي يافتن ميزان باودسازگار با PC بايد T1 را با مقادير جدول زير بار كنيد.

Text Box: 110
150 
300
600
1200
2400
4800
9600
19200
ميزان باود Pc

 

 

 

جدول مقادير ثبات TH1 تايمر 1 براي انواع باودها 

مقادير ثبات TH1  تايمر براي انواع باودها

ميزان باود

( دهي هي ) ­TH1‌‌  

­TH1 (‌ شانزده شانزدهي )

9600

-3

FD

4800

-6

FA

2400

-12

F4

1200

-24

E8

توجه : XTAL = 11 / 0592 MHZ

SBUF : يك ثبات 8 بيت است كه معمولاً در تبادل داده 8 . 51 به كارمي رود براي ارسال يك بايت داده  از طريق خط TXD  بايد آنرا در ثابت SBUF قرار داده به طور مشابه SBUF بايت داده  را هنگامي كه از خط RXD  واردمي شود هم نگه مي دارد. . و اين ثبات قابل دسترسي است.

ثبات كنترل سريال SCON .

ثبات  SCON يك ثبات 8 بيت است كه براي برنامه ريزي بيت شروع، بيت ختم و بيت هاي داده قاب و ديگر موارد استفاده مي شود .

 

جدول ثبات كنترل پورت سريال SCO

SM1 , S به ترتيب بيت هاي D6 , D7  ثبات SCON  هستند اين دو بيت قاب بندي داده را با تعيين بيت در هر كاراكتر و بيت هاي شروع و ختم مشخص        مي كند .

Text Box: SM1         SM0 
0            0
1	  0
0              1  
1             1

مد 0 سريال

مد 1 سريال داده  8بيت  ، 1 بيت ختم ، 1 بيت شروع

مد  2 سريال

مد 3 سريال

از 4 مد سريال، فقط مد 1 براي ما مورد توجه است درثبات SCON  وقتي كد مد سريال 1 انتخاب مي شود. قاب بندي 8 بيت  ؛1بيت ختم و 1 بيت شروع است كه در نتيجه آنرا با پورت CoM  از PC  و سازگارها منطبق مي سازد  مهمتر از آن  مد سريال 1 اجازه مي دهد تا ميزان باود متغير بوده و بوسيله تايمر 1 از 8051  تنظيم مي گردد در مد سريال 1 براي هر كاراكتر جمعاً 10 بيت ارسال مي شود كه اولين بيت شروع به دنبال آن 8 بيت داده و نهايتاً 1 بيت ختم مي باشند.

REN : بيت REN ( فعال ساز در يافت ) بيت D4  از ثبات SCON   است اين بيت SCON.4  هم خوانده مي شود چون SCON  يك ثبات آدرس پذير بيتي است وقتي بيت REN بالا باشد اجازه مي دهد تا 8051 داده را از پايه RXD  در 8051 دريافت كند .  در نتيجه اگر بخواهيم داده را ارسال يا دريافت كنيم بايد REN، 1 باشد با REN=0 گيرنده غير فعال مي شود REN =1 يا =0REN به ترتيب با دستورات SETB SC. N 4 و CLRSCON- 4حاصل مي شوند.

TI : TI ( ارسال وقفه ) بيت D1  از ثبات SCON  است اين يك پرچم بسيار با اهميتي در ثبات SCON  است وقتي كه 8051 ارسال كاراكتر 8 بيتي را تمام مي كند. پرچم TI را براي اعلام آمادگي در ارسال بايت بعدي بالا مي برد.  

RI : ( در يافت وقفه) بيت D0 از ثبات SCON  است اين بيت هم پرچم مهم ديگري از ثبات SCON  است وقتي كه 8051 داده سريال را از طريق RXD  دريافت مي كند  بيت هاي شروع و ختم را حذف و بايت باقميانده را در ثابت SBUF قرار مي دهد سپس بيت پرچم RI   را  به علامت دريافت داده بالا مي برد و بايد  قبل از محو شدن برداشته شود.

 

برنامه نويسي 8051 براي ارسال سريال داده

در برنامه نويسي 8051 براي ارسال سريال بايت هاي كاراكتر مراحل زير بايد اجرا شود.

1ـ ثبات TMOD  با مقدار 20 H بار شود كه به معني استفاده از تايمر 1 در مد 2 است.

2 ـ TH1  با يكي از مقادير جدول ( مقادير ثبات  TH1 تايمر 1 براي انواع باودها ) بار شود.

3 ـ ثبات SCON  با مقدار 50 H  بار ميشود كه مد سريال 1 است و در آن يك داده 8 بيتي با يك بيت شروع و يك بيت ختم قاب بندي مي شود.

TR1 در 1 قرارداده ميشود تا تايمر 1 شروع شود.

5 ـ TI  با دستور CLRTI پاك  مي شود.

6 ـ بايت كاراكتر ارسالي در ثبات SBUF  نوشته مي شود.

7 ـ بيت پرچم TIبا دستور JNB TI , XX  رديابي مي شود تا ارسال كامل كاراكتر صورت گرفته باشد .

8 ـ براي ارسال كامل كاراكتر بعد به مرحله 5 برويد.

 

برنامه ريزي وقفه ها :

در اين قسمت ابتدا تفاوت بين سركشي و وقفه ها را بررسي مي كنيم سپس انواع وقفه هاي 8051  را توضيح مي دهيم. يك ميكروكنترلر مي تواند چندين دستگاه را سرويس بدهد. براي انجام آن دو راه وجود دارد: روش وقفه و روش سركشي در روش وقفه هر وقت وسيله به سرويس نياز داشته باشد. با ارسال يك سيگنال وقفه ميكروكنترلر را مطلع ميسازد ميكروكنترلر پس از دريافت سيگنال وقفه، هر كاري را كنار گذاشته و به وسيله سرويس مي دهد برنامه متعلق به وقفه، روال سرويس وقفه (    ISR) ناميده ميشود.

در روش سركشي ميكروكنترلر مرتباً وضعيت وسيله مورد نظر را رديابي مي كند. وقتي كه شرايط ايجاب كند سرويس را انجام مي دهد پس از آن به سراغ وسيله ديگر مي رود تا اينكه همه را سرويس دهد.

مهمترين دليل مزيت وقفه اين است كه روش سركشي وقت زيادي را در سركشي به وسايل و دستگاهاي كه نياز به سرويس ندارند تلف مي كند. پس براي جلوگيري از كند شدن عملكرد ميكروكنترلر از وقفه استفاده مي كنيم.

 

روال سرويس وقفه:

به ازاي هر وقفه، بايد روال سرويس وقفه (    ISR) وجود داشته باشد وقتي وقفه اي رخ مي دهد، ميكروكنترلر روال سرويس وقفه را اجرا مي كند. به ازاي هر وقفه بايد مكان ثابتي در حافظه تعريف شود تا آدرس     ISRرا نگه دارد مجموعة حافظه هاي كنار گذاشته شده براي نكه داري آدرس هاي     ISR، جدول بردار وقفه نام دارد.

 

 

 

 

جدول ص 182 جدول بردار وقفه

جدول بردار وقفه براي 8051  

پايه

مكان ( hex ) ROM

وقفه

9

0000

بازنشاني

P3.2 (12)

0003

وقفه 0 سخت افزاري بيروني

 

000B

وقفه تايمر ( TFO)

P3.3 (13)

00B

وقفه 1 سخت افزاري بيروني ( INT1)

 

00B

وقفه تايمر1 ( TF1)

 

0023

وقفه سريال تبادل داده

( T1, ­R1 ) Com  

 

مراحل اجراي يك وقفه :

پس از فعال شدن وقفه، ميكروكنترلر وارد مراحل زير ميشود.

1 ـ اجراي دستور جاري را پايان مي دهد و آدرس دستور بعدي (PC ) را در پشته ذخيره مي كند .

2 ـ وضعيت جاري همه وقفه هاي دروني را نيز ذخيره مي نمايد . ( نه در پشته )

3 ـ به مكان معيني از حافظه به نام جدول بردار وقفه كه آدرس روال سرويس وقفه را نگه مي دارد  پرش مي كند.

4 ـ  ميكروكنترلر آدرس ISR  را از جدول بردار وقفه بدست آورده و به آن پرش مي كند آنگاه شروع به اجراي زير روال سرويس وقفه مي كند. تا به آخرين دستور كه RETI  است برسد.

5 ـ پس از اجراي دستور  RETI ميكروكنترلر به مكاني كه در آن وقفه را دريافت كرده بود باز مي گردد . ابتدا آدرس  شمارنده برنامه را از پشته با برداشت از دو بايت بالا پشته بازيافت مي كند و به PC ، مي فرستد . سپس شروع به اجراي برنامه از آن آدرس مي نمايد.

 

شش وقفه در 8051

1 ـ Reset   ، قتي كه پايه ريست فعال شود 8051 به آدرس 0000  پرش مي كند .

2 ـ دو وقفه براي تايمرها كنار گذاشته شده است يكي براي تايمر 0 و ديگري براي تايمر 1 مكان حافظه 001 BH , 000 B H

3 ـ دو وقفه براي وقفه هاي سخت افزاري بيروني كنار گذاشته شده اند.

پايه هاي  شماره 12 و 13 در پورت 3 به ترتيب براي وقفه هاي سخت افزاري       INT1 ,  INT0  مي باشند.

4 ـ تبادل داده سريال داراي وقفه اي است كه متعلق به ارسال و دريافت مي باشد.

 

فعال سازي و غير فعال سازي وقفه:

پس از ريست، همه وقفه ها غير فعال مي شوند و براي اينكه فعال شوند بايد وقفه ها را با نرم افزار فعال كرد  ثباتي  به نام فعال سازي وقفه،  I E  مسئول اين توانا سازي و ناتوان كردن وقفه ها است .

شكل زير ثبات IE را نشان مي دهد كه يك ثابت آدرس پذيري بيتي است.

D0                                                                                                                                                                           D7

EA

- -

ET2

ES

ET1

EX1

ET0

EX0

 

EA           IE07                   اگر EA=0  باشد هيچ وقفه اي تصديق نمي شود . اگر EA= 1 باشد هر وقفه اي

جداگانه با تنظيم بيت مربوطه اش فعال يا غير فعال مي گردد.

             - -  IE.6                         پياده سازي نشده و براي آينده رزرو شده است

ETZ                                                  IE.5وقفه سر ريز تايمر 2 رافعال يا غير فعال مي نمايد .

ES                        IE.4                          وقفه پورت سريال را فعال يا غير فعال مي كند .

ET1                                          IE.3       وقفه سرريز تايمر 1 را فعال يا غير فعال مي كند .

EX1                                           IE.2      وقفه 1 بيروني را فعال يا غير فعال مي نمايد .

ET0                                           IE.1      وقفه سرريز تايمر صفر را فعال يا غير فعال مي نمايد .

EX0                                                                   ­IE.0      وقفه صفر بيروني را فعال يا غير فعال مي كند .

ثبات IE   ( فعال ساز و قفه )

 

مراحل فعال سازي يك وقفه:

براي فعال كردن يك وقفه مراحل زير اجرا مي گردد.

1 ـ بيتD 7 از ثابتI E  (EA )   بايد به سطح بالا برده شود تا بقيه ثباتها فعال گردد.

2 ـ اگر EA=1  باشد، وقفه ها فعال شده و هنگامي كه بيت هاي مربوطه به هر وقفه در IE  فعال گردد به آن وقفه پاسخ داده خواهد شد اگر  EA =0 باشد به هيچ وقفه اي پاسخ داده نميشود حتي اگر بيت هاي مربوطه  IEدر سطح بالا باشند.

برنامه نويسي وقفه هاي سخت افزاي بيروني

8051  داراي دو وقفه سخت افزاري بيروني است پايه 12 و پايه 13 از 8051 كه براي INT1 , INT0  در نظر گرفته شده اند، براي وقفه اي سخت افزاري به كار رفته اند با فعال شدن اين پايه ها 8051 تحت هر وضعيتي وقفه يافته و به جدول بردار وقفه براي اجراي روال سرويس وقفه پرش مي كند. در اين بخش اين دو وقفه سخت افزاري بيروني براي 8051 را بررسي مي كنيم .

براي وقفه هاي سخت افزاري بيروني دو سطح فعال شدن وجود دارد.

1 ـ حساس به سطح ـ 2  حساس به لبه

 

وقفه حساس به سطح :

در مد حساس به سطح، معمولاً پايه هاي  INT 1 , INT0  در سطح بالا هستند. و اگر يك سيگنال سطح پايين به آنها اعمال شود وقفه را فعال مي كند.

وقفه هاي حساس به لبه : همانطور كه ملاحظه شد پس از Reset  8051 ، وقفه هاي INT 1 , INT0حساس به سطح خواهد شد براي تبديل آنها به نوع حساس به لبه بايد بيتهاي ثبات TCON   را برنامه نويسي كنيم . ثبات TCoN  همراه با ديگر چيزها، بيت هاي پرچم IT1 , IT0  كه تعيين كننده وقفه حساس به سطح يا لبه هستند را نگه مي دارد.

IT1 , IT0  به ترتيب بيت هاي D2 , D0  از ثبات TCoN هستند.

ثبات TCoN از نوع آدرس پذير بيتي است . پس از ريست هر دو IT1 , IT0 در منطق صفر هستند. به اين معني كه وقفه هاي سخت افزاري پايه هاي  INT1 , INT0  به سطح حساس هستند با بالا بردن . بيت هاي IT1 , IT0 كه با  دستوراتي چون    SET  B  TcoN .2 , SET  B TCON.oانجام مي شود وقفه هاي سخت افزاري بيروني INT1 , INT0 سيگنال هاي حساس به لبه خواهند شد.

 

 

 

D0                                                                                                                                                                           D7

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

 

 

TF1     TCON.7 پرچم سرريز تايمر 1 . هنگام سرريز تايمر / شمارنده 1 به طور سخت افزاري 1 مي شود . با هدايت پردازنده به روال سرويس وقفه اين بيت پاك مي شود .

TR1     TCON.6 بيت كنترل راندمان تايمر 1 به طور نرم افزاري نشانده / پاك مي شود تا تايمر / شمارنده 1 را روشن / خاموش كند .

TF0     TCON.5  پرچم سرريز تايمرصفر

TR0     TCON.4 بيت كنترل راندن تايمر صفر

IE1     TCON.3 پرچم لبه وقفه بيروني به وسيله CPU هنگام تشخيص لبه وقفه بيروني ( گذر H به L ) نشانده مي شود . وقتي كه وقفه پردازش شد به وسيله CPU  پاك مي گردد .

IT1     TCON.2 بيت كنترل بايت وقفه 1 ‌به صورت نرم افزاري نشانده / پاك مي شود تا حساسيت به لبه پايين رونده / سطح پايين وقفه بيروني را مشخص نمايد .

IE0    TCON.1 پرچم لبه وقفه بيروني صفر . هنگام تشخيص لبه (H به L ) به وسيله CPU  نشانده مي شود .

IT0    TCON.O بيت كنترل بابت وقفه صفر

( تايمر شمارنده ) ثبات ( بيت آدرس پذير )

 

 

( تايمر شمارنده ) ثابت ( بيت آدرس پذير )

 

توضيح راجع به سخت افزار سيستم:

قطعات مورد نياز :

آي سي 8951

آي سي LM324

آي سي MAX232

آي سي 7404

رگولاتور 7805

ـ گيرنده فرستنده نوري

ـ ترانزيستور C945 2 عدد

ـ ديود 4148

ـ BUZZER

ـ كريستال 12MHz

ـRs232 ( سوكت )

ـ مقاومتها و خازنهاي متفاوت كه در شكل شماتيك واضح است

ـ يك كليد  فشاري براي ريست .

حال به توضيح مختصري در ارتباط با سخت افزار سيستم مي پردازيم . 

در حالت عادي كه حائلي  بين فرستنده و گيرنده  وجود ندارد.

ديود با ياس V 6/0 دارد و ترانزيستور off  است و LM 324  كه يك مدار مقايسه گر اكتيولو است غيرفعال است زيراولتاژ پايه مثبت آن از ولتاژپايه منفي آن  بزرگتر است پس مقايسه گر در حالت غير فعال است.

به محض  قرار گرفتن حائل، ديود خاموش مي شود  ترانزيستور  روش مي شود و ولتاژ پايه منفي از  پايه  مثبت بزرگتر مي شود و مدار مقايسه گر، فعال مي شود.      ( اطلاعات در مورد آي سيLM 324  در ضميمه موجود است.

همچنانكه در بخشهاي قبل توضيح داده شد آي سي MAX232 براي برابري سطوح ولتاژ بين ميكروكنترلر 8051 و پورت سريال است كه توضيحات لازم داده شده است و در ضمن اطلاعات بيشتر در مورد ساختار IC   در قسمت ضميمه وجود دارد.

آي سي  7404 براي احتياط در سر راه BUZZER قرار گرفته است كه جريان زيادي كشيده نشود BUZZER  فقط هنگامي فعال مي شود كه حائلي بين فرستنده و گيرنده قرار گيرد و ورودي آن از پورت 1 ميكروكنترلر 8051  است .

طرز اسمبل كردن اين سخت افزار و چيدن مقاومتها و خازنها، مربوط به راه اندازي IC    هاي فوق است كه در بخشهاي قبلي و در ضميمه اجمالاً توضيح داده شده است.

 

توضيح راجع به نرم افزار سيستم :

لازم به توضيح است كه دستگاه باركد خوان براي ارسال اطلاعات به P C  به صورت سريال نياز به دو نرم افزار دارد.

ـ يك نرم افزار كه همان اسمبلي 8051  است كه براي راه اندازي آي سي 8051 مورد نياز است .

ـ نرم افزار دوم مربوط به مچ كردن بين P C  و ميكروكنترلر است كه در اين جا از نرم افزار وپژوال C استفاده گرديده است.

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

كه اين روش مستلزم آن بود كه كارتهاي باركد را نيز خود تعريف كنيم.

كه در اين قسمت براي ساخت كارتها از يك قطعه ترنس پرنت استفاده كرديم و روي آن نوارهاي مشكي را پرينت گرفتيم .

منطق دستگاه به اين صورت است كه در حالت عادي كه حايلي ما بين فرستنده گيرنده نوري نيست . اين منطق يك  است به محض قرار گرفتن حايل اين منطق صفر مي شود و در ضمن هنگامي كه شكافهاي روشن بين گيرنده و فرستنده نوري قرار مي گيرد باز هم منطق دستگاه يك است پس در دو حالت منطق دستگاه يك است 1 هنگامي كه حايلي بين فرستنده و گيرنده وجود ندارد و 2 هنگامي كه شكافهاي روشن ما بين فرستنده و گيرنده قرار مي گيرد.

پس از پي بردن  به اين منطق به سراغ قسمتهاي ديگر دستگاه مي رويم .

كارتها از يك سمت با شكافهاي مشكي نازك شروع مي شوند و از سمت ديگر با شكافهاي مشكي پهن شروع مي شوند .

دومين منطق برنامه اين است كه طريقه كشيدن صحيح كارت از سمت شكافهاي مشكي نازك است اگر از سمت شكافهاي مشكي پهن كشيده شود كدخوانده نميشود.

كه اين قسمت در برنامه با مقايسه گر 255 H  مشخص گرديده است.

مي دانيم فضاي RAM  همه منظوره از 30H  تا 7FH  است كه ما در اين برنامه از  30H  تا 41H را استفاده كرده ايم .

و از خانهH  25 راي كد گذاري استفاده كرده ايم .

قسمت اصلي و مهم برنامه ، قسمت كد خواني است كه اعداد تريس شده در RAM  همه منظوره قرار مي گيرند آنگاه عدد موجود در اولين بايت را دو برابر مي كنيم در خانه  R5   قرار مي دهيم . آنگاه اين عدد موجود درR 5   را به عنوان بيس تلقي كرده و خانه هاي بالاي  RAM   را يكي يكي از آن كم كرده اگر كري ايجاد نكرد صفر و اگر ايجاد كرد 1 و اين صفر و يك ها را در  خانه     25H ذخيره مي كنيم  كه همان كد كارت است.

لازم به توضيح است كه منطق 2 برابر كردن به وسيله روش سعي و خطا بدست  آمده است . قسمت بعدي برنامه تبادل كاراكتر ها بين P C  و ميكرواست .

ميكرو 5 كاراكتر e , d , c, b , a  را مي فرستد و P C دو كاراكترu , q  را مي فرستد .

كاراكتر q اي را كه PC مي فرستد براي تست است كه آيا ارتباط برقرار است يا نه.

و كاراكتر u  را مي فرستد اين كه ميكرو كد ذخيره شده در خويش را براي P C  بفرستد. و كاراكترهاي e , d , c, b , a ارسالي از ميكرو نيز به مفهوم  رابطه يا عدم رابطه بين P C و ميكرو است.

نرم افزار دوم كه به كمك C‌نوشته شده است به منظور مچ كردن بين PC  و ميكرو است .

و مهمترين تابعي كه در اينجا مورد استفاده قرار گرفته است تابع bioscom است . اين تابع وظيفه مهم مچينگ را به عهده دارد .

تابع ديگر status  است كه لود عدد 16 بيتي است . كه ما فقط از بيت DATA Ready آن استفاده كرديم وبقيه را ماكس كرديم .

Vegaf Come كه تابعي فارسي ساز است .

Home  : شكل ساز است

 

 

 

 

 

 

 

 

 

 

بررسي چكونگي عملكرد سيستم

باركد خوان

 

 

 

 

 

 

 

 

 

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 25 اسفند 1393 ساعت: 0:59 منتشر شده است
برچسب ها : ,,,
نظرات(0)

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

 سامانه خرید و امن این سایت از همه  لحاظ مطمئن می باشد . یکی از مزیت های این سایت دیدن بیشتر فایل های پی دی اف قبل از خرید می باشد که شما می توانید در صورت پسندیدن فایل را خریداری نمائید .تمامی فایل ها بعد از خرید مستقیما دانلود می شوند و همچنین به ایمیل شما نیز فرستاده می شود . و شما با هرکارت بانکی که رمز دوم داشته باشید می توانید از سامانه بانک سامان یا ملت خرید نمائید . و بازهم اگر بعد از خرید موفق به هردلیلی نتوانستیدفایل را دریافت کنید نام فایل را به شماره همراه   09159886819  در تلگرام ، شاد ، ایتا و یا واتساپ ارسال نمائید، در سریعترین زمان فایل برای شما  فرستاده می شود .

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس