ده نکته حساس در مورد خانمها

  چرا گیج شده اید؟ نمی دانید چه کنید؟ نگران نباشید. این مطلب به شما آقایان کمک می کند تا هدیه مناسبی برای همسرتان تهیه کنید.

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

در اینجا ده راز را در مورد خرید هدیه برای یک زن بر ملا می کنیم. خوب به خاطر بسپارید:

 

1- جادوی بسته بندی: زنان هدیه ای را که بسته بندی زیبا داشته باشد بسیار دوست می دارند. هر چه کاغذ کادو ، روبان ، پاپیون و زرق و برق بسته بندی بیشتر باشد بهتر است. البته افراط هیچ گاه پسندیده نیست. دچار اشتباه رایج نشوید. فایده ای ندارد به گیرنده هدیه بگوئید چشمهایش را ببندد و بعد یک بسته معمولی یا زشت به دستش بدهید. هیچ چیز جای بسته بندی را نمی گیرد.

2- از بر کنید: اگر به زندگی خود علاقه دارید ، روز تولد ، روز مادر ، سالروز ازدواج و تاریخهای مهم را از حفظ داشته باشید.

3- ترجمه از زبان زنان: زبان زنان را بیاموزید. اگر خانم بگوید ((نمی خواهد چیزی برایم بخری)) منظورش این است که بهتر است یک چیز خوب برایم بگیری وگرنه بقیه عمر از زنده بودن پشیمان می شوی.

پشیمانی

4- سنت خوب است: بر خلاف آنچه که این روزها مد شده ، شکلات یا عطر ، هر دوی هدایا معرکه اند و بیشتر زنها عاشقشان هستند.

5- فاجعه برچسب: شما را به هر چه می پرستید ، یادتان نرود پیش از دادن هدیه ، برچسب قیمت آن را بکنید.

6- لاف موقوف: هرگز به گیرنده هدیه نگوئید که آن را ارزان خریده اید ، حتی اگر آن را مفت خریده باشید. مطمئن باشید در این یک مورد ، صرفه جوئی را نخواهد پسندید.

7- بدتر از ناسزا: خرید میز اتو ، ظرف آشپزخانه ، پیش بند و از این قبیل چیزها اکیدا ممنوع. اینها را بگذارید برای خریدهای دو نفری.

8- وقت شناس باشید: به خاطر داشته باشید هدیه کوچکی که به موقع داده شود ، هزار برابر بیشتر از هدیه گران قیمتی که با یک هفته تاخیر داده شود ، می ارزد.

9- رسید را نگه دارید: همیشه رسید هر چیزی را که می خرید نگه دارید تا اگر لازم شد خانم بتواند آن را عوض کند.

10- و اگر می توانید: متاسفانه حقیقت دارد ، هیچ چیز مثل طلا چشم خانمها را خیره نمی کند.

امیدوارم این نکات در هر چه بهتر شدن زندگیتان موثر و مفید وافع شود.

استقبال زنان هلند از ازدواج و همبستر شدن با ربات ها

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

ازدواج با رباتها

گفتنی است خبر برگزاری این سمینار طی گزارشی از سوی شبکه خبری BBC نیز اعلام شد. در این گزارش آمده: این سمینار پس از ارائه پایان نامه فوق لیسانس “دیوید لیوی” ۶۳ ساله و شطرنج باز سرشناس اسکاتلندی برگزار شد. پایان نامه وی در مورد روابط میان انسان و روبات بود.
“دیوید لیوی” که پژوهش های بسیاری در این زمینه داشته، گفت: در حال حاضر روبات کاربرد زیادی دارد. در کارهای صنعتی، کارخانجات و غیره اما روباتی که برای ازدواج وارد بازار شده، به مدت زمان گذشته زیادی برنمی گردد اما در همین مدت کوتاه استقبال زیادی از آن شده است.
از سوی دیگر “رونالد آرکین” کارشناس روبات در این باره گفت: پیش بینی می کنم حداقل تا سال ۲۰۵۰ به مردم اجازه ازدواج با روبات به صورت قانونی داده نشود.
گفتنی است روبات بازیگران و خوانندگان سرشناس جهان نیز در چند وقت اخیر وارد بازار شده تا در صورت تمایل، مشتریان بتوانند با این روباتها ازدواج کنند.
هم آغوشی با روبات ها تا سال ۲۰۵۰ امری طبیعی خواهد شد.
یک محقق هوش مصنوعی پیش بینی می کند که روبات ها در سال های آتی از چنان پیشرفتی برخوردار خواهند بود که انسان ها تا سال ۲۰۵۰ میلادی خواهند توانست با روبات ها ازدواج کنند.
دیوید لوی ، محقق بریتانیائی هوش مصنوعی و نویسنده ی کتاب “عشق و ****** با روبات ها” که ششم نوامبر منتشر شده است می گوید: روبات ها بسیار شبیه به انسان ها خواهند بود؛ آنها دارای محاورات هوشمندانه، احساسات و توانائی پاسخ به احساسات انسانی خواهند بود، به گونه ای که همچون نسل جدیدی پا به عرصه ی وجود خواهند گذاشت. اینها ماشین های انسان نمائی خواهند بود که مردم عاشق، دوست و یاور و حتی همسر آنها خواهند شد.
این موضوع شاید شبیه به یک داستان علمی- تخیلی باشد اما باید توجه کرد که دیوید لوی، در پائیز سال جاری، کتاب خود را به عنوان یک رساله ی Ph.D آکادمیک در دانشگاه ماستریچت هلند ارائه کرده است و به گفته ی وی تنها چند دهه با آن فاصله وجود دارد.
آری، لوی بطور مصمم معتقد بود که انسان ها با روبات ها روابط جنسی خواهند داشت، شاید تا پنج سال دیگر، زودتر از آنچه ممکن است تصور شود. ساخت چنین روباتی بسیار آسانتر از روباتی خواهد بود که بتواند همراه و همدم انسان باشد. به گفته ی او بزرگترین پیشرفت در علم روباتیک به شکل توانا ساختن روبات ها در انجام گفتگوهای جذاب، داشتن خود آگاهی و توانائی های احساسی خواهد بود.
افراد زیادی سعی کده اند تا نمونه هائی از روبات های دارای شخصیت و احساسات بسازند و تلاش های بسیاری از دهه ی ۱۹۵۰ در این زمینه آغاز گشته است اما چنان که باید و شاید موفق نبوده است، اما هم اکنون رایانه ها بسیار قوی تر بوده و حافظه ی بسیار بالاتری در اختیاردارند. بنابراین به زودی شاهد نرم افزارهائی خواهیم بود که دارای توانائی گفتگوی هوشمندانه می باشند، چیزی که هر دو طرف، هم انسان و هم روبات ها، را خوشحال خواهد ساخت.”
او تخمین می زند که روبات ها تا ۱۵ سال بعد بتوانند گفتگوهای جذابی انجام دهند و در ۲۰ تا ۳۰ سال آینده از پس محاورات پیچیده برآیند. سطح دانش روبات بستگی به درخواست صاحب او خواهد داشت. بر اساس گفته های وی، مردم می توانند یک دوست دلخواه سفارش دهند، دوستی که از هنر یا مسافرت لذت برد و یا حتی یک همسر.
“وقتی شما یک روبات می خرید، قادر خواهید بود تا شخصیت او را مشخص کنید.. چیزی شبیه به سفارش در اینترنت خواهد بود. چه نوع احساساتی داشته باشد؟ سیمای او چگونه باشد؟ اندازه و رنگ مو. نوع صدا. اینکه جالب، احساسی، یا اجتماعی باشد. شما می توانید انتخاب کنید که روبات ۴۰ درصد اوقات شوخ و ۶۰ درصد اوقات جدی باشد. برای اینکه روبات شما کار دیگری انجام دهد کافی است که برنامه ی مورد نیاز را دانلود کرده و یا تنظیمات آن را تغییر دهید.شما می توانید شخصیت، علایق و دانش روبات را تغییر دهید.”
به عقیده ی لوی، محققین برای رسیدن به چنین پیشرفت هائی نیاز به سخت افزارهای کامپیوتری قوی تری دارند که بتوانند برنامه های پیچیده و با محاسبات سنگین تر را انجام دهند. این برنامه ها برای طراحی و اجرای توانائی های محاوره ای، و در راستای آن ایجاد احساسات و پیشرفت هائی فراتر در هوش مصنوعی، مورد نیاز می باشند. همین که نیازهای سخت افزاری و نرم افزاری رفع شود، پیشرفت های موجود در روباتیک با سرعت زیادی چند برابر خواهد گشت.

21 راه تضمینی برای فروپاشی رابطه

 

http://www.iranroshan.com

طبق آخرین یافته ها، تداوم و تکرار 20 اشتباه درطرز تفکر و برقراری ارتباط که افراد مرتکب آن میگردند، توانایی نابود ساختن هر رابطه ای را دارا میباشد:



1- سرسختانه همواره خود را حق بجانب دانستن، حتی زمانی که ادله کافی در اختیار نداشته باشید.

2- هیچگاه عذرخواهی نکردن، حتی زمانی که تقصیر کار بودن شما اثبات گردیده باشد.

3-بی رحمانه خطاها ی شریک زندگی خود را بازگو کردن.

4-ادعای متعصبانه از آگاهی داشتن از انگیزه های شریک زندگی بهتر از خود وی.

5-تصور آنکه شریک شما می باید نیازهای شما را درک کرده و فورا بدون درخواست شما آنها را برآورده سازد.

6-نادیده گرفتن کامل اولویتهای شریک زندگی و پافشاری بر اولویتهای خود.

7-تصور آنکه نیازهای جنسی همسر شما و نیازهای جنسی شما یکسان و مشابهی میباشند.

8- عدم اقرار به رنجش و بلافاصله ابراز خشم کردن.

9- شناسایی عیوب و کاستیهای شخصیتی همسر و اسرار خانوادگی وی، و بهره گیری از آنها برای پیروزی در مشاجرات، زمانی که منطق در میماند.

10- بهره گیری از عذاب وجدان و حس گناه کار بودن برای به بازی گرفتن، دستیابی به اهداف و یا مجازات همسر.

11- در شناسایی و یافتن بدیها و معایب همسر چیره دست بودن، اما هیچگاه خوبیها و محاسن وی را بزبان نیاوردن.

12- کوتاه نیامدن به هیچ قیمتی، و کشاندن مجادله تا جایی که همسر از خانه بگریزد.

13- هیچگاه رها نکردن گذشته، و بازگویی و باز آفرینی آن به کرات.

14-ابراز وابستگی شدید به همسر خود،وادعای آنکه بی وی و یا در صورت بی اعتنایی وی بی شک خواهد مرد.

15-در صورت عدم وابستگی شدید، فاصله گرفتن از لحاظ فیزیکی و احساسی تا حد بی اعتنایی کامل.

16-قول دادن، وهیچگاه عمل نکردن.

17- تا حدی متظاهر و دو رو بودن که همسر نمیداند شما چه زمان جدی هستید.

18-عذرتراشی همیشگی برای عادات ناپسند خود.

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

20-وانمود میکنید که حرفهای بیان شده همسرتان را کاملا متوجه شده اید، ولو آنکه هیچ چیزی از صحبتهای وی را نفهمیده اید.

21-به گونه ای رفتار میکنید که گویی شما مرتکب هیچکدام از اشتباهات ذکر شده نگردیده اید و این شریک شماست که باید تغییر کند.

 

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

(آموزش) چطور قبل از دانلود كامل يك فيلم، از كيفيتش باخبر بشيم؟


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

فیلم ها به سه روش بخش بندى میشوند:

1- توسط نرم افزارهاى فشرده سازى نظیر Winrar... که علاوه بر zip کردن فیلم آنرا به بخشهاى مختلف تقسیم میکنند

2- توسط برنامه هاى نظیز HJ-Split ...که تخصص اصلى آنهاست

3- آمیخته اى از روش اول و دوم یعنى اول فیلم مربوطه رو با برنامه اى نظیر Winrar فشرده میکنند و بعد با برنامه اى نظیر HJ-Split آنرا تقسیم میکنند.

الف - فیلمهایى که با برنامه های فشرده سازى نظیر Winrar یا Wizip ...فشرده و تقسیم شده اند

خب روشهاى بسیار ساده اى درمورد اینگونه فیلمها وجود داره (باید حتما بخش اول دانلود کنید)

1- فقط کافیه موقعیکه میخواید فایل رو از حالت فشرده در بیارید گزینه Keep broken files رو بزنید... در این حال وقتى برنامه پارت دوم رو خواست اگه کنسل رو بزنید دیگه فایل پاک نمیشه

2- بخش اول رو از حالت فشرده خارج کردید وقتیکه از شما پارت دوم رو خواست ، بدون اینکه گزینه کنسل رو بزنید برید و فایل موردنظر رو ببینید....اگه هنگام تماشاى فیلم گزینه کنسل رو بزنید ، فایل پاک نمیشه

3- با استفاده از برنامه Dziobas Rar Player هم میتوان بدون نیاز به Extract کردن فیلم مورد نظر رو دید...فقط کافیه برنامهDziobas Rar Player رو باز کنيد و از منوى File گزينه Streaming from unrar رو انتخاب کنيد. بعد فايل مورد نظر رو Open کنيد. سپس پنجره Password باز ميشه که اگه فيلم مورد نظر پسورد داشته باشه بايد رمز موردنظر رو وارد کنيد و اگر بدون پسورد هستش بايد کادر رو خالى گذاشته و OK کنيد. پس از گذشت چند ثانيه برنامه فيلم رو نشون ميده.
این برنامه مفید رو میتونید از لینک زیر دریافت کنید:

كد:
http://rapidshare.com/files/36115683...etbulu.org.rar
ب- فیلمهایى که با برنامه هایى نظیر HJ-Split تقسیم شده اند:

براى مشاهده اینگونه فیلمها میتونید از برنامه هاى بسیار قدرتمند چندرسانه اى KMPlayer ویا K-Lite Codec استفاده کنید...فقط کافیه پارت اول رو دانلود کنید وبا این برنامه ها ببینید، به همین راحتى

من خودم به شخصه توصیه میکنم از KMPlayer استفاده کنید چون هم سریعتر و هم با کیفیت بهترى تمام فایلهاى ویدیویى رو نسبت به هر برنامه ى دیگرى اجرا میکنه...میتونید برنامه مورد نظر رو از بخش زیر دریافت کنید:

كد:
http://www.kmplayer.com/down/kmp.zip

البته دوستانى که برنامه بسیار قدرتمند وساده K-Lite Codec رو بیشتر مى پسندند کافیه که :
پس از نصب برنامه Media Player Classic رو اجرا کنيد (Start >>All Programs >>K-Lite Codec Pack >>Media Player Classic) بعد از منوى View وارد Option شويد ( يا در محيط برنامه کليد O رو فشار دهيد) سپس به بخش Internal ّّFil-ter-s و تمام گزينه هاى قسمت Source Fil-ter-s رو تيک دار کنيد و سرانجام کليد Ok رو بزنيد...
میتونید این برنامه رو از بخش زیر دریافت کنید:
كد:
http://rapidshare.com/files/26920886/klcodec300f.rar
ج- فیلمهایى که ابتدا فشرده شده و سپس توسط برنامه اى نظیر HJ-Split بخش بندى شده است:

وقتى برنامه HJ-Split فایلى رو تکه تکه میکنه اول اسم فایل اصلى رو بر روى فایلهاى کوچکتر میذاره و بعد بهش پسوند فایل اصلى رو میده (مثلا اگه فرمت Avi باشه پسوندAvi. بهش میده ویا اگه فایل زیپ باشه پسوند zip. و یاrar.) سرانجام به هر فایل به ترتیب شماره، پسوند 001. تا الى آخر میده تا در هنگام بهم چسباندن فایلها، ترتیب آنرا رعایت بکنه.

خب با یه ترفند کوچولو به راحتى میشه اینجور فیلمها رو اول دید براى این منظور :
از منوى Tools ویندوز وارد Folder Options شده و در این قسمت به سربرگ View رفته و تیک گزینه Hide extensions for known file types رو بردارید. با این کار ویندوز پسوند تمام فایلها رو نشون میده.خب در این موقع اگه فایل مورد نظر رو مشاهده بکنید میبینید به اینصورت دراومده File.rar.001 (یا001.File.zip) حالا کافیه که پسوند فایل رو (001.) بردارید بعد پنجره Rename ویندوز ظاهر میشه که باید Yes رو بزنید.حالا میبینید که به یه فایل زیپ تبدیل میشه در اینموقع میتونید از هر روشى که بیان شده براى مشاهده فایل زیپ شده بکار ببرید. سر انجام پس از تست کیفیت دوباره پسوند 001.رو به فایل موردنظر اضافه کرده و از مسیر بیان شده گزینه Hide extensions for known file types رو تیک دار کنید.



حالت استثناء:

اگر فايلتون رو با تورنت دانلود مي‌كنيد، و فايلتون به گونه‌اي هست كه فشرده شده و نيست و خود فايل در حال دانلود هست، بعد از گذشت حدود 30% از دانلود كل فايل، مي‌تونيد با مراجعه به قسمتي كه فايل دانلودي در اون ذخيره مي‌شه بريد و بخش هايي از فيلم رو ببينيد.


از p30world.com با كمي اضافات!
موفق باشيد.

قسمت دوم اموزشي

قسمت دوم اموزشي

1-
سلام چطوري
2-
سلام ممنون تو چطوري
1- قربانت اقا اين avr چي بوده ما نمي دونستيما
2- اره تازه كجاشوديدي بزار يكم راه بيفتي اونوقت مي فهمي چي بوده
1- يادم مي ياد بهم قول داده بودي كه بهم ميكرو ياد بدي
2- حتما به روي چشم . خوب حالا قرار بود از كجا شروع كنيم
1- يك لحظه وايستا اول به چندتا از سوالايي كه برام پيش اومده جواب بده بعد شروع كن به ياد دادن
2- در خدمتم هر چي سوال داري بگو كه منو ياد اون اولايي كه مي خاستم ميكرو ياد بگيرم مي ندازي
1- سوال اول اينكه اصلا ما چرا از ميكروكنترلر استفاده مي كنيم اصلا چه مزيتي داره و كجاها ازش استفاده ميشه؟
2- خوب . همونطور كه از اسمش پيداست ميكرو كنترلر يعني يك كنترل كننده . اين كنترل كننده مي تونه هر پديده اي رو كنترل كنه فقط كافيه كه بهش برنامه بدي ( تكنولوژي ديگه) كنترل دقيق پديده هايي همچون دما. فشار. نور. فاصله. و... . و كاربرد ان در بيشتر زمينه هاي رباتيك . ماشين هاي هوشمند و صنعت هستش
1- مثل plc ؟؟؟
2- بله با اين تفاوت كه ميكرو كنترلر از نظر حجم و قيمت زمين تا اسمان با plc فرق مي كند مثلا قيمت يك plc حدود هفتاد هزارتومنه اون هم با امكانات حداقل و ابعاد زياد ولي ميكروكنترلر با همه امكانات با قيمت 3000 تومان كه ابعاد بسيار كمي هم داره در بازار ايران به وفور پيدا ميشه . البته اين تفاوت هيچ وقت از ارزش plc كم نخواهد كرد زيرا plc فقط در صنعت كاربرد دارد و يك المان صنعتي مي باشد نسبت به ميكروكنترلر بيشتر در صنعت استفاده مي شه.
1- خوب يك سوال ديگه اين ميكروكنترلري كه ميگي سرعت اجراي فرمان هايي كه بايد اجرا كنه چقدر هستش
2- بستگي به فركانس كاري ميكرو داره . معمولا سرعت انجام دستوراللعمل هايي كه انجام مي ده بين 8 تا 16 ميليون دستور العمل در ثانيه هستش
1- چي درست شنديم 8 تا 16 ميليون فرمان اونم فقط توي يك ثانيه ؟؟؟
2- اره درست شنيدي
1- خوب اين 8 تا 16 ميليون فرمان يا به قول خودت دستورالعمل سرعتش به چي بستگي داره
2- مستفيما به فركانش كاري ميكرو بستگي داره
1- اخرين سوال بعد برو سراغ ادامه مطالب اموزشي
2- در خدمتم بگو
1- اين امكاناتي كه گفتي بعضي از ميكرو ها دارن بعضي ها هم ندارن بايد از كجا متوجه بشيم خودت حتما همه رو حفظ كردي
2- ( با خنده) نه عزيز اين ميكرو ها هر كدومشون داراي يك ديتا شيت هستند كه اطلاعاتي درباره ميكرويي كه مي خاي باهاش كار كني بهت ميده . اطلاعاتي از قبيل . ولتاز كاري . فركانس كاري . امكانات ميكرو و...
1- ok حالا برو سر اموزش
2- خواهش مي كنم به روي چشم . بزار يك سر فصل خيلي كلي برات بگم كه چه چيزايي رو بايد بهت بگم 1- اول بايد با نرم افزار bascom اشنا بشي 2- و در اخر بايد دستورات برنامه نويسي رو ياد بگيري

خوب اول مي ريم سر نرم افزار bascom كه خيلي ساده هستش . منم خيلي كلي برات نرم افزارو توضيح مي دم بقيشو خودت يكم سيخ بزني ياد مي گيري
1-
باشه هر طور كه صلاح مي دوني
2-
اول بزار در باره اين نرم افزار بيسكام (bascom) برات بگم . خوب من قبلا بهت گفتم كارهايي رو كه ما از يك ميكرو مي خايم بايد به صورت برنامه بهش بديم . خوب حالا اين برنامه رو بايد با يك نرم افزاري نوشته بشه يا نه
1-
بله
2-
خوب اين نرم افزار همين بود كه بهت گفتم . ما به وسيله اين نرم افزار خواسته هايي كه از يك ميكرو AVR داريم را به صورت برنامه نويسي اجرا مي كنيم. خوب بهتره كه زياد طولش ندم و مستقيم برم سر نرم افزار. اول بزار يك مقدار از منو هاي كاري نرم bascom1.11.7.4 برات توضيح بدم
File : اول روي گزينه file كليل مي كني بعدش روي NEW كليك مي كني . يك صفحه سفيد باز ميشه . اين صفحه محيط برنامه نويسي هستش
منوي EDIT كه چيز مهمي نداره
PROGRAM : با كليك كردن روي اين منو به اولين گزينه مي رسيم كه نوشته COMPILE . حتما با خودت مي گي اين COMPILE به چه دردي مي خوره خوب الان من بهت مي گم . گفتيم كه ما در محيط برنامه نويسي برنامه مان را مي نويسيم خوب ما بالخره بايد بدانيم كه اين برنامه اي كه نوشتيم داراي خطاي نوشتاري هست يا نه خوب پس حالا فهميدي به چه دردي مي خوره .
1-
نگفتي چطوري از گزينه COMPILE‌ استفاده كنيم ؟؟
2-
شما بعد اي كه برنامه رو نوشتي بايد از منوي PROGRAM گزينه COMPILE رو انتخاب كني سپس به طور اتومات برنامه شما چك مي شه اگه خطايي بود زير نرم افزار مي نويسه اگه نبود كه هيچي در ضمن شما اين كار رو مي توني با كليد ميانبر F7 هم انجام بدي
SIMULATE : اين گزينه يك شبيه ساز هستش و برنامه اي رو كه شما نوشتي رو برات شبيه سازي مي كنه مي كنه كه من هيچ ازش خوشم نمي ياد چون داراي خطا هستش و بهتره كم ازش استفاده كني . اين كار رو مي توني با كليد ميانبر F2 انجام بدي
SEND TO CHIP : شما بعد از اين كه برنامه رو توي محيط برنامه نويسي نوشتي و بعدش هم COMPILE كردي نياز داري كه برنامه رو بريزي داخلي ميكرو اين كار رو با كليك روي گزينه SEND TO CHIP بايد انجام بدي كه خودش اتومات برنامه رو ميريزه توي ميكروكنترلر . اين كار رو بازدن كليد F4 هم مي توني انجام بدي


منو TOOLS : اين منو باشه بعدها برات توضيح ميدم چون فعلا باهاش سروكار نداري

