سلام.
من هم اومدم این تاپیک رو کامل کنیم.
این هم برای شروع:(از جایی کپی نکردم.اسپم ندید)
خیلی خوب...
آموزش ایجاد یک پروژه با Code Wizard ، عشق قدیمی من:
کد ویزارد یک ویزارد حرفه ای برای کانفیگ اولیه میکرو هست و نوشتن برنامه ها رو خیلی سریع تر ، بی عیب تر و راحت تر میکنه.برتری این ویزارد بر اینه که ضمن این که خیلی کار ها رو خودش انجام میده،به هیچ وجه باعث ضعف پروژه ی شما نمیشه.و در موقع کانفیگ هم همه ی گزینه ها رو در اختیار شما میزاره و شما میتونید دیقیقا همون جوری که میخواید کانفیگ کنید.
از مقدمه متنفرم.میریم سر اصل مطلب:
اول کد ویژن رو باز کنید.بعد روی new کلیک کنید.
[
attachment=7659]
بعد گزینه ی project رو انتخواب کنید و بعد روی ok کلیک کنید.
[
attachment=7660]
بعد هم از شما میپرسه که مایلید از کد ویزارد استفاده کنید؟ جواب شما هم معلومه.بله.
[
attachment=7661]
بعد پنجره ی کد ویزارد باز میشه.این هم صفحه ی اول.توضیحات هر عکس بالای اون هست و برای هر تب یه عکس گزاشتم و توضیحات اون رو میدم.
-----------------------------------------------------------------------------------------------------------------------_
توی بخش chip باید نوی میکرو رو معلوم کنید.میکرو ها بر اساس اسم اون ها مرتب شدن پس واضحه که شما atmega8 رو اون آخرا پیدا میکنین!
بخش Clock هم برای تعین فرکانس کاری میکرو بر حسب مگاهرتز هست.دقت کنید که این موضوع ربطی به فیوز بیت ها نداره.وقتی فرکانس رو اینجا تنظیم میکنید باید با فیوز بیت ها هم اون رو روی میکرو تنظیم کنید. در واقع بهتره بگم هر تنظیماتی که اینجا انجام میدین دقیقا مثل این میمونه که کد های اون رو توی صفحه ی برنامه نویسی بنویسین.همین!
بخش های بعدی هم به کار فعلی ما مربوط نمیشه.
[
attachment=7662]
این بخش مربوط به پورت هاست.شما پورت ها رو به صورت تب میبینید و پین ها رو توی هر بخش میبینید. جلوی شماره ی پین ها میتونید ورودی یا خروجی بودن اون رو معلوم کنید.اگه خروجی باشه میتونید جلوی اون مقدار پیش فرض رو وارد کنید.اگه هم ورودی باشه فعال بودن یا نبودن مقاومت پول آپ تعین میشه.T یعنی غیر فعال و P یعنی فعال.
[
attachment=7663]
بقیه توی پست های بعدی...
توی این تب میتونید تنظیمات وقفه های خارجی رو انجام بدین.با زدن تیک هر بخش وقفه مربوط به اون فعال میشه.توی قسمت جلوی اون هم میتونین منبع تحریک رو مشخص کنید.
Low level یعنی نسبت به سطح پایین حساسه.
Any changes یعنی هر تغیری توی سطح ولتاژ (از 0 به 1 رفتن یا برعکس) باعث ایجاد وقفه میشه.
Falling edge یعنی میکرو با لبه ی پایین رونده وارد وقفه میشه.
Rising edge هم یعنی با لبه ی بالا رونده میکرو تحریک میشه.
[
attachment=7664]
توی این بخش میتونید تنظیمات تایمر ها رو ببینید.ما تب تایمر/کانتر شماره 1 رو توضیح میدیم.چون از همه کامل تره و همه گزینه ها رو داره.
Clock sourse منبع کلاک رو تعین میکنه.گزینه ی اول تایمر رو به صورت عادی راه اندازی میکنه ولی گزینه ی دوم و سوم منبع کلاک اون رو لبه های به ترتیب پایین رونده و بالا رونده قرار میده.این یعنی تایمر اون ها رو میشمره و در واقع تبدیل به کانتر میشه.
[
attachment=7665]
Clock value در صورتی که منبع کلاک رو گزینه ی اول یعنی کلاک سیستمی انتخاب کرده باشید فرکانس اون رو مشخص میکنه.
[
attachment=7666]
توی بخش mode میتونید نوع عملکرد تایمر یا کانتر رو مشخص کنید.گزینه های اون بعدا توضیح داده میشه.
[
attachment=7667]
توی بخش out ها میتونید وضعیت هر کدوم از پایه های خروجی رو تعین کنید.
Discon. یعنی وضعیت تغیری نمیکنه.
Toggle یعنی وضعیت فعلی برعکس میشه.
Clear یعنی صفر میشه.
Set هم یعنی 1 میشه.
بخش های پایینی هم بقیه قابلیت های تایمر رو تعین میکنه.که هر کدوم یه آموزش برای خودش میخواد.
[
attachment=7668]
در صورتی که از ال سی دی استفاده میکنید میتونید توی تب LCD تنظیمات اون رو انجام بدید.
LCD Port پورت متصل به ال سی دی رو معلوم میکنه.
Chars/Lines هم نوی ال سی دی رو مشخص میکنه.در واقع ابعاد اون رو.
توی بخش پایین اون هم پایه هایی که کدویژن برای شما در نظر گرفته رو میتونید ببینید.این موضوع که چرا نمیشه پایه ها رو عوض کرد مربوط به کد ویزارد نیست بلکه به کتابخونه LCD.h مربوط میشه.و این مشکل توی ورژن بعدی کدویژن به کلی حل شده و شما میتونید از کدویزارد برای تغیر پایه های پیشفرض استفاده کنید.
[
attachment=7669]
اینجا شما میتونید مشخصات برنامه رو بنویسید.که به صورت کد یادداشت به اول سورس اضافه میشه.
Project Name اسم پروژه هست.
Version هم ورژن اون هست.
Date هم تاریخه.
Author هم اسم برنامه نویسه.
Company هم اسم شرکت یا گروه سازنده برنامه هست.
Comments هم برای نوشتن توضیحات اضافی هست.
در کل میتونید از این بخش وقتی که یه برنامه مهم رو توی اینترنت میزارید استفاده کنید تا بقیه رو بیشتر متوجه کنید که این سورس چیه.
[
attachment=7670]
توی این بخش میتونید I2C رو کانفیک کنید.
I2C PORT پورت مربوط به اون رو مشخص میکنه.
SDA Bit و SCL Bit هم پین های مربوط به اون رو معلوم میکنه.
توی بخش زیری هم میتونید در صورتی که از I2C برای ارتباط با یکی از اون آی سی ها استفاده میکنید اون رو مشخص کنید تا کدویزارد کتابخونه ی اون رو وارد کنه و کانفیگ کنه و آماده کنه.
[
attachment=7671]
اینجا میتونید 1 Wire رو تنظیم کنید.
1 Wire Port پورت اون رو معلوم میکنه.
Data Bit پین مربوط به اون رو معلوم میکنه.
اون پایین هم میتونید در صورتی که از 1 Wire برای ارتباط با یکی از اون آی سی ها استفاده میکنید اون رو معلوم کنید.
[
attachment=7672]
اینجا هم میتونید تنظیمات 2 Wire رو انجام بدید.تنظیمات اون مربوط به پروژه ی شما میشه.مثلا میتونید تولید پالس تاید و وقفه و ... رو تنظیم کنید.
[
attachment=7673]
Usart از اینجا تنظیم میشه.
میتونید بخش های دریافت کننده و ارسال کننده رو به ترتیب با زدن تیک های Receiver و Trandmitter رو فعال کنید.
برای هر کدوم هم میتونید وقفه تنظیم کنید و حجم بافر هم معلوم کنید.
پایینش هم میتونید نرخ تبادل دیتا رو معلوم کنید.از اون تیک جلوش هم میتونید برای ارتباط با دستگاه هایی که از دو برابر سرعت استفاده میکنن استفاده کنید.
کد ویزارد به صورت اتوماتیک نرخ دیتا و فرکانس کلاک میکرو رو که قبلا تنظیم کردید رو مقایسه میکنه و میزان خطا رو محاسبه میکنه و مینویسه.اگه قرمز بنویسه یعنی وضع خیلی خرابه و ارتباط غیر ممکنه.البته بازم از شما ایرادی نمیگیره.
پایینش هم میتونید نوع تبادل دیتا رو معلوم کنید.که معمولا از همون گزینه ی دیفالت استفاده میشه.پایینش هم میتونید سینکرون بودن یا آسینکرون بودن رو انتخواب کنید.در صورت سینکرون بودن میتونید اصلی یا فرعی بودن میکرو رو معلوم کنید.
[
attachment=7674]
اینجا میتونید تنظیمات مقایسه کننده ی آنالوگ رو انجام بدید.
[
attachment=7675]
اینجا هم میتونید تنظیمات مبدل آنالوگ به دیجیتال رو انجام بدید.
تیک اول اون رو روشن میکنه و تیک دوم دو بیت کم ارزش رو حذف میکنه و مقدار خروجی رو یک بایتی میکنه.
تیک سوم وقفه رو فعال میکنه که وقتی نتیجه ی خروجی آماده شد وقفه تحریک بشه.
Volt.Ref ولتاژ مرجع رو تعین میکنه.که میتونه پایه AREF یا AVCC و یا ولتاژ 2.5 ولت داخلی باشه(مطمئن نیستم)
Clock هم فرکانس کلاک کاری مبدل آنالوگ به دیجیتال رو مشخص میکنه.که بهترینش 125 یا 250 بود فکر کنم.
[
attachment=7676]
اینجا هم میتونید SPI رو اونجوری که میخواید تنظیم کنید.تنظیمات اون مهم اند و زیاد پس الان توضیح نمیدم.
[
attachment=7677]
خوب تبریک میگم.شما میکرو رو اونجوری که میخواستید تنظیم کردید. حالا برای ذخیرهتوی منوی File روی گزینه ی Generate,Save and Exit کلیک کنید.
[
attachment=7678]
حالا سه بار پنجره ذخیره سازی باز میشه و از شما اسم و مکان برای ذخیره فایل های مختلف میخواد.بهتره مکان هر سه تا و اسم هر سه تا یکی باشه.
[
attachment=7679]
حالا میبینید که تمام کد هایی که باید کلی وقت برای نوشتن اون ها میزاشتید و ممکن بود خیلی هم غلط املایی داشته باشید و کلی معطل بشید جلوتون ظاهر میشه.اگه یکم دقت کنید میبینید که کدویزارد برای شما همه جا یادداشت گزاشته و راهنماییتون میکنه که مثلا "اگه میخوای متغیر عمومی تعریف کنی اینجا بنویس" . جالبه نه؟ و برای هر بخش از کد ها هم توضیح داده که این بخش چیه. حتی حلقه ی while رو هم برای کد شما آماده کرده و تابع int رو تعریف کرده.حالا میتونید به راحتی برنامه خودتون رو بنویسید.
[
attachment=7680]
اما بالاخره باید بعد از نوشتن کد ها اون ها رو کامپایل کنید.
از منوی Project دکمه ی Buildرو بزنید.
[
attachment=7681]
حالا اگه برنامه ارور داشته باشه توی این پنجره میبینید که حجم فایل رو 0 نوشته چون اون رو کامپایل نکرده. و ارور ها رو پایین صفحه میبینید.اما اگه برنامه بی نقص باشه یا فقط هشدار داشته باشه اون رو کامپایل میکنه و مشخصات رو مینویسه.هشدار ها رو هم در صورت وجود اون پایین مینویسه.با کلیک کردن روی هر کدوم هم میتونید خط مربوط به اون رو ببینید.
[
attachment=7682]
خوب.تبریک میگم.فایل هگز شما آماده هست و توی همون پوشه ی ذخیره ی پروژه،توی پوشه ی exe و با فرمت hex قرار داره.
[
attachment=7683]
------------------------------------------------------------------------------------
موفق باشید.امیدوارم این آموزش به دردتون خورده باشه.
این آموزش ها ادامه دارن و به زودی بقیش رو میزارم.