logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Odbiornik podczerwieni na TSOP1736

Superdomek111 19 Sty 2009 18:43 1861 1
REKLAMA
  • #1 6023337
    Superdomek111
    Poziom 12  
    Czesc, od niedawna interesuję się elektroniką. Postanowiłem wykonac robota sterowanego na podczerwień. I właśnie prawie skończyłem moduł odbiornika podczerwieni.

    #define F_CPU 1000000L
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void){ //początek0 funkcji main
    
    DDRD=0xFF; //PORT D, wyjście
    DDRC=0x00; //PORT C, wejście
    
    
    while(1){ //początek nieskończonej pętli
    
    DDRD=0x00; //wszystkie porty D mają stan napięcia wysoki
    
    if(DDRC==0xFF){  //jeśli na wejściu PORT C pojawi się napięcie, stan niski
    PORTD=0xFF; //wszystkie porty D(wyjścia), mają stan napięcia niski
    _delay_ms(10000); //czekaj 10 sekund i przejdź na początek pętli
    } //if
    
    } //while
    
    
    return 0;
    
    
    } //main
    


    zakładałem temat na forum: https://www.elektroda.pl/rtvforum/topic1198855.html , ale to nie ten dział na pytanie o program. Czy ten program zadziała na tym układzie? Chodzi o to, że jeśli na wyprowadzeniu uC pojawi się napięcie mniejsze niż 0,5V(stan napięcia niski) to uC na wyprowadzeniu(wyjście) pokaże się masa i zaświeci się dioda. Proszę o sprawdzenie programu, z góry dziękuję.

    Program na uC atmega8.
  • REKLAMA
  • #2 6024977
    kasaidolar
    Poziom 19  
    Zle. Napisz konkretnie co chcesz uzyskać. 0xFF to raczej nie jest niski. DDRn - nie sluzy do ustawiania stanu wysokiego lub niskiego tylko do ustawiania kierunku - wejscie - wyjscie- napierw musisz ustawic przed while co ma byc w procku wejsciem a co wyjsciem a pozniej w petli mozesz sobie sprawdzac czy masz stan wysoki czy niski
REKLAMA