КАТЕГОРИИ: Архитектура-(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; Просмотров: 389; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |