اطلاعیه

Collapse
No announcement yet.

خاموش نشدن

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

    خاموش نشدن

    باسلام

    یه برنامه دارم چشمکزن دوتایه که به صورت کم و زیاد شدن ال ای دی ها کار میکنه وقتی ال ای دی اولی داره کا می کنه ال ای دی دومی نیمه روشنه به طور کامل خاموش نمیشه :angry: و وقتی ال ای دی دومی کار میکنه ال ای دی اولی نیمه روشنه دستور آف دادم ولی عمل نمکنه چرا؟؟ باتشکر ازهمه دوستان که کمک میکنن







    #include <mega8.h>
    # include <delay.h>

    void main(void)
    {
    int x=0,h=0,a,b;
    PORTB=0x00;
    DDRB=0x06;



    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 1000.000 kHz
    // Mode: Fast PWM top=00FFh
    // OC1A output: Non-Inv.
    // OC1B output: Non-Inv.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0xA1;
    TCCR1B=0x0A;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;



    while (1)
    {

    while (h==0)
    {

    for(a=0;a<=1;a++)
    {
    for( x=0;x<=255;x++)
    {
    OCR1AL=x;
    delay_ms(4);

    }

    for( x=255;x>=0 ;x--)
    {
    OCR1AL=x;
    delay_ms(4);
    }

    if(a==1)
    {
    OCR1AL=0x0000;
    h=1;
    }

    }

    };







    while(h==1)
    {
    for(b=0;b<=1;b++)
    {
    for( x=0;x<=255;x++)
    {
    OCR1BL=x;
    delay_ms(4);

    }

    for( x=255;x>=0;x--)
    {
    OCR1BL=x;
    delay_ms(4);

    }


    if(b==1)
    {
    OCR1BL=0x0000;
    h=0;
    }

    }

    }




    };
    }

    #2
    پاسخ : خاموش نشدن

    من c کار نمیکنم ولی بنظرم یکم زیادی کد نوشتی واسه یه چشمک زن
    تو بیسیک کلا 3 خط برنامه میشه!!

    دیدگاه


      #3
      پاسخ : خاموش نشدن

      مهندس برنامه ساده هست دوتا موج pwm روی دوتا پایه از تراشه تولید میشه که به ترتیب خاموش روشن میشه ولی مشکل اینکه توی عکس واضحه ال ای دی سفید داره کار میکنه ال ای دی قرمز کاملا خاموش نمیشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟چرا نمی دونم oo:

      دیدگاه


        #4
        پاسخ : خاموش نشدن

        نوشته اصلی توسط مسعود کردی
        مهندس برنامه ساده هست دوتا موج pwm روی دوتا پایه از تراشه تولید میشه که به ترتیب خاموش روشن میشه ولی مشکل اینکه توی عکس واضحه ال ای دی سفید داره کار میکنه ال ای دی قرمز کاملا خاموش نمیشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟چرا نمی دونم oo:
        سلام
        من از کد شما سرد در نمیارم منظورم اینه که نمیدونم میخوای چیکار کنی ولی موقعی که
        [code=c] OCR1AL=0x0000; [/code]
        کردی
        رجیستر high رو هم 0 کنOCR1AH
        مثل
        [code=c] OCR1AH=0x0000; [/code]
        امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

        دیدگاه


          #5
          پاسخ : خاموش نشدن

          دلیلش اینه که برای LED ها مقاومت محدود کننده جریان نذاشتی و مستقیما به میکرو و خطوط تغذیه وصلشون کردی . این کار باعث میشه که 2تا LED با منبع تغذیه سری بشن و خروجی میکرو بی اثر بشه که تو این حالت LED ها هیچ وقت خاموش نمیشن بلکه با تغییر خروجی میکرو بصورت "یکی در میان" کم نور میشن.
          تو عکس پایین جایی که با شماره 1 مشخص کردم جامپر رو بردار و یه مقاومت 560 اهم بذار . شماره 2 پایه LED هست که باید یه مقاومت 560 اهم بهش وصل کنی و نباید مستقیم به GND وصل بشه.

          دیدگاه

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