Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 02.02.2013, 19:17  
Senay76
Частый гость
 
Регистрация: 19.10.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Senay76 на пути к лучшему
По умолчанию Энкодер + таймер

Здравствуйте, подскажите как с помощью энкодера менять регистры сравнения таймера Т1. мк
Реклама:
Senay76 вне форума  
Непрочитано 02.02.2013, 19:26  
Арктур
Почётный гражданин KAZUS.RU
 
Аватар для Арктур
 
Регистрация: 29.10.2012
Сообщений: 3,015
Сказал спасибо: 7
Сказали Спасибо 3,494 раз(а) в 1,783 сообщении(ях)
Арктур на пути к лучшему
По умолчанию Re: энкодер + таймер

http://chipenable.ru/index.php/progr...or-na-avr.html
Арктур вне форума  
Непрочитано 02.02.2013, 21:05  
Senay76
Частый гость
 
Регистрация: 19.10.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Senay76 на пути к лучшему
По умолчанию Re: энкодер + таймер

эт я понимаю, у меня проблема несколько в другом: энкодер я обрабатываю по внешнему прерыванию, регистр сравнения таймера 16 ти разрядный. Соответственно нужно создать 16 ти разрядную переменную и в прерывании ее инкрементировать или декрементировать.
Либо второй вариант: содать сетку частот в виде массива и прерывании менять адрес, но тогда как записывать значения массива в регистры.
Senay76 вне форума  
Непрочитано 02.02.2013, 22:34  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: энкодер + таймер

Senay76, как я понял, Вам надо энкодером увеличивать и уменьшать значение регистра сравнения для таймера.
Если да, то зачем еще переменную делать? Сразу регистр и изменяйте.
swat24 вне форума  
Непрочитано 02.02.2013, 22:41  
Senay76
Частый гость
 
Регистрация: 19.10.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Senay76 на пути к лучшему
По умолчанию Re: энкодер + таймер

Вы правильно поняли, но проблема в том что регистр сравнения состоит из двух 8ми разрядных регистров. Если вам не сложно может подскажете как это сделать на asemblere.
Senay76 вне форума  
Непрочитано 02.02.2013, 22:44  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: энкодер + таймер

Я не очень помню ассемблер. Но я бы сделал так: при прерывании инкрементировать младший регистр, при установке флага переполнения инкрементировать старший регистр.

А какой у Вас контроллер?

Последний раз редактировалось swat24; 02.02.2013 в 22:52.
swat24 вне форума  
Непрочитано 02.02.2013, 23:13  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: энкодер + таймер

Регистр сравнения - это регистр ввода/вывода (РВВ). Чтобы его модифицировать нужно сначала его считать в регистры общего назначения (РОН), модифицировать эти РОН, а потом только записать обратно в РВВ.
Или второй вариант держать переменную (2 байта), ее изменять и просто копировать в регистр сравнения.
alvadep вне форума  
Непрочитано 02.02.2013, 23:29  
Senay76
Частый гость
 
Регистрация: 19.10.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Senay76 на пути к лучшему
По умолчанию Re: энкодер + таймер

Сообщение от alvadep Посмотреть сообщение
Регистр сравнения - это регистр ввода/вывода (РВВ). Чтобы его модифицировать нужно сначала его считать в регистры общего назначения (РОН), модифицировать эти РОН, а потом только записать обратно в РВВ.
Или второй вариант держать переменную (2 байта), ее изменять и просто копировать в регистр сравнения.
я тах и хотел сделать но как изменять двухбайтовую переменную, может есть какие-нибудь специальные операции или команды
Senay76 вне форума  
Непрочитано 02.02.2013, 23:35  
Senay76
Частый гость
 
Регистрация: 19.10.2010
Сообщений: 35
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Senay76 на пути к лучшему
По умолчанию Re: энкодер + таймер

Сообщение от swat24 Посмотреть сообщение
Я не очень помню ассемблер. Но я бы сделал так: при прерывании инкрементировать младший регистр, при установке флага переполнения инкрементировать старший регистр.

А какой у Вас контроллер?
контролер уменя at90usb1286
хороший вариант , но почему-то при переполнении младшего регистра флаг не устанавливается.
Может быть проблема с avr studio ибо я два дня пытался запустиь таймер и разрешить прерывания и все бестолку, после переустановил софт итаймер запустился за 5 минут +10 мин на прерывания
Senay76 вне форума  
Непрочитано 02.02.2013, 23:35  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: энкодер + таймер

в таком случае так как alvadep сказал. Я просто не очень помню эти регистры, давно уже с ассемблером не работал.

Senay76,
Хорошо, Вы считывали значение регистров в регистры А,В и там сравнивали и прибавляли 1 к младшему, и после переполнения не устанавливался бит?

Последний раз редактировалось swat24; 02.02.2013 в 23:38.
swat24 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Энкодер Gladkih Производственное оборудование 14 26.09.2011 21:19
Энкодер брешет 7Fantomas7 Производственное оборудование 10 03.05.2011 16:18
Atmega32 и энкодер Pevek80 Микроконтроллеры, АЦП, память и т.д 21 06.03.2011 20:46
Энкодер alberio Информация по радиокомпонентам 18 05.08.2010 22:51
Энкодер ЛИР-458А bobdenis Производственное оборудование 5 03.04.2007 14:20


Часовой пояс GMT +4, время: 02:37.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot