#define F_CPU 8000000UL #include #include #include "lcd_lib.h" // Из `lcd_lib.c` скопировать все реализации функций и вставить после `main()`, // потому что хз как подключать доп `.c` файлы в прогах, которые используем на лабах int main(void) { LCDinit(); uint8_t prev_state = 0; while (1) { // Обработка кнопок херня, но препод даже не смотрел `Hello World`, // так что можно всё убрать и оставить только вывод `Слава КПСС` // (но может и проверит у вас) uint8_t curr_state = PIND & 0x03; if ((curr_state & 0x01) && !(prev_state & 0x01)) { LCDclr(); LCDGotoXY(0, 0); LCDstring((uint8_t*)"Hello", 5); LCDGotoXY(0, 1); LCDstring((uint8_t*)"World!", 6); } else if ((curr_state & 0x02) && !(prev_state & 0x02)) { LCDclr(); LCDGotoXY(0, 0); // Дисплей не умеет напрямую получать кириллицу, // нужно выводить каждую букву используя их коды из даташита LCDstring((uint8_t*)"Слава", 5); LCDGotoXY(0, 1); LCDstring((uint8_t*)"КПСС!", 5); } prev_state = curr_state; _delay_ms(20); } return 0; }