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

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

Отправлено rispoi 26 января 2006 г. 10:30

задача такая
на один вход МК 16ф873 (877) приходит последовательно 2 цифры (с некоторым интервалом)(значение может быть от 0 до 9), а именно каждая цифра приходит в таком виде
например 1 - это одна лог единица длительностью 0,5 мС
2-2,
3-3
9-9лог единиц, длит 0,5мС
0-10 имп
(интервал между 1 - тоже 0,5 Мс), Но перед каждым пакетом означающем приходящее число идет 'запускающая' лог 1, тоже 0,5 мС, те которая говорит- дальше считай импульсы и узнаеш какое число пришло.
Так вот, получается что придет 2 пакета с неизвестным интервалом (он может колебатся от 0,3 до 2 сек)

вопрос такой
требуется
1)сохранить в памяти 1 цифру как деситки, вторую как единицы
2)вычесть из получившегося единицу, например, если было 29, то стало 28 или было 20 - стало19(те чтоб перенос был)
3) получившееся значение проверить на кратность 2 и если не кратно, то уменьшить еще на единицу, например было 18,ок -переходим к пункту4,а если было 21, то вычитаем 1 , получаем 20 и переходим к п4
4)получившееся число представляем двоичным 5-разрядным на какойнить порт мк


мне не нужна готовая прога просто если знаете то подскажите как, СПАСИБО.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru