:: در صورت نبودن و یا اشکال لینک دانلود کتاب ها، لطفا در نظرات همان مطلب اطلاع دهید

تا در اسرع وقت رسیدگی و یا راهنمایی شود ::

if download link is not working, please tell us in comments field.

فن آورى Bluetooth چیست ؟

on . در مجموعه مخابرات

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

امروزه اغلب تولید كنندگان معتبر و شناخته شده ،‌ دستگاه هائى را با قابلیت استفاده از Bluetooth تولید مى نمایند . تلفن هاى موبایل ، كامپیوترها و دستگاه هاى PDA ( برگرفته از Personal Digital Assistant ) ،‌ نمونه هائى در این زمینه مى باشند . فن آورى Bluetooth از فركانس هاى رادیوئى با برد محدود استفاده مى نماید و دستگاه هائى كه از تكنولوژى فوق حمایت مى نمایند ، مى توانند با یكدیگر و در یك مسافت مشخص شده و محدود ارتباط برقرار نمایند .
از فن آورى فوق اغلب به منظور برقرارى ارتباط بین دو دستگاه متفاوت استفاده مى گردد ( مثلا" استفاده از یك صفحه كلید بدون كابل براى هدایت سیستم ) . 

تهدیدات امنیتى مرتبط با فن آورى Bluetooth
Bluetooth همانند بسیارى از تكنولوژى هاى دیگر مى تواند تهدیدات امنیتى خاص خود را براى استفاده كننده به دنبال داشته باشد . با رعایت نكات ایمنى و بكارگیرى پتانسل هاى خاصى نظیر "تائید" و یا "رمزنگارى" مى توان یك محیط ایمن ارتباطى را ایجاد كه داراى شرایط ایمنى مساعدى باشد . متاسفانه تعداد زیادى از دستگاه هائى كه از Bluetooth استفاده مى نمایند از كدهاى عددى كوچك ( موسوم به Pin code ) در مقابل رمزهاى عبور استفاده مى نمایند و همین موضوع مى تواند مسائل و مشكلات امنیتى خاص خود را به دنبال داشته باشد .

در صورتى كه افراد غیر مجاز قادر به تشخیص و ردیابى یك دستگاه Bluetooth گردند ، مى توانند اقدام به ارسال پیام هاى ناخواسته نموده و یا حتى عملا" امكان استفاده از دستگاه bluetooth را غیر ممكن نمایند . یك مهاجم مى تواند با استفاده از مكانیزم هاى موجود به اطلاعات موجود بر روى دستگاه مورد نظر دستیابى و حتى به آنان آسیب رساند . bluesnarfing نمونه اى در این زمینه است كه مهاجمان با استفاده از یك اتصال Bluetooth مى توانند اطلاعات موجود بر روى یك دستگاه مجهز به تكنولوژى Bluetooth را سرقت نمایند . ویروس ها و سایر كدهاى مخرب نیز مى توانند از فن آورى Bluetooth براى آلودگى دستگاه مورد نظر استفاده نمایند . 

حفاظت در مقابل تهدیدات
براى حفاظت در مقابل تهدیدات مرتبط با فن آورى Bluetooth موارد زیر پیشنهاد مى گردد : 
غیر فعال كردن Bluetooth در زمانى كه از آن استفاده نمى گردد . صرفا" در مواردى كه قصد ارسال اطلاعات از یك دستگاه به دستگاه دیگر وجود دارد ، مى بایست پتانسیل Bluetooth فعال گردد و از فعال نمودن آن در سایر موارد اجتناب گردد . با غیر فعال شدن پتانسل فوق، امكان دستیابى افراد غیرمجاز به دستگاه مورد نظر سلب مى گردد .

استفاده از Bluetooth در hidden mode . در صورتى كه Bluetooth فعال شده است ، اطمینان نمائید كه در hidden mode و نه discoverable mode پیكربندى شده است . با پیكربندى دستگاه مورد نظر در hidden mode ، سایر دستگاه ها قادر به شناسائى دستگاه مورد نظر نخواهند بود . این موضوع باعث نمى گردد كه دستگاه هاى Bluetooth قادر به برقرارى ارتباط با یكدیگر نباشند . در چنین مواردى مى توان دستگاه ها را "pair" نمود . بدین ترتیب آنان مى توانند حتى در hidden mode نیز با یكدیگر ارتباط برقرار نمایند . با این كه دستگاه ها ( نظیر تلفن هاى موبایل و یا headset ) لازم است در ابتدا در discoverable mode به منظور شناسائى یكدیگر پیكربندى گردند ولى در ادامه ( پس از این كه "paired" شدند ) مى توانند بدون نیاز به شناسائى مجدد اتصال، با یكدیگر ارتباط برقرار نمایند .

دقت لازم در زمان استفاده از Bluetooth . در زمان استفاده از تكنولوژى فوق در یك محیط عمومى و در مواردى كه دستگاه ها pair و در discoverable mode پیكربندى شده اند ، مى بایست نكات امنیتى را رعایت نمود . در صورت استفاده از دستگاه مورد نظر در یك محیط عمومى ، همواره احتمال شناسائى ارتباط توسط افراد غیر مجاز وجود خواهد داشت .

بررسى تنظیمات امنیتى . اكثر دستگاه ها ویژگى هاى متعددى را به منظور تامین طیف وسیع خواسته استفاده كنندگان ارائه مى نمایند . فعال نمودن برخى از ویژگى هاى ارائه شده ممكن است شما را در معرض تهدیدات بیشترى قرار دهد . در این رابطه لازم است ویژگى هاى غیر ضرورى و یا اتصالات Bluetooth ، غیر فعال شود . همچنین پیشنهاد مى شود تنظیمات دستگاه مورد نظر خصوصا" مقادیر درنظر گرفته شده در ارتباط با سیستم امنیتى دستگاه مورد نظر به دقت بررسى گردد . سعى نمائید صرفا" گزینه هائى را فعال نمائید كه ضمن تامین خواسته هاى مورد نظر ، مشكلات و تهدیدات امنیتى خاصى را به دنبال نداشته باشند .

استفاده از پتانسل هاى امنیتى پیش بینى شده در دستگاه . قبل از استفاده دستگاه Bluetooth ، مى بایست امكانات امنیتى ارائه شده همراه دستگاه بررسى و با آگاهى كامل از آنان استفاده گردد . ویژگى هائى نظیر تائید و رمزنگارى نمونه هائى در این زمینه مى باشد .

فیلیپ فلاپ

on . در مجموعه برق و الکترونیک

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

 

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

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

اساس گيت پايه فيليپ فلاپ ها از نوع گيت   NAND , NOR هستش و فيليپ فلاپ هاي مختلف بر اساس گيت پايه اي   NAND يا   NOR ساخته مي شن  .

يكي از انواع فيليپ فلاپ ها فيليپ فلاپ نوع   SR آسنكرون هستش كه دياگرام لاجيك ، سمبل مداري و جدول صحت نوع   NOR اون رو در شكل زير مي بينيد  .

 

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

1- باصفر شدن ورودي   RوS در صورتيكه مقدار حالت فعلي خروجي فيليپ فلاپ صفر باشه ، مقدار آينده خروجي فيليپ فلاپ تغييري نمي كنه و صفر باقي مي مونه  .

2- با صفر شدن ورودي   RوS در صورتيكه مقدار حالت فعلي خروجي فيليپ فلاپ يك باشه مقدار آينده خروجي فيليپ فلاپ تغييري نمي كنه و يك باقي مي مونه  .

3- بند يك و دو بالا ، نان دهنده ي حفظ اطلاعات در فيليپ فلاپ در دو موقعيت بالاست و اين مطلب مؤيد ذخيره كنندگي فيليپ فلاپ هستش  .

4- هر گاه ورودي   RوS مساوي يك منطقي بشه بدون در نظر گرفتن مقدار حالت فعلي   ((Q(t)  ، خروجي مساوي با  (Q(t+1) = Q(t+1 هستش  .

 

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

 

 

 

در شكل بالا مدار فيليپ فلاپ   RS آسنكرون با گيت پايه اي   NAND رو هم مي بينيد + جدول صحت اون رو بر اساس حالت فعلي  ((Q(t) .

 

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

 

1- با 1 شدن ورودي   RوS در صورتيكه مقدار حالت فعلي خروجي فيليپ فلاپ صفر باشه ، مقدار آينده خروجي فيليپ فلاپ تغييري نمي كنه و صفر باقي مي مونه  .

 

2- با 1 شدن ورودي   RوS در صورتيكه مقدار حالت فعلي خروجي فيليپ فلاپ 1 باشه مقدار آينده خروجي فيليپ فلاپ تغييري نمي كنه و 1 باقي نمي مونه   .

 

3- بند يك و دو بالا نشانگر حفظ اطلاعات در فيليپ فلاپ در دو موقعيت فوق هستش و اين مطلب مؤيد ذخيره كنندگي فيليپ فلاپ هستش  .

 

4- هرگاه ورودي   RوS مساوي صفر منطقي بشه بدون در نظر گرفتن مقدار حالت فعلي  ((Q(t)   ، خروجي آينده مساوي با  (Q(t+1) = Q(t+1

 

.

 

 

 

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

 

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

 

 

 

نوع ديگری از فيليپ فلاپ ها، فيليپ فلاپ نوع    JK می باشد كه از آن براي رفع معايب فيليپ نوع    SR استفاده مي شود ، اين فيليپ فلاپ يك فيليپ فلاپ عمومي است به طوري كه عملا به كمك اين فيليپ فلاپ مي توانيم عملكرد فيليپ فلاپ هاي ديگر را توليد كنيم  .

 

در شكل زير مدار منطقي و جدول صحت فيليپ فلاپ   JK رو مي بينيد  .

 

 

 

فيليپ فلاپ هاي نوع   T يا   Toggale و نوع   D از انواع ديگه ي فيليپ فلاپ ها هستن  .

 

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

 

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

آنتن های هوشمند

on . در مجموعه مخابرات

 برگرفته از: ماهنامه دنیای مخابرات و Smart Antenna,8th ISCEE Kerman

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

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

 

مبحث آرایه بندی و متعاقب آن طراحی الگوریتم های مختلف جهت پردازش اطلاعات حاصله ازآرایه ها مدتی است که تحقیقات زیادی را به خود اختصاص داده است. اگر چه تاریخچه این تحقیقات به سالیان پیش بر می گردد اما مدتی است که به خاطر پیشرفت بشر در دستیابی به سرعت های بالای کلید زنی و پردازشگرهایی که قادرند در مدت زمانی اندک محاسبات زیادی را انجام دهند تحولات چشمگیری یافته است. البته هنوز هم این سرعت کافی نبوده و در بسیاری موارد باعث عدم پردازش مناسب داده ها می گردد. جهت یابی رادیویی از جمله مواردی است که بر روی آن تحقیقات زیادی بعمل آمده است.

 

 

لازمه بررسی و تحلیل چنین مباحثی شناخت تکنیک آرایه ها و توانایی استفاده از الگوریتم های مناسب با شرایط مسئله است. این موضوع که ابتدا در سیستم های آرایه وفقی مطرح شده بود در حال حاضر نیز بهمراه مبحث شکل دهی پرتو در زمینه های مختلف خصوصا مخابرات سیار سیستمهایSDMA و آنتن های هوشمند مورد توجه بسیاری از مراکز تحقیقاتی قرار دارد.

  

بهره گیری از تکنیک پردازش آرایه ای ابتدا جهت آنتن ها بکار رفت اما پس از مدتی کاربردهای عظیم این تکنیک در کلیه زمینه ها گسترش یافت.

  

الگوریتم های موجود در مورد مشخص کردن جهت ورودی های دریافتی مدتهاست که مورد توجه بوده و در روش بسیار کارای آن که همان روش های تخمین جهت با استفاده از تکنیک زیر فضای سیگنال است از حدود دهه 1970 آغاز شده است. اصلی ترین الگوریتم مرتبط با تکنیک های زیر فضای سیگنال، الگوریتم میوزیک است.

  

یکی از کاربردهای سامانه های جهت یاب به تحقیقات یکی از کارشناسان ارشد ارتش آمریکا بر میگردد که با نمونه برداری از صدای یک تانک و سپردن این نمونه صدای تانک در حافظه کامپیوتر و سپس کاشتن تعدادی میکروفن بعنوان سنسور و مقایسه خروجی آرایه با حافظه توانست زاویه ای که این تانک به هنگام حرکت با موتور روشن با سنسور می ساخت را آشکار نماید که این مهم باعث می شد تا بتوان تانک دشمن را با علم به زاویه آن شناسایی نموده و با داشتن مختصات آن بعنوان یک هدف نظامی به آن شلیک نمود. کاری که در گذشته با رادار انجام می شد در حالیکه هزینه ساخت رادار با هزینه ساخت این پروژه نظامی غیر قابل مقایسه بود. بطوریکه چنانچه رادار توسط دشمن مورد تخریب قرار می گرفت هزینه آن بسیار زیاد بود در حالیکه چنانچه این پروژه توسط دشمن تخریب می شد فقط تعدادی میکروفن از دست می رفت.

  

امروزه جدای از کاربردهای وسیعی که آرایه های میکروفنی به ارمغان آورده اند می توان با نمونه برداری از صدای حوادث یا پدیده ها ( شبیه صدای رعد، صدای انفجار- صدای شکستن شیشه و ...) و سپردن این اصوات به حافظه کامپیوتر و مقایسه آنها با خروجی سنسورها یا آرایه های کاشته شده در محل های مورد نظرمان، بروز یک پدیده یا اتفاق یک حادثه یا رویداد را آشکار و متعاقب آن امور پیشگیرانه را لحاظ نمود. مثلا با پردازشگرهای قوی میتوان بروز رعد را از روی صدای آن تشخیص داده و در پست های توزیع برق فشار قوی در کسری از ثانیه نسبت به قطع برق اقدام نمود و سایر امور پیشگیران های که میتوان با استفاده از آرایه بندی به انجام رساند.

 

 بطور کلی روش های تخمین جهت که تاکنون پیشنهاد شده را می توان به دو گروه تقسیم کرد :

 

1. روش های تخمین طیفی

 

2. روش های ساختار ویژهدر روش های گروه اول که مهمترین آنها روش حداکثر احتمال است با محاسبه طیف مکانی و بدست آوردن نقاط ماکزیمم محلی، تعداد و جهت منابع سیگنال تعیین می گردد. تخمین همزمان تعداد و جهت منابع ارسال کننده سیگنال و همچنین زمان پردازش کم این روشها از جمله نقاط قوت آنها محسوب می گردند ولی قدرت تفکیک پذیری کم در تشخیص منابع نزدیک به هم و منابع با اختلاف توانی زیاد، همچنین حساسیت زیاد آنها به نویز و کالیبراسیون آرایه دلایلی هستند که استفاده از آنها را محدود نموده است.

 

 

 

روش های گروه دوم که الگوریتم Music مهمترین آنهاست بر پایه این خاصیت ماتریس کواریانس پایه گذاری شده اند که فضا توسط بردارهای ویژه آن به دو زیر فضای سیگنال و نویز تقسیم می شود به گونه ای که بردارهای آرایه در جهت منابع، عمود بر زیر فضای نویز قرار می گیرند.

 

 

سادگی فرمول بندی، قدرت تفکیک زیاد و حساسیت بسیار کمتر آنها به نویز از جمله محاسن آنهاست ولی از عیوب دسته دوم می توان به این نکته اشاره کرد که بعضی از روش های این دسته فقط قابل اعمال به آرایه های خطی هستند.

 

 

برای بهینه کردن یک ارتباط بطوریکه دارای بازده بالایی باشد توجه به چندین مورد اساسی لازم به نظر می رسد که در زیر به آنها اشاره می شود:

 

 

1.   چگونگی استفاده از آرایه آنتنها بطوریکه با استفاده از پیکربندی های متفاوت، اثر و نتایج مربوط به سامانه های مخابراتی را بهبود بخشد.

 

2.       مدل سیگنال مناسب و کارا، برای پردازش آرایه ها در کنار طرح های مختلف شکل دهی بیم.

 

3.       الگوریتم های وفقی برای تنظیم وزن یک آرایه.

 

4.       بکارگیری چندین روش تخمین جهت.

 

5.       بحث بر روی چندین روش پیش پردازشی.

 

 

روش های جدا سازی سیگنال از نویز و حصول مقادیر دقیق متغیر های مورد نیاز برای الگوریتم های مختلف موجب شده است که هر کدام در موقعیت های مختلفی بکار گرفته شوند و حتی بعضی از این الگوریتم ها به دلایل مشکلاتی که فراهم نموده اند، حذف شوند.

 

یک مشکل جدی پردازش آرایه ها حل مسئله منابع کاملا وابسته است. حل نمودن مشکل منابع وابسته و همچنین منابعی که از لحاظ فاصله بهم نزدیک اند باعث ایجاد یک حوزه فعال در تحقیقات شده است.

 

درحال حاضر تکنیک های زیر فضای سیگنال به عنوان قدرتمندترین روش در نظر گرفته شده و بر مبنای بردار تجزیه ویژه ماتریس کوواریانس داده ها (یعنی Rxx ) بنا شده است.

 

 

 

·        این روش ها قادرند تخمین هایی با قدرت بالاتر را ایجاد کنند.

 

 

·        ابهام ها کاهش یابند

 

 

·        تخمین دقیقی برای DOA و سایر متغیرهای سیگنال و نویز ایجاد می کند.

 

 

 

 

اما این تکنیک های مشخص شده، حساس به نمونه برداری و مدل های خطا و عدم اطمینان هستند، بخصوص که بر اساس دانش دقیق شکل هندسی آرایه ( موقعیت آنتنها) ، فاز و بهره آنتن، کوپلینگ متقابل بین عناصر آرایه ها و غیره بنا شده اند.

  

سیستم آنتن هوشمند سیستمی است که المان آنتن چند گانه را با توانایی پردازش سیگنال ترکیب کرده تا به طور خودکار آنتن بهترین تشعشع و یا بهترین دریافت را در پاسخ به سیگنالهایی که در محیط اطراف آنتن هستند، انجام دهد.

 

 

 

 

Radio Direction Finding

Adaptive Array System

Beam forming

Space Division Multiple Access

Smart Antenna

Multiple Signal Classification

Spectral Estimation Methods

Eigenstructure Methods

Maximum Likelihood

Array processing

Conventional-delay

Directional of arrival

Pre-processing methods

 

آموزش میکروکنترلر پیک (4)(شمارنده با کلید)

on . در مجموعه برق و الکترونیک

 

با استفاده از مثال امروز می خواهیم کار کردن با کلید را فرا بگیریم. می خواهیم برنامه ای بنویسیم که شمارنده باینری باشد (مانند جلسه قبل) با این تفاوت که با کلیدی که به یکی از پین های پورت B    وصل شده است می خواهیم عمل ریست کردن را انجام دهیم. یعنی هر بار که کلید را فشار دادیم، شمارش باینری از صفر شروع شود.

ابتدا بایستی با دستور پر کاربرد BUTTON    آشنا شویم. در واقع این دستور تماس لرزان ناشی از فشردن دکمه(   (debouncing    را حذف می کند. هنگامی که کلید را فشار می دهیم، پلاتین های آن به صورت ناگهانی قطع و وصل نمی شوند بلکه قبل از این که وضعیت کلید به حالت پایدار برسد، قطع و وصل کلید چندین بار به صورت جست و خیز در مدت کوتاهی ادامه می یابد. به علت سرعت بالای میکروکنترلر ها این جست و خیزهای سریع نیز خوانده می شوند و امکان دارد در روند برنامه اختلال ایجاد کند. برای رفع این مشکل از دستور BUTTON    استفاده می کنیم.

 

 این دستور تنها با 8 پایه ی تشکیل دهنده پورت B    عمل می کند. شکل کلی دستور BUTTON    به صورت زیر می باشد:

BUTTON Pin, State, Delay, Rate, Var, Action, Lable

 

که در آن:

 Pin شماره پایه متصل به کلید (یکی از پایه های پورت B   

State   وضعیت پایه به هنگام فشار دادن دکمه است (صفر یا یک)

Delay تعداد شمارش سیکل پیش از آن که debouncing    شروع شود.(صفر تا 255) اگر صفر نوشته شود هیچ debouncing    و تکرار خودکار اجرا نخواهد شد و اگر 255 نوشته شود، debouncing    انجام خواهد شد ولی تکرار خودکار انجام نخواهد شد.

Rate نرخ تکرار خودکار می باشد. در حقیقت مدت فشرده نگه داشتن کلید را تعیین می کند. ( صفر تا 255)

Var متغیری یک بایتی است که برای شمارش معکوس یا تاخیر به کار برده می شود که قبل از استفاده بایستی با صفر مقدار دهی شود.

Action   وضعیت دکمه برای اجرای پرش می باشد ( اگر دکمه فشار داده نشده باشد صفر و اگر فشار داده شده باشد 1 )

Lable   محلی از برنامه که در صورت درست بودن Action   ، عملیات باید از آن جا ادامه پیدا کند.

شماتیک دو مدل دکمه را که می توان با دستور Button    استفاده کرد، در ذیل آورده شده است.

button

 

با استفاده از شماتیک سمت راست، وقتی کلید فشرده می شود، ولتاژ 5 ولت که معادل 1 می باشد به پایه ی ورودی اعمال می شود و در شماتیک سمت چپ با فشرده شدن کلید، صفر به پایه ی ورودی اعمال می شود.

برنامه زیر یک شمارنده باینری است که با استفاده از کلیدی که به پورت B.7    وصل شده، می توان این شمارش را ریست کرد. به دستورات Button    توجه کنید.

TRISB=%1000000

B0 VAR BYTE : B1 VAR BYTE

LOOP1:

B1=0

FOR B0=0 TO 127

PORTB=B0

PAUSE 250

BUTTON 7,1,245,0,B1,1,LOOP2

NEXT B0

GOTO LOOP1

LOOP2:

PORTB=0

BUTTON 7,0,245,0,B1,1,LOOP1

GOTO LOOP2

END

توجه داشته باشید که چون از 7 پایه ی پورت B    برای شمارش استفاده کردیم، شمارنده می تواند تا 127 بشمارد.   (2^7=128)  

شماتیک مدار به صورت زیر می باشد:

scheme3

 

مادامی که کلید فشرده شده باشد، خروجی روی پورت B    صفر خواهد بود. دستور Button    اول که درون حلقه ی loop1   قرار دارد در واقع می گوید وقتی کلید porttb.7   فشار داده شد (1 شد) برنامه به حلقه loop2    پرش کند. و دستور Button    دوم می گوید وقتی کلید مورد نظر رها شد (صفر شد) برنامه به حلقه ی loop1    پرش کند.

در خط دوم از نکته ی زیر استفاده شده است.

نکته) برای نوشتن چند فرمان در یک خط می توانیم از علامت : بین دو دستور استفاده کنیم. به عنوان مثال(   (B1=0 : B2=0   .

آموزش میکروکنترلر پیک (3)(شمارنده باینری)

on . در مجموعه برق و الکترونیک

 مثال امروز ما شمارش به صورت باینری می باشد. یعنی می خواهیم میکرو led   ها را به صورت شمارش باینری روشن کند. هدف اصلی از این برنامه آشنایی با دستور for    می باشد که در واقع یک دستور حلقه ای است.

شکل کلی این دستور به صورت زیر است:

 

For index=start to stop (step(-) inc)

 Body

Next index

از این دستور برای افزایش یا کاهش یک متغیر استفاده می شود. در این دستور index   نام متغیر مورد نظر است که می خواهیم در هر گام به آن افزوده شود یا از آن کاسته شود، start   مقدار اولیه متغیر است و step   مقدار افزایش یا کاهش است که هر بار دستور next   اجرا می شود این افزایش یا کاهش در متغیر اعمال می شود و stop   مقدار نهایی می باشد که هر وقت index=stop   شد، حلقه for   متوقف شده و دستورات بعدی برنامه اجرا می شوند.

Body   نیز دستورات مورد نظر می باشند که می خواهیم میکرو آن را در حلقهfor   اجرا کند.

نکته) اگر هیچ مقداری برای step   در نظر گرفته نشود، هر بار که برنامه به عبارن next   می رسد، متغیر به مقدار یک واحد افزایش می یابد.

این هم برنامه ساده امروز ( شمارش به صورت باینری):

TRISB=0

B0 VAR BYTE

LOOP:

FOR B0=0 TO 255

PORTB=B0

PAUSE 250

NEXT B0

GOTO LOOP

END

با دستورات خط اول و دوم که از قبل آشنا هستید. همانطور که ملاحظه می کنید در این برنامه از ساده ترین شکل حلقه   for استفاده شده است. متغیر B0   از صفر تا 255، یک واحد یک واحد می شمارد و در هر شمارش آن را روی پورت B   نمایش می دهد و 250 میلی ثانیه تاخیر ایجاد می کند.

بعد از این که تا 255 را نشان داد با دستور goto loop   دوباره به ابتدای حلقه ی loop   باز می گردد و یک بار دیگر شمارش را از صفر شروع می کند.

این هم مثالی برای کسانی که می خواهند به صورت کاهشی از این دستور استفاده کنند:

 

 

For B2=20 TO 10 step -2

Next

در زیر نیز می توانید شماتیک مدار که با پروتئوس شبیه سازی شده مشاهده کنید:

scheme3

 

آخرین کتاب ها