[an error occurred while processing this directive]
Вот по-быстрому примерно так:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено iosifk. 19 мая 2006 г. 17:33
В ответ на: Пришлите мне Ваш почтовый адрес. Я найду дома куски описания и Вам пришлю. отправлено iosifk. 19 мая 2006 г. 16:54

Вот такой пример:

Есть:

вход Х0
Выход Y0
Таймер 1 сек

Как сделать так, чтобы на выходе Y0 появился сигнал 1, задержанный относительно Х0 на 1 сек.

вводим переменную Z0,
Таймер Т0 запускается коротким импульсом = 1, который выдается в порт, например Х1. Результат счета читается в порте Т0.
Выберем состояние таймера:
Исходное = 1
счет = 0
конец счета = 1

По сбросу Z0=0.
После получения Х0=1 взведем Z0=1. и запомним, что мы получали Х0=1.


Z0=(Х0 & !Z0) | Z0 - это защелка, срабатывает по появлению 1 на Х0 ( переднему фронту )
Работает в ассемблере так:
сначала в акк кладется Х0
Потом добавляется по "И" инверсное Z0
Потом по "ИЛИ" добавляется Z0

Если, например, в формуле есть еще скобки, то сначала считаются они и их результат сбрасывается в еще одну Zi.

Y0 = T0 & Z0 - как только T0 станет в 1, эта единица будет передана в выходной порт Y0; но только при Z0=1, те это возможно после получения сигнала начала счета

Работает в ассемблере так:
сначала в акк кладется T0
Потом добавляется по "И" - Z0
результат из акк пересылается в порт Y0

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

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru