Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Встроенные КС лаб раб испр.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.84 Mб
Скачать

4.1.2 Підрахунок числа імпульсів за заданий проміжок часу

При виконанні завдання, перетворення число-імпульсного коду у двійковий код, а також у ряді інших завдань може виникнути необхідність підрахунку числа імпульсів за заданий інтервал часу. Ця процедура може бути реалізовано чотирма різними способами:

- програмно, реалізацією часового інтервалу й підрахунком числа імпульсів на вході МК;

- програмною реалізацією часового інтервалу й апаратурним підрахунком числа імпульсів (на внутрішньому таймері/лічильнику);

- апаратурною реалізацією часового інтервалу й програмним підрахунком числа імпульсів;

- апаратурною реалізацією часового інтервалу й апаратурним підрахунком числа імпульсів.

Для МК51, що має у своєму складі два таймери/лічильника, можливий апаратний спосіб реалізації обох процесів: формування тимчасового інтервалу на Т/Л0 і підрахунок числа імпульсів на Т/Л1. Датчик імпульсів повинен бути підключений до входу Т1:

; версія для МК51

time equ not(10000)+1 ; визначення константи для

; відліку інтервалу 10 мс

mov tmod,#01010001b ; настроювання т/л, 16 біт

; 1 - лічильник

; 0 - таймер

clr a ; скидання акумулятора

mov th1,a ; скидання т/л1

mov tl1,a

mov th0,#high(time) ; завантаження в т/л0

mov tl0,#low(time) ; константи time

orl tcon,#50h ; пуск т/л1 і т/л0

wait:jbc tcon.5,exit ; перевірка переповнення т/л0

sjmp wait ; цикл, якщо tf=0

exit:mov b,th1 ; (b) (a)<--число імпульсів за 10 мс

mov a,tl1

... ; вихід із процедури

4.1.3 Формування вихідних динамічних керуючих впливів

Сформувати на одному з виводів порту Р2 мікроконтролера КР1816ВЕ51 періодичний імпульсний сигнал, період якого й шпаруватість задаються вмістом i-го регістру (див. варіант завдання).

Принцип роботи програми: зовнішня програма у випадкові моменти часу встановлює в регістри Ri мікроконтролера значення, що визначають тривалість імпульсу, період проходження сигналу і його шпаруватість. Підпрограма, що розроблюється повинна використовувати ці значення для формування сигналів на виходах портів мікроконтролера.

Генерація періодичного керуючого впливу (меандру). Для генерації меандру зручно скористатися процедурою видачі періодичного імпульсного керуючого впливу.

; версія для мк 51

meandr:

xcor: cpl p1.3

acall dlyx

sjmp xcor

Нескінченний (або кінцевий за умовою припинення події MEANDR) періодичний сигнал формується в лінії 3 порту 1. На інших лініях порту 1 сигнали залишаються незмінними.