Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Измерение временного интервала




Задача. Требуется измерить с заданной точностью временный интервал между двумя событиями в объекте управления. Предполагается, что в устройстве сопряжения МП с объектом имеются датчики, которые вырабатывают импульсные сигналы начала t0 и окончания t1 процесса, время которого необходимо измерить. Для упрощения примем, что в качестве датчиков применяются концевые переключатели, а измеряемый параметр есть время перемещения подвижного органа объекта управления от места расположения датчика 1 к датчику 2 (рис. 59,а). Требуется также отобразить время процесса в десятичной системе счисления на четырехпозиционном линейном дисплее, а кроме того, сравнить реальное время перемещения объекта с эталонной установкой и отобразить на пульте оператора результат сравнения. Допустим, что реальный процесс в объекте управления может превышать по времени 99 с, а требуемая точность измерения равна 0,01 с.

На рисунке 59.б представлена схема интерфейса МП, предназначенного для решения поставленной задачи.

Порт 1 по линии D0 через промежуточный триггер со счетным входом использован для ввода в МП информации о начале t0 и окончании t1 процесса.

Если триггер Q в исходном состоянии имел сигнал 0, то под воздействием входного сигнала t0 он придет в состояние Q=1 и будет находиться в этом состоянии до момента прихода второго подсчитываемого сигнала t1. Порты 2, 3, и 4 используются для вывода информации.

Каждый байт в портах 2 и 3 предназначен для вывода информации, а также для представления двух десятичных двоичнокодированных знаков так, что через порт 2 осуществляется вывод на дисплей десятков и единиц секунд, а через порт 3 – десятых и сотых долей секунд. К выходам D0 и D1 порта 4 через усилители мощности подключены светоиндикаторы и источники звукового сигнала для сигнализации об отклонениях времени процесса от требуемого значения. По окончании процесса разработки интерфейса МП-контроллера необходимо определить области адресов памяти МП-контроллера для размещения программы, данных и специфицировать рабочие регистры МП, а затем разработать БСА. Допустим, рабочая программа начинается с адреса 0000Х и объем ее не должен превышать емкости одного корпуса БИС ПЗУ со структурой 256 х 8.

Контроллер имеет и ОЗУ (64 х 8), используемое в качестве памяти данных и для реализации стека. Загрузка программного стека в МП К580 осуществляется в порядке убывания адресов.

 

Рисунок 59 – Схема интерфейса МП контроллера

Регистровой паре ВС присвоим функции счетчика для подсчета длительности временного интервала. В паре DE будем представлять величину установки для сравнения фактического времени с эталонным.

Но так как сравнение времен должно выполняться только после окончания процесса измерения, то эту же регистровую пару можно использовать и для программной реализации временной задержки, равной заданной точности измерений временного интервала длитель­ностью 0,01 с.

Допустим, что эталонное время перемещения подвижного орга­на от позиции датчика 1 до 2 в регулируемом устройстве равно 7,70 с Д2 и хранится в ячейках ОЗУ с адресами 0400Н и 0401Н.

Рисунок 60 – Схема алгоритма измерения и индикации временного интервала

 

На рисунке 60 представлена БСА работы МП-контроллера, предна­значенного для измерения и индикации временного интервала. После включения системы, т.е. после нажатия кнопки «сброс», счетчик ко­манд (и триггер Q) обнуляются и МП выполняет обращение к ПЗУ по адресу ООООН, который является начальным адресом программы. Программа начинается с процедуры инициализации контроллера, ко­торая содержит команды загрузки регистра - указателя стека и запи­си в ОЗУ кода эталонной установки. После этого МП-контроллер пе­реходит в состояние ожидания события, постоянно опрашивая вход­ной порт 1 и анализируя состояние входного сигнала Q на линии DO. После того, как 0=1, содержимое регистра-аккумулятора увеличива­ется на 1 через каждые 0,01 с до тех пор, пока на выходе триггера Q сигнал не приобретает нулевое значение. Число X, загружаемое в регистровую пару DE, имеет значение, обеспечивающее временную задержку 0,01 с при выполнении соответствующей подпрограммы (DELAY).

Программа, реализующая алгоритм для МП-контроллера, имеющего интерфейс, представленный на рис. 59, и БИС ПЗУ и ОЗУ, подключенные к шине адреса в соответствии с оговоренной ранее таблицей адресов, имеет следующий вид:

 

 

INIT: LXI SP,0438H; установка начального адреса стека
  LXI H,0400H; загрузка в HL адреса ОЗУ
  MVI A.07H; загрузка в А старшего байта установки
  MOV M,A; запоминание в ЗУ старшего байта
  INR L; инкремент указателя памяти HL
  MVI A.69H; загрузка в А младшего байта установки
  MOV M,A; запоминание в ОЗУ
SPEED: LXI B,0000H; гашение счетчика ВС
WAIT: IN 01H; ввод из порта 1
  ANI 01H; маскирование линии D
  JZ WAIT; цикл ожидания начала процесса
COUNT: CALL DELAY; временная задержка 0,01 с
  MOV A.C; инкремент С
  ADY 01H; через каждую 0,01 с
  DAA ; десятичная коррекция
  MOV C,A; фиксация нового значения в С
  MOV A,B;  
  ACI ООН; (АЖВ)+(С)
  DAA ;  
  MOV B,A; фиксация нового значения в С
  IN 01H; ввод из порта 1
  ANI 01H; проверка Q
  JNZ COUNT; переход, если Q=/Q
  MOV A,B  
  OUT 02H; вывод старшего байта на дисплей
  MOV A,C  
  OUT 03H; вывод младшего байта на дисплей
  MOV E,M; загрузка в Е младшего байта установки
  DCR L; модификация указателя
  MOV D,M; ОЗУ загрузка в D старшего байта установки
  MOV A,B;  
  CMP D; сравнение старших байтов
  JNC MORE; переход, если (B)>(D)
  MOV A,C;  
  CMP E; сравнение младших байтов
  JNC MORE; переход, если (С)>(Е)
  MVI A.01H;  
  OUT 04H; вывод сигнала МЕНЬШЕ УСТАНОВКИ
  JMP SPEED; ; вывод сигнала БОЛЬШЕ УСТАНОВКИ
MORE: MVI A.01H  
  OUT 04H  
  JMP SPEED; переход в исходное состояние
DELAY: MVI D0.3H; ; подпрограмма задержки 0,01 с.
LOOP2: MVI E.OFFH  
LOOP1: NOP    
  NOP    
  NOP    
  NOP    
  DCR E  
  JNZ LOOP1  
  DCR D  
  JNZ LOOP2  
  RET    

 

Выводы и пояснения:

1. Регистровая пара HL применяется как регистр адреса уста­новки в ОЗУ, запись в которое производится, начиная со старшего байта, а считывание в регистровую пару DE - с младшего. Это позво­ляет исключить одну операцию модификации содержимого HL.

2. В качестве установки используется не заданное значение (7,70 с), а уменьшенное на 1 заданной точности измерения, а именно 7,69 с. Это вызвано тем, что в соответствии с БСА программа построена таким образом,

 

что она сначала выполняет операцию инкрементирования счетчика сотых долей секунды, а вслед за этим - про­верку окончания процедуры измерения временного интервала.

3. Использование команды суммирования содержимого аккуму­лятора с содержимым признака переноса АС1 необходимо для учета переноса из младшего байта счетчика в старший.

4. Анализ написанной программы показывает, что процедура сравнения фактически измеренного времени и установки начинается со сравнения старших байтов, и только в этом случае, если содержи­мое регистра В окажется равно содержимому регистра D, то выпол­няется сравнение и младших байтов, расположенных в регистрах С и Е.

 

 




Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 479; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.