منوي OPTIONS: با كليك روي اين منو اولين گزينه اي كه به چشم مي خوره COMPILER هستش كه مهمه بقيه هم باهاش سروكار نداشتم پس فكروتو مشغول بقيش نكن حرفه اي كه شدي شايد بقيش برات كاربرد داشته باشه . خوب حالا اين COMPILER رو كه روش كليك مي كني پنج گزينه ديگه ضاهر ميشه . اولي نوشته CHIP : به معني انتخاب ميكرو هستش شما ميكرويي رو كه مي خاي ازش استفاده كني رو توي ان قسمت انتخاب مي كني . گزينه بعدي OUTPUT هستش كه باهاش كاري نداريم .گزينه بعدي COMMUNCIATION هستش وقتي روي اين گزينه كليك مي كني يك پنجره باز مي شه شما بايد در قسمت FERQUENCY مقدار فركانس كاري ميكروAVR رو بر حسب هرتز اينجا وارد كني
1-
يك سوال از كجا بفهمم كه فركانس كاري ميكرويي كه ازش مي خام استفاده كنم چنده ؟؟
2-
با خواندن ديتا شيت يا همان كاتالوگ خود مكرو كنترلر . گزينه بعدي 12C هستش كه با اونم كاري نداريم . گزينه بعد LCD هستش
1-
حتما بايد اين گزينه رو هم بي خيال شيم
2-
برعكس گزينه LCD گزينه مهمي هستش . تو در اين قسمت بايد مشخص كني كه LCD بايد به كدوم يكي از پايه هاي ميكروكنترلر وصل بشه و اندازه LCD رو هم مي توني توي اين قسمت مشخص كني
1-
خوب بيشتر توضيح بده در باره اين گزينه
2-
اين گزينه باشه وعتي كه LCD رو بهت توضيح دادم اونوقت اين گزينه رو هم بهت ياد ميدم
1-
اين LCD خيلي مشكله ؟؟
2-
نه اتفاقا بسيار اسون و كار كردن باهاش بسيار لذت بخشه. راستي يك گزينه ديگه توي منويTOOLS هستش به نام PROGRAMMER . كه مال اتخاب نوع پروگرامر هستش
اين هم از قسمت هاي مهم نرم افزار BSCOM
اگه سوالي هست بگو
1-
ما چرا بايد از گزينه COMPILE استفاده كنيم
2-
براي اين كه ببينيم برنامه اي رو كه نوشتيم از لحاظ نوشتاري (لغت) مشكلي داره يا نه . اگه بعد از نوشتن برنامه COMPILE نكني نرم افزار اجازه ريخت برنامه روي ميكروكنترلر رو نميده
1-
اها گرفتم چي مي گي
2-
خوب حالا بريم سر اصل مطب كه اشنايي با برنامه نويسي هستش كه مهمترين بخشه پس خوب گوش كن
1-
اي به چشم
2-
پس بزار اول يك مقدمه اي بگم بعد . ببين برنامه اي رو كه شما مي خاي براي ميكروكنترلر توي محيط برنامه نويسي نرم افزار بنويسي به زبان هاي مختلف نوشته مي شه و هر زبان برنامه نويسي نرم افزار مخصوص خودشو داره مثلا براي نوشتن برنامه به زبان بيسيك از نرم افزار BASCOM . براي نوشتن با زبان C از نرم افزار CODVISION استفاده مي كنيم . كه من بيسيك رو دوست دارم وبهت ياد مي دم . چون زبان برنامه نويسي بسيار ساده اي هستش . خوب ديگه وقتشه بريم سر دستورات برنامه نويسي.
دستور $REGFILE : اولين حركتي كه بايد در محيط برنامه نويسي انجام بدي اينه كه ميكروكنترلري رو كه مي خاي ازش استفاده كني رو بايد در محيط برنامه نويسي ذكر كني مثلا تو يك ميكرو كنترلر ATMEGA16 خريدي پس بايد در محيط برنامه نويسي اينطور ميكرو رو معرفي كني

کد:

$REGFILE = "M16DEF.DAT" براي ATMEGA16
$REGFILE = "8535DEF.DAT" براي AT90S8535
$REGFILE="AT12DEF.DAT" براي ATTINY12

يك راه ديگه هم هست كه ميكرو رو از داخل تنظيمات خود نرم افزار معرفي مي كني
1-
چطوري . يعني ديگه نمي خاد دستور $REGFILE رو بنويسيم
2-
نه لازم نيست . براي اين كار به منوي OPTIONS نرم افزار مراجعه مي كني سپس گزينه COMPILR و بعد گزينه CHIP رو كليك مي كني يك پنجره باز مي شه كه اول صفحه نوشته CHIP . كه جلوش يك كادر هستش كه ميكرو رو اونجا انتخاب مي كني سپس OK مي كني
1-
پس هميشه در برنامه اولين كاري كه بايد بكنم اينه كه ميكروكنترلر رو معرفي كنم طبق روش بالا كه گفتي نه ؟
2-
اره كاملا درسته
دستور $CRYSTAL : دومين گامي كه بعد از معرفي ميكرو بايد انجام بدي اينه كه فركانس كاري ميكرو رو براي نرم افزار مشخص كني كه براي اين كار از دستور $CRYSTAL استفاده ميكني مثلا فرض كن فركانس ميكروي MEGA16 تو 8 مگاهرتز هستش يعني 8000000 هرتز كه با اين دستور فركانس كاري رو معرفي مي كني البته به هرتز :
$CRYSTAL = 8000000
فركانس كاري ميكرو رو هم مي توني از داخل نرم افزار انتخاب كني به اين صورت كه مي روي داخل منوي OPTIONS سپس گزينه COMPILER سپس گزينه COMMUNICATION رو كليك مي كني يك پنجره باز مي شه در داخل اين پنجره يك جايي نوشته FERQUENCY كه جلوش شما بايد فركانس رو انتخاب كني و بعد OK كني
END : در گام سوم پايان هر برنامه اي بايد از دستور END استفاده كني يعني اتمام برنامه
1-
خوب بگو ببينم كه گام چهارم چي هستش
2-
گام چهارمي وجود نداره خيط شدي . در واقع برنامه نويسي يعني قسمت شيرين كار از اينجا شروع ميشه. خوب حالا بهت توضيح ميدم كه براي نوشتن يك برنامه بايد چكار كرد اولين چيزي رو كه بايد بهت ياد بدم متغييرها هستند . همونطور كه از اسمش پيداست يعني قابل تغيير هستش . انواع متغيير ها عبارتند از: 1- BIT 2- BYTE 3- WORD 4- INTEGER 5- LONG 6- SINGLE 7- STRING .
BIT كه يعني 0 و 1
BYTE تشكيل شده از هشت بيت و هر BYTE 0 تا 255 مقدار دارد
WORD تشكيل شده از دو BYTE و هر WORD 0 تا 65535 مقدار دارد
با بقيه متغيير ها هم فعلا كاري نداريم
1-
خوب درست كارش چي هست و كجا كاربرد داره
2-
بزار وقتي كه يكم رفتيم جلوتر كم كم مي فهمي خوب ادامه مطلب رو گوش كن
دستور DIM : DIM به معني معرفي اسم متغيير است كه مي تونه هر اسمي باشه مثلا : A يا B يا ALI يا TEMO حتي اسم خودت فقط براي اينه كه متغيير رو يك نامي بهش بدي كه با بقيه متغييرها قاطي نشه
دستور AS : AS به معني نوع متغيير هستش كه بايد يكي از انواع متغيير هاي BIT يا BYTE يا INTEGER باشه
مثال:

کد:

DIM A AS BYTE
DIM B AS BIT
DIM ALI AS BYTE
DIM N AS SINGLE

1-
يك مثال مفهومي تر بزن
2-
باشه مثلا در DIM A AS BYTE . به اين معني كه متغييري كه نامش هست A از نوع بايت (BYTE) مي باشد
DIM ALI AS BIT . يعني متغييري كه نامش هست ALI از نوع بيت BIT مي باشد .
1-
حالا فهميدم
2-
بزار بريم جلوتر مثال روز برات روشن ميشه كه اين دستورات كجا كاربرد داره
در ضمن شما گاهي لازم است كه به متغيير مقدار هم بدي كه به ترتيب زير عمل مي كني
مثلا شما يك متغيير داري از نوع بايت
DIM S AS BYTE
كه مي توني از 0 تا 255 بهش مقدار بدي به تريتيب زير
S = 1 يا S = 12 يا S = 0 يا S = 255 يا هر رقمي كه از 0 تا 255 دوست داشتي البته اگه لازم بود
دستور INCR : با نوشتن اين دستو شما مي توانيد يك متغيير را افزايش بدي به مثال زير توجه كن بهتر مي فهمي
DIM B AS BYTE
B=0
INCR B
بزار از خط اول برات توضيح بدم برنامه اي كه ما نوشتم رو ميكرو مياد از خط اول شروع مي كنه به خوندن خط اول يعني ما يك متغيري داريم به نام B و از نوع BYTE
خط دوم به متغيير B مقدار داديم
خط سوم دستور داديم كه متغير B رو يك واحد افزايش بده وقتي كه ميكرو به خط سوم رسيد و اونو خوند اگه متغيير ما بوده 0 الان ميشه 1
1-
كاربردش چيه اين دستور INCR
2-
كاربردش توي شمارنده هستش
دستور DECR : اين دستور برعكس دستور قبل هستش و يك واحد از متغيير ما كم مي كنه
مثال :

کد:

DIM U AS BYTE
U = 20
DECR U

خط اول يعني ما يك متغييري داريم كه اسمش هست U و از نوع بايت
خط دوم به U مقدار داديم
خط سوم يك واحد از مقدار U كم كرديم
بزار يك مثال كاربردي تر بزنم :

کد:

$REGFILE = "M16DEF.DAT"
$CRYSTAL = 8000000
DIM K AS BYTE
K = 100
INCR K
DECR K
END

خوب حال خوب گوش كن
خط اول ما اومديم نوع ميكرو مونو مشخص كرديم كه هست مگا16
خط دوم فركانس كاري ميكرو رو مشخص كردم
خط سوم گفتيم كه ما يك معغييري داريم به نام K و از نوع بايت
خط چهارم براي متغيير بايت يك مقدار داديم
خط پنجم دستور داديم كه يك واحد به متغيير K اضافه كن يعني اگه 100 بوده الان مي شه 101
خط ششم دستور داديم كه يك واحد از متغيير K كم كن يعني الان كه هست 101 يك واحد كه كم بشه ميشه 100
خط هفتم دستور پايان برنامه رو داديم
1-
سوال دارم اگه مثلا در مثال بالا دستور INCR و يا DECR رو دو بار زير هم بنويسيم چي مي شه
2-
براي پاسخ به سوالت به يك مثال ديگه توجه كن

