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

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
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

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


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

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

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

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

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

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

Войти

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

Войти сейчас