OtixMytom
|
|
1 | |
В чем отличие таймера АВР от счетчика АВР?23.01.2017, 05:03. Показов 7134. Ответов 24
Метки нет (Все метки)
|
23.01.2017, 05:03 | |
Ответы с готовыми решениями:
24
Программатор АВР Кодировка АВР студио Термостат девайса на АВР подключения авр мк, к компьютеру |
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
|
23.01.2017, 05:20 | 2 |
В чём отличие яблока от фрукта?
Таймер это счётчик, который считает время (например такты системного клока). В AVR, да и во многих других мк, все счётчики могут работать таймерами, и поэтому называются официально Timer/Counter.
0
|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
|
|
23.01.2017, 06:40 | 3 |
А мне расскажите, пожалуйста, как заставить счетчик в АВР считать на уменьшение. В счетчиках в блок-схеме есть сигнал "direction", но как его изменить, я не нашел.
0
|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
|
|
23.01.2017, 07:44 | 4 |
Сообщение от yiv91
0
|
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 333
|
|
23.01.2017, 10:03 | 5 |
Жесть! Всякие кино вообще не смотрим? Злодей установил бомбу и включил ТАЙМЕР, что мы видим на экране? Цифирьки на экране таймера уменьшаются.
Счетчик считает вверх (инкремент), таймер считает вниз (декремент).
0
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|
23.01.2017, 10:19 | 6 |
Таймер - это счетчик плюс схема сравнения плюс (опционально) схема управления ножками для формирования сигналов.
Сам по себе счетчик может обладать доп функционалом, не нужным для целей таймера - например захват/тактирование от внешнего сигнала. Например, в stm32 четырехканальный таймер - это один счетчик и четыре схемы сравнения
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
|
|
23.01.2017, 13:43 | 8 |
Таймер = устройство измерения времени (путем подсчёта тиков). Счётчик = устройство счета входного воздействия (тиков).
0
|
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
|
|
23.01.2017, 23:16 | 9 |
Сообщение от yiv91
0
|
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 32
|
|
24.01.2017, 10:31 | 10 |
Сообщение от OtyxMytom
В AVR эти понятия не делятся, и эта приблуда в них обзывается "таймер-счётчик".
0
|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
|
|
24.01.2017, 10:43 | 11 |
Сообщение от инкер
0
|
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
|
24.01.2017, 11:28 | 12 |
Сообщение от yiv91
Загружай инвертированный интервал в счётный регистр TCNT и пусть таймер считает до переполнения вверх...
0
|
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
|
|
24.01.2017, 11:33 | 13 |
Сообщение от yiv91
Только с двухбайтным будет чуть сложнее, хотя принцип общий - взять число FFFFh, вычесть из него ваше задание таймера, загрузить в счетчик, ждать прерывания по переполнению.
0
|
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
|
24.01.2017, 12:20 | 14 |
Сообщение от инкер
0
|
OtixMytom
|
|
25.01.2017, 01:42 | 15 |
Сообщение от BtYur
В AVR эти понятия не делятся, и эта приблуда в них обзывается "таймер-счётчик". В универе спросил преподаватель. Сдаю лабу "Таймеры AVR" |
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
|
|
26.01.2017, 13:41 | 16 |
Сообщение от яверт
Такое решение само напрашивается, самое компактное, но по какой-то причине, которую точно вспомнить не могу, отказался от него в пользу вычитания. Дело было давно, когда сам осваивал АВР. Было что-то типа программного ШИМа на счетчике, пока применялся 8-ми разрядный счетчик и команда СОМ, все работало нормально, перешел на 16-тиразрядный и два СОМа - возник эффект то ли пропадания импульсов, то ли подергивание фронта. Проверялось все осциллографом, причину тогда "вычислил" как казалось, так как тестовая программа начала показывать монотонное, без пропусков и дерганий, увеличение ширины импульса от нуля до максимума. Версия такая - возможно в программе была ошибка и она исчезла при модификации, при замене двух СОМов на вычитание.
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
|
|
26.01.2017, 14:44 | 17 |
Посмотрите разницу между командами COM и NEG. Для примера возьмите число 0.
0
|
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
|
|
26.01.2017, 16:52 | 18 |
Сообщение от u37
Все оказалось просто, ошибка происходила не с двумя СОМ, а с двумя NEG, которые я по неопытности применял, чтобы получить двухбайтовое дополнительное число. Из FFFFh получалось 0101h вместо 0001h например. С одним байтом работало, с двумя ломалось. Пришлось придумать макрос, такой чтобы не привлекать дополнительные регистры .MACRO MOD @0,@1 NEG @1 BRBC 1,M1 DEC @0 M1: COM @0 .ENDM
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
|
|
26.01.2017, 17:43 | 19 |
))) ADC/SBC
И вообще, переходите на 32-битный процессор. "Оно" того точно не стоит.
0
|
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
|
|
26.01.2017, 17:56 | 20 |
Сообщение от u37
0
|
26.01.2017, 17:56 | |
26.01.2017, 17:56 | |
Помогаю со студенческими работами здесь
20
Замена AT89S8253 на АВР-ку Програматор к авр мега 32 макросы в авр студио Модели микроконтроллеров АВР Управление ШД по USB через АВР АВР студио для новичков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |