Zbudowałem urządzenie sterowane mikroprocesorem Atmega 16. Układ programuję za pomocą Bascoma. Dałem odpowiednie dyrektywy:
$Crystal=12000000
$regfile = "m16def.dat",
jednak dla portu C mogę zaprogramować jedynie 2 najstarsze bity (jako I/O), czyli portc.6 i portc.7. Na portc.5 występuje stałe napięcie 1,16V, na pozostałych (portc.0 do portc.4) występuje stan wysoki (4.96V) i nie da się tego w żaden sposób zmienić. Użyłem najprostrzych wpisów do rejestrów IO: portc.X = 0 i portc.X = 1 (gdzie X to 0÷5).
Ten port ma sterować przekaźnikami poprzez tranzystory. Połączenia elektryczne sprawdzałem -wszystko jest dobrze!
Czy ten port jest "walnięty", czy może domyślnie skonfigurowany jakoś inaczej niż I/O?
Wcześniej do Portc.4 podłączony był sygnał RS wyświetlacza LCD 2x16,ale to nie działało i sygnał został przeniesiony na port D, wraz z innymi sygnałami sterowania wyświetlacza. Czyżby to podłączenie sygnału RS do jednego portu a reszty pinów wyświetlacza do innego portu mogło zepsuć cały port C?
Dodatkowo wyświetlacz dosyć długo się inicjalizuje (ok. 2 sek.).
Pomóżcie!
Pozdrawiam wszystkich