Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Теоретические сведения. Для организации задержек в программе для МК, написанной на языке С в среде 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.

Пример:

void main(void) {

/* Запрещаем прерывания*/

#asm(" cli")

/* Задержка 100 микросекунд */

delay_us(100);

/*............. */

 

/* Задержка 10 миллисекунд */

delay_ms(10);

/* Разрешаем прерывания */

#asm(" sei")

/*............. */

}


ПРАКТИЧЕСКАЯ РАБОТА №2

Тема: Средства симуляции и отладки программ для МК

Цели: Познакомиться со симулятором VMLab и научиться использовать возможности, предоставляемые симулятором, для отладки программ.







Дата добавления: 2014-11-10; просмотров: 661. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия