62904 (588851), страница 4
Текст из файла (страница 4)
movlw .17 ; Установить счетчик разрядов.
movwfN
btfsc H_byte,7 ; Старший разряд значения таймера =1?
call sessn ; Да, загрузить в десятичные регистры
216=65536.
bcf status, 0
rlf L_byte, f ; Коррекция значения таймера до 1с.
rlf H_byte, f
clrf Dig_exp ; Коррекция порядка результата для
низкочастотных сигналов.
clrf N
call calc ; Вычисление значения для индикации.
goto loop5 ; Переход на начало основного цикла.
Delay ; Подпрограмма задержки времени для
сканирования индикации.
movlw .10
movwf cnt 1
nор
beta movlw .248
movwf cnt2
clrwdt ; Сброс сторожевого таймера.
Alfa nор
nор
decfsz cnt2, f
goto alfa
nор
nор
decfsz cntl, f
goto beta
nор
return
refresh ; Процедура сканирования индикации.
movf Dig_x, W ; Значение единиц для индикации.
call segment ; Преобразование DEC в семисегментный код.
movwf portb ; Вывод цифры на индикатор.
bcf porta, 0 ; Активизировать индикатор.
call Delay ; Задержка времени для сканирования.
bsf porta, 0 ; Отключить индикатор.
movf Dig_y, W ; Значение десятых для индикации.
movwf Dig_y
movwf Dig_z
movwf Dig_exp
return
report ; Коррекция значений десятичных регистров.
movlw 05 ; Установить счетчик разрядов,
movwf cnt_r movlw U ; Загрузить адрес строки десятичных разрядов для косвенной адресации.
movwf fsr
loop_rep
clrf i ; Очистить поправку следующего разряда.
movf indf, W
movwf N ; Загрузить значение во временный регистр.
calc_rep
movf N, W
movwf indf ; Сохранить значение.
incf i, f ; Инкремент поправки следующего разряда.
movlw 0А
subwf N, f ; Вычесть 10.
btfsc status, 0 ; Результат отрицательный?
goto calc_rep ; Нет, продолжить коррекцию.
decf i, f ; Скорректировать поправку следующего разряда.
incf fsr, f
movf i, W
addwf indf, f ; Прибавить поправку к следующему
разряду.
decfsz cnt_r, f ; Все разряды скорректированы?
goto loop_rep ; Нет, продолжить коррекцию.
return
sessn ; Преобразование значения двоичного разряда в десятичное.
movf N, W ; Загрузить номер разряда.
call tab_dec ; Получить смещения в таблице для разряда.
movwf E
call tab_dec ; Получить значение десятков тысяч.
addwf DM, f
incf E, f
movf E, W
call tab_dec ; Получить значение единиц тысяч.
addwf M, f
incf E, f
movf E, W
call tab_dec ; Получить значение сотен.
addwf H, f
incf E,f
movf E, W
call tab_dec ; Получить значение десятков.
addwf D, f
incf E, f
movf E, W
call tab_dec ; Получить значение единиц.
addwf U, f
return
END
1.5 Выбор и обоснование элементов
Для PIC-контроллерного устройства измерения временных велечин сигналов применяются не только отечественные детали, но и импортные, поскольку наша промышленность не освоила производство аналогов микроконтроллеров данного класса. За счет такой комбинации удалось достигнуть наименьшей стоимости прибора и максимально увеличить надёжность работы, а также во много раз увеличить помехоустойчивость.
1.5.1 Отличительные особенности микроконтроллера
PIC16F84 относится к семейству КМОП микроконтроллеров. Расположение выводов данного микроконтроллера представлено на рисунке 1.4 , а описание выводов — в таблице 1.6
Рисунок 1.4 — Расположение выводов PIC16F84
Таблица 1.6
Название вывода | Номер вывода | Описание |
RA0 RA1 RA2 RA3 RA4/RTCC | 17 18 1 2 3 | PORTA — двунаправленный порт ввода–вывода Может быть использован как вход внешнего тактового сигнала |
RB1 RB2 RB3 RB4 RB5 RB6 RB7 RB0/INT | 7 8 9 10 11 12 13 6 | PORTB — двунаправленный порт ввода–вывода Может быть использован как вход внешнего прерывания |
OSC1/CLKIN | 16 | Используется для подключения кварца, RC или вход внешней тактовой частоты |
OSC2/CLKOUT | 15 | Генератор, выход тактовой частоты в режиме RC генератора, в остальных случаях используется для подключения кварца |
MCLR | 4 | Вход сброса устройства с активным низким уровнем |
Vdd | 14 | Положительный вывод питания |
Vss | 5 | Общий провод (земля) |
Используемый микроконтроллер имеет внутреннее 1K x 14 бит Flash памяти для программ, 8-битовые данные и 64байт Flash памяти данных. Все команды состоят из одного слова (14 бит шириной) иисполняются за один цикл (400 нс при 10 МГц), кроме команд перехода, которые выполняются за два цикла (800 нс). PIC16F84 имеет прерывание, срабатывающее от четырех источников, и восьмиуровневый аппаратный стек. Периферия включает в себя 8-битный таймер/счетчик с 8-битным программируемым предварительным делителем (фактически 16 - битный таймер) и 13 линий двунаправленного ввода/вывода. Высокая нагрузочная способность (25 мА максимальный втекающий ток, 20 мА максимальный вытекающий ток) линий ввода/вывода. Максимально допустимые значения электрических параметров для данного микроконтроллера представленны в таблице 1.7
Таблица 1.7
Описание | Максимальноезначение | Ед. изм. |
Допустимая рабочая температура | -55°С +125 | °С |
Температура хранения | -65°С +150 | °С |
Напряжение VDD относительно Vss-0,3 | 7,5 | В |
Напряжение -MCLR относительно Vss | -0,3 — 14 | В |
Напряжение на остальных вы водах относительно VSS | -0.6 — VDD+0.6 | В |
Потребляемая мощность | 800 | мВт |
Максимальный ток на Vss | 150 | мА |
Максимальный ток на VDP | 100 | мА |
Входной запирающий ток IIK | ±20 | мА |
Выходной запирающий ток IOK | ±20 | мА |
Максимальный выходной ток стока канала ввода-вывода | 25 | мА |
Максимальный выходной ток истока канала ввода-вывода | 20 | мА |
Максимальный выходной ток стока PORTA (суммарный) | 80 | мА |
Максимальный выходной ток истока PORTA (суммарный) | 50 | мА |
Максимальный выходной ток стока PORTB (суммарный) | 150 | мА |
Максимальный выходной ток истока PORTB (суммарный) | 100 | мА |
PIC16F84 отличается низкой стоимостью и высокой производительностью. Малый размер корпуса делает этот микроконтроллер пригодным для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает PIC16F84 привлекательным даже в тех областях, где ранее не применялись микроконтроллеры.
1.5.2 Описание используемых транзисторов
Для разрабатываемого устройства тарнзисторы выбирались по исходному материалу, рассеиваемой мощности, диапазону рабочих частот, принципу действия. Для PIC контроллерного устройства измерения временных величин сигналов, а именно для его входной части усилителя–формирователя подошли транзисторы
КП313А (маломощный полевой транзистор) и КТ368А (высокочастотный маломощный транзистор). Их основные параметры представлены в таблицах 1.8 и 1.9.
Таблица 1.8
Параметр | Значение |
Обратный ток коллектора при Uкб | 0,5/15 мкА |
Обратный ток эмиттера при Uэб | 1/4 мкА |
Входное сопротивление | 6 Ом |
Коэффициент передачи тока | 50…300 |
Коэффициент обратной связи | — |
Граничная частота коэффициента передачи | 900 МГц |
Емкость коллекторного перехода | 1,7 пФ |
Коэффициент шума | 3,3 Б |
Рассеиваемая мощность без теплоотвода | 225 мВт |
Температура окружающей среды | +125 — -60 |
Общее тепловое сопротивление | 0,36 оС/мВт |
Таблица 1.9
Параметр | Значение |
Начальный ток стока | — |
Крутизна характеристики | 5…10,5 мА/В |
Напряжение отсечки | 6 В |
Ток утечки затвора | 10 нА |
Коэффициент шума | 7,5 дБ |
Входная емкость | 7 пФ |
Проходная емкость | 0,8 пФ |
Постоянная рассеиваемая мощность | 120 мВт |
Температура окружающей среды | +85 — -45 |
Общее тепловое сопротивление | — |
1.5.3 Описание используемых диодов
Импульсные диоды предназначены для преобразования импульсных сигналов.
Основные параметры импульсных диодов: импульсное прямое напряжение диода Uпр. и — наибольшее мгновенное значение прямого напряжения, обусловленное импульсным прямым током диода. Импульсное обратное напряжение диода Uобр. и — мгновенное значение обратного напряжения диода. Импульсный прямой ток диода Iпр. и — наибольшее мгновенное значение прямого тока диода, исключая повторяющиеся и неповторяющиеся переходные токи. Общая емкость диода Сд — значение емкости между выводами диода. Время прямого восстановления диода tвос. пр — время, в течении которого происходит включение диода и прямое напряжение на нем устанавливается от значения, равного нулю, да установившегося значения. Время обратного восстановления диода tвос. обр — время переключения диода с прямого тока на обратное напряжение от момента прохождения тока через нулевое значение до момента достижения обратным током заданного значения. Заряд восстановления диода Qвос — накопленный заряд диода, вытекающий во внешнюю цепь при переключении диода с прямого тока на обратное напряжение.