Читать «Искусство схемотехники. Том 3 (Изд.4-е)» онлайн - страница 27

Пауль Хоровиц

Разделавшись с аппаратным конструированием, которое оказалось совсем несложным, перейдем к действительно твердому орешку — программированию.

Разминка: сварим яйцо. Наш усреднитель сигналов потребует весьма сложного комплекса программ, как это обычно и бывает в мире задач реального времени. Внимательное чтение последующих разделов вознаградит читателей, собирающихся разрабатывать собственные микропроцессорные системы, так как они смогут детально познакомиться с большинством особенностей программного обеспечения аппаратуры, управляемой микропроцессором.

Перед тем, однако, как нырнуть в море, полное акул, давайте намочим ноги в мелкой луже простого (и несколько легкомысленного) примера программы для нашей микропроцессорной системы общего назначения. Компьютеры, вообще говоря, предназначены для избавления нас от рутинной работы. Пусть наш прибор каждое утро в 8 часов в течение 5 минут варит нам яйцо!

Представим, что твердотельное реле (рис. 11.10) подключено к небольшому кипятильнику, опущенному в чашку с сырым яйцом. Рассмотрим программу 11.2.

Для упрощения программы будем считать, что компьютер запущен и календарь-часы установлены. (В дальнейшем мы рассмотрим, как выполнить эти малоинтересные, но немаловажные действия!) Программа начинается с засылки нулевого байта в порт ЭЛД, чтобы выключить кипятильник; далее календарь-часы устанавливаются в 24-часовой режим при выключенных прерываниях. После этого программа входит в цикл ("WAKE", пробуждение) непрерывного опроса цифры часов в микросхеме календаря-часов, пока не будет прочитана цифра «8»; в этот момент в порт ЭЛД посылается байт, заполненный единицами, в результате чего включается кипятильник и загораются все ЭЛД.

Далее программа входит во второй цикл ("COOK", кипячение) непрерывного опроса цифры минут в микросхеме календаря-часов, пока не будет прочитана цифра «5»; в этот момент в порт ЭЛД посылается нулевой байт, выключающий кипятильник и гасящий ЭЛД. Наконец, программа переходит к третьему циклу ("WAIT", ожидание) опроса, как и в первом цикле, цифры часов, пока она не перестанет быть «8». В этот момент осуществляется безусловный переход в первый цикл ожидания 8 часов (уже завтрашних).