اطلاعیه

Collapse
No announcement yet.

کد اسمبلی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کد اسمبلی

    بسم الله
    سلام
    پروژه ای رو باید به زبان اسمبلی بنویسم. متاسفانه نمونه کد اسمبلی خیلی کمیاب تر از سی و بسکام است.
    در زبان اسمبلی برای استفاده از نتیجه adc از ثبات ADCL و ADCH و LOW(ADCW) و HIGH(ADCW) استفاده کردم. ولی با همه مشکل داره! از چه ثباتی باید استفاده کنم تا نتیجه adc رو بخونم؟
    یک سوال دیگر: نمونه کد اسمبلی موجود هست؟! تو گروه جستجو کردم ولی به جای خاصی نرسید.
    ضمنا از Atmel Studio 6 استفاده می کنم.

    #2
    پاسخ : کد اسمبلی

    درود بر تو دوست عزیز
    فرقی نمیکنه از اتمل استودیو یا ای وی آر استودیو استفاده میکنید من هم یکی دو ماهه اسمبلی رو شروع کردم اتفاقا همین هفته پیش داشتم با مبدل آنالوگ به دیجیتال کار میکردم
    خب اگه بیت ADLAR رو صفر بگذارید طبق دیتاشیت اونجوری که با عقل جور در میاد تو دو تا رجیستر ADCH and ADCL حاصل رو میریزه
    کاری نداریم
    شما باید از رجیستر ADCL and ADCH نتبجه رو بخونید و ADCH رو در ۲۵۶ ضرب کنید و با ADCL جمع کنید
    همین
    من دو تا برنامه نوشتم همین چند روز پیش میذارم براتون ، توضیحاتو توش نوشتم تو هر دوتا از AVCC بعنوان ولتاژ مبدل آنالوگ به دیجیتال استفاده کردم یکیش که به یه پتانسیومتر وصله ولتاژو رو ال سی دی نشون میده یکیش هم مال LM35 هست
    در اخر لازمه اینو بگم که تو زیربرنامه ای که برای خوندن ای دی سی نوشتم یه تاخیر هست که میتونه نباشه ، چون من منتظر میمونم تا پرچم کامل شدن تبدیل یک بشه بعد میرم مرحله بعدی
    دو تا نکته که اعصابمو خورد کرده بود بگم
    یکی اینکه وقتی تبدیل تموم شد بلافاصله از دوتا رجیستری که گفتم مقدار ای دی سی رو تو رجیستر های عمومی کپی کن ، من تو اولین برنامه ای که نوشتم بعد از تاخیر میومدم مقدار رجیستر رو میخوندم و ضرب و جمع میکردم که برنامه درست کار نمیکرد و تو پروتیوس پیام میداد که ای دی سی لاک شده و مقدار جدید خونده شده نمیتونه تو رجیستر ای دی سی نوشته بشه ، داستانی داشتم سر این
    دوم هم اینکه تو رجیستر SFIOR یه بیت هست مربوط به مقاومت های پول په ، اونو قبل از تبدیل یک کن که همه مقاومت های پول پ کنسل بشن و بعد از تبدیل صفرش کن ، من پوش و پاپش کردم ، این برا من تو برنامه پتانسیومتره دردسر نداشت اما تو ال ام ۳۵ برنامه کار نمیکرد که باید حتما پایه خروجی ال ام ۳۵ رو به منفی ۵ ولت وصل میکردم با یه مقاومت ۱۰ کیلو تا درست میشد (طبق دیتاشیت) اما با این SFIOR که گفتم این مشکل هم حل میشه
    موفق باشی دوست عزیز
    http://s1.picofile.com/file/7624075692/ADC_ASM.zip.html

    دیدگاه

    لطفا صبر کنید...
    X