Witam, mam problem, z którym męczę się już dłuższy czas i poza zasięgnięciem pomocy tutaj, nic innego nie przychodzi mi już do głowy...
Mianowicie, do portu A w ATmega32 mam podłączony wyświetlacz 16*2 (zgodny z hd44780), zewnętrzny kwarc 16 MHz.
Podłączenia LCD:
db4 - portA.4 ... db7 - portA.7,
RS - portA.2,
E - portA.3.
RW zwarte do masy,
Vss - GND,
Vdd - +5V,
V0 - do potencjometra.
Kod programu w bascomie wygląda tak:
Po wgraniu programu pojawia się czarny górny rząd - z tego wynikałoby, że ze sprzętem wszystko ok, wina po stronie oprogramowania. Ale gdzie tu błąd, tym bardziej, że program jest napisany na podstawie jednego z sampli bascoma?
Czy nie mogę stosować do wyświetlacza portu A? Spotkałem się gdzieś z czyjąś wypowiedzią, że nie można używać tego portu do LCD, ale tam była mowa o ATmega8...
Jakie jeszcze mogą być przyczyny niewłaściwej pracy? (działanie samych portów sprawdzałem - wszystko ok)
Mianowicie, do portu A w ATmega32 mam podłączony wyświetlacz 16*2 (zgodny z hd44780), zewnętrzny kwarc 16 MHz.
Podłączenia LCD:
db4 - portA.4 ... db7 - portA.7,
RS - portA.2,
E - portA.3.
RW zwarte do masy,
Vss - GND,
Vdd - +5V,
V0 - do potencjometra.
Kod programu w bascomie wygląda tak:
$regfile = "m32def.dat"
$crystal = 16000000
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2
Config Lcd = 16 * 2
Cls
Upperline
Lcd "test"
Lowerline
Lcd "12345678"
End
Po wgraniu programu pojawia się czarny górny rząd - z tego wynikałoby, że ze sprzętem wszystko ok, wina po stronie oprogramowania. Ale gdzie tu błąd, tym bardziej, że program jest napisany na podstawie jednego z sampli bascoma?
Czy nie mogę stosować do wyświetlacza portu A? Spotkałem się gdzieś z czyjąś wypowiedzią, że nie można używać tego portu do LCD, ale tam była mowa o ATmega8...
Jakie jeszcze mogą być przyczyny niewłaściwej pracy? (działanie samych portów sprawdzałem - wszystko ok)