NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3884 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 32

موضوع: برنامه روشن کردن ال ای دی با کلید

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض برنامه روشن کردن ال ای دی با کلید

    سلام
    برنامه زیر رب برای اینکه زمانی کلید زده میشود ال ای دی روشن شود زمانی صفر هست خاموش بشود
    ولی در عمل کار نمیکند
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portb.0 = Output
    Config Portc.5 = Input
    Config Portd.0 = Output
    Do

    Debounce , Portc.5 , 1 , Af
    Q:
    Set Portd.0



    Loop
    End
    Af:
    Do
    Set Portb.0
    Loop Until Portc.5 <> 1
    Goto Q

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    من بیسیک کار نمیکنم ولی خوب برنامه را فکر نمی کنی باید اینطوری مینوشتی !


    کد:
    Debounce , Portc.5 , 1 , Af
    Q:
    reset Portb.0

  4. تشکرها از این نوشته :


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    من بیسیک کار نمیکنم ولی خوب برنامه را فکر نمی کنی باید اینطوری مینوشتی !


    کد:
    debounce , portc.5 , 1 , af
    q:
    Reset portb.0
    سلام
    اره این خط رو اشتباه نوشتم ولی مشکلم اینجاست که اصلا روشن نمیشود
    اگر با کد ویژن کار میکنید امکان دارد یه نمونه برام بدید ببینم مشکل کجاست
    البته فایل هگز باشه چ.ن با نرم افزارش کار نکردم
    ممنون

  6. #4
    همکار علمی sarbaz13 آواتار ها
    تاریخ عضویت
    Mar 2011
    نام
    محمد قاسمی
    نوشته ها
    410
    تشکر
    995
    تشکر شده 425 بار در 230 پست

    پیش فرض

    [PHP]
    #include <mega32.h>
    #include <delay.h>
    void main(void)
    {
    PORTA=0x00;
    DDRA=0x00;
    PORTB=0x00;
    DDRB=0x00;

    PORTC=0x00;
    DDRC=0x02;

    PORTD=0x00;
    DDRD=0x00;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=FFh
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;

    while (1)
    {
    if ( PINC.0==1 ){
    PORTC.1=1;
    delay_ms(80);
    }
    else{
    PORTC.1=0;
    }

    };
    }

    [/PHP]

    فایل هگز و برنامه اصلی را ضمیمه می کنم.
    مشکل شما اینجاست که با پایه ی مورد نظر خودتون رو به صورت Pull up یا Pull down به صورت زیر ببندی.
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: interrupt.JPG
مشاهده: 46
حجم: 40.2 کیلو بایت  
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar 1.rar (385 بایت, 45 نمايش)

  7. کاربران : 2 تشکر کرده اند از شما sarbaz13 برای ارسال این پست سودمند:


  8. #5
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    سلام
    Portc.5 برای خواندن مقدار پین نیست. بجای Portc.5 از pinc.5 استفاده کنید.

    پ.ن : چرا از یه Do..Loop و یک if ساده واسه اینکار استفاده نمی کنید. (قانون کلی : هیچ وقت از Goto در برنامه نویسی استفاده نکنید. هروقت مجبور به استفاده از Goto شدید ، مطمئن باشید که راه بهتری برای پیاده سازی برنامتون وجود داشته.)

  9. کاربران : 2 تشکر کرده اند از شما ali_h برای ارسال این پست سودمند:


  10. #6
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط ali_h نمایش پست ها
    سلام
    Portc.5 برای خواندن مقدار پین نیست. بجای Portc.5 از pinc.5 استفاده کنید.

    پ.ن : چرا از یه Do..Loop و یک if ساده واسه اینکار استفاده نمی کنید. (قانون کلی : هیچ وقت از Goto در برنامه نویسی استفاده نکنید. هروقت مجبور به استفاده از Goto شدید ، مطمئن باشید که راه بهتری برای پیاده سازی برنامتون وجود داشته.)
    سلام
    از pin هم استفاده کردم باز مشکل حل نشد
    قبلا با پورت نوشته بود درست عمل میکرد ولی الان کار نمیکنه
    امکان داره کل برنامه را با میکرو 8 برام بنویسید
    شرمنده

  11. #7
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    اینجوری بنویسی جواب نمیده



    کد:
    $regfile = "m8def.dat" $crystal = 1000000 config portb.0 = output config portc.5 = input do if pinc.5=1 then set portb.0 if pinc.5=0 then reset portb.0 loop end

  12. تشکرها از این نوشته :


  13. #8
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    اینجوری بنویسی جواب نمیده



    کد:
    $regfile = "m8def.dat" $crystal = 1000000 config portb.0 = output config portc.5 = input do if pinc.5=1 then set portb.0 if pinc.5=0 then reset portb.0 loop end
    سلام
    نوشتم جواب نداد
    برنامه زیر را هم نوشتم جواب نداد
    دیگه دارم میریزم بهم نمیدونم مشکل کجاست
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portd.0 = Output
    Config Portc.0 = Input
    Config Portc.1 = Input
    Config Portd.1 = Output
    Dim G As Word
    Dim H As Word

    Do
    If Portc.0 = 1 Then
    Do

    Set Portd.0
    Waitms 1
    Loop Until Portc.0 <> 1
    Reset Portd.0
    End If
    If Portc.1 = 1 Then
    Do

    Set Portd.1
    Loop Until Portc.1 <> 1
    Reset Portd.1
    End If
    Loop
    End

  14. #9
    همکار علمی sarbaz13 آواتار ها
    تاریخ عضویت
    Mar 2011
    نام
    محمد قاسمی
    نوشته ها
    410
    تشکر
    995
    تشکر شده 425 بار در 230 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kendab نمایش پست ها
    سلام
    نوشتم جواب نداد
    برنامه زیر را هم نوشتم جواب نداد
    دیگه دارم میریزم بهم نمیدونم مشکل کجاست
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portd.0 = Output
    Config Portc.0 = Input
    Config Portc.1 = Input
    Config Portd.1 = Output
    Dim G As Word
    Dim H As Word

    Do
    If Portc.0 = 1 Then
    Do

    Set Portd.0
    Waitms 1
    Loop Until Portc.0 <> 1
    Reset Portd.0
    End If
    If Portc.1 = 1 Then
    Do

    Set Portd.1
    Loop Until Portc.1 <> 1
    Reset Portd.1
    End If
    Loop
    End
    سلام آقای kendab
    شما اگر با انجام این کار ها بازم موفق نشدی مشکل از یک جای دیگه است و ربطی به برنامه نویسی نداره.
    یا میکروت مشکل داره یا فیوز بیتهای میکروت رو دست کاری کردی
    چک کن اگر میکروت سالم هست و فیوز بیت هات دستکاری نکردی و درست تنظیم شدن یک بار کلا میکروتو پاک کن برنامه های داخلش رو و بعد دوباره کامپایل کن.
    مدارت رو طبق عکسی که گذاشتم باید وصل کنی تا جواب بگیری.

  15. تشکرها از این نوشته :


  16. #10
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    دوست عزیز فایل شبیه سازی برنامه تون را قرار بدهید + هگز برنامه

  17. تشکرها از این نوشته :


  18. #11
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    دوست عزیز فایل شبیه سازی برنامه تون را قرار بدهید + هگز برنامه
    سلام
    دوستان از صب نشستم تا الان تونستم جواب بگیرم
    نمیدونم چرا میکرو به pin و portحساس هست یه جاش باید pin یجا دیگه پورت نوشت
    فايل هاي پيوست شده فايل هاي پيوست شده

  19. #12
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

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

  20. تشکرها از این نوشته :


  21. #13
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    شرمنده دوستان برا اینکه تایپک اضافی نزنم میخاهم یه فرسنده گیرنده با hmt ,rبسازم برا ارسال چی باید نوشت
    ممنون

  22. #14
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    منظورتو متوجه نشدم خوب هرکجا شما میخوای از ورودی بخونی مقداری را (صفر یا یک ) pin استفاده میکنی
    و هر کجا بخوای به پایه های میکرو فرمان بدی (صفر یا یک ) port استفاده میکنی
    اصلا امکان پذیر نیست همین طوری جاشونو عوض کنیا
    یعنی اگه بخاهم یک پایه را فرمان بدهم مثلا باید بنویسمportc.0

  23. #15
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kendab نمایش پست ها
    شرمنده دوستان برا اینکه تایپک اضافی نزنم میخاهم یه فرسنده گیرنده با hmt ,rبسازم برا ارسال چی باید نوشت
    ممنون
    فرستنده گیرنده میخوای بسازی باید با پورت سریال کار بکنی یه کانفیگ ساده داره
    قبلا کار کردی تجربه ای داری؟

    نقل قول نوشته اصلی توسط kendab نمایش پست ها
    یعنی اگه بخاهم یک پایه را فرمان بدهم مثلا باید بنویسمportc.0
    بله دقیقا

  24. تشکرها از این نوشته :


  25. #16
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    فرستنده گیرنده میخوای بسازی باید با پورت سریال کار بکنی یه کانفیگ ساده داره
    قبلا کار کردی تجربه ای داری؟



    بله دقیقا
    سلام
    نه قبلا کار نکردم
    امکان دارد بیشتر توضیح بدهید
    ممنون

  26. #17
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    سلام
    برا فرستنده اینو نوشتم
    $regfile = "m8def.dat"
    $crystal = 1000000
    $baud = 9600

    Config Pinc.0 = Input
    Config Pinc.1 = Input

    Dim C0 As String * 13
    Dim C1 As String * 13
    C0 = "canal1"
    C1 = "canal2"
    Do
    Do
    Print C0 ; Chr(13);
    Loop Until Pinc.0 <> 1
    Print C0 ; Chr(13);

    Do
    Print C1 ; Chr(13);
    Loop Until Pinc.1 <> 1
    Print C1 ; Chr(13);


    Loop
    End
    و برای گیرنده:
    $regfile = "m8def.dat"
    $crystal = 1000000
    $baud = 9600
    Config Portb.0 = Output
    Config Portb.1 = Output
    Dim S As String * 13
    Do
    Input S
    If S = "canal1" Then
    Do
    Set Portb.0
    Loop Until S <> "canal1"
    End If
    Reset Portb.0

    If S = "canal2" Then
    Do
    Set Portb.1
    Loop Until S <> "canal2"
    End If
    Reset Portb.1
    Loop
    مشکلاتش کجاست ممنون


  27. #18
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    دوستان کجاید کمککککککککککککککککککککککک ککککککک

  28. #19
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    دوست عزیز پیشنهاد میکنم کتاب الکترونیکی نوشته سبحان سروری را با عنوان انتقال دیتا بین میکرو -میکرو ،میکرو -رایانه را از نت بگیرید بسیار مفصل در مورد فرستنده و گیرنده با hmt -hmr توضیح داده و تمامی نکات هم داخل این PDF موجود هست موفق باشید .

  29. تشکرها از این نوشته :


  30. #20
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    97
    تشکر
    75
    تشکر شده 7 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    دوست عزیز پیشنهاد میکنم کتاب الکترونیکی نوشته سبحان سروری را با عنوان انتقال دیتا بین میکرو -میکرو ،میکرو -رایانه را از نت بگیرید بسیار مفصل در مورد فرستنده و گیرنده با hmt -hmr توضیح داده و تمامی نکات هم داخل این pdf موجود هست موفق باشید .
    ممنون
    لطف کردید
    من هم اونو خوندم
    هم کتاب اقای کاهه
    و...
    ولی واقعا نفهمیدم شاید از خنگی خودم هست
    موفق باشید

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

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