زبان اسمبلی برای AVR

شروع موضوع توسط leadertime ‏19 مارس 2007 در انجمن برق و الکترونیک

  1. leadertime

    leadertime Registered User

    تاریخ عضویت:
    ‏22 ژانویه 2006
    نوشته ها:
    479
    تشکر شده:
    78
    سلام خوبید؟ می خواستم یه سوال بپرسم. کسی یک اسمبلر خوب برای ای وی آر سراغ داره؟
     
  2. خدمات پی پالبازدیدیار - افزایش بازدید سایت و سیگنال های برند
  3. reza.analog

    reza.analog کاربر تازه وارد

    تاریخ عضویت:
    ‏6 مارس 2007
    نوشته ها:
    38
    تشکر شده:
    0
    محل سکونت:
    Tabriz
    خوب اگه اشتباه نکنم avr studio امکانات خوبی برای برنامه نوسی اسمبلی داره
    ولی بهتره اسمبلی رو فقط در حد آشنائی بخونی و باهاش ور نری
    چون معماری RISC یه کم برنامه نویسی با دستورات اسمبلی اش سخت تره
    موفق باشی:)
     
  4. leadertime

    leadertime Registered User

    تاریخ عضویت:
    ‏22 ژانویه 2006
    نوشته ها:
    479
    تشکر شده:
    78
    من حقیقتش با کدویژن برنامه مینویسم. ولی یه جاهایی نمیدونم دقیقا باید چیکار کنم برای مثال توی مبدل های آنالوگ به دیجیتال میکرو یک جوری رفتار میکنه که من فکر می کنم پارامترهایی که توی کدویژن انتقال میدم مقدار دهیشون اشتباه هستش برای همین هم میخواستم اسمبلی رو یاد بگیرم. بعدش هم خداییش برنامه نویسی به زبان ماشین یه حال دیگه ای داره.
    به هر حال من AVR studio رو میبینم ببینم مشکلم رو برطرف میکنه یا نه. از راهنماییتون ممنون.
     
  5. reza.analog

    reza.analog کاربر تازه وارد

    تاریخ عضویت:
    ‏6 مارس 2007
    نوشته ها:
    38
    تشکر شده:
    0
    محل سکونت:
    Tabriz
    با سلام
    توی مبدل آنالوگ به دیجیتال مقدار واقعی با مقدار دلخواه شما تفاوت فاحشی داره؟؟؟؟
    این ممکنه به سخت افزارتون هم مربوط باشه چون خود دیتا شیت هاشم توصیه های زیادی مخصاص برای ADC داره
    خوب اسمبلی هم خبوه ولی باز می گم توی معماری RISC سرعت دستورات زیادتره ولی برنامه نویسی اون سخت تر شده
    واسه همینه که زیاد روی برنامه نویسی سطح بالا توصیه میشه
    ای وی ار استودیو هم از لحاظ شبیه سازی خیلی قویه

    موفق باشی:happy:
     
  6. leadertime

    leadertime Registered User

    تاریخ عضویت:
    ‏22 ژانویه 2006
    نوشته ها:
    479
    تشکر شده:
    78
    من دارم از مبدل خود میکرو استفاده میکنم و بله تفاوت فاحشی وجود داره.
    بعدش هم من دانشجوی کامپیوترم برنامه نویسی به اسمبلی خیلی برام سخت نیست. در ضمن تنونستم با استودیو برنامه ای که نوشته ام رو به فایل هگز تبدیل کنم فقط اسمبلش میکنه. اگه بدونم فایل هگز فرمتش چیه خیلی راحت میتونم آبجکت کد رو به هگز تبدیل کنم. شما نمیدونید فرمت هگز چیه؟
     
  7. reza.analog

    reza.analog کاربر تازه وارد

    تاریخ عضویت:
    ‏6 مارس 2007
    نوشته ها:
    38
    تشکر شده:
    0
    محل سکونت:
    Tabriz
    با سلام دوست عزیز
    منظور شما از اینکه فرمت فایل هگز چیه؟

    منظورتون اینکه
    1- فایل هگز چه نوع فایلیه؟؟؟؟
    2- و وقتی برنامه شما کامپایل میشه و اون تولید میشه با اون باید چی کار بکنید

    شما برای پروگرم کردن میکرو می تونی از دوفایل obj. یاhex. استفاده بکنی


    مشکلتون دقیقا چیه؟؟
    موفق باشی:)
     
  8. leadertime

    leadertime Registered User

    تاریخ عضویت:
    ‏22 ژانویه 2006
    نوشته ها:
    479
    تشکر شده:
    78
    فرمت یعنی اینکه نحوه قرار گرفتن اطلاعات در فایل به چه شکلی هستش و من هم دقیقا همین رو میخوام بدونم که اگر خواستم اطلاعات رو بچینم دقیقا به چه شکلی باید این کار رو انجام بدم. ببینید اکثر فایل ها یک هدر دارند که توی این هدر اطلاعات مربوط به فایل از قبیل طول فایل و ... توش قرار میگیره. نحوه چیدمان و ترتیب اطلاعات هم که همون فرمت هستش. در حقیقت مسئله سر اینه که طول فایل OBJ با HEX فرق میکنه و به همین علت هم من فکر میکنم فرمتشون باید کاملا فرق یکنه برای اینکه فایل obj طولانی تره.
    البته من این رو نمیدونستم که میشه از فایل obj برای پروگرم کردن میکرو استفاده کرد. حالا آزمایش میکنم ببینم، اگر بشه که خیلی خوبه چون اسمبلر AVR studio فایل obj رو تولید میکنه.
     
  9. reza.analog

    reza.analog کاربر تازه وارد

    تاریخ عضویت:
    ‏6 مارس 2007
    نوشته ها:
    38
    تشکر شده:
    0
    محل سکونت:
    Tabriz
    با سلام
    دوست عزیز من فقط با شالوده اسمبلی و کد هگز اون یعنی آپ کد توی خانواده Mc51 آشنائی دارم در مورد اتمیل اطلاعی فعلا ندارم

    ولی توی ای وی ار استودیو احتمالا باید گزینه ای برای ایجاد هگز باید باشه یه نگاهی می کنم
    در ضمن بعضی از نرم افزارهای مخصوص پروگرم میکرو ها فایل Obj رو روی میکرو پرو گرم می کنند

    موفق باشی:)
     
  10. tkavosh

    tkavosh Registered User

    تاریخ عضویت:
    ‏24 مارس 2005
    نوشته ها:
    732
    تشکر شده:
    71
    محل سکونت:
    مشهد
    اگر فایل های asm و obj را با برنامه notepad یا word باز کنید تا حدودی تفاوت این دو را می بینید
    فایل obj حاوی فایل hex هست + توضیحات و فرم بندی موجوددر فایل asm به عبارتی ادغامی از hex و asm
    ولی ظاهرا این کار را بطور کامل انجام نمیدهد و در واقع فایل obj حاوی asm نیست بلکه ادرس فایل asm را در خود قرار میدهد و به محل های مختلف ان اشاره میکند به همین دلیلی با پاک کردن فایل asm و باز کردن فایل objتوضیحات و قالب بندی در برنامه avr studio نشان داده نمیشود و فقط چیزی شبیه فایل hex نشان داده میشود

    فایل hex فقط شامل دستورات اسمبلی هست( که توسط اسمبلر به کد های متناظر ان تبدیل شده است)
    بطور مثال کد 0000 به معنای دستور nop هست و کد 9508 برای reti (در مبنای 16= هگز) و یا کد های دیگری که حاوی دستور و اطلاعات مربوط به ان دستور نیز هستند.
    با باز کردن فایل هگز در notepad این کدها را میبینید

    برای تبدیل برنامه خود به فایل هگز ابتدا یک پروژه جدید از نوع assembler در avr studio بسازید(متناسب با میکرو مورد استفاده) و سپس در پنجره فایل asm همنام با پروژه ، برنامه خود را ( copy & past ) و یا تایپ کنید و سرانجام با فشردن build ، فایل های hex و obj و ... ساخته میشوند

    با یاد گیری زبان asm و استفاده از ان در زبانهای دیگر، به سهولت برنامه نویسی زبان های سطح بالا تر + قدرت ، سرعت و مانور بیشتر زبان اسمبلی ، دست خواهیم یافت

    شما در برنامه codvision می توانید دستورات اسمبلی را وارد کنید و برنامه خود را بطور کامل با اسمبلی و یا در کنار C بنویسید و به فایل hex نیز تبدیل کنید و احتیاجی به برنامه avr studio نیز نخواهید داشت
     
  11. leadertime

    leadertime Registered User

    تاریخ عضویت:
    ‏22 ژانویه 2006
    نوشته ها:
    479
    تشکر شده:
    78
    خیلی ممنون.
     
  12. nibilala

    nibilala کاربر تازه وارد

    تاریخ عضویت:
    ‏10 اکتبر 2005
    نوشته ها:
    4
    تشکر شده:
    0
    سلام دوستان
    در مورد مبدل آنالوگ مگا32 و به زبان اسمبلی چندتا سوال داشتم.
    در این دو خط:
    ldi r16,0b11100000
    out admux, r16

    admux چیه؟
    همینطور adcsra و sfior و چندتای دیگه.
    ممنون میشم راهنماییم کنید.
     
  13. mhsnrah

    mhsnrah Registered User

    تاریخ عضویت:
    ‏28 آگوست 2007
    نوشته ها:
    337
    تشکر شده:
    41
    محل سکونت:
    تهران
    درود

    رجیسترهای کنترلی ADC هستند.
    توی دیتاشیت میکرو کامل توضیح داده شده.
     
عسل طبیعی و گرده گل ایرانی