Panowie... SUKCES !!!
Napisałem szybko to co wklejam poniżej
Wiem wiem ... nie fachowo ale działa mi wyswietlacz i zamierzam napisać programik który obsługuje kursor lewo prawo (moze jeszcze góra dół) oraz wpisywanie cyfr napoczątek.
Zachęcam do nauki programowania tych co się nie moga zdecydować albo boją się. Jestem totalnym laikiem i fajnie byłoby jakby ktos równoczeście ze mną zaczynał. Będziemy sie wspierać.
SP3SWJ, dzięki za pomoc ale nie będę próbował uruchomić tego programu bo mi na nim nie zależało, zależało mi własnie na obsłudze wyświetlacza LCD 2*16, którą chciałem z niego skopiować, a przede wszystkim zrozumieniu mechanizmu działania LCD. Ale się podjarałem ;-) mam zajęcie na kilka nastepnych dni - oby tylko czasu wolnego starczyło. Ide juz pisać procedurki.
Kod:
#include <avr/io.h>
#include <util/delay.h>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
{
_delay_ms(160);
}
}
int main(void)
{
DDRA = 0b11111111;
DDRB = 0b00000011;
PORTB = 0b00000011;
delay1s();
PORTA = 0b00001111;
_delay_ms(200);
PORTB = 0b00000001; //E=1
_delay_ms(2);
PORTB = 0b00000000; //E=0
_delay_ms(200);
PORTA = 0b00000000;
_delay_ms(20);
PORTB = 0b00000010; //RS=1
_delay_ms(20);
PORTA = 0b01011000; // znak X
_delay_ms(20);
PORTB = 0b00000011; //E=1 RS=1
_delay_ms(20);
PORTB = 0b00000010; //E=1 RS=0
_delay_ms(20);
PORTA = 0b01100110;
_delay_ms(20);
PORTB = 0b00000011; //E=1 RS=1
_delay_ms(20);
PORTB = 0b00000010; //E=1 RS=0
_delay_ms(20);
}
ps. kurde, jak ten kod się wstawia ? bo zapomniałem
aha , czasy opóźnień wyssanee z palca ;-)