- •Лабораторная работа №1
- •Лабораторная работа №2
- •В программном окне «Source Code» программы Proteus набрать следующую программу:
- •Лабораторная работа №3
- •В программном окне «Source Code» программы Proteus набрать следующую программу:
- •Лабораторная работа №4
- •В программном окне «Source Code» программы Proteus набрать следующую программу:
- •Лабораторная работа №5
- •В программном окне «Source Code» программы Proteus набрать следующую программу:
- •Лабораторная работа №6
- •В программном окне «Source Code» программы Proteus набрать следующую программу:
- •Лабораторная работа №7
- •В программном окне «Source Code» программы Proteus набрать следующую программу:
- •Лабораторная работа №8
- •Лабораторная работа №9
- •Лабораторная работа №9
Министерство общего и профессионального образования Ростовской области
Государственное бюджетное профессиональное образовательное учреждение Ростовской области
«Таганрогский колледж морского приборостроения»
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ
по МДК 02.01Микропроцессорные системы
для студентов специальности 09.02.01 «Компьютерные системы и комплексы»
2017
ОДОБРЕНА цикловой комиссией дисциплин электронно-вычислительной техники Протокол №____от ____________ Председатель ЦК ______________ |
УТВЕРЖДАЮ Заместитель директора по УР ____________. «_____»_______________ 2017 г. |
Организация-разработчик: |
Государственное бюджетное профессиональное образовательное учреждение Ростовской области «Таганрогский колледж морского приборостроения» |
Разработчик: |
С.И. Шаронова, преподаватель ГБПОУ РО «ТКМП». |
Рецензенты: |
О.П. Приданников, ведущий электроник АО НКБ ВС, А.В. Прибыльский, преподаватель ГБПОУ РО «ТКМП» |
© Государственное бюджетное профессиональное образовательное учреждение Ростовской области «Таганрогский колледж морского приборостроения».,
Лабораторная работа №1
Формирование временных интервалов
Цель работы: Исследование таймеров/счетчиков микроконтроллеров AVR
Лабораторное задание
Написать программу, которая будет обеспечивать последовательное включение светодиодных индикаторов с использованием таймера/счетчика
Порядок выполнения работы
Для выполения работы необходимо в среде автоматизированного проектирования Proteus собрать схему устройства в соответствии с рисунком 1.
Рисунок 1 – Схема устройства
В программном окне «Source Code» программы Proteus набрать следующую программу:
.device ATtiny2313
.def temp=r16 ;назначение переменной temp РОН r16
.def sys=r17
.dseg
.cseg ;определяет начало сегмента программы
.org 0 ;начало первой строки программы
rjmp Reset ;относительный переход к метке
.org 0x0005
rjmp TIM1_OVF ;Timer1 Overflow Handler
Reset:
;ldi temp,high(RAMEND) ;организация стека
;out SPH,temp;организация стека
ldi temp,low(RAMEND);организация стека
out spl,temp;организация стека
ldi temp,0xff
out DDRB,temp
clr temp
out portB,temp
ldi temp,0b00000101
out TCCR1B,temp
ldi temp,0b00000100
out TIMSK,temp
out TIFR,temp
ldi temp,0xbb
out TCNT1H,temp; отправляем в старший регистр
out TCNT1L,temp; отправляем в младший регистр
ldi sys, 0b11000000; состояние светодиодов
sei
TIM1_OVF:
cli
cpi sys,0b11000000; проверяем состояние sys
breq GGG2 ;если верно то переходим в GGG2
cpi sys,0b00110000; проверяем состояние sys
breq GGG3
cpi sys,0b00001100; проверяем состояние sys
breq GGG4
cpi sys,0b00000011; проверяем состояние sys
breq GGG1
Vix:
ldi temp,0xFF
out TCNT1H,temp; отправляем в старший регистр
out TCNT1L,temp; отправляем в младший регистр
sei
rjmp TIM1_OVF
;reti
GGG1:
ldi sys,0b11000000
out portB,sys
rjmp Vix
GGG2:
ldi sys,0b00110000
out portB,sys
rjmp Vix
GGG3:
ldi sys,0b00001100
out portB,sys
rjmp Vix
GGG4:
ldi sys,0b00000011
out portB,sys
rjmp Vix
Убедится в работоспособности программы.
Лабораторная работа №2
Симулирование логических элементов в микроконтроллерах TinyAVR
Цель работы: Исследование логических операций микропроцессорных систем
Лабораторное задание
Разработать программу для микроконтроллера TinyAVR, обеспечивающую выполнение простых логических операций.
Краткие теоретические сведения
Логические команды выполняют над операндами логические (побитовые) операции, т.е. они рассматривают коды операндов не как единое число, а как набор отдельных битов.
Логические команды выполняют следующие операции:
Логическое И, логическое ИЛИ, сложение по модулю 2 (Исключающее ИЛИ);
Логические, арифметические и циклические сдвиги;
Проверка битов и операндов;
Установка и очистка битов (флагов) регистра состояния процессора (PSW).
Команды логических операций позволяют побитно вычислить основные логические функции от двух входных операндов. Кроме того, операция И (AND) используется для принудительной очистки заданных битов. Операция ИЛИ (OR) применяется для принудительной установки заданных битов ( в качестве одного из операндов при этом используется код маски, в котором разряды, требующие установки в единицу, равны единице) Операция «Исключающее ИЛИ» (XOR) используется для инверсии битов ( в качестве одного из операндов при этом применяется код маски, в которой биты, подлежащие инверсии, установлены в единицу).
Команды сдвигов позволяют побитно сдвигать код операнда вправо (в сторону младших разрядов) или влево (в сторону старших разрядов). Тип сдвига (логический, арифметический или циклический) определяет, каково будет новое значение старшего бита (при сдвиге вправо) или младшего (при сдвиге влево), а также определяет, будет ли где-то сохранено прежнее значение старшего бита (при сдвиге влево) или младшего бита (при сдвиге вправо). Например, при логическом сдвиге вправо в старшем разряде кода операнда устанавливается нуль, а младший разряд записывается в качестве флага переноса в регистр состояния процессора. А при арифметическом сдвиге вправо значение старшего разряда сохраняется прежним, младший разряд также записывается в качестве флага переноса.
Циклические сдвиги позволяют сдвигать биты кода операнда по кругу (по часовой стрелке при сдвиге вправо или против часовой стрелки при сдвиге влево). При этом в кольцо сдвига может входить или не входить флаг переноса. В бит флага переноса (если он используется) записывается значение старшего бита при циклическом сдвиге влево и младшего бита при циклическом сдвиге вправо. Соответственно, значение бита флага переноса будет переписываться в младший разряд при циклическом сдвиге влево и в старший разряд при циклическом сдвиге вправо.
Для примера на рисунке 1 показаны действия, выполняемые командами сдвигов в право.
Рисунок 1 – Команды сдвигов в право
Лабораторное задание
Использую программную среду Proteus произвести симуляцию логических операций «И», «ИЛИ», «Исключающее ИЛИ» (в соответствии с вариантом).
Использую программную среду Proteus произвести симуляцию логических операций: «Логический сдвиг», «Арифметический сдвиг», «Циклический сдвиг» (в соответствии с вариантом).
Порядок выполнения работы
Для выполнения работы необходимо в среде автоматизированного проектирования Proteus собрать схему устройства в соответствии с рисунком 2.
Рисунок 2 – Схема устройства