Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методические указания. Порядок выполнения работы




Варианты задания

Порядок выполнения работы

 

5.3.1 Выполняется при подготовке к работе.

а) Изучить теоретические сведения;

б) Подготовить алгоритм программы в виде блок-схемы;

в) Подготовить исходный текст программы;

г) Отладить программу в среде AvrStudio;

д) подготовить текстовый файл программы на электронном носителе.

5.3.2 Выполняется на лабораторном занятии.

а) Отладить программу в среде AvrStudio (если это не удалось при подготовке к работе)

б) Продемонстрировать работу программу в среде AvrStudio

в) Со своего рабочего места ввести программу в компьютер, скомпилировать и записать в микроконтроллер

г) Продемонстрировать работу программы на лабораторном стенде;

д) Подготовить распечатку программы с комментариями.

 

 

Настроить на вход линии:

1) A0, A1 2) B1, B7 3) C2, D5 4) C2, C4, С6 5) A3, B1, D7 6) D2

7) B0, B7, C3 8) C3, D1, D2 9) B0, B1, B2, B7 10) A4, B2,C2, D7

Настроить на выход линии:

1) A2, A5 2) B3, B5 3) C0, D3 4) C0, C5, С7 5) A7, B3, D0 6) D3

7) B5, B6, C1 8) C5, D0, D6 9) B3, B4, B5, B6 10) A7, B5,C5, D6

 

 

 

Для выполнения работы необходимо знать структуру и функционирование микроконтроллера AT90S8535 (ATmega8535), методы адресации и систему команд.

Программирование порта ввода/вывода заключается в записи определенного числа в соответствующий этому порту регистр DDR. Для записи данных, которые в микроконтроллере представляют целые числа, в область регистров I/O (а именно там находятся регистры DDR) используются два варианта.

Первый вариант: воздействовать на каждый бит регистра DDR по отдельности, используя команды «установить бит в регистре I/O» (SBI) и «очистить бит в регистре I/O» (CBI).

Второй вариант: поместить в регистр DDR такое число, чтобы отдельные биты приняли нужные значения.

На практике в основном используется второй вариант, т.к. он более универсален, а в случае программирования более двух линий используется меньше команд.

Например, необходимо настроить на вход линии С0, С1, а на выход линию С6.

Последовательность команд при первом варианте:

 

CBI DDRС,0;Запись 0 в бит 0 регистра DDRC

CBI DDRС,1;Запись 0 в бит 1 регистра DDRC

SBI DDRС,6;Запись 1 в бит 6 регистра DDRC

 

При втором варианте необходимо вначале определить, какое число будет записано в регистр DDR. Для этого рекомендуется изобразить регистр DDR в виде таблицы с восемью ячейками (каждая ячейка представляет отдельный бит), и проставить в каждой ячейке необходимые значения битов, как это показано ниже

С7 С0

               

 

Остальные линии порта, кроме С0, С1, С6 не задействованы. Если к ним ничего не подключено, то их состояние безразлично. Но т.к. в лабораторном стенде ко всем выводам что-то подключено, то не используемые линии необходимо запрограммировать на вход. Таким образом, состояние регистра DDRC должно быть следующим:

С7 С0

               

 

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

01000000 2 = 40 16. Напрямую данные в регистры I/O записать нельзя, поэтому данные сначала помещают в один из регистров общего назначения R16...R31, а потом перемещают в регистр DDRC.

Последовательность команд при втором варианте:

 

LDI R16,$40;Записать число 40 16 в регистр R16

OUT DDRC,R16;Переместить число 40 16 из регистра R16 в DDRC.

 

Как видно, при втором варианте программирования используется меньше команд. Следует отметить, что команды SBI и CBI доступны только для 32 регистров I/O с младшими адресами. Для программирования 32 регистров I/O со старшими адресами используется второй способ, а для работы с отдельными битами можно использовать, как промежуточный, бит Т регистра STATUS.

Для тренировки в программировании портов предлагается следующий шаблон текста программы. Вместо многоточия необходимо вставить команды для программирования портов в соответствии со своим вариантом.

 

.include "8535def.inc"; подключить файл описания AT90S8535

.cseg; определение начала сегмента программы (кода)

.org 0; определение вектора прерывания по сбросу и подаче питания

 

rjmp programma; переход на метку programma

.org $30; определение начального адреса программы

 

programma:

rjmp programma; перейти на метку programma

 




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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