اطلاعیه

Collapse
No announcement yet.

مشکل در مدار ال دی ار

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

    مشکل در مدار ال دی ار

    سلام

    یکی از دوستان یه برنامه اای برامون نوشته بود که وقتی هوا تاریک میشد یه ال ای دی با ocr شروع میکرد به چشمک زدن و یه پتانسیومتر بود که تنظیم میکردی تو چ موقع از روز شروع کنه به چشمک زدن (هوا از چه حدی تاریک تر شد )

    برنامشو گرفتم و مدار بستم ولی کار نمیکنه

    کدش اینه :
    کد:
    [FONT=Yekan]#include <mega8.h>[/FONT]
    
    #include <delay.h>
    int x=150;
       
    
    
    #define ADC_VREF_TYPE 0x00
    
    
    // Read the AD conversion result
    unsigned int read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    // Start the AD conversion
    ADCSRA|=0x40;
    // Wait for the AD conversion to complete
    while ((ADCSRA & 0x10)==0);
    ADCSRA|=0x10;
    return ADCW;
    }
    
    
    // Declare your global variables here
    
    
    void main(void)
    {
    // Declare your local variables here
       int ldr;
      int res;
    // Input/Output Ports initialization
    // Port B initialization
    // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
    // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
    PORTB=0x00;
    DDRB=0xFF;
    
    
    // Port C initialization
    // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    
    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x00;
    DDRD=0x00;
    
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=0x00;
    
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // 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=0xA3;
    TCCR1B=0x04;
    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=0xFF
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x6A;
    TCNT2=0x00;
    OCR2=0x00;
    
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    MCUCR=0x00;
    
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    TIFR=0x00;
    
    
    // USART initialization
    // USART disabled
    UCSRB=0x00;
    
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    
    // ADC initialization
    // ADC Clock frequency: 125.000 kHz
    // ADC Voltage Reference: Int., cap. on AREF
    ADMUX=ADC_VREF_TYPE & 0xff;
    ADCSRA=0x83;
    
    
    // SPI initialization
    // SPI disabled
    SPCR=0x00;
    
    
    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    
    
    while (1)
          {
          // Place your code here  
            
            ldr=read_adc(0);
            ldr=(ldr*5)/1023; 
            res=read_adc(1);
            res=(res*5)/1023; 
         if (ldr<=res) {
             for(x=0;x<=255;x++)
            {
                OCR2=x;
                delay_ms(1);
            }
            
            for(x=255;x>=0;x--)
            {
                OCR2=x;
                delay_ms(1);
            } 
            }   
                
            
            PORTB=0;       
             
                   
             
          }
    }
لطفا صبر کنید...
X