русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Описание программы


Дата добавления: 2015-08-06; просмотров: 955; Нарушение авторских прав


 

Текст программы начинается с шапки, в виде нескольких строк комментариев, со- держащей название программы, её версию и дату написания. Шапка позволяет отличать одну программу от другой. Программа содержит 18 строк.

1-я строка – псевдокоманда .include, которая присоединяет к основному тексту программы файл описаний микроконтроллера АТ tiny2313 "tn2313def . inc".

(Все файлы описаний находятся в стандартном пакете AVR-Studio. Для каждого МК – свой файл. Все стандартные файлы описаний находятся в директории «C:\ Program Files\Atmel\AVR Tools\AvrАssembler\Appnotes\.»)

При программировании нужно выбрать нужный файл и включить в программу. Если файл описаний находится в директории, то в команде include достаточно указать полное имя с расширением. Полный путь указывать не надо.

2-я строка .list – включение генерации листинга.

3-я строка.def –команда макроопределения, по которой регистру r16 присваивается имя temp (временный). Этот регистр будет временно хранить промежуточные величины. Выбран регистр r16, так как он имеет больше возможностей, чем r0 - r15 и может работать с командой ldiзагрузки в РОН числовой константы. При нескольких регистрах удобнее пользоваться их именами, а не номерами.

4-я строка .cseg –выбор программного сегмента памяти. Используя директиву и «указатель текущего адреса», транслятор автоматически размещает команды в памяти.

5-я строка .org –принудительное позиционирование указателя текущего адреса. Директива позволяет разместить фрагмент программы в конкретном месте рограммной памяти. В описываемой программе устанавливаем на «0».

6-я и 7-я строки. Инициализация стека. В регистр стека записывается адрес вершины стека (с.124 Белов) (файл описаний - ?)

Строки 8-12 – настройка портов ввода-вывода осуществляется с использованием регистра temp,в который сначала записываетсясоответствующий код, а затем он переносится в нужный регистр. На рисунке 3.1.16 PВ – ввод, PВ – вывод.



Строка 8. В регистр temp заносим нули.

Строка 9. Содержимое регистра temp переносим в регистр DDRD, который настраивает порт PORTD на ввод.

Строка 10. В регистр temp заносим единицы, т.е. записываем 1111 1111 = ff

Строка 11. Содержимое регистра temp переносим в регистр DDRВ, который настраивает порт PORTВ на вывод.

Строка 12. Чтобы потушить светодиод, на вывод РВ1 надо подать «1», для чего заносим в РВ во все разряды 111 1111, которые уже записаны в регистр temp.

Строка 13. Чтобы включить внутренние резисторы к выводам порта РD, записываем содержимое регистра tempв портPORTD. Внутренние резисторы исключают короткое замыкание источника питания через кнопку.

Строки 14 и 15 – отключение компаратора, для чего в регистр tempзаписывается число 0х80, а потом из регистра заносится ACSR, предназначенный для управления компаратором, Константа 0х80, занесённая в регистр ACSR, отключает компаратор.

Строки 1-15 – подготовительная часть программы по настройке МК.

Строки 16-18 – основной цикл программы.

Строка 16. Чтение содержимого порта PD (нажата или не нажата кнопка) и запоминание в регистре temp.

Строка 17. Пересылка содержимого регистра в порт РВ.

Строка 18. Оператор безусловного перехода передаёт управление по метке main.

 

 

 

ПРИЛОЖЕНИЕ 3.4 Параметры микроконтроллеров AVR

ПРИЛОЖЕНИЕ 3.5



<== предыдущая лекция | следующая лекция ==>
Простейшая задача | ПРАКТИЧЕСКАЯ РАБОТА 7


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.04 сек.