Я работаю над проектом, реализующим часы с использованием PIC18, LCD и т. д., и я использую mikroC для реализации этого проекта.
Однако я плохо разбираюсь в C и застрял на определенном этапе. В часах есть меню с несколькими опциями, которые позволят пользователю установить время, будильники, звук будильника и т. д. В меню есть следующее:
1. Set Time
2. Add Alarm
3. Select Alarm
4. Add New Tone
5. Select Tone
6. EXIT
Часы имеют 3 кнопки: OK
, RIGHT
и LEFT
. Когда часы включаются, по умолчанию на ЖК-дисплее отображается Set Time
. Я хочу добавить функцию, когда я нажимаю кнопку RIGHT
, она должна показывать Add Alarm
, но постепенно, а не напрямую. У меня есть 6 пунктов в меню, поэтому я должен сделать это постепенно движением 12 раз (6 вправо и 6 влево). Я пробовал это следующим образом:
Lcd_Out(2, 2, " set Time ");
Delay_ms(50);
Lcd_Out(2, 2, " set Time ");
Delay_ms(50);
Lcd_Out(2, 2, " set Time ");
Delay_ms(50);
Lcd_Out(2, 2, " et Time ");
Delay_ms(50);
Lcd_Out(2, 2, " t Time ");
Delay_ms(50);
Lcd_Out(2, 2, " Time ");
Delay_ms(50);
Lcd_Out(2, 2, " ime ");
Delay_ms(50);
Lcd_Out(2, 2, " me ");
Delay_ms(50);
Lcd_Out(2, 2, " e ");
Delay_ms(50);
Lcd_Out(2, 2, " ");
Delay_ms(50);
Lcd_Out(2, 2, " ");
Delay_ms(50);
Lcd_Out(2, 2, " ");
Delay_ms(50);
Lcd_Out(2, 2, " ");
Delay_ms(50);
Lcd_Out(2, 2, " A ");
Delay_ms(50);
Lcd_Out(2, 2, " Ad ");
Delay_ms(50);
Lcd_Out(2, 2, " Add ");
Delay_ms(50);
Lcd_Out(2, 2, " Add ");
Delay_ms(50);
Lcd_Out(2, 2, " Add A ");
Delay_ms(50);
Lcd_Out(2, 2, " Add Al ");
Delay_ms(50);
Lcd_Out(2, 2, " Add Ala ");
Delay_ms(50);
Lcd_Out(2, 2, " Add Alar ");
Delay_ms(50);
Lcd_Out(2, 2, " Add Alarm ");
Delay_ms(50);
Lcd_Out(2, 2, " Add Alarm ");
Delay_ms(50);
Lcd_Out(2, 2, " Add Alarm ");
Это было одно движение, а для остальных мне нужен большой код, а оперативная память PIC ограничена. Итак, ребята, вы можете помочь мне решить эту проблему?