Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 20
Текст из файла (страница 20)
Счетчик остается в состоянии БТОР до тех пор, пока не будет подана новая команда БТАКТ СИТ. Во время счета микроЭВМ должна «слышать» сигнал прерывания. Состояние флажка переполнения следует проверять с помощью условного перехода, в частности в ИС 8048, с помощью команды ЗТР. Этот флажок должен быть сброшен в нуль либо после выполнения этого перехода, либо по команде КЕЭЕТ (сброс). В таком режиме частота счета ИС 8048 имеет верхний предел, а именно на каждые три командных цикла (7,5 мкс в случае 6МГц-кристалла) можно зарегистрировать только одно событие.
Длительность импульса события должна быть )100 нс. События будут сосчитаны во время Н-~1-перепада на выводе Т1. Счетчик используется в качестве интервального таймера следующим образом. С помощью команды МОЧ Т,А счетчик устанавливается в любое требуемое состояние. После того как сигнал 5ТАКТ Т запустит счетчик, вход счетчика будет связан с внутренним генератором синхросигналов, после чего начнется счет этих сигналов. Этот счет будет продолжаться до тех пор, пока не возникнет переполнение, что снова приведет к прерыванию. Программа будет реагировать на него сигналом 5ТОР.
Отсчет числа синхросигналов от запрограммированного счетного состояния до максимального счетного состояния РР выполняется в точно заданном временнбм интервале. Длина этого интервала определяется содержимым счетчика, котоое устанавливается и контролируется программным способом. таком режиме работы можно обеспечить любой требуемый интервал времени. Внутренний генератор запускается сигналом А1Е, который формируется из сигналов машинного 400 кГц-цикла при помощи предварительного счетчика с коэффициентом пересчета, Глава л равным 32. Этот счетчик сбрасывается в нуль в момент появления команды ЬТАКТ Т.
Полученный после пересчета сигнал с частотой 12,5 кГц увеличивает содержимое счетчика через каждые 80 мкс. Различные задержки, лежащие между 80 мкс и 20 мс (пересчет на 256), можно получить путем предварительного программирования работы счетчика и регистра переполнения. Времена задержки более 20 мс могут быть реализованы программным способом за счет суммирования переполнений в регистре. Зпгрузпжь ппи пппжажь а жпв пшу Хмт Рис. 2.18. Блок-схема таймера/счетчика а ИС 8048.
Для получения времен задержек короче 80 мкс можно использовать сигналы внешней синхронизации, подаваемые на Т1-вход, которые запускают счетчик в режиме счета. Очень короткие времена задержки илн точный отсчет более длинных времен задержки можно легко обеспечить при помощи программных циклов. На рис. 2.18 приведена принципиальная схема таймера/ /счетчика, применяемая в МП 8048. Глааа 3 НАБОР КОМАНД МИКРОЭВМ 3.1. Введение Как неоднократно отмечалось в этом справочнике, при создании новой логической функции всегда возникает вопрос о связях между уже известными функциями. В автомате и ЭВМ они реализуются с помощью электрических соединений точно так же, как в комбинационной логике, однако эти связи можно осуществить и программным образом с помощью определенного алгоритма.
При последовательной организации выполнения операций в общем случае требуются специальные элементы для хранения промежуточных результатов. В случае комбинационной логики требуемые операции реализуются электрическими соединениями, в случае последовательностной логики — программой, хранящейся в ЗУ. Конкретные связи между операциями соответствуют информации, которая носит постоянный характер. Очевидно, что подобные связи жестко определяют выполняемую программу. В предыдущих главах была рассмотрена стиральная машина, программа функционального поведения которой реализуется постоянными связями.
Последовательность операций, которые должна выполнить машина, определялась управляющими схемами. По окончании каждой операции, выполняемой при фиксированном содержимом (состоянии) управляющего счетчика, содержимое счетчика увеличивается на 1. Контрольные переменные, которые дают определенную информацию о ходе выполнения процесса стирки, например об уровне воды в барабане или ее температуре, существенно влияют на весь процесс стирки. В современных стиральных машинах до сих пор применяются «программы», реализуемые электрическими соединениями.
Современные швейные машины, бензиновые насосы и другие устройства часто снабжаются микроЭВМ, которые управляют выполнением операций с помощью программы, хранящейся в ПЗУ. Такая программа также обычно задается коммутацией элементов ПЗУ. Функции, которые определяют ход выполнения программы, реализуются в данном случае не макрокоммутацией какого-либо прибора, а микрокоммутацией элементов ПЗУ.
При последующем управлении каким-либо процессом с помощью ПЗУ иоз Глава 3 можно, заменяя ЗУ, полностью изменить всю программу управления, в то время как макрокоммутация, используемая в самом приборе, останется неизменной. ПЗУ позволяет реализовать большое число разных программ, что является существенным преимуществом, например в случае швейной машинки. Замена программы, определяющей макрокоммутацию, оказывается гораздо более дорогостоящим мероприятием и требует большого числа дополнительных элементов, В общем случае можно утверждать, что программирование какой-либо функции с помощью макрокоммутации всегда будет более трудоемким, чем программирование на уровне микрокоммутации с последовательным выполнением отдельных операций. Последовательное выполнение операций является характерной особенностью ЭВМ, поэтому все управляющие функции, реализуемые в проигрывателе, радио- и телевизионных приемниках и других устройствах, описываются в рамках «компьютерного» подхода.
В случаях стиральной машины, «компьютеризованного» проигрывателя и других устройств речь идет о сложных функциональных схемах, которые выполняют набор специальных операций. Функции, выполняемые этими схемами, являются частью программы более высокого уровня, например для домашней хозяйки — это программа ведения домашнего хозяйства в целом. Последняя программа в свою очередь является элементом программы социально-общественной жизни соответствующего индивидуума женского пола. Такие же уровни организации встречаются и при обработке данных с помощью автоматов.
В общем случае можно утверждать, что те программы, которые находятся на более низком уровне, реализуют более простые функции. Отсюда можно сделать заключение, что если используется некоторая сложная функция, то простые функции не потребуются. Например, владелец проигрывателя, управляемого с помощью мик- роЭВМ, не нуждается в эквивалентной функциональной схеме (заменителе ЭВМ) из десятков блоков с ручным управлением.
С другой стороны, существует большое число операций, при выполнении которых применять сложные функциональные схемы оказывается просто невозможно. В качестве примера можно указать на земляные работы, которые в настоящее время выполняются экскаватором; при строительстве зданий ни один разумный человек не предложит использовать для этой цели, скажем, лопату. Однако при посадке в саду каких-либо растений столь же неразумно вместо лопаты применять экскаватор. То же самое относится и к использованию молотка, ручной пилы и других инструментов. Более сложные функции можно реализовать, используя языки высокого уровня.
Для управления работой проигрывате- 106 Набор комакд микроЗВМ ля с различными специальными элементарными функциямк требуется большое число различных регуляторов, к каждому из которых следует «обращаться» вполне определенным образом. Для обеспечения оптимального режима работы системы требуется большое число команд. В случае «компьютеризованного» проигрывателя системе сообщается только одно слово (нажимается одна кнопка) и автомат сразу же «понимает», о чем его «просят», т.
е. в ответ он обеспечивает оптимальное выполнение сложной функции. Аналогичная ситуация имеет место и при программировании. Чем сложнее операции, которые выполняет система, тем проще может быть язык общения с ней. В случае сложных операций, выполняемых на ЭВМ, используются подпрограммы, т. е. автономные программы, реализующие определенные сложные операции, такие, как вычисление е" или начисление заработной платы на предприятии. Для запуска этих программ требуется только одна команда, а именно осуществить переход в ту ячейку ЗУ, где находится вход в требуемую подпрограмму, и выполнить вычисление е" или расчет заработной платы.
Для формулирования указания ЭВМ вЂ” выполнить необходимое вычисление — не требуется «многословие». ЭВМ «знает», как работать — для этого ей требуется только разрешение. Как и в примере с экскаватором и лопатой, при программировании используются элементарные функции, т. е. машинные команды, для того чтобы выполнить какие-либо специальные операции. Простые команды делают процесс программирования чрезвычайно гибким. Чем выше уровень применяемого языка программирования, тем менее гибкими становятся команды. Следует также учесть, что языки более высокого уровня имеют ограниченную область применения, так Кобол предназначен для экономических и управленческих расчетов, а Алгол — для научных вычислений.
С помощью этих языков почти невозможно, например, программировать некоторые функции управления процессами. Для решения частных (специальных) задач программирования требуются элементарные операции, точно так же как плотнику нужны молоток и пила при строительстве дома, хотя рамы, двери и балки для этого дома изготавливаются на сложных автоматизированных станках. 3.2.
Элементарные команды для управления ЭВМ В этой главе будут рассмотрены элементарные операция или команды МП, которые применяются для управления аппаратурой. 102 Глава д Команды, записанные в двоичном коде, поступают из регистра команд и управляют аппаратурными дешифраторами, которые активизируют функции нижнего уровня в МП. Современные 8-разрядные МП имеют примерно тот же уровень «развития», что и ученик 1-го класса начальной школы. Что касается арифметики, то эти МП могут только суммировать и вычитать, Умножению, делению и другим более сложным операциям эти МП необходимо «научить». Это осуществляется с помощью программ, которые однозначно определяют, каким образом следует выполнять более сложные операции с использованием простых вычислительных операций.
Решения задач такого типа являются вполне реальными, так как более сложные операции типа умножения, деления и т. д, являются не чем иным, как повторением операций суммирования и вычитания совместно с операциями сдвига, которые следуют до тех пор, пока какая-либо полученная контрольная величина не укажет, что данная сложная операция выполнена. Например, при делении такой контрольной величиной является остаток.