Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

CLRF PIE1; запрещаем периферийные прерывания.




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 – Варианты заданий

Вариант Биты подключения S1, D1, D2 L1, L2. Время работы, сек Вариант Биты подключения S1, D1, D2 L1, L2. Время работы, сек
S1 D1 D2 S1 D1 D2
  1, 2, 3, 4, 5         6, 7, 0, 1, 2      
  2, 3, 4, 5, 6         7, 0, 1, 2, 3      
  3, 4, 5, 6, 7         0,1,2,3, 4      
  4, 5, 6, 7, 0         1, 3, 5, 7, 0      
  5, 6, 7, 0, 1         2, 4, 6, 0, 1      
Отладка программы. Оставьте только первый вызов подпрограммы Timer2, установив аргумент W=2. Установите значения для счетчиков приведенные в подпрограмме с пометкой для отладки. Счетчики TMR1 срабатывают не на каждое нажатие кнопки F7,из-за отсутствия синхронизации.После отладки программы в пошаговом режиме, выключите указанные строки и запустите программу в автоматическом режиме.
Рисунок 12.1 – Окно наблюдения

 

Настройте заданное время работы таймера.

Результаты занесите в таблицу 12.2.

Продемонстрируйте работу программы преподавателю.

 

Т а б л и ц а 12.2– Результаты настройки циклов задержки

Вариант Оборудование Параметры подпрограммы Timer2
Время, сек Значение счетчиков
T_reg TMR1H TMR1L
  S1        
  D1, D2, L1        
  D2, L1        

 

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 - Запись чисел в различных системах счислений

Десятичная система Двоичная система Двоично-десятичная система Шестнадцатеричная система
       
       
       
       
       
       
       
       
       
       
    0001 0000 A
    0001 0001 B
    0001 0010 C
    0001 0011 D
    0001 0100 E
    0001 0101 F
    0001 0110  
    0001 0111  
    0001 1000  
    0001 1001  
    0010 0000  

 

Примеры записи чисел в программе:

- 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

Номера бит                
Имена бит IRP RP1 RP0 -TO -PD Z DC C

 

В таблице Г.1 приняты следующие имена:

- IRP - бит выбора банка при косвенной адресации (IRP=1 - выбор банков 2 или 3, IRP=0 - выбор банка 0 или 1);

- RP1, RP0 - биты выбора банка при непосредственной адресации (т.е. разряды 5 и 6). Их значения для выбора банков показаны в таблице А.2;

- TO - флаг переполнения сторожевого таймера;

- PD - флаг включения питания;

- Z -флаг нулевого результата. Записывается “1” при нулевом результате арифметической или логической операции;

- DC - флаг десятичного переноса или заема. Записывается “1”, если был перенос из младшего полубайта регистра в старший полубайт, актуально при выполнении команд сложения и вычитания в двоично-десятичной системе;

- C - флаг переноса или заема. Записывается “1”, если был перенос из старшего бита регистра для команд сложения и вычитания. Вычитание выполняется с помощью сложения уменьшаемого и вычитаемого, которое представлено в дополнительном коде.

 

Т а б л и ц а Г.2 – Выбор номера банка при непосредственной адресации

RP1(первый бит номера банка) RP0 (нулевой бит номера банка) Номер банка (десятичная система)
     
     
     
     
Примечание. RP1 и RP0 образуют разряды двоичного числа

К отдельным битам регистра можно обращаться по имени или по номеру. Инструкция BTFSC STATUS, Z эквивалентна инструкции
BTFSC STATUS, 2.

 

Т а б л и ц а Г.3 – Значения регистра Status после команды CLRF

IRP RP1 RP0 -TO -PD Z DC C
            1 или 0 1 или 0

Приложение Д

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...