کد:

$REGFILE = "M16DEF.DAT"
$CRYSTAL = 8000000
DIM K AS BYTE
K = 100
INCR K
DECR K
DECR K
DECR K
INCR K
END

خوب حال خوب گوش كن
خط اول ما اومديم نوع ميكرو مونو مشخص كرديم كه هست مگا16
خط دوم فركانس كاري ميكرو رو مشخص كردم
خط سوم گفتيم كه ما يك معغييري داريم به نام K و از نوع بايت
خط چهارم براي متغيير بايت يك مقدار داديم
خط پنجم دستور داديم كه يك واحد به متغيير K اضافه كن يعني اگه 100 بوده الان مي شه 101
خط ششم دستور داديم كه يك واحد از متغيير K كم كن يعني الان كه هست 101 يك واحد كه كم بشه ميشه 100
خط هفتم دوباره دستور داديم كه يك واحد از متغيير K كم كن خوب متغيير K كه الان هستش 100 ميشه 99
خط هشتم دوباره دستور داديم كه يك واحد از متغيير K كم كن خوب متغيير K كه 99 بوده ميشه الان 98
1-
فهميدم بزار خط نهم و دهم رو خودم بگم ببينم ياد گرفتم يا نه
خط نهم يعني خط نهم دستور داديم يك واحد به متغيير K اضاف بشه يعني الان كه K هستش 98 بعد از خونده شدن دستور خط نهم ميشه 99 و خط دهم يعني اتمام برنامه
2-
احسنت افرين داري راه ميافتي ها
1-
دستور بعدي چيه
2-
دستور بعدي در مورد LCD هستش . بزار اول در مورد خود LCD برات بگم بعد دستوراتش رو با هم مرور مي كنيم
LCD ها انواع مختلفي دارند اولي گرافيكي – دومي كاركتري كه من با كاركتري كار مي كنم شبيه lcd ماشين حساب هستش كه از نظر ابعاد هم باهم فرق دارن مثلا 16 در 1 – 16 در 2 – 16 در 4 – 40 در 4 و...
1-
خوب مثلا اين شماره ها براي چيه مثلا همين 16 در 2
2-
عدد اول يعني 16 به ما ميگه كه اين lcd ما 16 رديف ( افقي ) داره عدد دوم بعني 2 به ما مي گه اين lcd دو ستون ( عممودي ) داره
1-
حالا گرفتم
2-
اين lcd ها 14 پايه دارند كه ما فقط از 9 پايه ان استفاده مي كنيم كه براي استفاده از ان و وصل ان به ميكروكنترلر به ترتيب زير عمل مي كنيم
پايه اول vss نام دارد كه به زمين وصل ميشه
پايه دوم vdd هستش كه به ولتاژ 5 ولت وصل ميشه
پايه سوم vee هستش كه به زمين وصل ميشه
پايه چهارم rs هستش كه به ميكرو وصل مي شه . بعدا بهت مي گم به كجاي ميكرو وصل ميشه
پايه پنجم rw هستش كه اونم به زمين وصل ميشه
پايه ششم E هستش كه اونم به ميكرو وصل مي شه
پايه هاي 7 8 9 10 كه هيچي به جايي وصل نميشن
پايه 11 DB4 اسمش هست اونم به ميكرو وصل ميشه
پايه 12 DB5 اسمش هست اونم به ميكرو وصل ميشه
پايه 13 DB6 اسمش هست اونم به ميكرو وصل ميشه
پايه 14 DB7 اسمش هست اونم به ميكرو وصل ميشه

1-
يك سوال بعضي از پايه هاي بالا رو كه معرفي كردي گفتي وصل ميشه به LCD ولي نگفتي به كدوم پايه LCD بايد وصل بشه
2-
بله نگفتم ولي اگر يكم صبر كني بهت ميگم . اگه يادت باشه وقتي كه داشتم نرم افزار BASCOM رو برات توضيح مي دادم گفتم كه توي منوي OPTINS بعد COMPILER يك گزينه هست به نام LCD شما اونجا مشخص مي كني كه پايه هاي ميكروكنترلر به كدوم پايه LCD وصل بشه كه بايد به ترتيب زير عمل كني بعد از اين كه وارد گزينه LCD توي نرم افزار شدي يك پنجره باز ميشه كه سمت راست اون شش كادر هستش كه شما بايد اونجا مشخص كني كه LCD به كدوم پايه هاي ميكرو وصل بشه . مي دانيم كه اكثر ميكرو ها داراي چهار PORT هستند البته به غير از خانواده TINY
1-
پورت چيه واز؟؟
2-
به هر هشت پايه ميكرو يك پورت ميگن كه هر پورت باز خودش يك اسم داره مثلا ATMEGA32 داراي چهار پورت هستش به نام هاي A –B –C –D هر كدو از اين پورت ها هشت پايه هستند
1-
از كجا بفهميم كه مثلا پورت A يا پورت C كجاست
2-
باز هم از روي ديتاشيت خود ايسي
1-
خوب ادامه بده
2-
هنگامي كه شما مي خاي LCD رو به ميكرو وصل كني بايد در گزينه LCD يك پورت رو به دلخاه انتخاب كني
1-
فرقي نميكنه كه كدوم پورت باشه
2-
نه هر كدو از پورت ها كه دوست داشته مثلا پورت A يا پورت D
1-
اها خوب ادامه بده
2-
مثلا حال كردي كه LCD رو به پورت C وصل كني براي اين كار در نرم افزار وقتي كه به قسمت LCD رفتي و يك پنجره باز شد در قسمت راست پنجره شش گزينه براي انتخاب وجود داره كه بايد به ترتيب زير عمل كني :
اولين گزينه از بالا نوشته ENABLE كه بايد PORTC.5 رو انتخاب كني
دومين گزينه نوشته RS كه بايد PORTC.4 رو انتخاب كني
سومين گزينه نوشته DB7 كه بايد PORTC.3 رو انتخاب كني
چهارمين گزينه نوشته DB6 كه بايد PORTC.2 رو انتخاب كني
پنجمي گزينه نوشته DB5 كه بايد PORTC.1 رو انتخاب كني
ششمين گزينه نوشته DB4 كه بايد PORTC.0 رو انتخاب كني
حال فهميدي كدوم پايه هاي ميكرو به LCD وصل ميشه
1-
اها پس سخت افزاري هم بايد به ترتيبي كه مثل بالا مشخص كرديم LCD رو به ميكروكنترلر وصل كنيم
2-
كاملا درسته. شما مختاري كه هر PORT كه دوست داشتي رو به ميكرو وصل كني ولي بايد هر پورتي كه توي ذهنت در نظر داري رو توي نرم افزار مثل شكل بالا انتخاب كني
يك نكته ديگه اينكه در قسمت سمت چپ همين پنجره LCD يك گزينه هست به نام LCD TYPE كه شما اونجا اندازه LCD تو مشخص مي كني مثلا يك LCD رفتي خريدي كه اندازش هست 16در 2 توي اين گزينه بايد 16*2 رو انتخاب كني بعدي OK رو بزني . خوب حال بريم سر دستورات LCD :
دستور CLS : اين دستور كل LCD رو پاك و اماده نوشتن مي كنه كه هميشه بايد قبل از دستور نوشت روي LCD اين دستور نوشته بشه
دستور LCD : خوب با اين دستور شما مي توني يك عبارت رو روي LCD نمايش بدي مثلا يك عدد يا يك اسم يا يك كلمه يا يك متغيير . البته قبل اين دستور بايد حتما CLS نوشته بشه اين مثال توجه كن

کد:

$REGFILE = "M16DEF.DAT"
$CRYSTAL = 8000000
CLS
LCD " ALI "
END


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

کد:

$REGFILE = "M16DEF.DAT"
$CRYSTAL = 8000000
CLS
LCD " 999 "
END

مثل مثال قبل
1-
اها فهميدم
2-
يادت مياد كه بهت گفتم نرم افزار بيسكام يك جايي داره به نام شبيه ساز
1-
اره چطور مگه
2-
خوب تو مي توني اونجا اين دستوراتي رو كه امروز يادت دادم رو اونجا شبيه سازي كني
1-
تو كه گفتي از اين شبيه سازش خوشت نمي ياد
2-
اره منظورم اين بود كه توي كار هاي بزرگ نميشه ازش استفاده كرد ولي توي كارهاي كوچيك ميشه ازش استفاده كرد
1-
حالا چي كار مي كنه اين شبيه ساز نرم افزار
2-
برنامه اي رو كه تو نوشتي برات شبيه سازي مي كنه داخلش يك LCD هم داره برو حال كن
1-
چطوري ازش استفاده كنم
2-
بعد از اين كه تو برنامه رو نوشتي بايد برنامتو از نظر نداشتن خطا چك كني
1-
چطوري
2-
با زدن كليد F7 . بعد اگه برنامت اشكالي نداشت كليد F2 رو مي زني و وارد محيط شبيه ساز يا همون SIMULATOR ميشي
1-
اينطوري گيج ميشم يك مثال هم بزن
2-
باشه به روي چشم فرض كن كه ما يكي از برنامه هاي بالا رو نوشتيم مثل برنامه زير:

