اطلاعیه

Collapse
No announcement yet.

نوشتن برنامه میکرو 8051 برای خروجی پورت پارالل

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

    نوشتن برنامه میکرو 8051 برای خروجی پورت پارالل

    با سلام
    دوستان من برنامه ای برای میکرو 8051می خواهم که بتواند سه عدد تولید شده از نرم افزار را (برروی پورت پارال)تشخیص داده(مقایسه) و کار های خواسته شده در زیر برنامه را انجام دهد را انجام دهد
    سوآل :
    1- آیا برنامه ایی که در زیر نشته ام می تواند درست باشد
    2- آیا برای اینکه پورت های میکرو در حالت ورودی قرار گیرند باید کاری به صورت سخت افزاری و نرم افزاری انجام داد؟
    3- می خواهم در این برنامه بدون استفاده از تایمر یک تاخیر 6 ثانیه ایی درست کنم جای delayلطفابرنامه اش را برایم بنویسید

    برنامه :
    ---------------------------------------------------
    org ooooH
    main :
    mov A,P1
    mov R1,A
    cjne R1,#11110000B,L1
    setb p2.0
    setb p2.1
    clr p2.2
    clr p2.3
    L1: cjne R1,#11110001B,L2
    clr p2.0
    clr p2.1
    setb p2.2
    setb p2.3
    L2: cjne R1,#11110010B,L3
    nop
    setb p2.0
    setb p2.1
    clr p2.2
    clr p2.3
    call DELAY
    clr p2.0
    clr p2.1
    setb p2.2
    setb p2.3
    DELAY :
    ?
    ?
    ?
    ?
    ret (?)
    L3 :
    Ljmp MAIN
    -------------------------------------------------------------------

    باتشکر
    محمدزمانی


    :smile:

    #2
    پاسخ : نوشتن برنامه میکرو 8051 برای خروجی پورت پارالل

    سلام

    3- اگه از کریستال 12 مگا استفاده کنی اینجوریه که ما نیاز به 6000000 سیکل که هر کدوم یک میکروثانیه طول می کشه داریم. دستور MOV و DJNZ هر کدوم 2 سیکل طول می کشن. .حالا تاخیر دستورات رو هم حساب می کنیم. پس لوپ اول 2*256 سیکل می باشد.لوپ دوم شامل (2*246+4)*256 سیکل می شه. و لوپ سوهم شامل (((2*256+4)*)256+4)*45 سیکل میشه. حاصل لوپ سوم میشه 5944500 میکرو ثانیه که تقریبا نزدیک 6 ثانیه است.

    delay:
    mov r4,#45
    loop3:
    mov r2,#255
    loop2:
    mov r3,#255
    loop1:
    djnz r3,loop1
    djnz r2,loop2
    djnz r4,loop3
    ret

    2- برای ورودی کردن پرت ها، اول باید مقدار FFh رو داخل پرت بریزی

    mov p1,#0FFh

    1- از نظر سخت افزاری به شرطی جواب میده که زمین مدارت رو با زمین پورت پارالل به هم وصل کنی. از نظر برنامه هم فکر کنم مشکلی نباشه

    دیدگاه


      #3
      پاسخ : نوشتن برنامه میکرو 8051 برای خروجی پورت پارالل (تشکر)

      با سپاس و تشکر فراوان از پاسخ دقیق شما

      ببخشید زمانی که ما از طریق رایانه یک عدد را غیر از FFh به میکرو فرستاده ایم دیگر میکرو برای بارهای دیگر در حالت ورودی قرار نمی گیرد و باید همچنان همیشه برای ورود عدد جدید به میکروها ورودی آنها را همیشه از بیرون یک کرد؟

      من در این پروژه از 10 میکرو استفاده کرده ام که همه به طور همزمان عدد ها را از رایانه دریافت می کنندو اگر با عدد های ذخیره شده در خودشان برابر بودند کار های خواسته شده را انجام دهند وبه همین منظور به جای استفاده مستقیم از برق پورت پارال از 8 رله استفاده می کنم ،با این توصیفات دیگر نیاز به متصل کردن زمین میکرو ها با زمین پورت هست یا خیر ؟

      آیا ترانزیستوری یا مداری وجود دارد که جریان مثبت را افزایش دهد شماتیک آن را اگر دارید بگزارید

      می شود فقط برای یک بار قبل از دستور MAINپرت را (موقع روشن شدن میکرو)یک کرد و سپس وارد سیکل دستور MAIN شود و هر عددی را میکرو در خود بپذیرد و کار خواسته شده را انجام دهد

      با تشکر :smile:

      دیدگاه


        #4
        پاسخ : نوشتن برنامه میکرو 8051 برای خروجی پورت پارالل (تشکر)

        نوشته اصلی توسط aesgorgan
        ببخشید زمانی که ما از طریق رایانه یک عدد را غیر از FFh به میکرو فرستاده ایم دیگر میکرو برای بارهای دیگر در حالت ورودی قرار نمی گیرد و باید همچنان همیشه برای ورود عدد جدید به میکروها ورودی آنها را همیشه از بیرون یک کرد؟
        می شود فقط برای یک بار قبل از دستور MAINپرت را (موقع روشن شدن میکرو)یک کرد و سپس وارد سیکل دستور MAIN شود و هر عددی را میکرو در خود بپذیرد و کار خواسته شده را انجام دهد
        سلام.
        دقیقا باید همین کار رو کرد. داخل برنامه میکرو، قبل از برنامه اصلی یک بار مقدار پورت را برابر 0FFh قرار می دهیم و از آن به بعد، پرت به عنوان ورودی عمل می کند. :applause: :wow: :nice:

        من در این پروژه از 10 میکرو استفاده کرده ام که همه به طور همزمان عدد ها را از رایانه دریافت می کنندو اگر با عدد های ذخیره شده در خودشان برابر بودند کار های خواسته شده را انجام دهند وبه همین منظور به جای استفاده مستقیم از برق پورت پارال از 8 رله استفاده می کنم ،با این توصیفات دیگر نیاز به متصل کردن زمین میکرو ها با زمین پورت هست یا خیر ؟
        در این صورت دیگر نیاز به اتصال زمین مدار به زمین پورت پارالل ندارین. دقت کنید هر جا می خواهید از پایه پورت پارالل به عنوان منبع ولتاژ یا ورودی استفاده کنید، حتما باید از GND پرت پارالل هم به عنوان زمین همون قسمت استفاده کنید . . . oo:

        آیا ترانزیستوری یا مداری وجود دارد که جریان مثبت را افزایش دهد شماتیک آن را اگر دارید بگزارید
        بله. یک بافر خیلی آشنا 74HC244





        http://www.onsemi.com/pub_link/Colla...HC244.REV0.PDF

        دیدگاه

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