Multipleksowe sterowanie LED i RS232

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Multipleksowe sterowanie LED i RS232

Post autor: Tranzystor » 12 paź 2007, 8:34

Witam,
mam pewien problem, podłączyłem do mikroprocesora ATMEGA8535 poprzez układ 4543 segmenty wyświetlacza LED, a każda cyfra wyświetlacza jest podłączona do portów PD mikroprocesora poprzez tranzystory BC558. Problem polega na tym, że gdy chcę przesyłać dane przez RS232 to wyświetlacz zaczyna "głupieć". Jest to wina jakiegoś wstrzymania w programie, czy jest to wina tego, że podłączyłem tranzystory do tego samego portu co RS232 :?: Oczywiście żaden tranzystor nie jest podłączony do lini RXD i TXD. Tranzystory są podłączone do lini PD.7 - PD.4 reszta lini jest wolna.

Pozdrawiam ;)

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 12 paź 2007, 9:24

Raczej nie powinna być to wina sprzętowa. Obsługe RS'a i wyświetlacza robisz w przerwaniach czy programowo?

Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

Post autor: gwozdex » 12 paź 2007, 10:00

może po prostu zablokuj wyświetlacz na czas odbierania danych.

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 12 paź 2007, 10:18

gwozdex pisze:może po prostu zablokuj wyświetlacz na czas odbierania danych
Gorzej jak trzeba odbierać/wysyłać dane na bieżąco :)

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 12 paź 2007, 12:58

Używam RS normalnie czyli sprzętowego... Wiesz chciałbym tak jak kolega powiedział dane przesyłać cały czas, bez wyłączania wyświetlacza. Mi się jednak nadal wydaje, że problem jest w podłączeniu do portu PD.

Pozdrawiam ;)

ZbeeGin

Post autor: ZbeeGin » 12 paź 2007, 16:51

A mógłbyś przytoczyć kawałek kodu jak to wszystko jest sterowane. Jeśli wyświetlaczem sterujesz w programie głównym i RS także obsługujesz w programie głównym to wpływ jednego na drugie jest murowany.

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 12 paź 2007, 17:33

Obsługa RS232 znajduje się w programie głównym, tak samo odczyt z przetwornika C/A, natomiast rozkodowywanie na pojedyncze cyfry odbywa się w przerwaniu, które odświeża wyświetlacze. Zastosowałem też blokadę, że gdy całkowicie nie zostanie odczytana liczba z przetwornika to nie ma przetwarzać tej liczby. Pomimo tego widać prawdziwy wynik i przez pewien dość krótki czas same 8888. :sad:

Pozdrawiam ;)

ODPOWIEDZ