Как проектировать электронные схемы - [50]

Шрифт
Интервал

) должен находиться в 16-й позиции. Таким способом корректируется длительность задержки для синхронизации сигнала генератора с напряжением сети.

Используемые переменные: Push2, per, echant.

Ниже приведен листинг подпрограммы прерывания, вызываемой каждые 20 мс.



Далее приведена часть подпрограммы формирования временной задержки. В начале основной программы переменная echant имеет значение 5. При выполнении программы она изменяется в диапазоне от 0 до 0АН (10D), что соответствует значениям частоты от 49,2 до 50,8 Гц с минимальной длительностью удержания частоты 400 мс.



Умножение и деление в микроконтроллерах

В список выполняемых команд для некоторых микроконтроллеров входят умножение и деление. Их выполнение сводится к логическому сдвигу вправо или влево, иногда при необходимости также производится сложение или вычитание. Если регистр А содержит величину 08Н, то она удвоится (то есть достигнет 10Н) после выполнения следующей операции:

lsla;а х 2

Второй сдвиг влево приведет к новому умножению на 2 и, следовательно, к умножению на 4.

По аналогии с этим деление содержимого регистра А на 2 сводится к сдвигу вправо с помощью следующей команды:

lsra: а / 2

Если второй операнд является нечетным, то основную операцию необходимо дополнить сложением или вычитанием. Например, выражение 8x5, можно преобразовать следующим образом: 8 х (4 + 1) или (8 х 4) + (8 х 1). Эти действия выполняются простым циклом операций:

lsla: a x 2

lsla;a x 4

inca;a x 5

В рассмотренных процедурах необходимо использовать логические операции не циклического, а линейного сдвига состояний в регистре. При каждой операции сдвига на одном конце регистра происходит выход бита, а на другом конце — вход. При этом значение входящего бита должно всегда равняться 0.


Использование 16-битных адресов

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

Применение команды Ida table в расширенном виде позволяет считывать содержимое любого адреса размером 16 бит. Для ее записи требуется три байта. Первый байт задает код команды (записанный в регистре А), в данном случае D6H на языке Motorola. Два других байта содержат собственно адрес (в первом указывается старший разряд адреса, во втором — младший или наоборот, согласно стандартам изготовителя). Подпрограмма считывания адреса, расположенного в ячейке с именем Rout, имеет следующую структуру:



Если адресуемая ячейка расположена в ОЗУ, необходимо предварительно заполнить соответствующую область памяти. Данная процедура выполняется следующими командами:

Ida #06

sta Rout

Ida #00

sta Rout+1

sta Rout+2

Ida #81

sta Rout+3

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

Ida 01

sta Rout+1

Ida 78

sta Rout+2

jsr Rout

После возврата в основную программу регистр А содержит требуемые данные. При считывании таблицы нужно давать приращение сначала младшему разряду адреса, а затем, если нужно, старшему (при обнулении младшего разряда). Такую процедуру может существенно облегчить использование команды с переменным индексом типа Ida table + х.


Контроль за нажатием клавиши

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

Когда нажатие зафиксировано, запускается временная задержка порядка 20 мс, за которой следует новый тест состояния клавиши. Если она остается нажатой, выполняется соответствующая процедура и устройство «ждет», когда клавиша будет отпущена, чтобы продолжить выполнение программы. Если результат теста оказался противоположным, последующие действия зависят от того, какое нажатие предусмотрено для данной клавиши: длительное или кратковременное. В первом случае процедура, вызываемая нажатием, отменяется. Во втором случае она выполняется (по истечении времени задержки), после чего устанавливается режим ожидания нового нажатия.

В следующем примере по одной из линий коммуникационного порта (бит 0 порта А) выполняется считывание. При отсутствии сигнала линия имеет высокий потенциал. Предполагается, что считывание продолжается, пока не будет нажата клавиша и не выполнится подпрограмма, обеспечивающая заданное время задержки (20 мс).



Подпрограмма подачи звуковых сигналов

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


Рекомендуем почитать
Детали ламповых приемников

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


Твой первый квадрокоптер: теория и практика

Детально изложены практические аспекты самостоятельного изготовления и эксплуатации квадрокоптеров. Рассмотрены все этапы: от выбора конструкционных материалов и подбора компонентов с минимизацией финансовых затрат до настройки программного обеспечения и ремонта после аварии. Уделено внимание ошибкам, которые часто совершают начинающие авиамоделисты. В доступной форме даны теоретические основы полета мультироторных систем и базовые понятия работы со средой Arduino IDE. Приведено краткое описание устройства и принципа работы систем GPS и Глонасс, а также современных импульсных источников бортового питания и литий-полимерных батарей.


Искусство схемотехники. Том 1 [Изд.4-е]

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


Искусство схемотехники. Том 2 [Изд.4-е]

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредоточивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах.Том 2 содержит сведения о прецизионных схемах и малошумящей аппаратуре, о цифровых схемах, о преобразователях информации, мини- и микроЭВМ и микропроцессорах.Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.


Искусство схемотехники. Том 3 [Изд.4-е]

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


Радио и телевидение?.. Это очень просто!

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