Раздел: Документация
0 ... 91 92 93 94 95 96 97 ... 105 управления и три регистра счетчиков. Состояние входов АО и А1 для выбора конкретного регистра можно охарактеризовать следующим образом: о АО = О, А1 = 0 - выбор регистра счетчика 1; о АО - 1, А1 = 0 - выбор регистра счетчика 2; о АО = О, Al = 1 - выбор регистра счетчика 3; ОА0=1,А1 = 1- выбор регистра управления. Перед использованием счетчики необходимо настроить посредством записи управляющего слова в регистр управления. Функции битов управляющего слова показаны ниже. Биты 7 (SC1) и 6 (SCO) выбирают настраиваемый счетчик: бит 7 = 0, бит 6 = 0 настройка счетчика 0 бит 7 = 0, бит 6 = 1 настройка счетчика 1 бит 7 = 1, бит 6 = 0 настройка счетчика 2 бит 7=1, бит 6=1 команда считывания Биты 5 (RW1) и 4 (RW0) управляют форматом чтения и записи каждого регистра счетчика: бит 5 = 0, бит 4 = 0команда загрузки счетчика бит 5 = 0, бит 4 = 1чтение/запись только младшего байта бит 5=1, бит 4 = 0чтение/запись только старшего байта бит 5=1, бит 4 = 1чтение/запись сначала младшего, затем старшего байта Биты 3 (М2), 2 (Ml) и 1 (МО) управляют выходными режимами. Всего существует шесть выходных режимов: бит 3 = 0, бит 2 = 0, бит 1=0 режим 0 - генерация фронта бит 3 = 0, бит 2 = 0, бит 1 = 1 режим 1 - одновибратор бит 3 = х, бит 2 = 1, бит 1 = 0 режим 2 - генератор с изменяемой скважностью бит 3 = х, бит 2 = 1, бит 1 = 1 режим 3 - генератор прямоугольных импульсов бит 3 = 1, бит 2 = 0, бит 1=0 режим 4 - генератор программного строб-импульса бит 3=1, бит 2 = 0, бит 1 = 1 режим 5 - генератор аппаратного строб-импульса Бит 0 настраивает формат данных в регистрах счетчиков: 0- 16-разрядный двоичный счетчик 1- 4-разрядный двоично-десятичный счетчик Чтобы записать данные в микросхему, необходимо подать информацию на входы DO - D7 и АО и Al для выбора регистра. Затем по отрицательному импульсу на входе WR данные загружаются в выбранный регистр. Во время операции необходимо, чтобы на входе CS был низкий уровень сигнала, иначе микросхема будет заблокирована. Каждый счетчик 8254 имеет шесть выходных режимов, работа которых поясняется на рис. 7.19. CW=10 LSB = 4 "LIU OUT 4 : з CW=16 LSB = 4 -uur CLK GATE OUT
) CW=12 LSB-3 CLK GATE OUT
Д) CW=18 LSB = 3 «ииг CLK GATE j CW=14 LSB = 3 CW=1A LSB = 3 >~UU: OUT 2 1 •UU CLK GATE OUT
Рис. 7.19. Выходные режимы 8254 a - генератора фронта, б - одновибратора, в - генератора импульсов с изменяемой скважностью, г - генератора прямоугольных импульсов, д - генератора программного строб-импупьса; е - генератора аппаратно-программного строб-импульса Режим генератора фронта (режим 0, рис. 7.19а) используется для генерации прерывания на выходе по истечении определенного промежутка времени. После записи в регистр управления управляющего слова числа 10 (десятичное) на выходе счетчика 0 устанавливается низкий уровень. Когда количество тактовых импульсов на единицу превысит значение, записанное в счетчик, на его выходе появляется сигнал высокого уровня. Режим одновибратора (режим 1, рис. 7.196) применяется для генерации отрицательного импульса. Длительность периода времени, когда на выходе счетчика удерживается низкий уровень, зависит от частоты тактовых импульсов и числа, записанного в счетчик. Режим генератора импульсов с изменяемой скважностью (режим 2, рис. 7.19в). Если в счетчик записано число N, то сигнал низкого уровня на его выходе появится через N тактов. На следующем такте сигнал на выходе счетчика снова станет единицей. Таким образом, счетчик работает как генератор импульсов с частотой, равной тактовой частоте, деленной на N. Режим генератора прямоугольных импульсов (режим 3, рис. 7.19г). Если в счетчик записано четное число, то на выходе будет сигнал прямоугольной формы со скважностью 50%. Частота сигнала равна такщрвой частоте, деленной на число, которое записано в счетчик. Если записанное число нечетное, то длительность единицы будет на один тактовый интервал больше, чем длительность нуля. Режим генератора программного строб-импульса (режим 4, рис. 7 19д). В этом режиме значение счетчика автоматически уменьшается сразу после записи в него начального значения, причем скорость уменьшения равна тактовой частоте. Как только значение счетчика достигает нуля, он вырабатывает отрицательный импульс длительностью, равной длительности тактового импульса. Таким образом, импульс появляется через N+1 тактов после записи в счетчик числа N. Режим аппаратно генерируемого строб-импульса (режим 5, рис. 7.19е) аналогичен режиму 4, однако начало обратного отсчета инициируется положительным импульсом на входе GATE. По положительному фронту импульса на входе GATE начинается процесс отсчета. Со следующим тактовым импульсом значение счетчика уменьшается, а когда оно достигает нуля, на выход OUT поступает отрицательный импульс длительностью, равной длительности одного тактового импульса. Таким образом, на выходе OUT импульс появляется через N+1 тактов после подачи на вход GATE сигнала высокого уровня. На рис. 7.20 изображена схема на основе программируемого таймера/счетчика 8254, подключенного к экспериментальной плате параллельного пор га. Контакты Din D2 на плате предназначены для последовательного ввода данных в регистр сдвига 74LS164, с восьмиразрядного параллельного выхода которого данные подаются в микросхему 8254. Контакты D5, D6, D7 и D8 соединены с входами WR, А1, АО и CS. Для опытов используется счетчик 2. На вход CLK2 подается тактовый сигнал, на вход GATE 2 - сигнал высокого уровня для разблокирования счетчика. Программа на языке ТР6 переводит счетчик в режим генератора прямоугольного напряжения. Частота сигнала устанавливается программно. Текст программы 8254.PAS Program mini sig generator, («Программа управления таймером/счетчиком 8254 *) (* Соединение с экспериментальной платой параллельного порта 01=данные, 02=такты для 74LS164, D5=WR, D6=A1, D7=A0 и D8=CS для 8253 «) 0 ... 91 92 93 94 95 96 97 ... 105
|