close

Вход

Забыли?

вход по аккаунту

?

laba1

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
им. Р.Е. АЛЕКСЕЕВА
Кафедра "Электропривод и автоматизация промышленных установок"
Лабораторная работа №1
ФУНКЦИОНИРОВАНИЕ МИКРОКОНТРОЛЛЕРА ATiny2313
СЕМЕЙСТВА AVR ФИРМЫ ATMEL
Вариант № 17
ПРОВЕРИЛ: Грязнов В.И.,
_______ к.т.н.
(подпись) (фамилия, и., о.)
_________
(дата)
ВЫПОЛНИЛ Студент:
_______ Петрухин А.М.
(подпись) (фамилия, и., о.)
________ 09-ЭПА (дата) (группа или шифр)
2013г.
Цель работы: получение начальных практических навыков работы с микроконтроллерами семейства AVR фирмы ATMEL.
1. Структурная схема лабораторной установки
Лабораторный стенд построен на базе микроконтроллера AT90S1200-12PI. При написании программ, использующих таймер контроллера, необходимо помнить, что частота повторения импульсов тактового генератора МК - 8 МГц. Следует также соблюдать осторожность при написании программ, работающих с памятью EEPROM, т.к. зацикливание процесса записи данных в эту память изнашивает ее. Так если задать в программе бесконечный цикл перезаписи данных EEPROM, то за 5 - 6 минут весь ресурс этой памяти будет исчерпан, т.е. она перестанет функционировать (запоминать).
На рисунке 10 представлена структурная схема лабораторной установки.
В её состав входят следующие узлы:
- микроконтроллер AT90S1200;
- блок клавиатуры и переключателей (БК);
- блок индикации (БИ);
- переключатели режимов (SA8, SA9);
- источник пробного напряжения (R2, R3);
- имитатор внешних устройств.
Рисунок 1- Структурная схема лабораторной установки
Блок клавиатуры и переключателей предназначен для ручной имитации внешних воздействий на микроконтроллер. Он состоит из переключателей (SA1-SA7) и кнопок (Int0, T0, RESET). Кнопка Int0 предназначена для имитации прерывания от внешнего устройства и подключена к выводу порта D (линия PD2).
Кнопка T0 подключена ко входу PD4 внешнего входа таймера/счётчика 0.
Блок индикации состоит из восьми светодиодов и предназначен для отображения состояния порта B.
Переключатели режимов (SA8, SA9) предназначены для использования альтернативных функций установки. SA8 выполняет переключение между режимами работы с компаратором (нижнее положение) и без него. SA9 предназначен для переключения компаратора на источник пробного напряжения (нижнее положение). Источник пробного напряжения служит для установки пробного напряжения, используемого в работе компаратора (SA8 в нижнем положении). Подстройка напряжения осуществляемся подстроечным резистором R2. Минимально может быть установлено 2/5Uп.
Разъем для подключения имитатора внешних устройств предназначен для имитации внешних воздействий.
2. Задание
Организовать свечение третьего светодиода. Выдержка программная. Пуск от кнопки ТО.
3. Программа
.include "tn2313def.inc" ; Присоединение файла описаний
.list ; Включение листинга
.cseg ; Выбор сегмента программного кода
.def temp=r16 ; Определение главного рабочего регистра
.def temp1=r17 ; Определение дополнительного рабочего регистра
.org 0 ; Установка текущего адреса на 0
rjmp start ; Безусловный переход на метку start
reti ; Возврат из подпрограммы обработки прерываний
start: ldi temp, 0x7F ; Выбор адреса вершины стека
out SPL, temp ; Запись его в регистр стека
ldi temp, 0x80; Записываем число $80 в регистр temp
out CLKPR, temp; Записываем это число в регистр CLKPR
ldi temp, 0 ; Записываем 0 в регистр temp
out CLKPR, temp; Записываем это число в CLKPR
out DDRD, temp; Записываем то же число в DDRD (порт PD на ввод)
ldi temp, 0xFF ; Записываем число $FF в регистр temp
out DDRB, temp; Записываем это число в DDRB (порт PB на вывод)
out PORTB, temp ; Записываем то же число в PORTB (потушить светодиод)
out PORTD, temp ; Записываем его же в PORTD (включаем внутренние резисторы)
ldi temp, 0x80 ; Выключение компаратора
out ACSR, temp
main: in temp, PIND ; Читаем содержимое порта PD
sbrc temp, 4 ; Проверка разряда
rjmp main ; Если не ноль, переходим в начало
cbi PORTB, 2 ; Устанавливаем PB2 в единицу (тушим светодиод)
rcall wait ; Вызов подпрограммы задержки
sbi PORTB, 2 ; Сброс PB2 в ноль (зажигаем светодиод)
rcall wait ; Вызов подпрограммы задержки rjmp main ; К началу цикла
wait: ldi R18, $08 ; Записываем число $08 в регистр R18
M1: ldi R19, $0FF ; Записываем число $0FF в регистр R19
M2: ldi R20, $0FF ; Записываем число $0FF в регистр R20
M3: Dec R20 ; Уменьшаем значение регистра R20
Brne M3 ; Если не равно 0 переход на M3
Dec R19 ; Уменьшаем значение регистра R19
Brne M2 ; Если не равно 0 переход на M2
Dec R18 ; Уменьшаем значение регистра R18
Brne M1 ; Если не равно 0 переход на М1
Ret ; Выход из подпрограммы
Документ
Категория
Рефераты
Просмотров
19
Размер файла
70 Кб
Теги
laba
1/--страниц
Пожаловаться на содержимое документа