CLRF PIE1; запрещаем периферийные прерывания.
⇐ ПредыдущаяСтр 11 из 11 BCF STATUS, 5 CLRF T1CON; установка TMR1 в режим ожидания, тактирование;TMR1 от внутреннего генератора, значение предделителя частоты 1:1. CLRF TMR1H; очищаем старший регистр-счетчик TMR1. CLRF TMR1L; очищаем младший регистр-счетчик TMR1. CLRF INTCON; запрещаем прерывания от TMR1. MOVLW b'00110000'; тактирование от внутреннего генератора. MOVWF T1CON; устанавливаем предделитель частоты 1:8. ; Рабочая часть совпадает с программой лабораторной работы 8. GOTO$ ; Подпрограмма Timer заменяется на подпрограмму Timer2. Timer2; Подпрограмма задержки времени с встроенным таймером TMR1. MOVWF T_reg ; Return; для выключения Timer2 при отладке главной программы. M_T_reg; следующие 4 команды только для отладки в режиме F7. ; MOVLW D'255'; для отладки Timer2. ; MOVWF TMR1H; для отладки Timer2. ; MOVLW D'254'; для отладки Timer2. ; MOVWF TMR1L; для отладки Timer2. BCF PIR1, TMR1IF; сброс флага переполнения таймера в каждом цикле. BSF T1CON, TMR1ON; пуск таймера TMR1. ; Следующие три строки это циклы работы таймера TRM1. M_ TRM1; метка BTFSS PIR1, TMR1IF; проверка флага переполнения таймера GOTO M_ TRM1; если флага нет, то цикл TRM1 продолжается. DECFSZ T_reg, F; уменьшаем число в регистре и проверяем на ноль. GOTO M_T_reg; (только при Z=0) время не кончилось, повторяем цикл. RETURN END
Выполнение работы
Разработайте программу, включающую и выключающую оборудование на заданное время для окрашивания трех деталей, согласно варианту задания из таблицы 12.1.
Т а б л и ц а 12.1 – Варианты заданий
Настройте заданное время работы таймера. Результаты занесите в таблицу 12.2. Продемонстрируйте работу программы преподавателю.
Т а б л и ц а 12.2– Результаты настройки циклов задержки
12.3 Контрольные вопросы
1. Назначение таймера TMR1. 2. Сколько счетчиков у TMR1? 3. Как устанавливается максимальное время TRM1? 4. Какое максимальное число можно записать в счетчики TMR1. 5. Назначение регистра TICON. 6. Назначение регистра INTCON. 7. Назначение регистра PIR1. 8. Назначение регистра PIE1. 9. Как задается длительность работы Timer2? 10. Назначение предделителя. 11. В каком банке находится регистр PIE1? 12. Когда появляется флаг, сигнализирующий, что TMR1 переполнен? 13. Как запускается TMR1? 14. Назначение регистра T_reg. 15. Какой будет результат сложения чисел 255 и 3 в регистре? Приложение А Системы счислений
Количество цифр (символов) применяемых в системе называют ее основанием. Минимальный объем информации, который можно записать на носителе информации называют бит. Восемь носителей информации объединили в одну ячейку памяти, и назвали байт.
Т а б л и ц а Б.1 - Запись чисел в различных системах счислений
Примеры записи чисел в программе: - D’07’ – десятичное число; - B’0111’ – двоичное число; - H’07’или 0х07 или 07h – шестнадцатеричное число. Алгоритм перевода чисел из двоичной системы в шестнадцатеричную систему: сначала двоичное число разбиваем на четверки чисел справа налево, затем для каждой четверки записываем его эквивалент из приведенной таблицы А1. П р и м е р. 0101 1011 11012 = 5ВD16. Обратный перевод чисел очевиден, необходимо только аккуратно писать именно четверки двоичных чисел, дописывая при необходимости нули слева: 116.= 00012, 216 = 00102. П р и м е р. 415С16==0100 0001 0101 11002. В двоично-десятичной системе каждый десятичный знак отображается четырьмя двоичными числами. Приложение Б Карта памяти МК PIC16877 Приложение В
Приложение Г Регистр Status В таблице Г.1 показаны расположение и имена бит регистра Status.
Т а б л и ц а Г.1 – Биты регистра Status
В таблице Г.1 приняты следующие имена: - IRP - бит выбора банка при косвенной адресации (IRP=1 - выбор банков 2 или 3, IRP=0 - выбор банка 0 или 1); - RP1, RP0 - биты выбора банка при непосредственной адресации (т.е. разряды 5 и 6). Их значения для выбора банков показаны в таблице А.2; - TO - флаг переполнения сторожевого таймера; - PD - флаг включения питания; - Z -флаг нулевого результата. Записывается “1” при нулевом результате арифметической или логической операции; - DC - флаг десятичного переноса или заема. Записывается “1”, если был перенос из младшего полубайта регистра в старший полубайт, актуально при выполнении команд сложения и вычитания в двоично-десятичной системе;
- C - флаг переноса или заема. Записывается “1”, если был перенос из старшего бита регистра для команд сложения и вычитания. Вычитание выполняется с помощью сложения уменьшаемого и вычитаемого, которое представлено в дополнительном коде.
Т а б л и ц а Г.2 – Выбор номера банка при непосредственной адресации
К отдельным битам регистра можно обращаться по имени или по номеру. Инструкция BTFSC STATUS, Z эквивалентна инструкции
Т а б л и ц а Г.3 – Значения регистра Status после команды CLRF
Приложение Д
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|