کد:

$REGFILE = "M16DEF.DAT"
$CRYSTAL = 8000000
CLS
LCD " ALI "
END

درضمن تنظيمات روهم مثل بالا كه گفتم پايه هاي LCD رو توي نرم افزار انتخاب كن رو مثل بالا انتخاب مي كني
بعد دكمه F7 رو بزن تا برنامه چك بشه
بعد دكمه F2 رو بزن تا وارد محيط شبيه ساز بشي . توي محيط شبيه ساز خيلي دكمه هستش كه من فقط چند تارو كه كاربرد داره برات ميگم
دكمه اوال از بالا سمت چپ شبيه دكمه PLAY ويدو هست كه اسمش هست RUN PROGRAM كه براي اجراي برنامه شبيه ساز هستش
دكمه بعدي كه هچي دكمه بقليش شبييه دكمه استپ ويدو هست كه اسمش هست STOP PROGRAM كه براي توقف شبيه سازي هستش
چند تا دكمه اون طرفتر يك دكمه كه داخلش يك مستطيل ابي رنگي هستش و روش نوشته LCD . اين دكمه رو وقتي كه ميزني يك LCD توشه
خوب ادامه حالا كه وارد محيط شبيه ساز شدي اول براي شبيه سازي مثال بالا دكمه LCD رو انتخاب مي كني بعد دكمه RUN PROGRAM رو ميزني بايد يك ده پانزده ثانيه صبر مي كني تا روي LCD نوشته بشه ALI
براي امروزديگه بسه باشه بقيش براي يك فرصت ديگه فعلا باي

قسمت اول اشنايي با ميكروكنترلر AVR
سلام . براي اونايي كه تا حالا با ميكرو كار نكردن كمي مشكله كه بعضي از مفاهيم رو ياد بگيرن براي همين من اشنايي مقدماتي با avr به زبان ساده در اوردم .راستش ديگه از اين ساده تر به ذهنم نرسيد . دوستاني كه تمايل به يادگيري avr دارن بايد بدونن كه بايد با مياني ديجيتال اشنايي داشته باشند حداقل اينكه با گيت هاي منطقي اشنايي داشته باشين براي اشنايي با ديجيتال كتاب مباني ديجيتال هنرستان يا كتاب طراحي ديجيتال نوشته موريس مانو خوبه. نوشته زير مقدمه اي بر اشنايي با ميكرو هست كه گفتگوي بين دو دوست رو نشون ميده كه دارن درباره ميكرو avr صحبت مي كنن اميدوارم كه مفيد باشه.

1-سلام خوبي
2-سلام خوبم تو خوبي
1-اره خوبم . چكار مي كني كم پيدايي
2-اره يك چند وقتيه دارم پروژه دانشگاه رو انجام مي دم
1-چي هست اين پروژت
2-هيچي ساخت يك دور سنج موتور با ميكروكنترلرAVR
1-چي ميكروكنترلرavr ؟؟؟؟ ميكرو كنترلر ديگه چيه
2-ميكروكنترلر رو اگه بخام به زبون ساده بهت بگم يك كنترل كننده هستش كه تقريبا هر چي ازش بخاي برايت انجام ميده
1-پس بگو يك رباته
2-نه منظورم هر كاري نبود ببين مثل يك كامپيوتر كه بهش فرمان ميدي اون هم انجام ميده البته از نظر ظاهري كه نگاهش كني يك ايسي 40 پايه هستش
1-چي؟؟؟؟؟ مگه ميشه يك كامپيوتر به اندازه يك ايسي چهل پايه باشه
2-نه خود كامپيوتر منظورم از كامپيوتر اينه كه بهش فرمان مي دي اونم انجام ميده
1-بازم نفهميدم بيشتر توضيح بده اصلا به چه دردي ميخوره
2-بزار بيشتر برات توضيح بدم اين يك ايسي هستش كه ما به وسيله كامپيوتر برنامه نويسي مي كنيم بعد برنامه رو مي ريزيم توي ميكرو . كاربردش هم خيلي زياده مثلا باهاش مي توني ساعت . فركانس متر. قفل رمز درست كني
1-يكم بيشتر درباه خود ميكرو توضيح بده
2-اين ميكرويي كه بهت ميگم يك خانواده هستش كه انواع مختلفي داره كه تشكيل شده از سه گروه 1-tiny 2-90s 3-mega
1-خوب فرق اين سه گروه باهم چيه مثلا tiny با 90s يا با mega چه فرقي دارن
2-فرفشون توي امكاناتي كه دارن هستش و همين فرق باعث شده كه قيمت هاشونم باهم فرق كنه
1-منظورت از امكاناتشون چيه
2-ببين بزار بيشتر برات درباره خود ميكرو توضيح بدم . از امكاناتي كه اين ميكرو ها دارن ميشه به تايمر – كانتر- توليد موج pwm – حافظه اي كه اطلاعات رو توي خودش حفظ كنه – سرعت بالاي انجام دستورات- I\O (يا همون ورودي خروجي خدمون) – مبدل انالوگ به ديجيتال adc – مقايسه كننده انالوگ و... . حالا كه با امكاناتش اشنا شدي همينو بهت بگم كه بعضي از ميكرو ها توي امكاناتشون و توي مقدار حافضه با هم فرق دارن براي همين قيمتهاشونم باهم فرق ميكنه
1-خوب حالا كدوم از همه امكاناتش بيشتره
2-نوع mega از همه امكاناتش بيشتر و از نظر مقدار حافضه هم از همه حافضه اش بيشتره بعد نوع 90s و در نهايت نوع tiny
1-اين همه امكانات همه توي يك ايسي پس حتما بايد يك صد هزار تومني قيمتش باشه
2-نه اگه بهت بگم كه بهترين نوع اين ميكرو كه نوع mega هستش رو توي خود بازار ايران با سه هزار تومن مي توني بخري باورت نمي شه
1-چي فط سه هزار تومن اون هم بهترين نوعش اخه چطور ممكنه اين همه امكانات فقط سه هزارتومن اون هم بهترين نوعش!!!!!!!!!!!!!!!!!!!!!!
2-خوب ديگه تكنولوژيه ديگه
1-راستي گفتي يكي از امكاناتش حافضه هستش بگو ببينم اصلا اين حافضه به چه دردي مي خوره؟؟
2-يادت مياد كه بهت گفته بودم كه بايد به اين ميكرو فرمان بديم
1-اره
2-خوب اين فرمان ها رو ما با يك نرم افزار مينويسيم
1-خوب چه ربطي داره به سوال من
2-يكم صبر داشته باش . اين برنامه اي كه مانوشتيم توي اين حالفضه قرار مي گيره
1-بيشتر توضيح بده
2-حافضه ميكرو avr دو تا هستش يكي حافضه بلند مدت كه بهش مي گن eeprom و دومي هستش حافضه كوتاه مدت كه بهش مي گن flash
1-خوب فرقشون باهم چيه
2-فرقشون در اينه كه در حافظه كوتاه مدت با قطع تغذيه (ولتاژ) ميكرو اطلاعات از بين مي ره ولي در حافضه بلند مدت با قطع شدن تغذيه ميكرو اطلاعات از بين نميره
1-اها فهميدم . خوب يادم مياد بهم گفتي كه هر كاري ازش بخايم برامون انجام ميده چطوري بايد بهش بگيم كه فلان كار رو انجام بده ؟
2-خوب بزار به صورت كلي بهت بگم كه گيج نشي . ما براي كارهايي كه از اين ميكرو مي خايم بايد بهش برنامه بديم اين برنامه توسط نرم افزار نوشته مي شه
1-چه نرم افزاري؟
2-نرم افزاراي مختلفي هستش كه باهاش براي ميكرو برنامه مي نويسن برنامه هايي رو كه من مي شناسم bascom –codvision و ... هستش كه من با bascom كار مي كنم. خوب حالا بزار ادامه مطلب رو بگم . برنامه اي رو كه ما مي نويسيم زبان هاي مختلفي داره
1-منظورت انگليسي يا فارسي هستش
2-نه بابا منظورم زبان هاي برنامه نويسي هستش كه عبارتند از baisic-c –اسمبلي
1-يعني بايد همه اي زبان هاي برنامه نويسي رو بلد باشيم
2-نه بابا ناراحت نباش من خودم وقتي كه مي خاستم ميكروكنترلر ياد بگيرم هيچ كدوم از اين زبان ها رو ياد نداشتم . چقدر سوال مي كني منو از موضوع پرت كردي . هر كدوم از اين زبان ها در يك نرم افزار خاص خودش نوشته مي شه مثلا اگه دوست داشتي برنامه رو با زبان بيسيك بنويسي بايد با نرم افزار baisic كار كني اگه خاستي با زبان c برنامه بنويسي بايد با نرم افزار codvision برنامه بنويسي . خوب حالا وقتي كه برنامه رو نوشتي بايد برنامه رو بريزي توي ميكرو . حتما مي خاي بپرسي چطوري برنامه رو ميريزن توي ميكرو خوب بهت مي گم با يك پروگرامر
1-چي پروگرامر ديگه چيه؟
2-نترس پروگرامر وسيله اي هستش كه ميكرو رو روي اون قرار ميدي ويك سر ديگش وصل مي شه به پرينتر كامپيوتر بعد كه به كامپيوتر نصب شد از طريق نرم افزار فرمان ارسال برنامه به داخل ميكرو رو ميدي مثلا در نرم افزار بيسكام كه بعدا مفصلا بهت توضيح ميدم با زدن كليد F4 برنامه ريخته مي شه داخل ميكرو
1-ببين من نفهميدم نقش اين پروگرامر اين وسط چيه
2-پروگرامر واسطه اي هست ميان ميكرو و كامپيوتر . خوب اخه مرد حسابي برنامه اي كه تو براي ميكرو نوشتي بايد بره توي ميكرو يا نه . پس از روي هوا هم كه نمي شه برنامه رو فرستاد پس ميان يك پروگرامر وصل مي كنند به كامپيوتر و ميكرو رو روي اين پروگرامر قرار ميدن بعد از توي كامپيوتر فرمان ارسال برنامه رو مي دن
1-ببين درست فهميدم يا نه پروگرامر تنها نقشي كه داره اينه كه برنامه اي كه ما توي كامپيوتر نوشيتم رو بريزه توي ميكروكنترلر
2-افرين
1-بازم سوال دارم
2-بگو
1-اين امكاناتي رو كه گفتي ميكرو داره چطوري مي تونيم ازش استفاده كنيم
2-اين كار رو موقع برنامه نويسي بهش مي گيم . مثلا مي خايم از كانتر ميكرو ( كانتر به معني شمارنده ) استفاده كنيم . بايد در اول برنامه بنويسيم كه از كانتر مي خا هيم استفاده كنيم . به اين كار در اصتلاح مي گويند config . البته بعدا درباره برناه نويسيش – نحوه كار با نرم افزار – اتصال سخت افزاري ميكرو براي كامل توضيح مي دم
1-يك مثال مي توني بزني كه كاربرد اين ميكرو و امكاناتش چيه؟؟؟
2-اره ولي قول بده كه نترسي كه برنامه شو بنويسم چون كه بعدا درباره كل دستورات برنامه نويسي و نحوه كار با نرم افزار برات توضيح مي دم
1-باشه
2-خوب گفتي يك مثال بزن منم يم مثال خيلي ساده ميزنم . فرض كن كه با دو تا ميكروسوييچ مي خايم يك led رو روشن خاموش كنيم . براي اين كار اول بايد برنامه توسط نرم افزار نوشته بشه كه من در اينجا از زبان بيسيك براي نوشتن برنامه استفاده ميكنم :
کد:
$regfile = "8515DEF.DAT"
$crystal = 8000000  
Config Porta = Output
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Debounce = 25
Do
Debounce Pinb.0 , 1 , Sett , Sub
Debounce Pinb.0 , 1 , Resett , Sub
Loop
End

Sett:
Set Porta.0
Return
Resett:
Reset Porta.0
Return

1-خوب درباره اينا توضيح بده
2-صبر داشته باش اسياب به نوبت گفتم كه بعدا درباره تك تك دستورات و نحوه كار با نرم افزار برات توضيح مي دم
1-قول مي دي
2-قول مي دم كه تك تك دستورات رو با مثال زباد برات توضيح بدم
1-خوب حالا من چكار كنم
2-فعلا برو نرم افزار بيسكام (bascom) رو نصب كن تا بعد
1-باشه پس فعلا تا بعد


پايان قسمت اول

آشنایی با AVR

    ميكروكنترلرها به عنوان يك ابزارقدرتمند نزد مهندسان برق وكامپيوتر شناخته شده اند با توجه به كاربرد روز افزون ميكروكنترلرها در صنعت , شركت هاي سازنده زيادي اقدام به توليد آنها مي نمايند .
ميكروكنترلرهاي AVR ساخت شركت ATMEL از جمله معروف ترين و پركاربردترين ميكروكنترلرهاي موجود در بازار ايران مي باشند.تنوع اين ميكركنترلرها به مهندس طراح اين امكان را مي دهد كه براي هر پروژه از ميكركنترلر بهينه آن استفاده كند . به دليل مقبوليت اين ميكروكنترلرها شركت هاي زيادي اقدام به نوشتن نرم افزارهايي نموده اند كه امكان برنامه نويسي با زبان هاي سطح بالا را براي كاربر فراهم مي كنند .
ميكرو كنترلرهاي AVR به دسته هاي TINY و AT90S و ATMEGA تقسيم مي شوند . از اين ميان ميكروكنترلرهاي نوع سوم قدرتمندتر و پركاربردتر هستند.با توجه به اينكه نوشتن برنامه به زبان اسمبلي بسيار زمان بر و دشوار است, زبانهاي سطح بالا در اين زمينه كمك بسيار زيادي كرده اند .
     زبان برنامه نويسي BASIC و C بيشترين استفاده در برنامه نويسي ميكروها دارند. ولي در اكثر كاربردها كدهاي بيشتري را نسبت به زبان برنامه نويسي اسمبلي توليد مي كنند. ATMEL ايجاد تحولي در معماري , جهت كاهش كد به مقدار مينيمم درك كرد كه نتيجه اين تحول ميكروكنترلرهاي AVR هستند كه علاوه بر كاهش و بهينه سازي مقدار كدها به طور واقع عمليات را تنها در كلاك سيكل توسط معماري RISC انجام مي دهد .هدف ATMEL طراحي معماري بود كه هم براي زبان اسمبلي وهم زبانهاي HLL‌ مفيد باشد .
AVR ها به عنوان ميكروهاي RISC با دستورات فراوان طراحي شده اند كه باعث مي شود حجم كد توليد شده كم و سرعت بالا تري به دست آيد .

 ميكروكنترلرها :

1-0) تفاوت ميكروكنترلر و ميكروپروسسور :

     ميكروپرسسورها بر خلاف ميكرو كنترلرها فاقد RAM و ROM و پورتهاي I/O در درون خود تراشه هستند بنابراين براي اينكه بتوان سيستمي مبتني بر ميكروپرسسور را طراحي كنيم بايد RAM و ROM و پورتهاي I/O و تايمرها به آن اضافه شود. با توجه به اينكه طراح مي تواند روي مقدار RAM و ROM و پورتهاي I/O اعمال نظر نمايد , اين سيستم ها انعطاف پذيري بشتري دارند. وبه آنها سيستمهاي چند منظوره مي گويند.
ميكروكنترلرها شامل يك CPU به همراه مقدار ثابتي از RAM , ROM , پورتهاي I/O وتايمر هستند كه همگي اين اجزا در يك تراشه جاي داده شده اند و طراح سيستم نمي تواند يك حافظه , I/O يا تايمر را بدون گسترش لازم از بيرون اضافه كند بنابراين ميكروكنترلرها انعطاف پذيري ميكروپرسسورها را ندارند .

1-1) كاربرد ميكروكنترلرها :

    با توجه به آنچه كه گفته شد ميكروكنترلرها براي كاربردهايي كه در آنها مشكل قيمت و حجم سيستم وجود دارد , مناسب است زيرا اضافه كردن حافظه , پورت I/O تايمرها و مدار واسط لازم به ميكرپرسسور سبب افزايش قيمت وحجم سيستم مي گردد. اما در ميكروكنترلر اين مشكل وجود ندارد. ميكروكنترلرها به طور گستردهاي در توليد سيستمهاي تك منظوره به كار مي روند. منظور از سيستم تك منظوره سيستمي است كه از ميكروكنترلر يا ميكرپروسسور فقط براي يك كار استفاده مي كند.مانند پردازنده درون يك موس كه تنها به منظور يافتن مكان اشاره گر موس و ارسال آن به PC برنامه ريزي شده است. اين سيستم ها در مقابل سيستمهاي چند منظوره قرار مي گيرند. كه نمونه بارز آن يك PC است كه مي تواند براي كاربردهاي متعدد و گوناگوني همچون واژه پردازي , بازي هاي ويدئويي , سرويس شبكه و ... مورد استفاده قرار گيرد. اين توانايي PC در اجراي كارهاي گوناگون به دليل وجود سيستم عاملي است كه نرم افزار كاربردي را در RAM بار مي كند تا PC بتواند آن را اجرا كند. اما در يك سيستم تك منظوره تنها يك نرم افزار كاربردي موجود است كه معمولا درROM نوشته مي شود. چند نمونه از وسايلي كه در ساخت آنها از ميكروكنترلرها استفاده شده است , عبارت اند از : كنترل از راه دور تلويزيون , تلفن , دوربين فيلمبرداري , فاكس , چاپگر , دستگاه فتوكپي ,سيستم هاي حفاظتي , دزد گير و سيستم هاي كنترل صنعتي.
به طور كلي مي توان كاربرد ميكروكنترلرها را در طراحي مدارهاي كنترل و اتوما سيون خلاصه كرد .

1-2) ويژگي هاي اصلي يك ميكروكنترلر :

    با توجه به گستردگي ميكروكنترلرها و شركتهاي سازنده آنها چگونگي انتخاب يك ميكروكنترلر براي كاربردي خاص , از اهميت فراواني برخوردار است.بطور كلي ابتدا بايد نيازهاي سيستم و هزينه آنرا كاملا مشخص كنيم تا به كمك آنها بتوانيم انتخابي بهينه انجام دهيم. براي انتخاب يك ميكروكنترلر بايد موارد زير را در نظر بگيريم :
1- تعداد بيتهاي باس داده ميكروكنترلر كه مي تواند 8 , 16 ,‌ 32 بيت باشد.
2- بيشترين سرعت ميكروكنترلر.
3- توان مصرفي ميكروكنترلر.
4- نوع بسته بندي ميكروكنترلر (DIP , QFP , MLF , PLCC و...)
5- مقدار حافظه RAM و ROM‌ موجود در تراشه وقابل اضافه شدن به آن.
6- امكاناتي كه كاربر را در كار با ميكروكنترلر ياري مي نمايد , مانند اسمبلر در دسترس , عيب ياب , كامپايلر زبانهاي سطح بالا ( C و BASIC و ... ) , امولاتور وشبيه ساز.
7- قيمت ميكروكنترلر و در دسترس بودن آن .

1-3) ميكروكنترلر هاي AVR‌ :

      در مباحث بالا با ميكروكنترلرها آشنا شديم حال در اين بخش ميكروكنترلرهاي 8 بيتي شركت ATMEL‌ را كه از ساختار RISC بهره مي برند معرفي مي كنيم . اما پيش از آن تفاوت هاي ساختار RISC وساختار CISC را بيان مي كنيم .

1-4) ساختار RISC :

    تا اوايل دهه 1980 , كليه پردازنده ها از ساختار CISC‌ استفاده مي كردند. در اين ساختار چندصد دستور طراحي شده بود كه اين دستورها كليه عمليات ممكن راپوشش ميداد.اين روش طراحي پردستور مشكلاتي همانند تعداد زياد ترانزستورها , پيچيدگي طراحي و ساخت مدار, زمان بري عمليات و گران بودن تراشه را به همراه داشت0 به همين دليل در اوايل دهه 80 ساختار جديدي به نام RISC ابداع شد . برخي از ويژگي هاي ساختار RISC از اين قرارند :
1- اندازه دستورها در RISC بر خلاف CISC ثابت است و اين امر كمك مي كند كه CPU‌ سريعتر دستور ها را ديكد نمايد .

2- RISC از روش STORE/LODE استفاده مي كند. در اين روش انتقال داده فقط از حافظه به رجيستر( LODE ) واز رجيستر به حافظه( STORE ) انجام مي شود و انتقال مستقيم از رجيستر به رجيستر و از حافظه به حافظه ممكن نيست .
3- تعداد رجسترها در RISC زياد است . همه پردازنده ها 32 رجستر 32 بيتي دارند
4- در RISC تعداد دستور ها كم است و فقط دستورهاي پايه موجود است و برنامه نويس و كامپايلر بايد دستورهاي ديگر را با اين دستور هاي پايه بسازند. كم بودن تعداد دستورها باعث دشواري برنامه نويسي به زبان اسمبلي ( نسبت به پردازنده هاي CISC ) مي شود. بنابراين از RISC در محيط هاي برنامه نويسي به زبانهاي سطح بالا مثل C استفاده مي شود. كم بودن تعداد دستورها همچنين سبب مي شود كه برنامه بزرگ شود و حافظه بيشتري را اشغال كند .
5- برتري اصلي RISC‌ در اين است كه 95 درصد دستورهاي آن يك كلاك و بقيه فقط دو كلاك زمان مي برند كه اين امر باعث افزايش سرعت مي شود.ضمن اينكه در تعداد ترانزيستورها به دليل سادگي مدار صرفه جويي مي گردد.
6- بر خلاف پردازنده هاي CISC كه باس آدرس و داده در آن مشترك است , در پردازنده هاي RISC‌ اين باس ها جدا جدا هستند :
الف) براي ورود و خروج داده (OPERAND) به CPU‌.
ب) براي دستيابي و آدرس دهي داده ( OPERAND ).
ج) براي حمل .OPECODE
پ) براي دستيابي و آدرس دهي OPECODE. به اين روش ساختار HAVARD گويند .
7- چون CISC‌ تعداد زيادي دستور دارد روش هاي فراواني هم براي آدرس دهي دارد كه اجراي اين روش ها به وسيله ريز دستورهايي انجام مي شود . پياده سازي اين ريز دستورها در CPU بيش از %60 ترانزيستورها را مصرف مي كند حال آنكه در RISC‌ ريز دستورها با استفاده از روش Harvard توسط كمتر از 10% ترانزيستورها پياده سازي مي شود.
به طور كلي پردازنده هايي كه از ساختار RISC ريز دستورها بهره مند هستند در اكثر زمينه ها بر پردازنده هاي CISC برتري دارند اما مشكل RISC اين است كه برنامه هاي MSDOS بر روي آن اجرا نمي شود , بنابراين از پردازنده هاي CISC براي ساخت PC استفاده مي شود. نمونه هايي از پردازنده هايي با ساختار CISC عبارتند از:
ميكروپروسسورهاي 80X86 ساخت INTEL‌ و 68X0‌ ساخت Apple Mclntosh‌ . ميكروكنترلر 8051 هم از ساختار CISC استفاده مي كند .

ويژ گي هاي ميكروكنتركرهاي AVR‌ :
1- ميكروكتنرلرهاي AVR از يك ساختار RISC‌ استفاده مي كنند. دستورها در اين ميكروكتنرلرها به گونه اي طراحي شده است كه حجم برنامه كوچك شود حتي اگر به زبان اسمبلي ساخته شده باشد. ساختار RISC با دستورهاي فراوان در اين ميكروكتنرلرها باعث كم شدن حجم برنامه و بالا رفتن سرعت مي شود. AVR داراي مجموعه دستورات فراوان با 32 رجيستر عمومي است كه همه آنها با ALU‌ در ارتباط هستند كه سبب مي شود دو رجيستر مستقل در يك دستور به طول يك كلاك در دسترسي باشند. اين ساختار منجر به بهينه سازي كد و ده برابر سريعتر شدن آن نسبت به CISC مي شود.
2- ساختار بهينه I/O در اين ميكروكتنرلرها باعث كاهش نياز به افزودن اجزاي خارجي مي شود .
3- ميكروكتنرلرهاي AVR ‌ داراي اسيلاتور داخلي , تايمر , UART و SPI درون تراشه هستند .
4- اين ميكروكتنرلرها داراي مقاومت UP – PULL دروني هستند .
5- AVR از تكنولوژي حافظهVOLATILE – NONوDENSITY HIGH برخوردار است.
6- ميكروكتنرلرهاي AVR داراي مبدل A/D‌ , مقايسه كننده آنالوگ , تايمر WATCHDOG و قابليت مدولاسيون عرض پالس هستند .
7- حافظه هاي FLASH و EEPROM در اين ميكروكتنرلرها , قابليت برنامه ريزي شدن در داخل مدار را دارند(ISP ) .
8- حافظه FLASH از دو روش در داخل مدار , برنامه ريزي مي گردد. يكي , توسط PROGRAMMER حافظه VOLATILE - NON و از طريق رابطه سريال SPI و ديگري به وسيله اجراي BOOT PROGRAM مي تواند از هر مدار واسطي براي ريختن برنامه بر روي حافظه FLASH استفاده كند .
9- ساختار ميكروكتنرلرهاي AVR به گونه اي طراحي شده است كه هم براي زبان اسمبلي وهم زبانهاي سطح بالا مفيد باشد. بنابراين مي توان از زبانهاي سطح بالايي مثل C و BASIC هم در برنامه ريزي اين ميكروكتنرلرها استفاده كرد كه اين امر برنامه نويسي را براي كاربران آسان مي كند .