![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 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>).
Примечание. Флаги прерываний устанавливаются при возникновении условий прерываний вне зависимости от соответствующих битов разрешения и бита общего разрешения прерываний 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; просмотров: 200; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.211.70 (0.168 с.) |