Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ямолдинов д.н..docx
Скачиваний:
19
Добавлен:
04.02.2016
Размер:
313.79 Кб
Скачать

2.2 Органы управления стенда нтц -31.100

Внешний вид передней панели стенда приведен на рис 3.

Рис 3. Внешний вид передней панели учебного стенда

На передней панели учебного стенда расположены:

- дискретный светодиодный индикатор (набор из 10 светодиодов ДСИ1 …

ДСИ10) (1);

- светодиодный семисегментный динамический индикатор ССДИ (2);

- матричный жидкокристаллический индикатор МЖКИ (3);

- линейка светодиодов – индикатор аналогового сигнала на выходе ЦАП –

ЛСИ (4);

- имитаторы аналогового сигнала на входах АЦП АД1…АД3 (5);

- датчики дискретных сигналов (набор из 10 переключателей ДД1…ДД10)

(6);

- кнопка сброса (7);

- двенадцатикнопочная клавиатура КЛ (8).

Задняя панель лабораторного стенда приведена на рис 4.

Рис 4. Вид задней панели учебного стенда

На задней панели лабораторного стенда расположены:

- выключатель «Питание» (1);

- разъем «RS232» для подключения стенда к персональному компьютеру

(2);

- разъем «RS422/RS485» для подключения к стенду внешних устройств (3);

- разъем «USB» для подключения стенда к персональному компьютеру (4);

- разъем «Внешние устройства» для подключения дополнительных

внешних устройств (5);

- разъем «SD CARD» для подключения к стенду FLASH-карт памяти (SD,

MMC) (6).

2.3 Порядок работы учебного стенда нтц -31.100

1) Подключить стенд к персональному компьютеру (для этого необходимо

подключить прилагаемый к стенду кабель к разъему «USB» стенда и к

одному из разъемов USB персонального компьютера);

2) Выключатель «Питание» на задней панели стенда установить в

положение «Вкл.»;3) Загрузить на персональном компьютере интегрированную среду

разработки программ для микроконтроллеров семейства AVR «IAR Embedded Workbench for Atmel AVR kickstart»;

4) Открыть рабочую среду с проектом;

5) Скомпилировать проект;

6) Запустить отладчик скомпилированной программы, при этом

скомпилированная программа автоматически загрузится во FLASH-

память программ микроконтроллера стенда (после загрузки отладчик

находится в состоянии пошаговой отладки, в точке старта отлаживаемой

программы);

7) Выполнить все необходимые действия, связанные с отладкой программы;

8) Закрыть отладчик.

9) По окончании работы со стендом выключатель «Питание» установить в

положение «Выкл.».

3 Постановка задачи

Загрузить в регистр R20 число 57, в регистр R18 14h, результат разности регистров R20 и R18 поместить на вершину стека. Поместить по адресу 101h внутренней памяти данных младшую десятичную цифру результата, а по адресу 100h старшую.

4 Листинг программы

NAME main

//директива препроцессора,

//включает в текущий файл содержимое файла-заголовка

//iom128.h

#include "iom128.h"

//директивы препроцессора, определение макросов tmp, A, B

//в результате выполнения этих директив препроцессор заменит // R16, R17, R18 на tmp, A, B соответственно

#define tmp R16

#define A R17

#define B R18

PUBLIC main

//директива ассемблера, размещает инструкцию в следующей

//строке по адресу 0

ORG 0

//переход на строку с меткой reset

RJMP reset

//директива ассемблера, размещает идущие за ней инструкции

//в памяти программ

RSEG CODE

//стек начинается со значения

//верхнего адреса внутреннего ОЗУ;

//для AVRMega128 это 0x10ff

//запись в РВВ (указатель стека) младшего байта

reset LDI tmp, LOW (RAMEND)

OUT SPL, tmp

//запись в РВВ (указатель стека) старшего байта

LDI tmp, HIGH (RAMEND)

OUT SPH, tmp

//запись константы 233 в PORTA

main LDI tmp, 0xe9

OUT PORTA, tmp

//выполнение первого действия

LDI A, 0x19

LDI B, 0xd

ADD A, B

//выполнение второго действия

LDI B, 0x17

SUBI B, 0x8

//выполнение третьего действия

//результат сохраняется

//в регистровой паре R1:R0

MUL A, B

//запись младшего байта результата в переменную A

MOV A, R0

//обмен тетрад переменной A

SWAP A

//сброс битов младшей тетрады переменной A

ANDI A, 0xf0

//сохраняем младшую тетраду порта A

ANDI tmp, 0xf

OR A, tmp

//записываем результат в порт A

OUT PORTA, A

//останов на метке stop (через зацикливание процессора)

stop RJMP stop

END main

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]