بخشی از مقاله
مقدمه:
امروزه استفاده از صفحه نمايش هاي پيام متحرك كاملا رايج است. آنها با صورتها و ويژگي هاي گوناگون وارد بازار مي شوند. بيشتر آنها متكي به ميكروپروسسور هستند و در اين موارد استثنايي وجود ندارد. اين تابلوهاي نويسنده ي روان و صفحه نمايش در اكثر خيابانها و بر روي سر در بيشتر مغازه ها براي تبليغ يك آگهي، جنس و كالا وجود دارد يا بر سر چهار راه ها، براي هشدار دادن به رانندگان قرار گرفته اند.
هدف از ارائه اين پروژه طراحي تابلوي نويسنده اي است با حداقل قطعات و كمترين هزينه و ساده ترين نقشه، كه بيشترين كارايي را داشته باشد.
در ابتداي مطلب سعي مي كنيم اصول كار براي طراحي يك تابلوي نوراني و روشهاي مختلف آن را بررسي كرده و در ادامه كار مدار فوق را شرح دهيم.
در اين مدار از يك ميكروپروسسور 8051 يا 8952 استفاده شده است و از 208 قطعه LED به رنگ قرمز استفاده شده است. همچنين از يك آي سي 4051 يك رگلاتور 7805 استفاده شده است 8 قطعه ترانزيستور به عنوان كليدهايي كه مي توانند باز و بسته شوند در نظر گرفته شده است و همچنين از 6 كليد براي نوشتن در تابلو استفاده مي شود.
در مدار تابلوي نويسنده ي روان، از روش جاروب (SCAN) استفاده شده است و اين كار همزمان با جاروب سطرها صورت مي گيرد و اطلاعات صفحه كليد از طريق پين 13 به آي سي ميكروكنترلر منتقل مي گردد.
يك عدد آي سي EEPRAM به شماره ي AT24CO3 استفاده شده است به طوري كه با قطع برق حافظه اي آن پاك نمي شود و به هر مدت كه بخواهيد، باقي مي ماند.
تابلوي نويسنده روان با آي سي ميكروكنترلر 8051، 8259
همراه كليدهاي تايپ و پاك كردن كلمات دلخواه
تشريح عملكرد مدار با زبان ساده
1- بخش اصلي مدار يا تابلوي LED ها:
همان طوري كه در تصاوير چاپ شده مشاهده مي كنيد به غير از قسمت نويسنده نوراني كه شامل تعداد زيادي LED مي باشد، بقيه مدار بسيار ساده بوده و از تعداد معدودي قطعات متعارف تشكيل شده است.
بخش اصلي مدار، يعني تابلوي نويسنده از 8 ستون عمودي و 6 رديف افقي تشكيل شده است كه در مجموع تعداد 208 عدد LED را شامل مي شود.
تغذيه پايه منفي اين LED ها را آسي ميكروا 895 به عهده دارد و جريان پايه هاي مثبت آنها از پايه ي كلكتور هشت عدد ترانزيستور تامين مي شود كه خود اين تزانزيستور ها هم توسط آي سي 4051 كه در واقع به مشابه هشت عدد سوئچ عمل مي كند، تغذيه و باياس مي شوند.
در روي فيبر نوري 26 خط عمودي پايه هاي منفيLED ها را مستقيما به آي سي ميكرووصل كرده اند و احتياجي به سيم كشي جداگانه وجود ندارد.
رديف پايه هاي مثبت LED ها به ترتيب با حروف H, J, F, E, D, C, B, A مشخص شده اند كه از اين هشت رديف دو رديف اول و آخر يعني رديف A و رديف H از طريق مدار چاپي مستقيما به ترانزيستور وصل شده اند واحتياجي به كار اضافي ندارند.
در لحيم كاري LED ها دقت بالايي بايد به كار رود. البته مطلب بسيار مهمي كه در لحيم كاري LED ها بايد به آن توجه شود. هم رديف هم قد، هم فاصله وعمود بودن همه ي آنها مي باشد كه كوچكترين بي دقتي و بي حوصلگي در اين مورد باعث نامنظم شدن رديف ها شده و تناسب حروف و كلمات و جملات نوشته شده را بر هم خواهد زد و بسيار ناموزون و بد شكل ديده خواهند شد در اين كار، مي توان به جاي LED ها از لامپ نيز استفاده كرد و تابلويي در ابعاد چند متر ساخت.
در اين تصوير دو طرف مداري كه براي ديودهاي نوراني كوچك طراحي شده است، را مشاهده مي كنيد.
2 - قسمت ترانزيستور ها و آي سي 4051
8 عدد ترانزيستور 328 BC مثبت، تامين جريان مثبت LED ها را به عهده دارند كه جريان باياس پايه بيس آنها از طريق IC 4051 تامين مي شود.
Ic فوق در واقع يك كليد سلكتور هشت حالته مي باشد كه فرامين باز و بسته كردن اين كليد ها از طريق آي سي ميكرو به آن مي رسد و مادامي كه فرماني به آن نرسد، خروجي هاي آن خاموش بوده و ترانزيستورها نيز باياس نخواهند شد و در نتيجه جريان به LED ها نرسيده آنها نيز خاموش خواهند ماند.
3-بخش هوشمند يا مغز و پردازنده و برنامه ريز مدار:
اين بخش شامل آي سي ميكروكنترولر 8951، 8952 كه شامل ده ها صفحه كاتالوگ و مشخصات فني بوده و يك مغز متفرك الكترونيكي است كه با چند قطعه دور و بر خود تمام برنامه هاي اين مدار انجام مي دهد و توضيح تمامي عملكرد آن در اين مقال نمي گنجد.
4- بخش تغذيه مدار:
تمامي مدار با ولتاژ DC 9-12 تغذيه مي شود كه توسط يك ترانس Ma 500-5/7 كه به محل تغذيه وصل خواهد شد، مدار به راحتي كار خواهد كرد.
براي تثبيت ولتاژ در مدار، يك عدد رگلاتور 5 ولت در نظر گرفته شده است كه با توجه به جريان كمي كه مدار مصرف خواهد شد، مدار به راحتي كار خواهد كرد.
براي تثبيت ولتاژ در مدار، يك عدد رگلاتور 5 ولت در نظر گرفته شده است كه با توجه به جريان كمي كه مدار مصرف مي كند، جريان را به خوبي تامين كرده و به راحتي كار مي كند و براي اطمينان از عملكرد دائم آن در دراز مدت بهتر است زير آن يك رادياتور گذاشته شود.
براي اينكه، با قطع برق مطالب نوشته شده پاك نشود و قابل ديدن دوباره باشد از يك باطري قابل شارژ 6/3 ولت در مدار استفاده مي كنيم. اين باطري موقع كار عادي مدار به آرامي شارژ شده وجريان ولتاژ آن با ديود محدود مي شود و اگر براي يك لحظه برق قطع شود، جريان لازم براي كار آي سي ميكرو را براي مدت كوتاهي تامين نكرده نمي گذارد محتويات آن پاك شود.
5- بخش key bord و تحرير و تعويض حروف و كلمات:
در اين مدار از 6 عدد كليه فشاري براي نوشتن و پاك كردن و حركت دادن و انتخاب حروف و غيره استفاده شده است كه به غير از كليد شماره ي 6 (k6) كه براي Reset يا پاك كردن كامل صفحه تابلو از تمامي جملات و كلمات نوشته شده مي باشد و كار ديگري انجام نمي دهد، كار ساير كليدها توضيح داده مي شود.
به جاي اينكه كليد ها روي فيبر مدارهاي طراحي شوند، خارج از آن و در يك جعبه كوچك جاسازي مي شوند كه توسط سيم ارتباطي رنگي چند رشته و به وسيله يك كانكتور به مدار وصل مي شوند كه اين روش ديگر قرار دادن كليد ها است. كه توسط تصاوير زير نمايش داده شده است. توضيح كليدهاي قرار گرفته بر روي بورد:
الف: كليد شماره ي يك (k1) باعلامت Down+slow
اين كليد دو كار مختلف انجام مي دهد اول با هر بار فشار آن حروف الفباي فارسي و اعداد و علايم از اول تا آخر (Down) روي صفحه ظاهر شده آماده نوشتن مي شود.
دوم، بعد از نوشتن كلمات و جملات دلخواه خود در مرحله ي نهايي كه تابلو را روان خواهيد ساخت يعني كلمات به ترتيب از سمت چپ به طرف راست شروع به حركت خواهند كرد. با هر بار فشار اين كليد مي توانيد حركت (sweep) جملات را آرام تر (slow) بكنيد. خلاصه مطلب: k1 براي انتخاب حروف الفبا از اول به آخر و آهسته كردن حركت تابلوي روان مي باشد.
ب) كليد شماره ي 5 (k5) با علامت up+Fast:
با هر بار فشار دادن اين كليد حروف الفباي فارسي از آخر ظاهر مي شوند. كار دوم اين كليد بعد از اتمام نوشتن كلمات وجملات دلخواه و روان ساختن تابلو (sweep)، سرعت دادن به حركت آنها مي باشد. يعني با هر بار فشار اين كليد سرعت حركت بيشتر خواهد شد.
خلاصه مطلب: (k5) براي انتخاب حروف الفبا از آخر به اول و سريعتر كردن حركت تابلوي روان مي باشد.
ج: كليد شماره 4(k4) با علامت: (sh) shift:
موقع انتخاب حروف الفبا، با كليدهاي شماره 1 و 5، فقط حروف بزرگ ظاهر مي شوند. اما براي انتخاب حروف كوچك بعد از آن كه حرف بزرگ مورد نظر از الفباي فارسي ظاهر شد، كليد شماره ي 4 را فشار خواهيد داد، در اين صورت حرف كوچك مربوط به همان حرف بزرگ ظاهر خواهد شد.
خلاصه مطلب: كليد شماره ي 4 يا (sh) براي انتخاب حروف كوچك الفبا مي باشد.
د: كليد شماره ي 3 (k3) با علامت Enter
با انتخاب هر حرف بزرگ يا كوچك دلخواه كه بايد به هم چسبيده و كلمه را بسازد بايد يك بار كليد شماره ي 3 را فشار دهيد تا آن حرف در حافظه ثبت شده، پاك نشود، والا بدون وجود اين كليد شما هر قدر كليدها را فشار دهيد حروف به طور دائم پشت سر هم ظاهر و محو خواهند شد.
كليد شماره ي 3 يا Enter، علاوه بر ثبت و ضبط انتخابي و چسباندن آنها به همديگر جهت تشكيل كلمه و جمله، دو وظيفه مهم ديگر به عهده دارد و آن اينك:
اول: با فشار مجدد آن حرف انتخابي جلو رفته و فاصله ايجاد مي كند.
دوم: به كلمه آن و كليد shift مي توان حرف يا حروف با كلمات اشتباهي را پاك كرد. براي اين منظور با فشار كليد شيفت يك مثلث ظاهر خواهد شد كه بعد از آن Enter را فشار دهيد آخرين حرف انتخابي پاك خواهد شد و با ادامه اين كار حروف به ترتيب پاك شده مي توان حرف ديگري را جايگزين كرد.
و: كليد شماره ي 2 (k2) با علامت ) RUN(R
اين كليد آخرين كليدي است كه بعد از انجام انواع عمليات تحرير و انتخاب كلمات و تشكيل جملات مورد نظر از طرف چپ تابلو شروع به حركت مي كنند كه سرعت حركت آنها را مي توان با فشار كليد هاي (k1) و (k5) تنظيم كرد. در ضمن با فشار مجدد اين كليد، تابلوي روان را مي توان بي حركت نگاه داشت و در صورت لزوم كلمه وجملاتي را اضافه كرد.
الف- نحوه نمايش علامت، نماد يا حرف الفبا در يك تابلو نوراني بطور ثابت
به عنوان مثال يك ماتريس 3×3 از ديودهاي نوراني را در نظر مي گيريم. اين ماتريس داراي سه ستون و هر كدام شامل سه عدد ديود نوراني مي باشد. حال مي خواهيم به فرض علامت را توسط اين ماتريس نشان دهيم. براي اينكار بايد ديودهاي شماره 2، 6، 5 و 8 روشن شده و بقيه خاموش نگاه داشته شوند (شكل 1)
براي اين منظور مي توان از مدار ساده اي كه در (شكل 2) آن را مشاهده مي كنيد، استفاده كرد.
براي نشان داده علامت كليد هاي s2، s6، s5، s8 بسته، و بقيه باز خواهند ماند كه در نتيجه ديودهاي نوراني شماره 2، 6، 5 و 8 روشن وبقيه خاموش مي مانند.
اگر بخواهيم علامت را به اين صورت نشان دهيم، كافيست LED شماره 6 خاموش شده و در عوض LED شماره 4 روشن شود.
در عمل، به جاي كليدهاي s1 تا s9، مي توان از خاصيت سويچينگ ترانزيستور ها استفاده كرد كه با اعمال ولتاژ اندكي به نقطه A، ترانزيستور هادي شده و مثل يك كليد بسته عمل كرده جريان را هدايت خواهد كرد.
ب- روش جاروب كردن LED ها (SCAN) به صورت تك به تك
هر گاه LED رادر هر ثانيه 25 بار روشن و خاموش كنيم، بر طبق اصول ثبت تصاوير در شبكه بينائي، اين LED همواره روشن ديده خواهد شد (اصول عملكرد سينما و تلويزيون و غيره....)
بنابراين در ماتريس 3×3 ديودي كه قبلا شرح داده شد، مي توان براي نشان داده علامت به ترتيب ديودهاي 2، 5، 6 و 9 را به نحوي روشن و خاموش كرد كه اول ديود نوري شماره 2 روشن شده و به فاصله كوتاهي خاموش و بالافاصله ديود نوري شماره 5 روشن و به فاصله كوتاهي خاموش شود و همين طور ديود نوراني هاي 6 و 8 حال اگر با اين عمل طوري انجام گيرد كه زمان روشن و خاموش شدن يا سوئچ هر LED كمتر يا مساوي 25/1 ثانيه باشد، هر چهار ديود همواره روشن ديده خواهند شده در حالي كه مي دانيم هر يك از ديودها در هر ثانيه 25 بار روشن و خاموش شده اند.
با توجه به اينكه در اين مدار تعداد كل ديودهاي نوراني 9 عدد مي باشد، و لذا فركانس كل مدار برابر خواهد بود با:
(فركانش سويچ هر ديود) Fd× (تعداد كل ديودها) N = (فركانس جاروب كل ديودها) FS
پس:
مداري همچنين بتواند چنين عملي را انجام دهد، بايد مانند (شكل 4) باشد.
در اين مدار مقدار مقاومت هاي R1 تا R3 برابر بوده و براي محدود كردن جريان مصرفي ديودهاي جريان مصرفي ديودهاي نوراني بكار رفته اند.
كليد هايS1 الي S6 سويچ هاي ترانزيستوري هستندكه به صورت ساده به شكل كليد نشان داده شده اند.
حال اگر بخواهيم ابتدا ديود نوراني D2 را روشن كنيم، كافي است كليدهاي S2 و S4 همزمان باهم بسته شوند.
در ادامه كار براي خاموش كردن LED دوم، طبيعي است كه S2 و S4 باز خواهند شد واگر بخواهيم LED5 روشن شود، بايد S2 و S5 بسته شوند و همين طور الا آخر تا اينكه ديودهاي نوراني شماره 2، 5، 6 و 8 يكي پس از ديگري در مدار قرار گيرند.
اگر فركانس جاروب كلي صفحه بالاتر از 25Hz باشد، شكل همواره روشن ديده خواهد شد.
ج- نحوه نمايش با روش جاروب كردن LED ها به صورت ستوني ويا سطري
با توجه به زمان اندكي كه LED ها روشن مي ماند، مقدار روشنائي كل صفحه پائين آمده و در محيط هاي روشن چندان قابل رويت نمي باشد. براي كاهش روشنائي صفحه، مي توان جريان مصرفي LED را بالا برد كه اين عمل تا حد معيني قابل اجرا مي باشد و محدود است. اما، به جاي جاروب يك به يك LED ها، مي توان اين عمل را ستون به ستون انجام داد.
به عنوان مثال در مورد همان علامت ، ابتدا كليد S1 وصل و كليدهاي S4، S5 و S6 باز خواهند ماند. يعني ستون اول كاملا خاموش است
حال اگر كليد S1 باز شده و كليد S2 همزمان با S4، S5 و S6 بسته شوند، طبيعي است كه ستون دوم روشن خواهد شد. در ادامه كار اگر كليد S2 باز شده و كليد S3 و S5 بسته شوند. فقط LED شماره 6 روشن خواهد شد.
اگر فركانس سويچ هر ستون را بيشتر يا مساوي 25 Hz بگيريم، علامت پيوسته روشن ديده شده و فركانس جاروب به صورت زير خواهد شد:
ملاحظه مي شود كه فركانس جاروب كل مدار به طور قابل ملاحظه اي كاهش يافته و به كمتر از 3/1 رسيده است.
د- روش شيفت دادن (shift)
روش متداول ديگري نيز كه بكار مي رود، استفاده از آي سي هاي شيفت رجستر است كه معمولا به صورت 8 بيتي عمل مي كنند. در اين روش هر ستون از ديودهاي نوراني، توسط خروجي 8 بيتي يك آي سي شيفت رجستر تغذيه مي شود و در واقع آي سي هاي شيفت رجستر يك حافظه 8 بيتي هستند.
در ابتدا با اعمال پالس ساعت، اطلاعات هشت بيتي A0 وارد رجستر شماره 1 شده و در عين حال اطلاعات A1 وارد رجستر 2 مي شود و اين عمل را همين طور تا N رجستر مي توان ادامه داد.
مزيت اين روش، امكان روشنائي بيشتر براي LED ها وعدم نياز به جاروب مي باشد.
تشريح عملكرد آي سي 4051
آي سي CMOS به شماره 4051، در واقع يك كليد سلكتور هشت حالته مي باشد كه انتخاب حالت سلكتور آن به كمك سه پايه انجام مي گيرد در شكل شماره 7a اين حالت به خوبي نمايش داده شده است. در حالت عادي كار اين آي سي، پايه هاي 6، 7 و8 آن به خط منفي و پايه 16 به خط مثبت تغذيه وصل مي شوند.
در شكل فوق، حروف Q0 الي Q7 نمايشگر سطرهاي صفحه ماتريس مي باشند و سه ورودي اصلي آن كه از آي سي ميكرو فرمان مي گيرند، با حروف A، B، و C نشان داده شده اند.
انتخاب حالت هاي خروجي اين آي سي نسبت به ولتاژي كه به پايه هاي A، B، و C آن از طريق آي سي ميكرو اعمال مي شود طبق جدول شماره 7b مي باشد.
عدد صفر نشان دهنده سطح پائين ولتاژ روي پايه مربوط و عدد 1 نشان دهنده سطح بالاي ولتاژ (نزديك vcc) روي پايه مربوط است.
به عنوان مثال: اگر هر سه پايه A، B، و C به VCC (مثبت) وصل شوند كه با نماد 111 نشان داده شده است، سطر آخر ماتريس انتخاب خواهد شد.
حال وضعيت روشن يا خاموش بودن LED هاي اين سطر، بستگي به وضعيت كليدهاي Sib الي S24b خواهد داشت كه چه حالتي باشند.
مثلا اگر SIb بسته و S2b تا S24b باز باشند، واضح است كه فقط ديود نوراني آخرين سطر سمت چپ روشن خواهد شد.
عملكرد آي سي شماره 89c51 يا 89c52 (ميكروكنترلر)
قبلا متوجه شديم كه با انتخاب سطرها توسط آي سي CMOS، مقادير ستون ها نيز بايستي با كليد هاي S1b الي S24b تعيين شوند تا هر LED در نوبت خود روشن شود.
عملكرد كليدهاي بيست و چهار گانه مذكور را به عهده خروجي هاي (ميكروكنترلر) مي گذاريم.
ميكروكنترلر 8951، داراي 40 پايه مي باشد كه از اين تعداد پايه، براي ارتباط با دنياي خارج و همين طور تغذيه آن استفاده مي شود.
8951 در مجموع داراي 4 مسير 8 بيتي مي باشد كه باصطلاح دروازه يا Port ناميده مي شوند.
اين Port ها براي ارتباط با ساير مدارهاي جانبي آن بكار مي روند و به نام هاي p0، p1، p2 و p3 نامگذاري شده اند.
بنابراين 32 خط يا 32 پايه از اين آي سي براي تبادل اطلاعات يا سويچ با دنياي خارج است.
دو پايه آن براي تغذيه خود آي سي بوده و دو پايه ديگر نيز براي تشكيل نوسان ساز كريستالي براي تامين پالس هاي ساعت خود آي سي استفاده مي شود.
از 4 پايه باقيمانده يكي براي Reset در هنگام اعمال تغذيه بوده و 3 پايه باقيمانده براي استفاده از حافظه خارجي بكار مي روند. اگر در طراحي مدار از حافظه خارجي استفاده نشود، اين سه پايه بلا استفاده مي مانند. اين آي سي داراي سه نوع حافظه داخلي مي باشد كه عبارتند از:
الف- حافظه ثابت
اين حافظه با قطع تغذيه آي سي پاك نمي شود و از نوع EEPROM بوده و براي نوشتن برنامه اجرائي ميكروكنترلر بكار مي رود. مقداي اين حافظ در 8951 به مقدار 4Kbyte و در آي سي 8952 برابر 8kbyte (دو برابر) مي باشد.
ب- حافظه موقت
اين حافظه با قطع تغذيه آي سي پاك مي شود و جهت تعريف مقادير متغير و محاسبات داخلي برنامه اصلي ميكرو بكار مي رود. همچنين اطلاعاتي كه كاربر از طريق صفحه كليد مفروض به ميكروكنترل مي دهد، در اين حافظه ذخيره مي گردد و قابل ذخيره در حافظه ثابت نيست.
مقدار اين حافظه در 8951 برابر 128 بايت و در 8952 دو برابر مي باشد.
ج- حافظه هاي خاص
كه از ثبات هاي داخلي ميكرو تشكيل شده است، مانند حافظه آكومولاتور AC يا ثبات A كه كليد اعمال منطقي مانند: جمع، تفريق، ضرب و تقسيم روي آن انجام مي گيرد و يا ثبات هاي تايمر كه شمارنده هاي تايمرهاي داخلي آي سي را تشكيل مي دهد.
نحوه عملكرد port هاي خروجي يا ورودي ميكروكنترلر
هر هشت خط يك port مي توانند به صورت تك به تك و در ارتباط با وسايل خارجي باشند. مثلا به يك LED وصل شده آن را روشن يا خاموش كنند و يا يك رله را توسط ترانزيستور تحريك كنند.
علاوه بر اين، قادر هستند به عنوان ورودي نيز بكار گرفته شوند. بدين معني كه حالت خط را تشخيص بدهند (حالت صفر يا يك منطقي) و آن را به واحد پردازش داخلي ميكرو انتقال دهند (شكل 8) مدار داخل يك پورت 8 بيتي را نشان مي دهد.
در اين جا تزانزيستور مو سفت Tr مانند يك سويچ عمل مي كند و زماني كه ولتاژ گيت آن نزديك VCC باشد، روشن شده و ولتاژ پايه هاي D و S نزديك صفر خواهد بود كه در نتيجه در نقطه P كه خارج از ميكرو قرار دارد ولتاژ صفر مي شود و در اين حالت اگر به عنوان مثال مدار مقابل (شكل 9) به نقطه p وصل شود، LED روشن خواهد شد.
مسير جريان از VCC و از طريق مقاومت 330 اهم به طرف نقطه p كه ولتاژ صفر دارد، جاري شده و در نتيجه LED روشن خواهد شد.
حداكثر جريان قابل تحمل Tr طبق جداول كارخانه سازنده آي سي ميكرو، حدود 10mA مي باشد و بنابراين به تنهائي قادر به تحريك يك رله نبوده و بايد در اين مورد از مدار (شكل 10) استفاده شود.
رله بكار رفته در اين مدار ازنوع 6 ولتي بوده و جريان لازم براي تحريك آن توسط يك ترانزيستور PNP تامين مي شود.
هر گاه پايه بيش ترانزيستور ولتاژي نزديك صفر داشته باشد، روشن شده و ولتاژ پايه اميتر به كلكتور صفر مي شود كه در اين حالت ولتاژ نقطه A به VCC نزديك شده رله عمل مي كند.
ديود موازي شده با رله، به خاطر حفاظت از ترانزيستور در مقابل جريان القائي برگشتي از بوبين رله مي باشد.
اگر در هر مدار شكل هاي 9 و 10، ولتاژ نقطه p براي VCC گردد، عمل مدار متوقف شده LED خاموش مي شود و يا رله از كار مي افتد و اين اتفاق زماني مي تواند عملي شود كه ولتاژ G (گيت) ترانزيستور داخل ميكرو كنترلر (Tr) به صفر برسد تا خاموش شده و ولتاژ نقطه p از طريق مقاومت R (شكل 8) به محدوده VCC برسد.
همانطور كه در شكل 8 مشاهده مي كنيد، كنترل ولتاژ G ترانزيستور را يك گيت NOT (n1) به عهده دارد كه خود نيز به يك حافظه يك بيتي متصل است و اگر اين حافظه تك بيتي مقدار (l) منطقي را داشته باشد، ولتاژ G همواره برابر (0) خواهد بود و در نتيجه در خروجي p همواره ولتاژي برابر VCC ظاهر خواهد شد كه نتيجه آن (1) منطقي شدن خروجي p مي باشد.
اما اگر مقدار ذخيره شده در داخل حافظه تك بيتي را به (0) تغيير دهيم، خروجي گيت NOT برابر (1) منطقي و حدود VCC ظاهر خواهد شد كه نتيجه آن (10) منطقي شدن خروجي p مي باشد.
اما اگر مقدار ذخيره شده در داخل تك بيتي را به (0) تغيير دهيم، خروجي گيت NOT برابر (1) منطقي و حدود VCC خواهد شد كه نتيجه آن روشن شدن Tr را به همراه داشته و آن هم به نوبه خود ولتاژ نقطه p را درحدود صفر ولت يا (0) منطقي خواهد كرد.
دستور لازم براي (1) كردن حافظه تك بيتي، SETB و براي (0) كردن، CLR مي باشد. حال اگر بخواهيم به جاي يك ديود نوراني (شكل 9)، 24 عدد ديود نوراني را همزمان روشن كنيم مي توانيم از مدار (شكل 11) استفاده كنيم.
طبيعي است با صفر شدن ولتاژ نقطه P، ترانزيستور PNP روشن شده، در نتيجه يك ستون كامل متشكل از 24 عدد LED همزمان روشن خواهند شد.
اگر به شكل هاي 8 الي 11 با دقت و حوصله نظر كنيد، نحوه عملكرد Port هاي آي سي ميكروكنترلر 8951 را بخوبي درك خواهيد كرد.
اكون مي خواهيم ببينيم چگونه از اين پورت ها به عنوان (ورودي) مي توان استفاده كرد؟
نحوه خواندن اطلاعات از طريق Port
اگر ولتاژ p صفر باشد، فشار دادن كليد S1 تاثيري در آن نخواهد داشت و به عبارت ديگر تغيير حالتي در ولتاژ نقطه p رخ نداده و تبادل اطلاعاتي انجام نگرفته و آي سي ميكروكنترلر نيز عكس العملي نشان نخواهد داد.
اما اگر نقطه p حالت (1) منطقي را داشته باشد چطور؟ ... در اين حالت فشردن S1 صفر ولت را به نقطه p اعمال خواهد كرد كه در نتيجه افت ولتاژي از VCC به صفر خواهيم داشت.
با توجه به اينكه قبل از فشار S1 ولتاژ نقطه p از طريق R برابر VCC بوده و Tr هم خاموش بود، در نتيجه فشار S1 باعث مي شود جريان از طريق R به زمين برقرار شده و افت ولتاژي برابر VCC روي R ايجاد شود كه نتيجه آن صفر شدن ولتاژ نقطه p مي باشد.
اين تغيير ولتاژ از طريق گيت بافر n2 به خطوط باس مشترك داخلي ميكرو انتقال يافته و در نتيجه ميكروكنترلر اثرات فشردن S1 را تشخيص خواهد داد.
با اين تفاصيل، براي خواندن حالت يك خط از Port، ابتدا بايد آن را به سطح (1) منطقي رساند و در اين حالت صفر شدن خط است كه به عنوان تغيير حالت به حساب مي آيد.
به (شكل 13) توجه كنيد:
به عنوان مثال: Port صفر(p0) را با هشت خط ارتباطي در نظر مي گريم:
در اين مدار (شكل 13)، اگر بخواهيم كليد S1 را بخوانيم، بايستي ابتدا دستور زير اجرا شود:
SETB—P0.7
به نحوه قرار گيري R1 دقت كنيد، پورت p0 بر خلاف پورت هاي P1 الي P3، داراي مقاومت شناور داخلي نبوده بنابراين بايد از مقاومت خارجي استفاده شود.
با اجراي دستور فوق، p0.7 در سطح منطقي (1) قرار گرفته و با فشردن كليد S1 ولتاژ آن به صفر مي رسد كه اين تغيير ولتاژ توسط ميكروكنترلر قابل تشخيص است.
اكنون اگر بخواهيم LED روشن شود از اين دستور استفاده مي كنيم.
CLR- P0.0
اين دستور ترانزيستور داخلي P0.0 را روشن كرده وباعث روشن شدن LED خواهد شد.
با در نظر گرفتن حالت بيت در يك پورت، در متن برنامه از دستورات (پرش) به شرح زير استفاده مي شودو
در صورتي كه خط مورد نظر (1) باشد (محل پرش)، (نام خط) JB
در صورتي كه خط مورد نظر (0) (محل پرش)، (نام خط) JNB
نوسان ساز داخلي آي سي 8951 و تغذيه آن
براي كار عادي اين آي سي نياز به پالس هاي ساعت داريم كه در واقع طول مدت زمان اجراي يك خط دستور را كنترل مي كند.
دستورات برنامه، همانطور كه اشاره شد از ابتداي حافظه دائمي يا ثابت داخلي آي سي شروع مي شوند.
براي تهيه پالس هاي لازم مدار خارجي با كريستال طبق (شكل 14) بايد ايجاد شود.
مقدار كريستال مي تواند حداكثر تا 12 MHZ افزايش يابد. در شكل فوق نحوه اتصال تغذيه نيز نشان داده شده است. و خازن 100nf براي حفاظت آي سي ميكرو در مقابل تغييرات لحظه اي ولتاژ بكار گرفته شده است.
نحوه Reset كردن آي سي ميكروكنترل
براي اينكه ميكروكنترلر در لحظه وصل تغذيه Reset شده واجراي دستورات موجود در حافظه دايم را از ابتدا شروع كند، بايد پايه 9 آن در وهله اول در سطح منطقي VCC قرار گرفته و بعد از مدتي به سطح صفر برسد.
در مدار (شكل 15) خازن C1 ابتدا خالي بوده و با وصل شده، تغذيه، پايه 9 از طريق همين خازن در سطح ولتاژ VCC قرار خواهد گرفت و به تدريج با شارژ شدن خازن، ولتاژ پايه 9 از طريق مقاومت R1 به سطح صفر خواهد رسيد.
پين ها پايه هاي لازم براي استفاده از حافظه هاي ثابت و موقت خارجي
پايه هاي PSEN (Program Stor Enable ) و ALE (Address Latch Enable) EA (Extrnal Access) براي ارتباط با حافظه هاي خارجي بكار مي روند.
در صورتي كه در طراحي مدار نيازي به حافظه خارجي نبوده و حافظه هاي داخلي كفاف كار را بدهند، معمولا از اين پايه ها استفاده نشده به حالت آزاد راها مي شوند.
دو خط PSEN و ALE به عنوان خروجي و خط EA به عنوان ورودي عمل مي كند.
اگر از حافظه خارجي استفاده نشود، چون سطح ولتاژ خط EA بايد براي VCC باشد، و لذا با استفاده از يك مقاومت و يا مستقيما به خط مثبت وصل مي شود.
پايه بندي ميكروكنترلر 8951
با توجه به اينكه از حافظه خارجي استفاده نخواهد شد، پايه EA به خط مثبت وصل شده است و پايه هاي PSEN , ALE به حال آزاد گذاشته شده اند.