نمایش نتایج 1 تا 4 از 4

نام تاپیک: 1 کردن یک پین

  1. #1

    1 کردن یک پین

    چه طور میشه یک پین میکرو رو یک کرد سابق فکر میکردم با وصل کردن 5 ولت به یک پین ورودی میشه اون رو یک کرد اما این کار رو انجام دادم و یک نشد میشه توضیح بدین؟؟؟؟؟؟؟؟

  2. #2

    نقل قول: 1 کردن یک پین

    اگه 5 ولت رو به یه پایه ورودی وصل کنید ، حتما باید بیت رجیستر مربوط به اون پایه 1 بشه (چه پول آپ باشه و چه نباشه) . احتمالا پایه رو به عنوان ورودی تعریف نکردید ، شایدم اشکال نرم افزاری باشه . برنامه رو بگذارید تا بیشتر بشه درموردش توضیح داد .(سخت افزار هم اگه بگزارید بهتر میشه)

  3. #3

    نقل قول: 1 کردن یک پین

    ممنون از پاسختون
    توی پروتئوس امتحان کردم پایه رو به صورت ورودی تعریف کردم و 5 ولت رو به PORTA.0 دادم و شرط زیر رو گذاشتم اما درست کار نمیکنه

    if(PORTA.0==1) PORTA.1=1;
    else
    PORTA.1=0;

    فایل به زبان کد ویژن
    فایل های ضمیمه فایل های ضمیمه

  4. #4

    نقل قول: 1 کردن یک پین

    خب برنامه 2تا اشکال داره :
    1. همه پایه ها رو به عنوان ورودی تعریف کردید :
    PORTA=0x00;
    DDRA=0x00;


    اگه میخواید پایه 0 پورت a ورودی باشه و پایه 1 اون خروجی باید بنویسید :
    PORTA=0x00;
    DDRA=0x02;


    یعنی هر بیتی از DDRA که 1باشه پایه متناظر اون خروجی تعریف میشه و هر بیتی که 0 باشه پایه متناظر اون ورودی تعریف میشه . 00000010 معادل 0x02 هگز هست .

    2. برای تغییر یک پایه ای که خروجی تعریف شده از portx.y استفاده میشه (مثل همون PORTA.1=1 که نوشتید) و برای خوندن وضعیت پایه ای که ورودی تعریف شده باید از pinx.y استفاده کرد نه portx.y . یعنی تو شرط برنامتون باید نوشته بشه pina.0==1 .
    *البته تا جایی که یادمه دستورات pinx.y , portx.y برای زبان basic بودن و کامپایلر های c از این دستورات استفاده نمیکردن . اما خب اگه موقع کامپایل اروری نگرفته ، حتما تو نسخه های جدیدکدویژن این قابلیت اضافه شده .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •