Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. ЦЕЛЬ
Выучить способы формирования временных интервалов разной длительности, организацию страничной памяти программ и данных.
2. ЗАДАНИЕ ПО ЛАБОРАТОРНОЙ РАБОТЕ
2.1. На выводе RB1 микроконтроллера сформировать импульс длительностью t1.
2.1.1. Реализовать временную задержку заданной длительности.
2.1.2. Опираясь на знания, полученные в лабораторной работе 1, на выводе RB1 микроконтроллера сформировать импульс заданной длительности.
2.2. На выводе RB2 микроконтроллера сформировать импульс длительностью t2.
2.2.1. Реализовать временную задержку заданной длительности без использования таймера в виде подпрограммы и расположить ее по адресу 0x123 в памяти программ.
2.2.2. Опираясь на знания, полученные в лабораторной работе 1, на выводе RB2 микроконтроллера сформировать импульс заданной длительности. Вызов подпрограмм делать явно.
2.3. На выводе RB3 микроконтроллера сформировать импульс длительностью t3.
2.3.1. Реализовать временную задержку заданной длительности с использованием таймера в виде подпрограммы и расположить ее по адресу 0x234 в памяти программ.
2.3.2. Опираясь на знания, полученные в лабораторной работе 1, на выводе RB3 микроконтроллера сформировать импульс заданной длительности. Вызов подпрограмм делать косвенным образом.
Замечание. Конфигурацию устройств микроконтроллера сделать без использования команд TRIS и OPTION, используя специальные регистры банка 1.
3. ВАРИАНТЫ ЗАДАНИЙ
3.1. t1 = [(N mod 5) + 1] × tц, где N - номер студента по списку журнала группы, tц - длительность командного цикла.
3.2. t2 = (C + И ×· N) × tц, где C - номер группы, И - индекс группы, N - номер студента по списку журнала группы, tц - длительность командного цикла.
3.3. t3 = 20 × C × И × N × tц, где C - номер группы, И - индекс группы, N - номер студента по списку журнала группы, tц - длительность командного цикла.
3.4. Для парных номеров по списку журнала группы формировать позитивный импульс на выводах микроконтроллера (_éù_), а для непарных номеров - негативный импульс (ù_é).
Пример программы. Выполнение задержки без использования таймера:
…
movlw CDEL;[1] запись константы
movwf VDEL;[1] в счетчик
m1 decfsz VDEL, 1;[1] уменьшение значения счетчика
;[2] если VDEL = 0 пропуск следующей команды
goto m1;[2] переход, если VDEL? 0
…; продолжение программы
Замечание. В квадратных скобках отмеченное время выполнение каждой команды в тактах. Время выполнения фрагмента программы tв при разных значениях константы CDEL вычисляется таким образом:
при CDEL = 1 tв = 1 + 1 + 2 = 4 такта,
при CDEL = 2 tв = 1 + 1 + 1 + 2 + 2 = 7 тактов.
Таким образом, в общем случае задержка будет равняться
tз = (3 × CDEL + 1) × tц.
Пример программы. Выполнение задержки с использованием таймера:
…
; инициализация таймера
movlw b'00000000';такттрование от внутреннего генератора
;с предыдущим делителем при К = 2
bsf STATUS, RP0;вибір банка 1
movwf OPTION_REG;запис в регистр OPTION
bcf STATUS, RP0;вибір банка 0
…
bcf INTCON, T0IF;[1] сброс флажка переполнения
; таймера
movlw CDEL;[1] запись константы для
movwf TMR0;[1] инициализации счетчика
m1
btfss INTCON, T0IF;[1] проверка бита T0IF в регистре
; INTCON
;[2] если T0IF = 1 пропуск следующей
; команды
goto m1;[2] переход, если T0IF = 0
…; продолжение программы
Замечание. В общем случае задержка будет приблизительно равняться tз = [3 + (256 - CDEL) × К] × tц, где К - коэффициент деления предыдущего делителя (1, 2, 4, 8, …, 256).
Пример программы. Неявный вызов подпрограммы с адресом 0x345:
…; основная программа
call proc1; вызов подпрограммы proc1
…; продолжение основной программы
proc1; подпрограмма proc1
movlw 0x03; запись старших разрядов
movwf PCLATH; в регистр PCLATH
movlw 0x45; запись младших разрядов
movwf PCL; в регистр PCL и переход по адресу 0x345
…
org 0x345; размещение подпрограммы из адреса 0x345
…; команды подпрограммы
return; возвращение из подпрограммы в основную
; программу
4. Содержание отчета
4.1. Тема.
4.2. Цель.
4.3. Индивидуальное задание.
4.4. Алгоритмы программ и подпрограмм.
4.5. Листинг программы (файл.lst) с подробным комментированием выполнения программы.
4.6. Короткое описание программы.
4.7. Результаты выполнения программы.
4.8. Выводы.
Дата публикования: 2014-11-03; Прочитано: 286 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!