اطلاعیه

Collapse
No announcement yet.

کمک در برنامه نویسی یک پروژه ( فوری فوری)

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

    کمک در برنامه نویسی یک پروژه ( فوری فوری)

    با سلام خدمت دوستان
    من یه پروژه داشتم ومیخواستم ببینم کی میتونه به من کمک کنه این پروژه با میکرو 8051 میباشد وسیمیلاتور یا شبیه ساز ان نیز با استفادهاز پروتیوس نمیباشد وتحت جاوا میباشد ودر خود سیمیلاتور یه قسمت واسه برنامه نویسی داره
    برنامه موردنظر ایجاد یک منحنی میباشد که تا 270 درجه سینوسی است واز 270 تا360 درجه یک خط مورب ( ramp) میباشد که با افق زاویه 45 درجه میسازد ،برنامه باید طوری باشد که این منحنی تکرار شود ومتناوب باشددر ضمن برنامه باید در پورت 1 نوشته شودوسپس به انالوگ تبدیل شده و روی اسکوپ موجود در سیمیلاتور نمایش داده شود
    منحنی سینوسی باید با استفاده از جدول سینوس وهر 10 درجه رسم شود وهمچنین نقطه شروع باید از بیت 127 باشد وزاویه 90 درجه برابر بیت 255وزاویه 270 برابر بیت صفرم باشد
    بدین صورت که با استفاده از جدول سینوس مقدار سینوس صفر درجه را در اورده وان را برابر بیت 127 قرار میدهیم سپس 10درجه 10درجه این کار راتکرار کرده ومقدار انرا برابر مقدار بیتی ان قرار میدهیم تا به 90 درجه رسیده که مقدار انرا نیز برابر بیت 255 قرار میدهیم و این کار را تا 270 درجه تکرار میکنیم
    موضوع اصلی در واقع همان برنامه میباشد و نوع سیمیلاتور تاثیری ندارد
    منتظر پاسخهای شما دوستان عزیز هستم

    #2
    پاسخ : کمک در برنامه نویسی یک پروژه ( فوری فوری)

    سلام:
    بچه ها یه برنامه ی ساده هست با 8051 که می خاستم زحمتش را برام بکشید.چون خودم زیادسر درنمیارم.
    یه برنامه می خوام که کدBCD رابه باینری تبدیل کنه.
    خودم یکم روش فکر کردم وتا همینجا فهمیدم که چون BCD یه نوع کدگذاری هست برای اینکه مثلا عدد 15 در BCD را بشه به باینری نوشت باید اینجوری بشه.0101 0001 که اولی مال عدد 5 هست ودومی مال عدد 1.
    حال باید عدد 5روی4تا پورت اول P1 وعدد 1روی 4تا پورت بعدی قرار بگیره.
    حالا دوستان اگه لطف کنند واین برنامه را تا شب به من برسونند خیلی خیلی ممنون میشم.چون فردا باید بدم به استاد.
    راستی برعکسش را هم دارم .گفتم شاید به درد بخوره.
    Start:
    MOV A,P2
    CJNE A,#100,TESTC
    TESTC:
    JC CONV_BCD
    MOV P1,#0FFH
    SJMP Start
    CONV_BCD:
    CALL BIN_TO_BCD
    SWAP A
    ORL A,B
    MOV P1,A
    SETB P3.0
    SETB P3.1
    SJMP Start
    BIN_TO_BCD:
    MOV B,#10
    DIV AB
    RET
    END

    دیدگاه


      #3
      پاسخ : کمک در برنامه نویسی یک پروژه ( فوری فوری)

      این کار دو تا روش داره که یکیش خیلی پیچیدست و این جا اون یکی روش ساده رو میگم.
      از عددی که داری مثلا 100 تا 100 تا کم کن تا جایی که عددت منفی بشه. تعداد دفعه هایی که 100 رو از عدد اصلی کم کردی رو منهای یک کن، این عدد عدد صدگان عدد اصلی تو خواهد بود. دهگان یا یکان یا هر چیز دیگه رو به همین روش بدست بیار. آخر سر عدد دهگان رو ضربدر 10، صدگان رو ضربدر 100 و ... کن و بعد همه رو با هم جمع کن. حاصلش عددی در فرمت عادیه که می تونی باینریش رو هم ببینی چنده.
      الان توی دانشگاه هستم و نمی تونم برنامه رو برات بنویسم ولی فکر میکنم با توضیحاتی که دادم خودت خیلی راحت بتونی بنویسی.

      دیدگاه

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