البته هیچ CPU نمی تونه دو تا كار رو در یك زمان انجام وای خوب من اینطوری گفتم كه شما به موضوع بیشتر مسلط باشین. البته CPU های كامپیوتری هم ما داریم كه چند هسته دارن و می تونند یه جورای چنین كاری رو انجام بدن به این صورت كه كه حجم یه كار روی بقیه هسته ها تقسیم می كنه.
در این مثال هدف من این كه یه برنامه ای بنویسیم كه میكرو یه كار ثابت داشته باشه یعنی یه كاری رو مدام انجام بده و یك ثانیه شمار دیگه رو هم بتونه كنترل كنه. در این برنامه ما از یك LCD استفاده كردیم كه كه دو سطر داره در سطر اول نوشتیم WORK1 و در سطر دوم هم نوشتیم WORK2 كه اولی همون كار ثابت میكرو میشه یعنی هر 300 میلی ثانیه یك شمارش انجام میده و دومی كه از طریق وقفه انجام میگره یك ساعت هستش كه با سر ریز شدن كانتر و پر شدن یك شمارنده كه در اینجا A هست یك ثانیه زمان ایجاد میشه كه این زمان جلوی work2 نوشته میشه.
تایمر در مود صفر برنامه ریزی شده بنابریاین 8 بیتی است و از 0 تا 255 پر میشه خوب فركانس كریستال ما 12000000 هرتز می باشد همچنین ما در برنامه مقدار Prescale = 256 قرار دادیم:
بنابراین:
183=(256×256) ÷ 12000000
یعنی هر با كه محتوای A به 183 رسید معادل یك ثانیه می باشد. با مك یه دستور شرطی می تونیم این كار رو انجام بدیم. برنامه و دیگر فایل های مربوط رو برای دانلود گذاشتم تا بهتر متوجه بشین. موفق باشید
پسورد: mc8051.blogfa.com
منبع: www.DataUp.org
بررسی كاربردهای كارتهای هوشمند
كارتهای هوشمند دارای مزایا و قابلیتهای بسیاری هستند و این باعث شده است تا بسیار مورد توجه قرارگیرد و كاربردهای آنها بسیار گسترش یابد. برخی از مزایای این كارتها عبارتند از:
- اندازه: اندازه این قبیل كارت كوچك است و نیاز به حمل مدارك و پول را برطرف میسازد.
- امنیت: به دلیل وجود سیستمهای حفاظتی روی كارت نظیر رمزنگاری، از دادههای موجود بر روی آن به خوبی محافظت میشود.
- حجم اطلاعات قابلحمل: كارتهای هوشمند قادرند حجم زیادتری از اطلاعات را در مقایسه با كارتهای مغناطیسی درخود ذخیره كنند.
برخی دیگر از مزایای كارتهای هوشمند غیرتماسی عبارتند از :
• راهکار ایده آل برای Transaction سریع ) مانند Toll collection و Mass Transit )
• امکان برقراری ارتباط در فواصل
• كاربردهای Hand-free
• طول عمر بیشتر کارت و Reader (بدلیل عدم نیاز به تماس مستقیم بین كارت و كارتخوان)
• امکان سرویس به بیش از یک شخص در آن واحد
• جلوگیری از بروز مشکل در استفاده از کارت
امروزه در بسیاری ازكشورها، از كارتهای هوشمند در كاربردهای مختلفی استفاده میشود، این كاربردها به طور كلی به سه دسته طبقهبندی میشوند:
1. كاربردهای شناسایی: از این كارتها برای شناسایی هویت افراد و صاحبان آنها استفاده میشود؛ مثل كارت تردد، كارت پاركینگ.
منبع: www.DataUp.org
بررسی كاربردهای كارتهای هوشمند
كارتهای هوشمند دارای مزایا و قابلیتهای بسیاری هستند و این باعث شده است تا بسیار مورد توجه قرارگیرد و كاربردهای آنها بسیار گسترش یابد. برخی از مزایای این كارتها عبارتند از:
- اندازه: اندازه این قبیل كارت كوچك است و نیاز به حمل مدارك و پول را برطرف میسازد.
- امنیت: به دلیل وجود سیستمهای حفاظتی روی كارت نظیر رمزنگاری، از دادههای موجود بر روی آن به خوبی محافظت میشود.
- حجم اطلاعات قابلحمل: كارتهای هوشمند قادرند حجم زیادتری از اطلاعات را در مقایسه با كارتهای مغناطیسی درخود ذخیره كنند.
برخی دیگر از مزایای كارتهای هوشمند غیرتماسی عبارتند از :
• راهکار ایده آل برای Transaction سریع ) مانند Toll collection و Mass Transit )
• امکان برقراری ارتباط در فواصل
• كاربردهای Hand-free
• طول عمر بیشتر کارت و Reader (بدلیل عدم نیاز به تماس مستقیم بین كارت و كارتخوان)
• امکان سرویس به بیش از یک شخص در آن واحد
• جلوگیری از بروز مشکل در استفاده از کارت
امروزه در بسیاری ازكشورها، از كارتهای هوشمند در كاربردهای مختلفی استفاده میشود، این كاربردها به طور كلی به سه دسته طبقهبندی میشوند:
1. كاربردهای شناسایی: از این كارتها برای شناسایی هویت افراد و صاحبان آنها استفاده میشود؛ مثل كارت تردد، كارت پاركینگ.
الگوها و برنامهریزیهای جدید در سیستم عامل كارتهای هوشمند، سیستم عامل JavaCard است. این سیستم عامل توسط شركت Sun Microsystem توسعه داده شده است و بعد از آن در فروم JavaCard گسترش یافته است. این سیستم عامل بسیار مورد توجه است زیرا در معماری برای طراحان و برنامهنویسان استقلال و آزادی عمل فراهم میآورد. همچنین برنامههای كاربردی مبتنی بر سیستم عامل جاوا میتواند برای هر كارتهوشمندی كه سیستم عامل JavaCard را پشتیبانی میكند استفاده گردد.
امروزه بیشتر كارتهای هوشمند برای انجام ارتباط و عملیات برنامهریزی شده ، سیستم عامل ویژه خود را استفاده میكنند. اما برای پشتیبانی واقعی از برنامههای كاربردی، سیستمهای عامل كارتهای هوشمند بر اساس عملیاتی كه توسط استاندارد جهانی ISO7816 فراهم گردیده، میباشند. با این حال برای انتقال برنامهای كه بر اساس تولیدات یك شركت سازنده كارت فراهم شده، به سیستم تولیدكننده دیگر، كاری سخت و دشوار نیاز خواهد بود.
مزیت دیگر سیستم عامل JavaCard این است كه مفهوم انتشار سریع باركنش برنامه كاربردی را پشتیبانی میكند. این قابلیت امكان بروزرسانی برنامه موجود در كارت بعد از توزیع كارتها به كاربر را فراهم مینماید. نكته مهم این است كه برای یك كاربرد خاص، فرد نیاز به كارت هوشمند دارد. اما نیازهای آتی وی، نیاز به تغییر برنامههای روی كارت را موجب خواهد شد كه با این سیستم عامل ممكن خواهد بود.
سیستم عامل دیگری كه برای كارتهای هوشمند فراهم شده MULTOS(Multi-Application Operating System) یا سیستم عامل چند منظوره است. همچنان كه از نام این سیستم برمیآید، این سیستم عامل قابلیت پشتیبانی چندین برنامه كاربردی را دارد. اما این سیستم عامل برای كاربردهایی با امنیت بالا طراحی شده است و در بسیاری از كشورها به ITSec E6 High دست یافته است. شركت مایكروسافت نیز در این مسیر با سیستم SmartCard for Windows قرار دارد.
این سیستم عاملها، رابطهای برنامههای كاربردی درون كارتها(Card-Side API) هستند برای اجرا نمودن برنامههای كوچك و مبتنی بر كارت روی آنها. اما رابطهای طرف كارتخوان (Reader-Side API)مانند زیرساخت OpenCard و GlobalPlatform نیز ارائه شدهاند.
قسمت اول: معرفی، ساختار
اختراع كارت هوشمند را برای اولین بار فردی فرانسوی با نام رولاند مورنو در سال 1974 به ثبت رساند. از آن زمان به بعد، شركتهایی نظیر Bull، Honeywell،Motorola دراین زمینه به فعالیت پرداختند و در نتیجة فعالیتهای آنها، در سال 1979 اولین كارت هوشمند ریزپردازندهای ساخته شد. اولین استاندارد برای كارت هوشمند در سال 1986 و با عنوان ISO 789116/1 مطرح شد. استفاده از كارت هوشمند در سطح ملی برای نخستین بار در فرانسه در سال 1986 و برای كارتهای اعتباری تلفن انجام گرفت. پس از آن، از اوایل دهة 90 میلادی، استفاده از كارتهای هوشمند دركشورهای مختلف رواج پیدا كرد و به تدریج كاربردهای جدیدی برای آن پیدا شد.
بررسی ساختار و انواع
كارتهوشمند كارتی است كه از یك ریزپردازنده و چیپ حافظه و یا فقط چیپ حافظه (بدون منطق برنامهپذیر) تشكیل شده است. كارت دارای ریزپردازنده میتواند اطلاعات روی كارت را اضافه، تغییر، حذف و مدیریت نماید، درحالیكه كارت فقط دارای حافظه (مانند كارتهای اعتباری تلفن)، میتواند فقط یك عملیات از پیش تعریف شده را قبول كند.
كارتهای هوشمند برخلاف كارتهای نوار مغناطیسی، میتوانند كلیه توابع عملیاتی و اطلاعات مربوطه را در خود داشته باشند، بنابراین در زمان انجام تراكنش نیاز به ارتباط با بانك اطلاعاتی نخواهد داشت. در حال حاضر سه گروه (بر اساس نوع تراشه بكار رفته در آن، حافظه و ریزپردازنده) از كارتهای هوشمند در كاربردهای مختلف در دنیا و به صورت گسترده مورد استفاده قرار میگیرند:
در این قسمت آموزشی به نحوی پیكره بندی امكانات AVR می پردازیم. از جمله پیكره بندی LCD و كیبورد اتصال LCD به AVR و نحوی پیكره بندی آن در بیسكام : Config Lcdpin = Pin Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , _ Db7 = Porta.7 , E = Porta.2 , Rs = Porta.3 Config Lcd = 16 * 2 به كمك دستور بالا ما قادر خواهیم بود كه LCD را به هر پورتی كه می خواهیم وصل كنیم. در خط اول برنامه ما تك تك پایه های LCD را معرفی كردیم و گفتیم DB4 ال سی دی را می خواهیم به porta.4 وصل كنیم و همین طور تا آخر. و پایه های E و RS رو هم تعریف می كنیم البته پایه RW رو هم زمین می كنم چون ما اغلب در LCD می نویسیم و كم پیش میاد كه بخواهیم ازش بخونیم. در خط بعدی هم تعداد سطر و ستون های LCD را برای میكرو تعریف كردیم. نكته: چون در خط اول باید دستورات پشت سر هم باشد می می توانیم به كمك یه آندرلاین " _" ادامه دستورات را در خط بعدی بنویسیم. این كار صرفا برای این كه طول برنامه زیاد نشه و یا در موقع چاپ به هم نریزه . دستورات LCD :
در این قسمت آموزشی به تشریح دستور CASE و زیر برنامه ها و نحوی فراخوانی آنها می پردازیم.
دستور العمل CASE :
به كمك این دستور شما می تواند محتوای یك متغییر را نسبت به یك بازه عددی انتخاب كنید و سپس برای این بازه ها زیر برنامه بنویسید تا میكرو این برنامه ها را نسبت به محدوده بازه و متغییر انجام بده.
ساده تر میگیم: به عنوان مثال شما یك برنامه دماسنج می خواهید بنویسید. بعد از اندازه گیری دما شما می خواهید به میكرو بگید كه اگر دما از 0 تا 20 درجه بود فلان كار رو انجام بده و اگر دما از 21 تا 30 بود فلان كار رو انجام بده و اگر دما از 31 تا 40 بود فلان كار رو انجام بده. به همین سادگی شما می توانید به میكرو فرمان بدهید كه اگر دما در این بازه بود این كار رو انجام بده.
همین توضیحات رو به كمك این دستور به صورت برنامه می نویسیم:
امروز می خوام در مورد STEPER MOTOR و نحوی اتصال اون به میكرو 8051 رو به شما آموزش بدم همراه با برنامه و مدار اون. استپ موتور با آیسی راه انداز L298 می باشد.
ابتدا جدول حركت استپ موتور:
|
خلاف جهت ساعت |
سیم پیچ D |
سیم پیچ C |
سیم پیچ B |
سیم پیچ A |
پله |
در جهت ساعت |
|
0 |
0 |
0 |
1 |
1 | ||
|
0 |
0 |
1 |
0 |
2 | ||
|
0 |
1 |
0 |
0 |
3 | ||
|
1 |
0 |
0 |
0 |
4 |
اصول راه اندازی استپ موتور به اینگونه می باشد:
منبع: www.DataUp.org
دستورات حلقه دستور Do-Loop این دستور یه حلقه بینهایت ایجاد می كند كه شما می توانید دستورات خودتان را دراین حلقه بنویسید تا مدام توسط CPU تكرار شود. به عنوان مثال شما می خواهید كه یكی از بیت های پورت D به صورت یك چشكا زن عمل كنه و تا بی نهایت این كار رو انجام بده كه برنامه رو به این صورت می نویسیم: $regfile "m16def.dat" $crystal=8000000 Config portd.0=output شروع حلقه DO ' Set portd.0 'portd.0 = 1 یك ثانیه تاخیرWait 1 ' Reset portd.0 'portd.0= 0 Wait 1 پایان حلقه Loop ' End در مثال بالا میكرو تا ابد این چند تا دستور رو انجام میده و دیگه از این حلقه هم بیرون نمیاد! البته در همین مثال شما می توانستید یك شرط بین دستورات بنویسید تا میكرو بتونه از این حلقه بیرون بیاد. مثلا یك لید به میكرو وصل كرده باشد و حالا این كلید رو به صورت شرط درون این حلقه می نویسد. كه دستورات شرطی را در ادامه خواهیم گفت. نوعی دیگری از حلقه loop هم هست كه تنها یك بار حلقه را اجرا می كند (ولی دستورات داخل اون تا زمانی كه شرط برقرار نشه اجرا میشه) و بعد از اینكه شرط حلقه محقق شد از حلقه بیرون میاد.
با سلام خدمت دوستان
دوست عزیزی گفته بود كه یك برنامه می خوام كه هر وقت یك وقفه بیرونی برای میكرو صادر شد میكرو یك LED را روشن و خاموش كند.
نقشه مدار:

برای نمایش تصویر با وضوح بیشتر اینجا كلیك كن
منبع: www.DataUp.org
برای آموزش این میكرو از كامپایلر BASCOM و پروتیوس 7.2 استفاده می كنیم. زبان بیسك یك زبان راحت و سریع می باشد یعنی اینكه آنچه شما بر زبان می آورید رو اگر درقالب دستورات بیسكام بنویسید اون كاری كه شما از میكرو می خواهید رو برای شما انجام می دهد. اكثر دستورات بیسكام یك واژه معنی دار انگلیسی می باشد كه اگر معنی اونا رو بدونید دیگه دستورات برای همشه تو ذهن شما می ماند. ابتدا دستوراتی كه برای شروع یك برنامه لازم است بدانیم را توضیح می دهیم: معرفی میكرو: اولین دستور مهم و همیشگی كه توی همه برنامه ها باید بنویسیم دستور $regfile هست كه ما به كمك این دستور میكرو خودمون رو به كامپایلر معرفی می كنم و كامپایلر هم بر اساس این مدل میكرو دستورات را به زبان ماشین ترجمه می كند. (فایل های هگز و باینری) مثلا شما می خواهید از میكروی ATMEGA8 استفاده كنید كه به این صورت اونو معرفی می كنید: $regfile= "m8def.dat" كه m8 معادل atmega8 و def.dat كه اكثرا ثابت هست. معرفی كریستال: برای معرفی كریستالی كه به میكرو وصل می كنیم از دستور $crystal استفاده می كنیم به عنوان مثال اگر شما می خواهید به میكرو كریستال 12 مگاهرتزی وصل كنید این طوری می نویسیم: فركانس را بر حسب هرتز می نویسیم $crystal= 12000000
کلمات کلیدی یا "تگ" کلماتی هستند که شما را به دستیابی مطالب مورد نظرتان راهنمایی می کند. برای این منظور روی کلمه مورد نظر خود کلیک کنید.
برنامه نویسی، AVR، فارسی، جدید، عکس، آفیس، آپدیت، آهنگ جدید، بیسیک، آنتی ویروس، 8051، الکترونیک، اوباما، كنسرت، نقاشی، دانلود آهنگ جدید، کاسپراسکای، اسمبلی، کلیپ موبایل، شمارنده، بازیگر زن، آموزش، عاشقانه، Kaspersky، دانلود آهنگ، زن، اهنگ، موزیک ویدیو، دوربین مخفی، کلیپ، میکرو، میکروکنترلر، 3GP، تک آهنگ، آلبوم، موبایل، یوزارسیف، آلبوم جدید، آهنگ، زبان c، دوربین مخفی خنده دار، دانلود، زبان سی، کلیپ دوربین مخفی خنده دار، پیمان ابدی، خنده دار، جومونگ، نرم افزار، عكس، سینما،
تبلیغات 




