Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
CLRF PIE1; запрещаем периферийные прерывания. ⇐ ПредыдущаяСтр 7 из 7
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
Приложение Д
Описание инструкций МК PIC
Константа в инструкциях представлена символом k. В описании инструкций указаны флаги, которые могут измениться при ее выполнении. Параметр d (dest) в инструкциях определяет, в какой регистр записывается результат. Если d =0 или отсутствует, результат сохраняется в регистре W. Если d =1, результат сохраняется в регистре f ( от слова file). В программах для параметра d вместо ‘0’ можно писать ‘ W ’, вместо ‘1’ можно писать ‘ f ’. Вместо адреса регистра в программе более удобно писать его символьное имя. Например, если регистр по адресу h’21’ имеет имя R1, тогда инструкция, описанная как ADDWF f, d, в программе может быть записана двумя способами: ADDWF h’21’, W или ADDWF R1, W. Директива ORG h’xx’ – это указатель для ассемблера, что код, следующий за этим выражением, начинается с адреса h’xx’ ЭППЗУ.
ADDLW - Сложить k с W. Синтаксис: [label] ADDLW k. Операнды: 0£k£255. Операция: (W) + k à (W). Изменяемые флаги: С, DC, Z.
ADDWF -Сложение W и f. Синтаксис: [label] ADDWF f, d. Операнды: 0£f£127.
Операция: (W) + (f) à (dest). Изменяемые флаги: C, DC, Z. ANDLW - Побитное ' И ' k и W. Синтаксис: [label] ANDLW k. Операнды: 0£k£255. Операция: (W).AND. k à (W). Изменяемые флаги: Z.
ANDWF -Побитное 'И’ W и f. Синтаксис: [label] ANDWF f, d. Операнды: 0£f£127. Операция: (W).AND. (f) à (dest). Изменяемые флаги: Z.
BCF -Очистить бит b в регистре f. Синтаксис: [label] BCF f, b. Операнды: 0£f£127; 0£b£7. Операция: 0 à (f<b>). Изменяемые флаги: Нет. BSF -Установить бит b в регистре f. Синтаксис: [label] BSF f, b. Операнды: 0£f£127; 0£b£7. Операция: 1àf<b>. Изменяемые флаги: Нет. BTFSC -Проверить бит b в регистре f, пропустить следующую инструкцию, если b=0. Синтаксис: [label] BTFSC f, b. Операнды: 0£f£127; 0£b£7. Изменяемые флаги: Нет. Описание: Если бит b в регистре f равен 0, то следующая инструкция программы пропускается.
BTFSS - Проверить бит bв регистре f, пропустить, если b = 1. Синтаксис: [label] BTFSS f, b. Операнды: 0£f£127; 0£b£7. Изменяемые флаги: Нет. Описание: Если бит b в регистре f равен ‘1’, то следующая инструкция программы пропускается.
CALL Вызов подпрограммы Синтаксис: [label] CALL f. CLRF -Очистить f. Синтаксис: [label] CLRF f. Операнды: 0£f£127. Операция: 00h à (f); 1 àZ. Изменяемые флаги: Z. Описание: Очистить содержимое регистра f и установить флаг Z=1.
COMF - Инвертировать f. Синтаксис: [label] COMF f, d. Операнды: 0£f£127. Операция: (-f) à (dest). Изменяемые флаги: Z. Описание: Инвертировать все биты в регистре f.
DECF - Вычесть 1 из регистра f. Синтаксис: [label] DECF f, d. Операнды: 0£f£127. Операция: (f) - 1 à (dest). Изменяемые флаги: Z. DECFSZ -Вычесть 1 из f и пропустить, если f=0. Синтаксис: [label] DECFSZ f, d. Операнды: 0£f£127. Операция: (f) -1 à (dest). Изменяемые флаги: Нет. Описание: Декрементировать содержимое регистра f. Если результат равен '0', то следующая инструкция программы пропускается. GOTO -Безусловный переход. Синтаксис: GOTO k. Операнды: 0£k£2047. Операция: Переход на метку. Изменяемые флаги: Нет. INCF -Прибавить 1 к f. Синтаксис: label] INCF f, d. Операнды: 0£f£127. Операция: (f) + 1 à (dest). Изменяемые флаги: Z. IORLW -Побитное 'ИЛИ' k и W. Синтаксис: [label] IORLW k. Операнды: 0£k£255. Операция (W).OR.(k) à (W). Изменяемые флаги: Z.
IORWF - Побитное 'ИЛИ' W и f. Синтаксис: [label] IORWF f, d. Операнды: 0£f£127. Операция: (W).OR.(f) à (dest). Изменяемые флаги: Z.
MOVF - Переслать f. Синтаксис: [label] MOVF f, d. Операнды: 0£f£127. Операция: (f) à (dest). Изменяемые флаги: Z.
Описание: Значение d=1 используется для проверки содержимого регистра f на ноль, которое регистрируется флагом Z. MOVLW - Переслать k в W. Синтаксис: [label] MOVLW k. Операнды: 0£k£255. Операция: kà(W). Изменяемые флаги: Нет. Описание: В неиспользуемых битах ассемблер устанавливает '0'. MOVWF -Переслать W в f. Синтаксис: [label] MOVWF f. Операнды: 0£f£127. Операция: (W) à (f). Изменяемые флаги: Нет. NOP -Нет операции.
RETURN -Возврат из подпрограммы. Синтаксис: [label] RETURN. Операнды: Нет. Операция: TOS à PC. Изменяемые флаги: Нет. Описание: Возврат из подпрограммы. Вершина стека TOS загружается в счетчик PC. RLF -Циклический сдвиг регистра f влево через бит C регистра Status. Синтаксис: [label] RLF f, d. Операнды: 0£f£127. Изменяемые флаги: С. Описание: Выполняется циклический сдвиг влево содержимого регистра f через бит С регистра Status. RRF - Циклический сдвиг регистра f вправо через бит C регистра status. Синтаксис: [label] RRF f, d. Операнды: 0£f£127. Изменяемые флаги: С. Описание: Выполняется циклический сдвиг вправо содержимого регистра f через бит С регистра Status.
SLEEP Перейти в режим SLEEP. Синтаксис: [label] SLEEP. Операнды: Нет. Операция: 00h à WDT; 00h à предделитель WDT; 1 à -ТО; 0 à PD. Изменяемые флаги: -ТО, -PD. Описание: Сбросить флаг включения питания -PD в '0'. Установить флаг -ТО переполнения WDT в '1'. Очистить таймер WDT и его предделитель. Перевести микроконтроллер в режим SLEEP и выключить тактовый генератор. SUBLW -Вычесть W из k. Синтаксис: [label] SUBLW k. Операнды: 0£k£255. Операция: k - (W) à (W). Изменяемые флаги: C, DC, Z. SUBWF -Вычесть W из f. Синтаксис: [label] SUBWF f, d. Операнды: 0£f£127; dÎ [0,1]. Операция: (f) –(W) à (dest). Изменяемые флаги: C, DC, Z. SWAPF -Поменять местами полубайты в регистре f. Синтаксис: [label] SWAPF f, d. Операнды: 0£f£127. Операция: (f<3:0>) à (dest<7:4>). Изменяемые флаги: Нет. XORLW- Побитное 'исключающее ИЛИ ' k и W. Синтаксис: label] XORLW k. Операнды: 0£k£255. Операция: (W).XOR.k à (W). Изменяемые флаги: Z. XORWF - Побитное 'исключающее ИЛИ ' W и f. Синтаксис: [label] XORWF f, d. Операнды: 0£f£127. Операция: (W).XOR.(f) à (dest). Изменяемые флаги: Z. Приложение Е Модуль таймера TMR1 TMR1 - 16-разрядный таймер/счетчик, состоящий из двух 8-разрядных регистров (TMR1H и TMR1L), доступных для чтения и записи. Счет выполняется в спаренных регистрах (TMR1H:TMR1L), инкрементируется их значение от 0000h до FFFFh. При добавлении ещё единицы будет переполнение регистров и в счетчиках будет снова 0000h. При переполнении счетчика устанавливается в '1' бит флага прерывания TMR1IF в регистре PIR1<0>. Само прерывание можно разрешить/запретить установкой/сбросом бита TMR1IE в регистре Р1Е1<0>. TMR1 может работать в режимах: режим таймера, режим счетчика. Включается TMR1 установкой бита TMR1ON в ‘1’ (T1CON<0>). Битом TMR1CS (T1CON<1>) выбирается источник тактовых импульсов. TMR1 инкрементируется при каждом машинном цикле. Когда включен генератор тактовых импульсов (T1OSCEN=1), выводы RC1/T1OSI/CCP2 и РС0/T1OSO/TICK1 настроены как входы. Значение битов TRISC<1:0> игнорируется, а чтение данных с этих выводов дает результат '0'.
Управляющие биты TMR1 находятся в регистре T1CON. Сброс регистров TMR1 (TMR1H, TMR1L). Регистры TMR1H и TMR1L не сбрасываются в 00h при сбросе по включению питания и других видах сброса. Предделитель TMR1 очищается при записи чисел в регистр TMR1L или TMR1H. Регистр PIE1 (адрес 8Ch) доступен для чтения и записи, содержит биты разрешения периферийных прерываний. Чтобы разрешить периферийные прерывания необходимо установить в '1' бит PEIE (INTCON<6>). Регистр INTCON (адрес 0Вh, 8Вh, 10Вh или 18Вh) доступен для чтения и записи, содержит биты разрешений и флаги прерываний: переполнение TMR1; изменения уровня сигнала на выводах PORTB; внешний источник прерываний RB0/INT. Примечание. Флаги прерываний устанавливаются при возникновении условий прерываний вне зависимости от соответствующих битов разрешения и бита общего разрешения прерываний GIE (INTCON<7>). Регистр PIR1 доступен для чтения и записи, он содержит флаги прерываний периферийных модулей. Примечание. Флаги прерываний устанавливаются при возникновении условий прерываний вне зависимости от соответствующих битов разрешения и бита общего разрешения прерываний GIE (INTCON<7>). Программное обеспечение пользователя должно сбрасывать соответствующие флаги при обработке прерываний от периферийных модулей. Список литературы 1. Погребинский М.П. Микропроцессорные системы управления электротехническими установками. –М.: МЭИ, 2003. 2. Информатика. Базовый курс. Учебное пособие для вузов под ред. Симоновича С.В., - СПб.: Питер, 2003. 3. Сайт в Internet www.microchip.ru. 4. Катцен С. PIC микроконтроллеры. Все, что необходимо вам знать. –М.: Додека, 2008. 5. Копесбаева А.А. Микропроцессорные комплексы в системах управления. Учебное пособие. Алматы. АИЭС, 2010. 6. Кохц Дитер. Измерение, управление с помощью PIC-контроллеров. Киев: Наукова думка. 2007. 7. Заец Н.И. Радиолюбительские конструкции на PIC. –М.: Солон, 2003. 8. Яценков В.С. Микроконтроллеры Microchip. Практическое руководство. – 2 –е изд. исп. и допол. – М.: Горячая линия – Телеком, 2005. 9. Фрунзе А.В., Фрунзе М.А. Микроконтроллеры? Это же просто. М.: ООО ИД СКИМЕН, 2003. 10. Дьяков А.Ф., Овчаренко Н.И. Микропроцессорная релейная защита и автоматика электроэнергетических систем. М.: - Издательство МЭИ, 2000. Содержание
Св. план 2013 г., поз. 102
Акшолпан Ауельбековна Копесбаева Виталий Михайлович Тарасов
Редактор Курманбаева Т.С. Специалист по стандартизации Молдабекова Н.К.
Подписано в печать ____________ Формат 60х84 1/16 Тираж 70 экз. Бумага типографская №1 Объем 3.2 уч. изд. л. Заказ ______ Цена тг.
Копировально-множительное бюро «Алматинский университет энергетики и связи»
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 193; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.234.6.167 (0.147 с.) |