Теоретические сведения. Для организации задержек в программе для МК, написанной на языке С в среде Code Vision AVR C Compiler
Для организации задержек в программе для МК, написанной на языке С в среде Code Vision AVR C Compiler, существуют специальные функции. Прототипы этих функций размещены в файле delay.h, расположенном в подкаталоге \ INC папки среды разработки. Поэтому перед использованием функций задержек этот файл должен быть указан компилятору с помощью директивы #include < delay.h>. Для повышения точности задержек рекомендуется, по возможности, отключать прерывания, т.к. в противном случае задержки могут быть существенно длиннее. Также очень важно корректно указать частоту, на которой будет работать МК в меню конфигурации Project|Configure|C Compiler|Code Generation либо на закладке Chip генератора начального кода. Итак, функциями задержки являются: void delay_us (unsigned int n), которая генерирует задержку в n микросекунд (n должно быть постоянным выражением), и void delay_ms (unsigned int n), которая генерирует задержку в n миллисекунд. Эта функция автоматически переустанавливает watchdog таймер каждую 1 миллисекунду посредством генерации инструкции wdr. Пример:
/* Запрещаем прерывания*/ #asm(" cli") /* Задержка 100 микросекунд */ delay_us(100); /*............. */
/* Задержка 10 миллисекунд */ delay_ms(10); /* Разрешаем прерывания */ #asm(" sei") /*............. */ } ПРАКТИЧЕСКАЯ РАБОТА №2 Тема: Средства симуляции и отладки программ для МК Цели: Познакомиться со симулятором VMLab и научиться использовать возможности, предоставляемые симулятором, для отладки программ.
|