Мне нужно, чтобы я мог запустить его в Atmel Studio 7 ... Я использую STK300 AVR Board
В основном вам нужно:
- aспособ надежного измерения времени
- способ отправки вывода на дисплей
Сон в течение 1 секунды, а затем добавление секунды к текущему времени составляет , а не aнадежный способ следить за временем.Если используемая микросхема не содержит часов реального времени (RTC), в часах микросхемы обязательно будет какая-то ошибка, и даже небольшие ошибки приведут к значительному смещению в течение нескольких часов или дня.Если это часы, которые должны быть точными, ищите модуль RTC, с которого вы можете считывать время.
Отображение информации на ЖК-модуле обычно включает запись данных на некоторые выходные выводы в соответствии с протоколом, которыйдисплей требует.Если вам нужно написать весь код самостоятельно, вам придется покопаться в документации к дисплею и выяснить, что нужно сделать.Вы не упомянули, какой дисплей используете, поэтому невозможно узнать, имеет ли он интерфейс I 2 C, параллельный интерфейс и т. Д.
Платформа AVR невероятно популярна.и для него доступно множество библиотек, которые поддерживают дополнительные модули, такие как часы и дисплеи.Пока вам не нужно писать весь код самостоятельно, выясните, какой у вас дисплей, а затем Google для библиотеки AVR, которая его поддерживает.
Кстати, то же самое относится и к RTC -если вы используете модуль часов, скорее всего, есть библиотека, которая поддерживает этот модуль и упрощает его использование.Тогда цикл в вашем коде будет выглядеть примерно так:
while (true) {
time = read_the_clock();
write_time_to_display(time);
sleep(1);
}
Это даст вам гораздо более точные часы, так как время, сообщаемое RTC, не будет страдать от дрейфа, который ваш контроллербудет.