Odpowiedz 
 
Ocena wątku:
  • 3 Głosów - 3.33 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie w języku C w środowisku AVR Studio4
SP4EJT Offline
Marcin
****

Liczba postów: 340
Dołączył: 06-05-2011
Post: #39
RE: Programowanie w języku C w środowisku AVR Studio4
Obsłudze wyświetlacza poświęcę jeszcze trochę czasu bo to chyba dla nas ważne, czy nie Huh
lekcja7 to lekcja pokazująca jak można zmienić kod który robi dokładnie to samo lecz zawiera pewne udogodnienia dla szarego człowieka.

do SP3IQ : Mam nadzieję że i tym razem będziesz zaskoczony wilekością kodu i *.hexa.

Nie będę wstawiał całego kodu w trybie edycji bo strasznie zawala ekran i brzydko wyglada - moje komentarze które mogą dobrze wyglądać w AVRStudio tutaj powodują przeskakiwanie pod linijkę i paskudza wygląd kodu, który staje sie ciezki do rozczytania.
Opiszę tylko zmienioną funkcję "bajt_lcd" w stusunku do lekcji6
Kod:
void bajt_lcd(unsigned char znak)
{    
    LCD_PORT = (LCD_PORT & 15)|(znak&240);
    LCD_PORT |= (1<<LCD_E);                 // E=1
    LCD_PORT &= (~1<<LCD_E);                 // E=0    
    LCD_PORT = (LCD_PORT & 15)|(znak<<4);
    LCD_PORT |= (1<<LCD_E);                 // E=1
    LCD_PORT &= (~1<<LCD_E);                 // E=0    
    _delay_ms(10);
}
1. Usunąłem zbędne linie z opóźnieniami (_delay_) - okazuje sie że wyświetlacz tego nie potrzebuje
2. liczby 15 i 240 wzięły sie z "przetłumaczenia" zapisu szestnastkowego z "lekcji6" - pamiętamy że sposób zapisu liczby jest dowolny. Ważne żeby wartość liczby była identyczna
3. Zapis (1<<3) jest toższamy z (0b00000001<<3) i oznacza że jedynke należy przesunąć o 3 miejsca w stronę bitów starszych (w zapisie w lewo) co daje wynik 0b00001000 - wiedząc to możecie sami sobie odpowiedzieć co wykona atmega jeśli napotka na
Kod:
LCD_PORT |= (1<<LCD_E);
Proszę napisać, czy po usunięciu z kodu zbędnych opóźnień, działa u was wszystko OK, no i prosze o pytania typu :" Nie rozumiem co wykonuje ta linijka kodu, i jeszcze funkcja init_lcd" - będę cierpliwie tłumaczyć - nie wstydzić się i pytać - po to są te lekcje.


Załączone pliki
.zip  lekcja7.zip (Rozmiar: 13.48 KB / Pobrań: 893)
(Ten post był ostatnio modyfikowany: 22-01-2012 23:03 przez SP4EJT.)
22-01-2012 23:00
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 22-01-2012 23:00

Skocz do:


Użytkownicy przeglądający ten wątek: 3 gości