Для решения поставленной задачи - измерения длительности прямоугольного импульса напряжения будет использоваться модуль таймера TMR1 и порт ввода RA1 для получения от датчика измеряемого импульса.
Таймер-счетчик TMR1. 16-ти разрядный, доступный для чтения и записи. Состоит из двух 8-ми разрядных регистров TMR1H (0Fh) и TMR1L(0Eh). Счет выполняется в спаренном регистре TMR1, инкрементируя его значение от 0000h до FFFFh, далее считает сначала.
За работу TMR1 отвечает управляющий регистр Т1CON (регистр специального назначения, доступен для чтения и записи), который содержит биты:
выбора коэффициента деления предделителя;
включения тактового генератора;
синхронизации внешнего тактового сигнала;
выбора источника тактовых сигналов;
включения модуля TMR1.может работать в одном из 3-х режимов:
- таймера;
синхронного счетчика;
асинхронного счетчика.
PORTА - 6-ти разрядный двунаправленный порт ввода-вывода. Все каналы его имеют соответствующие биты направления в регистре TRISА, позволяющие настраивать канал на вход или на выход. Запись «1» в TRISA переводит соответствующий буфер в 3-е состояние и определяет канал как вход, а запись «0» определяет соответствующий канал как выход.
|
|
PORTB - 8-ми разрядный двунаправленный порт ввода-вывода. Все каналы его имеют соответствующие биты направления в регистре TRISB, позволяющие настраивать канал на вход или на выход. Запись «1» в TRISB переводит соответствующий буфер в 3-е состояние и определяет канал как вход, а запись «0» определяет соответствующий канал как выход.
Регистр ADCON1 устанавливает режим работы портов (цифровой или аналоговый) PORTA. Содержит следующие биты:
Бит 7: ADFM, необходим для формата сохранения 10 - разрядного результата.
Биты 6-4: не используются.
Биты 3-0: PCFG3: PCFG0 - управляющие биты настройки каналов АЦП.
Регистр состояния STATUS доступен для чтения / записи, содержит флаги (признаки) состояния АЛУ, флаги сброса МК и биты управления банками памяти. Регистр STATUS может быть адресован любой командой, как и любой другой регистр памяти данных.
Разработка и описание электрической принципиальной схемы устройства
Электрическая принципиальная схема устройства приведена на рис. 6. С помощью данного микропроцессорного устройства производится измерение длительности импульса 0,2…40 мс. Сигнал с датчика подается на вывод 3 PORTA RA1 микроконтроллера PIC16F873. Результаты измерения от МК поступают по 8-разрядной шине на выводы DB0-DB7 ЖК-индикатора MT-10S1-3Y c выводов канала PORTB микроконтроллера.
Микроконтроллер тактируется генератором, состоящим из кварцевого резонатора ZQ1 и конденсаторов С5, С6 частотой 4 МГц.
Питание устройства осуществляется от блока питания напряжением 5В. Включение и выключение питания производится кнопкой S1.
Рис. 5. Принципиальная электрическая схема измерителя высоты
Разработка блок-схем алгоритмов работы устройства и подпрограмм