5 сообщений в этой теме

G0LD    0

При разработке курсовика (таймер) столкнулся с проблемой формирования временной задержки в 1 секунду (по которой происходит, собственно, отсчет времени). Есть несколько идей как это сделать. В Инете информации как таковой не нашел, поэтому прошу подсказать какой именно способ выбрать (или может еще существуют? :) ) Приходиться использовать только один и из таймеров КМ1816ВЕ31.

1. Всвязи с тем, что максимально в регистр Т0 можно загрузить 16-битовое число, а при частоте 12 МГц МК инкрементирует свои таймеры раз в 1 мкс, то макс. он может считать до 65536 мкс (FFFFF). Тогда надо использовать дополнительно регистр и считать до 50 000 мк 20 раз. Не очень удобное и красивое решение.

2. Можно понизить тактовую частоту самого процессора раз в 100 до 0,12 МГц. Т.о. инкремент таймера будет происходить каждые 100 мкс и 1 секунда будет равна 10 000 "инкрементов". Такое число влезет в 16 бит.

3. Еще есть идея поставить внешний генератор 1 сек. и повесить его на прерывания. Но вопрос в точности и целесообразности решения.

Идеи, конечно, не сильно оригинальны и красивы, но ничего другого в голову пока не пришло :) Может уже есть подходящие решения такой задачи ? :)

Изменено пользователем G0LD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Klima    0
При разработке курсовика (таймер) столкнулся с проблемой формирования временной задержки в 1 секунду (по которой происходит, собственно, отсчет времени). Есть несколько идей как это сделать. В Инете информации как таковой не нашел, поэтому прошу подсказать какой именно способ выбрать (или может еще существуют? :) ) Приходиться использовать только один и из таймеров КМ1816ВЕ31.

1. Всвязи с тем, что максимально в регистр Т0 можно загрузить 16-битовое число, а при частоте 12 МГц МК инкрементирует свои таймеры раз в 1 мкс, то макс. он может считать до 65536 мкс (FFFFF). Тогда надо использовать дополнительно регистр и считать до 50 000 мк 20 раз. Не очень удобное и красивое решение.

2. Можно понизить тактовую частоту самого процессора раз в 100 до 0,12 МГц. Т.о. инкремент таймера будет происходить каждые 100 мкс и 1 секунда будет равна 10 000 "инкрементов". Такое число влезет в 16 бит.

3. Еще есть идея поставить внешний генератор 1 сек. и повесить его на прерывания. Но вопрос в точности и целесообразности решения.

Идеи, конечно, не сильно оригинальны и красивы, но ничего другого в голову пока не пришло :) Может уже есть подходящие решения такой задачи ? :)

используй первый способ

задачя какая стояла наверно организовать задержку при помощи таймера мк

а не заригистрировать сигнал с чястотой в 1гц в первом способе нет ничего страшного и безобразного предварительный подщёт пару тестов исправление и вуаля ты получиш задержку в 1 сек с точностю до +/- 1мкс

для тестирования мож взять емулятор сингл чип машына или протеус я сам токо 3 месяца програмировать как научился но но мне кажетса 1-вый способ всех спосбв лутше мутори меньше

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
G0LD    0

Задача и есть создание таймера. Двухканального, с индикацией часов/мин/сек до оконания счета. Всё остальное вроде понятно, но тупо застрял на этих секундах :)

Спасибо за оперативный ответ :)

Что за эмулятор? Я недавно перебрался с серии К580 на эти МК51. Для 580 были хорошие эмуляторы, а вот для 51 сингл чип машына или протеус это что? Напиши названия полные если не трудно :)

Изменено пользователем G0LD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Klima    0
Задача и есть создание таймера. Двухканального, с индикацией часов/мин/сек до оконания счета. Всё остальное вроде понятно, но тупо застрял на этих секундах :)

Спасибо за оперативный ответ :)

Что за эмулятор? Я недавно перебрался с серии К580 на эти МК51. Для 580 были хорошие эмуляторы, а вот для 51 сингл чип машына или протеус это что? Напиши названия полные если не трудно :)

Single-Chip Machine 1.22

http://www.dca.narod.ru/simulation/mk51.htm

на первых парах удовлитворит но потом увидиш где там собака зарыта (таймеры конают иногда не работет счёт внешних импульсов)

Proteus 6 Professional _ttp://www.labcenter.co.uk/index_uk.htm

програма настоящий комбайн для обучяющихся уовлитворит полёт фантазий пока библиотеки позволяют (елементная база)

Изменено пользователем Klima

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас