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

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

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




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

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