Читаем Как проектировать электронные схемы полностью

Использование 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 мс).



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

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

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

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

В приведенной ниже подпрограмме для создания временных задержек в очередной раз используется длительность выполнения команд. Информация хранится в регистрах А и X; выходной сигнал подается на линию, соответствующую биту 1 порта А. Его частота составляет приблизительно 1000 Гц при длительности 250 мс.



Формирование временной задержки

Перейти на страницу:

Похожие книги

Права водителя 2014. Как противостоять недобросовестному гаишнику? С таблицей штрафов
Права водителя 2014. Как противостоять недобросовестному гаишнику? С таблицей штрафов

После того как серьезно ужесточились меры ответственности за нарушение водителями правил дорожного движения, по мнению автора книги, наступила НОВАЯ ЭПОХА В ДОРОЖНОМ ДВИЖЕНИИ РОССИИ. Так как защита прав водителей – одно из направлений профессиональной деятельности Дмитрия Усольцева, он в удобной форме «вопрос – ответ» дает практические (жизненные) советы со ссылкой на правовую базу о том: как инспектор ДПС выбирает, какую машину ему остановить, и в каких случаях он имеет на это право? когда инспектор может изъять права? как проходит медосвидетельствование? как себя вести при ДТП? где можно и нельзя парковаться? предусмотрено ли наказание за владение и использование «мигалок-крякалок»? можно ли затемнять стекла и как сильно, и о многом другом (техосмотре, аптечках и так далее).Книга учитывает все изменения в законодательстве, действующие в 2014 году.

Дмитрий Александрович Усольцев

Автомобили и ПДД / Юриспруденция / Техника / Образование и наука
Вижу цель. Записки командора
Вижу цель. Записки командора

Эта книга о людях, мало известных широкому кругу публики (хотя в кругу специалистов их имена порой говорят о многом). О тех, кто испытывает и доводит до ума автомобильную технику.А "командором" на сленге испытателей принято называть руководителя выездных испытаний (в народе именуемых автопробегами), проводимых в разных регионах страны, а то и за её пределами. Как правило, им является ведущий инженер того или иного проекта.В непростой шкуре командора автору – ведущему испытателю опытных моделей Горьковского и Волжского автозаводов – довелось пребывать три с лишним десятка лет и, думается, его наблюдения могут представлять определённый интерес.Правда, мемуары сейчас пишут все. Зачастую, увы, они сводятся к банальному жизнеописанию – "родился", "женился" и прочее.Посчитав подобный подход абсолютно для себя неприемлемым, автор постарался в меру сил выстроить событийный ряд из деяний и процессов, в которых ему довелось участвовать.Вдобавок, чтобы всё это опять же никак не походило на автобиографию, события изложены в виде отдельных эпизодов.В текст включены также фрагменты из книги "Высокой мысли пламень", редактором-составителем которой довелось быть автору.Книга обильно проиллюстрирована фотографиями из личного архива автора. По принципу "Лучше один раз увидеть…".Что из всего этого получилось – судить читателям.

Вадим Александрович Котляров

Биографии и Мемуары / Автомобили и ПДД / Техника / Документальное
Крылья Родины
Крылья Родины

Когда в 2043 году разверзлись и рухнули небеса и через открывшийся в зените портал на Землю хлынули полчища инопланетных захватчиков — отразить нашествие чужих удалось лишь ценой колоссальных потерь, применив термоядерное оружие. Но то была лишь первая волна вторжения — противник вновь собирается с силами, время от времени прощупывая нашу военно-космическую оборону точечными десантами и ведя разведку боем. Россия отвечает созданием группировки орбитальных крейсеров и летающих авианосцев, на которых базируются эскадрильи построенных по трофейной технологии истребителей-перехватчиков. Они — не просто КРЫЛЬЯ РОДИНЫ и стражи неба, патрулирующие стратосферу. Они — последняя надежда человечества на выживание в звездной войне…НОВЫЙ роман от автора бестселлеров «Драконы Сарда» и «Воины Сарда» — не замшелая «космическая опера», как жанр устаревшая еще в прошлом веке. Это сверхскоростной экспериментальный военно-космический боевик нового поколения, с первых страниц врубающий полный форсаж и демонстрирующий чудеса высшего пилотажа!

Андрей Борисович Земляной , Андрей Земляной , Дмитрий Игоревич Скирюк , Лев Иванович Гумилевский

Фантастика / Транспорт и авиация / Космическая фантастика / Научная Фантастика / Техника