Отчёт4 (1056182)
Текст из файла
Московский Государственный Технический Университет
имени Н. Э. Баумана
Лабораторная работа №4 по курсу «ЭМТ »
выполнил:
студент группы БМТ 1 – 71
Грибков Данил
Москва 2008 г
Задание
Рис.1. Электрическая принципиальная схема устройства индикации
Задание:
1. Написать программу управления цифровым потенциометром. Управление осуществляется через SPI интерфейс таким образом, что на выходе цифрового потенциометра формируется линейно-изменяющееся напряжение.
2. Рассчитать частоту выходного сигнала при условии, что частота работы МК равна 4 МГц, коэффициент деления пересчётной схемы SPI равен 4. Количество циклов ЛИН определяется номером варианта, умноженным на 10. Сигнал выбора кристалла не учитывать.
Расчет частоты
Коэффициент деления выбран равным 4, а частота МК 4 МГц, то частота работы SPI равна 1 МГц, при этом каждый байт передаётся за восемь отсчётов этой схемы пересчёта, таким образом, частота передачи однобайтового числа по SPI интерфейсу составит 1/8 МГц. Таких чисел для формирования одного периода выходного ЛИН берём $FF+$01=255+1 (смотри код программы):
Для цикла записи в РОН, пересылки в РВВ, перевод МК в спящий режим (во время которого выполняется последовательная передача очередного числа) и последующего выполнения подпрограммы обработки прерывания а затем и сравнения с условным переходом надо выполнить 4 команды по 1 машинному циклу (inc, out, SLEEP, cpi) одну команду выполняющуюся за 2 машинных цикла (brne (если условие ложно (Z=1) то за 1 цикл)), кроме того подпрограмма обработки прерывания (на вызов, выполнение и выход) занимает 15 маш. циклов. Таким образом общее количество машинных циклов, требующихся для пересылки очередного однобайтового числа, с последующими проверками, в цифровой потенциометр составляет 21. Таким образом, время затрачиваемое МК на один цикл ЛИН составит:
.
Частота же выходного сигнала определяется как обратная величина найденному периоду:
Программа для МК ATMega16
.include "m16def.inc"
.def temp=R16;
.def check=R17;
.CSEG
.Org 0;
jmp RESET;
.Org SPIaddr;
jmp Serial_port;
;------------------------------------------------------------------------------------
;подпрограмма обработки прерывания от SPI
Serial_port:
reti;
;------------------------------------------------------------------------------------
RESET:
;инициализация регистра УС
ldi temp, LOW(RAMEND);
out spl, temp;
ldi temp, HIGH(RAMEND);
out sph,temp;
;инициализация последовательного порта в режим "Master"
;программируем выходы 5, 4 и 7 порта B на вывод (эти выходы будут выполнять альтернативную функцию как MOSI, неSS и SCK соответственно)
ldi temp, (1<<PB5)|(1<<PB4)|(1<<PB7); устанавливаем разряды MOSI, неSS и SCK
out ddrb, temp; программируем выходы порта B на вывод
;включаем устройство SPI, программируем его в режим "Master", задаём коэф. прересчётной схемы равным 1/4 и разрешаемпрерывания от SPI
ldi temp, (1<<SPE)|(1<<MSTR)|(1<<SPIE); устанавливаем соответствующие биты
out spcr, temp; переписываем в регистр управления последовательным интерфейсом
sei; устанавливаем флаг глобального разрешения прерываний
;разрешаем возможность перехода в ждущий режим (Idle)
ldi temp, (1<<SE); записываем бит разрешения перехода врежим пониженного энерго потребления
out MCUCR, temp; записываем в регистр управления МК содержимое РОН
MAIN:
ldi check,$00; обнуляем РОН проверки количества циклов ЛИН
LIN:
ldi temp, $00; записываем нулевое значение в РОН
out spdr, temp; переносим содержимое РОН в сдвиговый регистр послед.интерфейса (после выполнения этой команды начинает работать SPI)
SLEEP; МК переводится в режим ожидания (после генерации прерывания МК перейдёт в рабочий режим)
LOOP:
inc temp; инкрементируем содержимое РОН
out spdr, temp;
SLEEP;
cpi temp, $FF; сравнение содержимого РОН с константой
brne LOOP; переход "по неравно" к метке LOOP
inc check; инкрементируем содержимое РОН проверки количества циклов ЛИН
cpi check, 200; сравнивае содержимое регистра сравнения с 200;
brne LIN; перейти к метке по условию "не равно"
SLEEP; МК переводится в режим ожидания
rjmp MAIN; зацикливаем
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















