Atmega16 z kwarcem 4MHz napędza wyświetlacz z KS0066U
Jak działa: -włączam zasilanie - wyświetlacz ustawia się na 4 linie itd. -OK
Programowo, chcę wyświetlić napis na początku każdej linii, długości 9 znaków. + cyfrę.
- wyświetla napis: 0..3 znaku-nie wyświetla, od 4..8 losowe znaki , 9zn. OK, oraz cyfrę-OK (tak w każdej z czterech linii)
-teraz RESET: wyświetlacz zaczyna działać z ustawieniami domyślnymi( 1 linia). => Dlaczego tak sie dzieje ?
- Wyłączam zasilanie, włączam ponownie -wyświetlacz ustawia sie poprawnie. Dalej działa, jak opisałem wyżej.
Napięcie na kwarcu ok. 1V i sinusoida 4MHz (dotykając sondą do nogi kwarcu)
Zasilanie 5,1V
Czy może Ktoś podpowiedzieć jaka jest różnica pomiędzy, załączeniem zasilania a resetem uC ???
PS: Do moderatora. Jaśniej przedstawić problemu nie umiem. Gdzie można edytować temat ?[/img]
https://obrazki.elektroda.pl/9863731600_1302621200.gif
Jak działa: -włączam zasilanie - wyświetlacz ustawia się na 4 linie itd. -OK
Programowo, chcę wyświetlić napis na początku każdej linii, długości 9 znaków. + cyfrę.
- wyświetla napis: 0..3 znaku-nie wyświetla, od 4..8 losowe znaki , 9zn. OK, oraz cyfrę-OK (tak w każdej z czterech linii)
-teraz RESET: wyświetlacz zaczyna działać z ustawieniami domyślnymi( 1 linia). => Dlaczego tak sie dzieje ?
- Wyłączam zasilanie, włączam ponownie -wyświetlacz ustawia sie poprawnie. Dalej działa, jak opisałem wyżej.
Napięcie na kwarcu ok. 1V i sinusoida 4MHz (dotykając sondą do nogi kwarcu)
Zasilanie 5,1V
Czy może Ktoś podpowiedzieć jaka jest różnica pomiędzy, załączeniem zasilania a resetem uC ???
PS: Do moderatora. Jaśniej przedstawić problemu nie umiem. Gdzie można edytować temat ?[/img]
void main(void)
{
////////////
unsigned char napis[]="TOLINIA=>";
char x;
char i;
char bufor[2];
//////////////
menu_init();
lcd_init();
while(1)
{
if(bit_is_clear(PIN(MENU_PORT),MENU))
{
menu();
} // endif MENU
if(bit_is_clear(PIN(MENU_PORT),X_MENU))
{
do
{
for (x=0;x<=3;x++)
{
lcd_clrscr();
lcd_gotoxy(0,x); // x-kolumna y-linia (linia 1 = 0
for(i=0;i<=10;i++)
{
lcd_write(napis[i],1);
}
sprintf(bufor,"%d",x);
lcd_write(bufor[0],1);
while (bit_is_set(PIN(MENU_PORT),Y_MENU));
_delay_ms(1000);
lcd_clrscr();
}// end for
} while (bit_is_set(PIN(MENU_PORT),Y_MENU));
}// end X_MENU
}// end while(1)
}//end main
https://obrazki.elektroda.pl/9863731600_1302621200.gif