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

potrzebuje pomocy w napisaniu programu w avr studio

hanks 27 Cze 2010 19:57 1317 3
REKLAMA
  • #1 8237684
    hanks
    Poziom 2  
    potrzebuje pomocy w zadaniach. Nie znam się na programowaniu a mam takie zadania :

    Typowe podłączenie sterownika LCD
    HD44780 do mikrokontrolera (4 linie danych + 3 linie sterujące) - schemat,
    omówienie, zasada sterowania wyświetlaczem - z literatury i Internatu

    2. Wykonanie projektu w assemblerze lub w C. Temat:
    Sterowanie diodami. Należy przygotować projekt, w którym 8 dostępnych diod
    będzie świecić wg następującego wzoru: 10000001, 01000010, 00100100,
    00011000, itd. Wykonanie symulacji środowiskowych udokumentowane zrzutami
    ekranowymi z symulacji.

    3. Wykonanie projektu w C. Temat: Odczyt przycisku.
    Należy powiązać sterowanie diodami z odczytem przycisku: diody powinny
    świecić w czasie, gdy przycisk jest przyciśnięty. Przycisk należy podłączyć
    do linii objętej zewnętrznym przerwaniem. Wykonanie symulacji środowiskowych
    udokumentowane zrzutami ekranowymi z symulacji.

    4. Wykonanie projektu w C. Temat: Odbiór znaków
    ASCII z interfejsu UART z aktywnym przerwaniem odbiorczym UART (kwarc 8MHz,
    prędkość 38400 bodów). Obszerny komentarz do projektu.

    to wszystko powinno być robione w avr studio. Nie liczę ze ktoś mi to wszystko zrobi z dobrej woli ale chociaż jakaś pomoc, bo oprócz tego ze wszyscy mówią że to jest bardzo proste to nikt nie chce nic więcej zrobić. Mogę nawet komuś zapłacić za zrobie tego, nie jestem bogaty ale wiem ze sam nie dam rady.(próbowałem opanować ten program naprawdę długo, ale chyba jestem za głupi)

    Pozdrawiam.
  • REKLAMA
  • #2 8237803
    janbernat
    Poziom 38  
    A co już zrobiłeś?
    Być może nieprawidłowo- to można zawsze poprawić.
    Bo jak nic- to mod to wywali do kosza- z moim błogosławieństwem.
  • REKLAMA
  • #3 8238014
    hanks
    Poziom 2  
    to tak na 4 zadanie mam cos takiego:


    #include <util/delay.h>

    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <avr/pgmspace.h>

    #define LCD_instrukcje (*(unsigned char *) (0x1F90))
    #define LCD_dane (*(unsigned char *) (0x1F91))


    int b=0;
    int c;

    void pisz_znak (char znak)
    {
    LCD_dane = znak;
    _delay_ms(1);
    }

    ISR(UART_RX_vect)
    {

    c = UDR;
    pisz_znak(c);
    LCD_steruj(0b00011000);

    }



    void LCD_steruj (int instrukcja)
    {
    LCD_instrukcje = instrukcja;
    _delay_ms(5);
    }



    void LCD_start (void)
    { int i;
    MCUCR |= _BV(SRE); // włączenie magistrali równoległej
    MCUCR |= _BV(6); // opóźnienie zapisu/odczytu o długość jednego cyklu
    _delay_ms(15);


    for (i=0;i<3;i++)
    { LCD_instrukcje =0x38; //sterowanie tryb 8-bitowy
    _delay_ms(5);
    }

    LCD_instrukcje = 0x14; //obrót napis
    _delay_ms(5);
    LCD_instrukcje = 0x0c; //wyświetlacz on/off
    _delay_ms(5);
    LCD_instrukcje = 0x06; // przesuwanie kursora
    _delay_ms(5);
    LCD_instrukcje = 0x01; // czyszczenie wyświetlacza
    _delay_ms(5);
    LCD_instrukcje = 0x80; //początkowe położenie kursora
    _delay_ms(5);

    }

    //--------------------------------------------------------------

    int main (void)

    {

    double a;
    a = (60000/24-16)/16; //predkosc w BODACH a = BAUD

    UBRR = (int)a;

    LCD_start();
    LCD_steruj(128);

    pisz_znak('b');


    UCR = (1<<RXCIE) |(1<<RXEN);
    sei();


    while(1);



    return 0;

    }



    //------------------------------------------------------------------------

    to napisałem na podstawie tego co znalazłem w internecie, jeśli nikt nie będzie chciał mi pomóc to może znacie kogoś kto będzie umiał to napisać i jakoś opisać bo chciałbym to zrozumieć.

    Proszę poprawić tytuł tematu na zgodny z regulaminem oraz umieścić kod w znacznikach code!
    Robak
  • #4 8238454
    PO.
    Poziom 20  
    O lcd masz tutaj: http://wkretak.pl/readarticle.php?article_id=6
    i tutaj, z gotową biblioteką, taką sobie ale w kilku wersjach i działającą: http://radzio.dxp.pl/


    Generalnie wszystkie tematy pokrywa datasheet tyle że nie jest po polsku ;) ale skoro masz taki temat to studiujesz(?) i planujesz(?) dalszą karierę(?) zawodową(?) więc musisz sobie dawać z angielskim technicznym radę.
REKLAMA