Разработка электронных весов, индицирующих вес товара в цифровой форме, страница 2

Кроме исполняемой программы, ПЗУ содержит также адрес подпрограммы обслуживания прерывания, считывающийся в цикле обработки прерывания. Адресные входы А80 этих микросхем соединены параллельно и подключены к младшим 9 линиям системной ША. Таким образом, суммарная ёмкость ПЗУ составляет 1 Кбайт.

Так как в системе отсутствует ОЗУ, нет необходимости выполнять память в виде банков, т.к. при чтении из ПЗУ в любом случае на шину данных будет подаваться слово, из которого МП при необходимости выберет требуемый байт. Поэтому сигнал ВНЕ  на ПЗУ не подаётся. Т.к. память не содержит других устройств, кроме ПЗУ, выбор кристалла ПЗУ происходит при M/IO=1.

Таким образом, для дешифрации адресов памяти используются только 9 младших линий шины адреса, остальные линии не используются.

Следует отметить, что по сбросу адрес первой исполняемой команды автоматически устанавливается равным FFF0h, т.е. в данном случае произойдёт чтение первой команды с адресом на входах  ПЗУ 1F0h.

Проектируемое устройство содержит 2 внешних устройства, имеющих вход CS (“выбор кристалла”) и требующих отдельную адресную линию: это таймер и контроллер клавиатуры и дисплея. Кроме этого, таймер имеет еще два адресных входа, по которым осуществляется адресация к одному из каналов при программировании. Контроллер клавиатуры и дисплея также имеет один дополнительный адресный вход.

Распределение адресных линий периферийных устройств по ША осуществлено следующим образом:

А0 –             внутренние адреса ВУ,

А1 –             используемые при программировании;

А2 –       CS (выбор кристалла) таймера;

А3 –       CS контроллера клавиатуры и дисплея;

Исходя из этого, и учитывая, что ВУ срабатывает при подаче уровня лог. “1” на соответствующую адресную позицию, адреса портов ввода/вывода ВУ запишутся в следующем виде (указан только младший байт ША, старшие биты не определены):

Таймер – 00000100¸00000111b или 04¸07h;

Контроллер клавиатуры и дисплея – 00001000¸00001001b или 08¸09h;.

3.3. Преобразование напряжения в частоту

Полупроводниковая ИС преобразователя напряжение-частота КР1108ПП1 предназначена для преобразования входного положительного напряжения 0…10В в последовательность импульсов с частотой следования, пропорциональной его значению. Крутизна преобразования равна 1 кГц/В, т.е. каждый выходной импульс соответствует приращению входного напряжения на 1 мВ, диапазон выходных частот 0…10кГц.

3.4. Программируемый таймер

Программируемый таймер К1810ВИ54 относится к классу функционально ориентированных программно управляемых интерфейсных БИС, поэтому перед началом работы в него необходимо загрузить управляющее слово (УС) и константу пересчета. УС задает режим работы, тип счета (двоичный или двоично- десятичный), порядок загрузки и размерность (один или два байта) константы пересчёта.

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

Нулевой канал совместно с первым осуществляет отсчёт времени 40 мсек, в течение которого второй канал производит счёт числа импульсов, пришедших с преобразователя КР1108ПП1 (для определения частоты импульсов, пропорциональной входному напряжению). Т.к. используемая тактовая частота для внешних устройств составляет 2 МГц, для отсчёта времени 40 мс необходима константа пересчёта 80000, которая распределяется между нулевым и первым каналом 40000·2=80000).

Для организации вышеописанного используются следующие режимы работы каналов:

А) нулевой канал: режим 0 – прерывание от таймера.

Низкий уровень сигнала на выводе OUT0 устанавливается сразу после загрузки УC. Загрузка константы не оказывает влияния на этот выход. Счёт разрешается положительным сигналом на входе GATA0. По срезу сигнала CLK происходит уменьшение содержимого счётчика канала на единицу. После отсчёта загруженного числа устанавливается сигнал OUT=1, запрещающий счёт второму каналу и являющийся сигналом “запрос прерывания” на микропроцессор.

УС нулевого канала:


Рис.2  Содержание регистра управляющего слова нулевого канала таймера

Б) первый канал: режим 2 – импульсного генератора частоты.

В этом режиме канал работает как делитель входной частоты PCLK на N, где N- константа пересчета. При GATA1=1 на выходе OUT1 с частотой fPCLK/N устанавливается нулевой сигнал на время одного периода PCLK. Режим 2 является режимом с автозагрузкой, т.е. после окончания цикла счета счетчик автоматически перезагружается и счет повторяется.

УС первого канала:

Рис.3  Содержание регистра управляющего слова первого канала таймера

В) второй канал: режим 1 – программируемого ждущего мультивибратора.

В этом режиме канал осуществляет счёт числа импульсов, пришедших на вход СLK2. По срезу сигнала CLK происходит уменьшение содержимого счётчика на единицу.

УС второго канала:

Рис.4  Содержание регистра управляющего слова второго канала таймера

3.5. Обслуживание прерываний