دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
صفحه 4 از 5 نخستنخست 12345 آخرینآخرین
نمایش نتایج: از شماره 31 تا 40 , از مجموع 43

موضوع: کلاس آموزش زبان c و نرم افزار کدویژن

  1. #31
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    خب حالا میریم سراغ نرم افزار و درست کردن پروژه تو برنامه

    اول برنامه رو نصب میکنید و لایسنسشو فعال میکنید

    بعد وقتی برنامه رو باز میکنید

    از منوی فایل روی new کلیک کنید پنجره زیر باز میشه



    بعد با کلیک کردن روی project کلید ok رو بزنید
    پیغامی باز میشه که میگه شما میخواید از برنامه کد ویزارد استفاده کنید
    که این پیغام رو yes کنید



    پیغامی میاد که شما نوع میکرو رو انتخاب میکنید که ما نوع غیر از XMEGA رو انتخاب میکنیم



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



    در قسمت اول نوشته شده chip
    که این جا نوع چیپ و مقدار کلاک پالس رو تعریف میکنیم
    ما atmega16 با کلاک 1 مگ رو انتخاب کردیم



    تو منوی کناریش نوشته شده ports
    که اینجا تنظیمات مروبط به ورودی یا خروجی شدن پایه ها رو به همراه تعیین مقدار اولیه اونها انجام میدیم
    دقت کنید کلا 4 حالت ممکنه وجود داشته باشه
    1- پایه ورودی با مقدار اولیه 1( فعال بودن مقاومت pull up درونی)
    2- پایه ورودی با مقدار اولیه 0
    3- پایه خروجی با مقدار اولیه 1
    4- پایه خروجی با مقدار اولیه 0



    من در مورد پورت A همه 4 حالت ر انجام دادم که ببینید
    (برای تنظیمات ورودی و خروجی در کل هیچ محدودیتی از نظر تعداد پین های یه پورت نیست)
    ویرایش توسط hadi elec : 27th February 2012 در ساعت 10:59 PM

  2. 4 کاربر از پست مفید hadi elec سپاس کرده اند .


  3. #32
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    خب منوی بعدی در رابطه با تنظیمات وقفه های میکرو هست
    یه توضیح کوچیکی بار یوقفه میدم برای دوستانی که نمیدونن چیه
    ببینید ما میتونیم دو جور میکرو رو برنامه ریزی کنیم که در ارتباط با نوع وجود خروجی رو تغییر بده

    نوع اول : اینکه بگیم میکرو دائما ورودی رو بخونه تا در صورت بروز تغییری خروجی مناسب اعمال کنه
    نوع دوم : اینکه بگیم هر وقت تو ورودی تغییری به وجود اومد پیغامی به مرکز میکرو برسه و میکرو رو از این تغییر اگاه کنه

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

    که اینجا میبینید



    تعداد پایه هایی که میتونن به عنوان ورودی های وقفه توی میکرو atmega16 استفاده بشن 3 تا هست
    به عبارت دیگه این میکرو 3 تا روال وقفه داره

    int0
    int1
    int2

    خب من الان هر 3 تا فعال کردم

    اما انواع وقفه:
    همونطور که این پایین میبینید 4 نوع وقفه داریم

    low level : حساس به سطح صفر ------- وقتی سطح ولتاژ پایه به صفر میرسه روال وقفه اتفاق میوفته
    any change : حساس به هر نوع تغییری ------ در برابر هر نوع تغییری در سطح ولتاژ روال وقفه اتفاق میوفته
    falling edge : حساس به لبه پایین رونده ------ در زمان کاهش سطح ولتاژ روال وقفه اتفاق میوفته
    rising edge : حساس به لبه بالا رونده ----- در زمان افزایش سطح ولتاژ روال وقفه اتفاق میوفته



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


    نکته مرگ آور: از اونجایی که هر وقفه یه پایه مشخص در میکرو داره برای تنظیم اون پایه به صورت عکلکرد وقفه وار باید حتما حتما قبلا اون بصورت ورودی و با مقدار اولیه مناسب با شرط و تنظیمات تنظیم کنید
    ویرایش توسط hadi elec : 27th February 2012 در ساعت 11:02 PM

  4. 4 کاربر از پست مفید hadi elec سپاس کرده اند .


  5. #33
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    اما تایمر ها
    خب برگه بعدی تایمر ها هستند
    باز اینجا 3 تا تایمر داریم

    تو قسمت clock value با انتخاب ضریب کلاک پالس تایمر رو فعال میکنیم

    و با زدن تیک مربوط به overflow intrrupt تهیین میکنیم که بعد از سرریز شدن مقدار کانتر تایمر یک روال وقفه در خود میکرو اتفاق بیوفته

    timer value هم مقدارش صفر هست که شما به هگز اونو میتونید مقدار دهی کنید
    اون از 0 تا 255 هگر میشمره با توجه به سرعت کلاک پالس و در زمانی که 255 گذشت سر ریز میشه و وارد حلقه میشه و دستوراتی که شما نوشتید رو یک بار اجرا میکنه
    شما میتونید با گذاشتن مقدار اولیه مناسب این زمان بندی رو کنترل کنید
    با توجه به کلاک پالس 1 مگ من مقدار اولیه رو 37 گذاشتم که تا 255 200 تا فاصله هست
    پس کل این پروسه تا اجرای وقفه 200 میکرو ثانیه طول میشکه که اگر یه شرط 5000 بار اجرا براش بذارید میتونید یه تایمر 1 ثانیه ای داشته باشید
    (توضیحات اجرایی باشه باری بعد)




    منوی بعدی که به درد میخوره lcd هست

    با زدن تیک فعال میشه
    و شما تعداد خطوط کارکتری رو برای lcd تعیین میکنید (با فرض استفاده از lcd 16*2 --تعداد خطوط 16 انتخاب شده)
    و بعد پورت رو تعیین میکنید

    نکته1: وقتی یه پروت رو به عنوان lcd تعیید میکنید دیگه از اون پورت استفاده دیگه ای نمیتونید بکنید
    نکته 2: سعی کنید تمام پایه های lcd رو توی یه پورت تعریف کنید و منظم باشه(گرچه این امکان در ورژن های بالا فقط وجود داره)






    نکته مرگ اور: حتما قبل از اینکه پورتی رو به عنوان lcd تعریف کنید اون پورت رو خروجی کنید حالا مقدار اولیه خیلی مهم نیست
    ولی حتما حتما تمام پایه های اون پورت رو به عنوان خروجی تعریف کنید
    ویرایش توسط hadi elec : 27th February 2012 در ساعت 11:04 PM

  6. 4 کاربر از پست مفید hadi elec سپاس کرده اند .


  7. #34
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    حالا کارمون تموم شد
    و میرسیم به save کردن

    وارد منوی program میشیم ,و generate رو انتخاب میکنیم



    اینجا 3 بار و به 3 فرمت مختلف شما باید پروژه رو سیو کنید
    من پیشنهاد میکنم که هر 3 بار رو به یه اسم سیو کنید








    بعد از سیو وارد محیط برنامه نویسی میشید
    خب اینجا جاییکه شما باید برنامه خودتونو بنویسید
    فایلهای کتابخونه ای که لازم دارید رو فراخوانی کنید




    اما محل دقیق نوشتن کد ها کجاس؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    یادتون هست ما قبلا درباره ایجاد یه حلقه بی نهایت صحبت میکردیم؟؟؟؟؟؟؟؟؟؟
    خب خود برنامه برامون این حلقه رو ایجاد کرده و گفته که کد ها رو این جا بنویسیم




    خب تا الان ما با ایجاد یه پروژه و تنظیمات اون اشنا شدیم
    اما باید یه تصمیمی بگیریم برای اینکه ببینیم چه مداری میخواهیم درست کنیم
    بعد جدی تر پروژه ایجاد کنیم و تنظیمات رو انجام بدیم برنامه رو بنویسیم و کامپایل کنیم و به شبیه سازی برسیم
    (برای شبیه سازی از برنامه پروتئوس تو اموزش استفاده میکنیم)
    ویرایش توسط hadi elec : 27th February 2012 در ساعت 11:09 PM

  8. 4 کاربر از پست مفید hadi elec سپاس کرده اند .


  9. #35
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    خب الان دیگه وقتشه که یه پروژه تعریف کنیم و شروع به برنامه نویسی و ساخت و شبیه سازیش بکنیم

    پروژه اینه :


    یک led سبز به پورت b.0 وصل کردیم که باید دائما در طول اجرای برنامه چشمک بزنه


    دو تا کلید فشاری به میکرو وصل کردیم(کدوم پایه مناسبه؟) که با زدن اونها و وقتی که مقدار پایه ورودی یک منطقی شد ( با int0 سرعت چشمک زدن لامپ سبز بیشتر بشه و با int1 سرعت چشمک زدن کم بشه)

    یه دیپ سوئیچ 8 پین به پورت a وصل میکنیم که با تغییر حالت کلیدهاش پایه متناظر اون روی پورتd تغییر حالت بده (به پورت c لامپ قرمز وصل میکنیم)


    خب من عکس پایه های atmega16 رو میذارم کمی روی پایه هاش فکر کنید و ایده ای برای برنامه اش پیدا کنید

    توی پروتئوس هم شماتیک رو میکشم و اینجا میذارم تا کامل صورت مسئله رو متوجه بشید



    ایده بدید و بگید از چه امکاناتی باید استفاده کرد؟
    ویرایش توسط hadi elec : 2nd March 2012 در ساعت 12:17 PM

  10. 2 کاربر از پست مفید hadi elec سپاس کرده اند .


  11. #36
    دوست آشنا
    رشته تحصیلی
    کامپیوتر
    نوشته ها
    1,151
    ارسال تشکر
    3,303
    دریافت تشکر: 2,587
    قدرت امتیاز دهی
    38
    Array
    بانوثریا's: جدید117

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    سلام با دستورات setوresetمیتونیم این کارارو انجام بدیم باید بدونیم ledبه کدوم پورت وصل شده بعد اون پورت رو 1 و بعد یه زمان براش میذاریم بعد دوباره پایه رو صرفر میکنیم و این کار رو تو یه حلقه انجام میدیم من این کار رو رو تراشه atmeg16انجام دادم
    عقاب همیشه تنهاست...اما لاشخورها همیشه با هم اند
    فعالیتم رو در این سایت متوقف کردم... موفق باشید

  12. 3 کاربر از پست مفید بانوثریا سپاس کرده اند .


  13. #37
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    نقل قول نوشته اصلی توسط 6514 نمایش پست ها
    سلام با دستورات setوresetمیتونیم این کارارو انجام بدیم باید بدونیم ledبه کدوم پورت وصل شده بعد اون پورت رو 1 و بعد یه زمان براش میذاریم بعد دوباره پایه رو صرفر میکنیم و این کار رو تو یه حلقه انجام میدیم من این کار رو رو تراشه atmeg16انجام دادم
    خب درسته ولی کامل نیست
    شما متن زرد رنگ رو چجوری اجرا میکنی؟

  14. کاربرانی که از پست مفید hadi elec سپاس کرده اند.


  15. #38
    دوست آشنا
    رشته تحصیلی
    کامپیوتر
    نوشته ها
    1,151
    ارسال تشکر
    3,303
    دریافت تشکر: 2,587
    قدرت امتیاز دهی
    38
    Array
    بانوثریا's: جدید117

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    اون موقع با دو تا برنامه کار میکردیم یکیش برنامه رو توش کامپایل می کردیم یکیش هم ای سی و ال ای دی رو می اوردیم و بعد برنامه رو به تراشه معرفی میکردیم الان اسم برنامه دقیق یادم نیست اگه خواستید میرم نگا میکنم
    عقاب همیشه تنهاست...اما لاشخورها همیشه با هم اند
    فعالیتم رو در این سایت متوقف کردم... موفق باشید

  16. کاربرانی که از پست مفید بانوثریا سپاس کرده اند.


  17. #39
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    این عکس پایه های میکرو






    اینم شماتیک مدار
    (برای راحتتر شدن مدار و برنامه نویسی قسمتی از سوال رو ویرایش کردم)


  18. 2 کاربر از پست مفید hadi elec سپاس کرده اند .


  19. #40
    دوست آشنا
    رشته تحصیلی
    الکترونیک
    نوشته ها
    936
    ارسال تشکر
    2,911
    دریافت تشکر: 4,686
    قدرت امتیاز دهی
    4483
    Array
    hadi elec's: جدید50

    پیش فرض پاسخ : آموزش زبان c و نرم افزار کدویژن

    نقل قول نوشته اصلی توسط 6514 نمایش پست ها
    اون موقع با دو تا برنامه کار میکردیم یکیش برنامه رو توش کامپایل می کردیم یکیش هم ای سی و ال ای دی رو می اوردیم و بعد برنامه رو به تراشه معرفی میکردیم الان اسم برنامه دقیق یادم نیست اگه خواستید میرم نگا میکنم
    خب از این بگذریم

    ما با یه برنامه و با استفاده از امکانات میکرو این پروژه رو طراحی میکنیم
    من عکس شماتیک رو گذاشتم برای راهنماییییییی

    دوستان ببینید و فکر کنید تا بعد از یه مدت بریم سر برنامه نویسی
    ما تا اینجا با وقفه ها و تایمر ها اشنا شدیم دستورات رو هم میشناسیم

    پس دیگه کار باید راحت باشه

    کمی فکر کنید

  20. 2 کاربر از پست مفید hadi elec سپاس کرده اند .


صفحه 4 از 5 نخستنخست 12345 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. آموزشی: آموزش جامع شبکه کردن ویندوز سون و ویندوز ایکس پی توسط VirtualBox
    توسط آبجی در انجمن مقالات و آموزش های شبکه
    پاسخ ها: 1
    آخرين نوشته: 30th April 2010, 09:42 PM
  2. پاسخ ها: 1
    آخرين نوشته: 19th April 2010, 11:15 AM
  3. آموزشی: به 10 دلیل ویندوزتان را به ویندوز سرور 2008 r2 بروزرسانی کنید
    توسط آبجی در انجمن آموزش نرم افزار
    پاسخ ها: 0
    آخرين نوشته: 25th February 2010, 10:46 PM
  4. خبر: * تازه‌های ویندوز؛ ویندوز 8
    توسط MAHDIAR در انجمن اخبار نرم افزار
    پاسخ ها: 0
    آخرين نوشته: 13th February 2010, 12:03 PM
  5. ساندویچ پانل ویژگیها و اموزش
    توسط moji5 در انجمن مهندسی سازه
    پاسخ ها: 0
    آخرين نوشته: 23rd October 2009, 06:16 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •