Пример создания программы "АПВ ВЛ" на Assembler для МК PIC16F877A - Микропроцессорные системы в электроэнергетике
Задание: разработать программу, реализующую упрощенный вариант работы АПВ ВЛ со следующими исходными данными:
- - время паузы 0,1 сек (100000 мкс); - сигнал на включение выключателя ВЛ выдается с 3-го бита PORTC; - сигнал внешнего прерывания имитировать подачей энергии со 2-го бита
PORTD;
- задержку времени, необходимую для запуска схемы включения выключателя принять равную 200 подциклам Timer1.
На первом цикле мы можем создать максимально на основании вышеприведенного расчета задержку в 204 мкс.
Определение числа циклов и подциклов выполняем последовательно. Вначале проверим, можно ли выполнить такую задержку на втором внешнем цикле.
Nвторого внешнего цикла = 100000/205=487
Число подциклов второго внешнего цикла максимально 255. Подсчитаем примерно время второго внешнего цикла:
255*205 = 52275 мкс
Определим примерно число подциклов третьего цикла:
100000/52275 = 2
Приведенный расчет дает нам возможность рассчитывать примерное число подциклов третьего цикла для создания определенной паузы. Предположим, что нам задана выдержка 1,14 сек. Тогда приближенное количество подциклов третьего цикла определится по формуле:
1140/ 52=22
Программа РГР1
Include "p16f877A. inc"
Sch_in EQU H'22'; счетчик внутреннего цикла задержки.
Sch_out equ H'23' ; счетчик второго цикла задержки.
Sch3 equ H'24' ; счетчик третьего цикла задержки.
Org h'00'
Nop
Nop
Nop
Org h'05'
Nach
Clrf STATUS
Clrf PORTC ; Очистка регистра порта С
Bsf STATUS,5
Movlw B'00001111'
Movwf TRISB ;настроить биты 0-3 PORTB на ввод
Clrf TRISC ;настроить PORTC на вывод
Clrf TRISD ;настроить PORTD на вывод
Bcf STATUS,5
WaitPush
Btfss PORTB,0 ; Ждать включение тумблера и подачи 1 в RB0-имитация
;отключения выключателя ВЛ
Goto WaitPush
Call Timer2; пауза АПВ в соответствии с заданием
M1
Bsf PORTC,3; подача энергии на бит включения выключателя в
;соответствии с заданием
Call Timer1; выдержка, необходимая для включения выключателя
;goto Nach ; работает в реальных условиях
Goto M1
Goto $
Timer1
Movlw D'200'; для отладки принять 2
Movwf Sch_in; устанавливаем значение счетчика.
N_in
Decf Sch_in, F; уменьшаем значение счетчика Sch_in на 1.
Btfss STATUS, Z; если счетчик Sch_in обнулился, пропускаем GOTO.
Goto N_in; срабатывает только при Z=0
Return
Timer2
MOVLW d'2';это же значение оставляем для отладки
MOVWF Sch3; значение W является аргументом для таймера.
N3
MOVLW D'255'; для отладки D'2'
MOVWF Sch_out; устанавливаем значение внешнего счетчика.
N_out; метка внешнего счетчика.
MOVLW D'255'; для отладки D'2'
MOVWF Sch_in; устанавливаем значение внутреннего счетчика.
N_in; метка внутреннего счетчика.
DECF Sch_in, F; уменьшаем значение счетчика Sch_in на 1.
BTFSS STATUS, Z; если счетчик Sch_in обнулился, пропускаем GOTO.
GOTO N_in; срабатывает только при Z=0.
DECF Sch_out, F; уменьшаем значение счетчика Sch_out на 1.
BTFSS STATUS, Z; если счетчик обнулился, пропускаем GOTO.
GOTO N_out; инструкция срабатывает только при Z=0.
DECF Sch3,F; уменьшаем значение счетчика Sch3 на 1,
BTFSS STATUS, Z; если оно равно нулю (Z=1), пропускаем GOTO.
GOTO N3; срабатывает только при Z=0.
RETURN; конец подпрограммы Timer2.
End
На рисунках 3 и 4 приведены PrtSc для данного примера.
Рисунок 3 Ожидание сигнала отключения выключателя
Рисунок 4 На бите 3 PORTC 1, выключатель включился
Похожие статьи
-
Цель Работы : приобрести начальные знания в области применения микроконтроллеров и основ цифровой техники. Теоретические сведения и выполнение работы...
-
Наименование программы Полное наименование программы - Модуль ипотечного кредитования банковской информационной системы "БИС". Краткое наименование...
-
Параболическая зависимость - Составление программы для решения системы уравнений
Если в многочлене F (x)= B 0 X M + B 1 X M-1 +.....+ B M-1 X + B M m=2 Тогда, это многочлен называется параболической зависимости. Установим вид...
-
Линейная зависимость - Составление программы для решения системы уравнений
Рассмотрим подробнее аппроксимирующие зависимости Y(x)=f(x, B 0 ,B 1,..., B N ) с двумя параметрами: Y(x)=f(x, B 0 ,B 1 ) Используя соотношения (1) и...
-
Таймер включение программа высоковольтный Если тактовая частота генератора равна 20 МГц, то время выполнения одного такта равно 0,05 мкс. Время...
-
На данный момент у TUIO есть 3 версии протокола: 1.0, 1.1 и 2.0. Версия 2.0, вышедшая в 2014, имеет множество изменений и нововведений по сравнению с...
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
, Алгоритм обратного хода: Шаг 1. Вычислим Шаг 2. Вычислим: , Рис. 1. Основной алгоритм решения СЛУ методом исключения Гаусса. Для контроля правильности...
-
Основания для разработки Система разрабатывается в соответствии с планом учебного процесса Института менеджмента и Информационных технологий (ИМИТ...
-
Постановление Правительства Российской Федерации №1119 "Об утверждении требований к защите персональных данных при их обработке в информационных системах...
-
Для того, чтобы использовать симметричные алгоритмы шифрования, необходимо безопасно обменяться ключами. Протокол Диффи - Хеллмана позволяет двум и более...
-
F ( 0,"заключение : об1", [ 3, -1 ] ). "промежуточное заключение", ... "вопрос о свойствах", ... Список подкрепляющих фактов F ( 0, "об2", [ 1,2 ] ). F (...
-
Программный интерфейс для базы данных я разрабатывал в объектно-ориентрованной среде Delphi, с помощью Embarcadero RAD Studio. Конструктор форм Delphi в...
-
1. НА 7 ПК ИСПОЛЬЗУЕТСЯ microsoft Windows xp sp2. 2. на 1 используется Altlinux 5 3. Программы офисного назначения: A) Microsoft Office Excel 2003 B)...
-
Система Windows NT не является дальнейшим развитием ранее существовавших продуктов. Ее архитектура создавалась с нуля с учетом предъявляемых к...
-
Решим следующую систему методом Гаусса. - Составление программы для решения системы уравнений
A 11 = 2 0. (1) Для решения систем уравнения с помощью Гаусса будем выделить коэффициенты системы следующим образом: A 11 =2, A 12 = 7, a 13 =13 b 1 = 0...
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
-
Компонент TPanel является несущей конструкцией для размещения на ней других элементов управления, являясь в этом случае родителем для размещенных на ней...
-
Статический однофазный счетчик активной и реактивной электрической энергии ST 1000-6 Статические однофазные счетчики активной и реактивной электрической...
-
Состояние рынка САПР в 90-е гг. За последние в 90-е гг. промышленными предприятиями был накоплен немалый автоматизации локальных служб конструкторских и...
-
ЛИТЕРАТУРА - Составление программы для решения системы уравнений
1. Кобулов В. К. Автоматизация в социально-экономических системах. Т.: Фан, 1989. 2. Гулямов С. С., Романов А. Н., Алимов Р. Х. и др. Дистанционное...
-
Дана система линейных уравнений (СЛУ) с n неизвестными: В матричной форме записи система (1) имеет вид: (2) Где : n - порядок системы; - матрица...
-
Введение - Составление программы для решения системы уравнений
А) Постановка задач Б) Решения поставленной задачи 4. Порядок выполнения работы А) Изучение литературы Б) Составление алгоритма. В) Составление программа...
-
Программа на языке Бейсик - Составление программы для решения системы уравнений
10 REM 20 DIM A(20,20),B(20),X(20) 30 READ N 40 FOR I=1 TO N: FOR J=1 TO N 60 READ A(I, J) : NEXT J 80 READ B(I) : NEXT I 90 REM Vibor elementa 100 FOR...
-
Пример с tegview ¦ L-- qml ¦ +-- tegrender. js ¦ L-- tegview. qml +-- tegview ¦ +--...
-
Перспективной областью применения стандарта Zigbee являются беспроводные системы считывания показаний различных счетчиков. Данный сегмент рынка крайне...
-
Классы StatMetric содержат всю логику библиотеки и предоставляют интерфейс для обновления и получения значений агрегатов. Рисунок 4. Диаграмма классов...
-
Заключение - Разработка программы для реализации редактора временных графов синхронизации
Результатом выполнения задания является реализованный редактор временных графов синхронизации (класс временных сетей Петри), соответствующий задачам,...
-
Возрастающая сложность современных автоматизированных систем управления и повышение требовательности к ним обуславливает применение эффективных...
-
Для создания трехмерной реконструкции сцены или объекта необходимо создать его трехмерную модель и вычислить цвет ее вершин. Для геометрической...
-
Программа COSMOSWorks - Система твердотельного моделирования SolidWorks
Адаптивный анализ сборок H-адаптивный способ детализацию сетки теперь поддерживает сборки. В прошлых версиях поддерживались только детали....
-
В данной главе приводится описание различных криптографических алгоритмов для безопасной передачи данных в приложении. RSA Для того, чтобы избежать...
-
При перезагрузке Raspbery счетчик counter сбрасывается и файлы начинают перезаписываться. Для того, чтобы обойти данную проблему воспользуемся переносом...
-
Пример конфигурации - Библиотека функциональных модулей системы EXP PKS
Пример конфигурации, в которой блок OVRDSEL используется для предоставления данный обратной связи подавления в вышестоящий блок PID, приведен на рис. 15...
-
Алгоритм работы. В результате работы АИС генерируются три xml документа - два со структурой сравниваемых баз данных и один с результатами сравнения. В...
-
База данные кеширование денормализация Предлагаемое решение -- скомбинировать некоторые идеи кеширования и денормализации в специальной библиотеке...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
Версионность базы данных - Программное обеспечение для пропускной системы на основе технологии NFC
С ростом приложения существует проблема обновления схемы базы данных с сохранением внесенных данных. Если информация в базе данных не может быть легко...
-
Особенностью архитектуры REST является отсутствия хранения состояния на сервере. Для того, чтобы не передавать пользовательские логин и пароль каждый...
Пример создания программы "АПВ ВЛ" на Assembler для МК PIC16F877A - Микропроцессорные системы в электроэнергетике