اطلاعیه

Collapse
No announcement yet.

پروژه های آموزشی با میکرو 8051

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

    #91
    پاسخ : پروژه های آموزشی با میکرو 8051

    سلام محمد جان.
    ممنون از توجهت.
    همان طور که عرض کردم من یک برنامه به زبان سی می خوام که یک متغیر global در یک پرسه وقفه در فاصله های زمانی مشخص مقدارش افزایش پیدا کنه و بعد از رسیدن به یک مقدار مشخص صفر بشه .ودر برنامه اصلی بتونم از مقدار هرلحظه اون بخصوص زمانی که صفر می شه استفاده کنم.
    من خیلی رو این قضیه کار کردم ( راستش برای نوشتن یک پروژه ساعت وتقویم شمسی اونو لازم دارم.) ولی مقدار متغیر مورد نظر هیچ تغییری نمی کنه . حتی با اجازتون روی یکی از پروژه هایی که شما زحمتش رو کشیده بودید(همون که لینکش رو توپست قبلی دادم). تغییر دادم ویک سری دستورات رو آوردم تو برنامه اصلی ولی اصلا مقدار متغیر global تغییر نمیکنه ودائم صفره.
    لطفا اگه امکان داره اشکال رو پیدا کرده وبفرمایید.
    ضمنا این برنامه در keil کمپایل شده وفایل هگزش هم به همراه فایل پروتئوسش هست.
    اینم لینک فایلهای کاملش :
    http://www.4shared.com/file/7556071/6b4fe6e7/timer-59.html

    بازم از توجهتون بسیار سپاسگزارم. :agree: :agree: :agree:
    خبرآمد خبري در راه است
    سرخوش آن دل كه از آن گاه است

    دیدگاه


      #92
      پاسخ : پروژه های آموزشی با میکرو 8051

      سلام.
      اون سوال پست بالایی ما هنوز هم بی پاسخ مونده. بگذریم.
      من داشتم فایلهامو دسته بندی می کردم به این فایل برخوردم ممکنه قبلا هم  تو سایت قرار داده شده باشه اما دیدم گذاشتن دوبارش ضرری نداره جند پروژه مفید وآموزشی با 8051  هست که به همراه فایلهای پروتئوس و سورس هستش . با تشکر از دوستی که اینارو آماده کردن ولی متأسفنه اسمشون رو نمی دونم:

      http://www.4shared.com/file/10467202/f9dcb8a6/8051_Projects.html

      موفق باشید.
      خبرآمد خبري در راه است
      سرخوش آن دل كه از آن گاه است

      دیدگاه


        #93
        پاسخ : پروژه های آموزشی با میکرو 8051

        سلام. آقا برنامه ای که تو C نوشتی رو لظف میکنی بدی! منظور فایل C مربوط به 2 پست بالا تره!
        BNTSTBNT

        دیدگاه


          #94
          پاسخ : پروژه های آموزشی با میکرو 8051

          سلام جناب شکوهی.
          از لطفتون بسیار ممنونم.
          این برنامه در واقع یک تکه برنامه بود که من برای حل مسئله ای که تو دوپست قبلی گفتم خیلی وقت پیش نوشتم. فایل c وپروتئوسش تو همون لینک هست.

          // in the name of god
          #include <At89x51.h>

          //------------------- global variable

          unsigned char tcn=0;

          //------------------- timer
          void timer0(void) interrupt 1
          {
          // unsigned char temp;
          TH0=0x0;
          TL0=0x0;
          tcn++;
          if(tcn==130)
          tcn=0;
          }
          //------------------- main
          void main(void)
          {
          IE=0x82;
          TMOD=0x01;
          P1=0x0;
          TR0=1;
          while(1)
          if(tcn==0)
          {
          P1++;
          if(0x09<(0x0f&P1))
          {
          P1=P1+6;
          }
          if(P1==0x60)
          P1=0x0;

          }
          }


          تو این برنامه منغییر tcn باید تو فاصله های زمانی مشخص توسط پروسه وقفه صفر بشه و تو برنامه اصلی هروقت که متغیر صفر شد به p1 یک واحد اضافه بشه . اما در عمل برنامه هیچ کاری با این متغیر نداره و شما هرچه عدد(130) رو زیاد کنید تأثیری تو سرعت شمارش نداره. من حدث می زنم مشکل از کم سوادی بنده باشه.





          خبرآمد خبري در راه است
          سرخوش آن دل كه از آن گاه است

          دیدگاه


            #95
            پاسخ : پروژه های آموزشی با میکرو 8051

            سلام ، من باید برنامه کنترل آسانسور برای یک ساختمان 4 طبقه رو بنویسم . اما نمیدونم که از کجا باید شروعش کنم . کسی هست که بتونه کمکم کنه؟؟؟

            دیدگاه


              #96
              پاسخ : پروژه های آموزشی با میکرو 8051

              نوشته اصلی توسط fbaghernezhad001
              سلام ، من باید برنامه کنترل آسانسور برای یک ساختمان 4 طبقه رو بنویسم . اما نمیدونم که از کجا باید شروعش کنم . کسی هست که بتونه کمکم کنه؟؟؟
              با سلام
              اولین مرحله برای نوشتن یک برنامه برای اجرا در یک میکروکنترولر ، تعیین هدف برنامه است به این معنی:
              که برنامه قراره چه کاری انجام بده ؟
              ورودی ها / خروجی ها کدامند ؟ و تعدادشان ؟

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

              در باره موردی که فرمودید " نوشتن برنامه کنترل آسانسور برای یک ساختمان 4 طبقه "
              چیزهایی که در شروع کار بنظر میاد ، اینها هستند :

              ورودیها :

              حد اقل کلید های داخل آسانسور برای طبقات 1-2-3-4-همکف-پارکینگ-آلارم-تهویه

              کلید های 1-2-3-4-پارکینگ ، در طبقات

              سنسورهای دو طرف درب ، در ورودی هر طبقه

              سنسور بسته شدن ، سنسور باز شدن درب آسانسور در هر طبقه

              سنسور تشخیص رسیدن آسانسور به هر طبقه ( یک میکروسویچ برای هر طبقه ) و یا ( تعداد 4 میکروسویچ " bcd switch &quot

              کلید اضطراری

              کلید سرویس و تعمیرات ( برای تعمیر کاران آسانسور )

              خروجیها :

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

              موتور باز و بسته نمودن درب آسانسور

              سلونویید قفل درب ورودی آسانسور در هر طبقه

              با این موارد ، هدف را بصورت نوشتاری ، برای خودتان بنویسید و تحلیل نمایید ، و مراحل بعدی را ادامه دهید .

              بطور مثال :

              در شروع کار و پس از روشن شدن مدار ، چه اتفاقی باید بیفتد ؟

              موتور اصلی آسانسور حرکت کند ؟
              درب آسانسور باز یا بسته شود ؟
              کدام کلیدها و یا سنسورها از نظر وضعیت ، در اولویت بازبینی برای تصمیم گیری فرمان بعدی ، قرار دارند ؟
              .
              .
              و از این قبیل .

              موفق باشید

              دیدگاه

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