Цитата(ZLOI @ May 2 2008, 00:22)

Вообще оригинальный ответ
Я даже не думал, что Вы так словчите.
Но мне он не кажется корректным.
Если delay_ms это задержка на одну милисекунду, то это тоже неправильный код, поскольку ещё будет добавляться время от a++.
И не только от a++, надо полагать, что у Вас, кроме инкремента переменной и другая полезная работа выполняется, на которую тоже время нужно...
Цитата(ZLOI @ May 2 2008, 00:22)

Хотелось бы узнать как delay_ms определяет какой у Вас кварц стоит.
Возможно это пример под GCC компилятор. Величина системной частоты передается через параметр в makefile.
Цитата(ZLOI @ May 2 2008, 00:22)

Конечно я говорил о другом. Вся эта тема с таймером не должна занимать основное время МК, там ещё надо будет на ЖК выводить и другие операции. И правильное решение через прерывание.
Чтоже мешает реализовать все это через прерывания?
Если с учетом делителей таймера не подходит кварц, то можно выбрать другой. Либо настроить режим работы таймера по совпадению, если такой имеется в PIC'e. И инкрементировать переменную уже в прерывании.
Цитата(ZLOI @ May 2 2008, 00:22)

Ну и мотивация для создания темы была желание проверить, нужно ли знать ассемблер, чтобы решить такую задачу.
Не нужно.
Выбор.