Форум по микроконтроллерам: Вариант Создания Клавиатуры Без Прерываний - Форум по микроконтроллерам

Перейти к содержимому

  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Вариант Создания Клавиатуры Без Прерываний

#21 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 07 Сентябрь 2013 - 07:13

Время не большое. Можно просто по командам пройтись и посчитать такты. Но опять, там много различных вариантов, соответственно и время будет разное.
Честно говоря мне не понятно, зачем это надо? Там надо столько с имитировать, что голова пухнуть будет.
С отладчиком никаких проблем, все ясно и понятно
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#22 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 07 Сентябрь 2013 - 21:59

Клавиатура работает. На этом и остановимся. Остается звук.
Вопрос: - там ли я его подключаю.
И еще хотелось бы вторую тональность на длительное нажатие. Как вариант в обработчике сделать счетчик в два раза больше прерывания и вставить еще один обработчик звука на флаг длительного нажатия ?. Тогда ОП 1 кГц, счетчик 500 Гц.
И еще вот, применяя знания полученные от ALEXa, формировать звук таким образом
rab_zvyk
	movlw	0x01			
	xorwf	PORTA	
	decfsz	ch_zvyk
	return
	bcf	flag_klav,2
	bcf	PORTA,0	
	movlw	100	; время сколько звук включен (200мс),
	movwf	ch_zvyk	; подготовим для следующих включений
	return

Нет ли какой крамолы? Вроде xorwf PORTA не повлияет на другие пины PORTA.

Сообщение отредактировал strannik: 08 Сентябрь 2013 - 00:00

0

#23 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 08 Сентябрь 2013 - 10:04

не повлияет. Просто красивей выглядит. Алекс и советовал послушать звук в железе. Может и проблем никаких нет.

Цитата

И еще хотелось бы вторую тональность на длительное нажатие.

Ну и в чем проблема? Интересно же именно самому сделать
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#24 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 08 Сентябрь 2013 - 21:47

Согласен! И сделаю. Вот только хочу убедиться:
"Остается звук.
Вопрос: - там ли я его подключаю."
0

#25 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 09 Сентябрь 2013 - 12:29

Конечно в Протеусе криво. Надо хотя бы через транзистор
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#26 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 09 Сентябрь 2013 - 14:12

Александр, твой ответ понимаю так:
"Конечно правильно. В протеусе работает криво." :i-m_so_happy:
По поводу транзистора, ты уже не один раз упоминал, извини, что не удосужился ответить конкретно - конечно да в реальной схеме. Сейчас пока приторможу.
Вижу чем заниматься (медленный разгон двигателя и стабилизация скорости) но пока мало знаний.
Пока изучаю http://forum.chipmk....2/page__st__680 авось найду для себя какие то зерна.

Сообщение отредактировал strannik: 09 Сентябрь 2013 - 14:15

0

#27 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 09 Сентябрь 2013 - 21:10

У меня насчет Протеуса предубеждение. В соответствии с моим консервативным образом мышления. :D
Так как я до конца не поянл последний пост, то на всякий случай покажу кусочек схемы, подключенной к излучателю. Именно с этой клавиатурой. Работает отлично. Будет время по позже, выложу на сайте как статью.
Прикрепленное изображение: индиатор сети.JPG
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#28 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 10 Сентябрь 2013 - 00:21

Александр,извини я на своей волне, поэтому уточню, твой ответ понимаю так:
"Конечно, флаг пищика в ОП поднимается правильно и в нужном месте. В протеусе работает криво." :i-m_so_happy:
По поводу транзистора, ты уже не один раз упоминал, извини, что не удосужился ответить конкретно - конечно в реальной схеме будет с транзистором.

Ну вот кусочек схемы расставил все точки над і.
Так бы еще с кодом. Любые куски кода, как образец или разъяснение, а тем более статейка - жду с нетерпением.

А резисторы возле кнопок - это подтяжка RA2 и RA3 к плюсу?
0

#29 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 10 Сентябрь 2013 - 17:41

в личке статья и проект
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#30 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 10 Сентябрь 2013 - 17:57

Просмотр сообщенияMAZ (10 Сентябрь 2013 - 17:41) писал:

в личке статья и проект

:thank_you2:
0

#31 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 10 Сентябрь 2013 - 22:41

Просмотр сообщенияMAZ (10 Сентябрь 2013 - 17:41) писал:


Такой у меня расширенный режим в личке и на ветке в форуме

Прикрепленные изображения

  • Прикрепленное изображение: 2013-09-10_223712.png
  • Прикрепленное изображение: 2013-09-10_223821.png

0

#32 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 04 Октябрь 2013 - 01:41

Доброй ночи форумчанам!
Собрал клаву в железе - и о чудо!!! Не заработало!!!!
Хотя должно бы, в протеусе все отменно работает.
В железе опрос кнопок идет (осцилл кажет)- реакции на кнопки нет. Куда копать?????? :unknw:
В прицепе проектик.
Кому на макетке не тяжело собрать - попробуйте запустить.
Александр (MAZ), что может быть?
На макетке проц и обвязка все живое - другие программки заливаются и работают как надо.

Прикрепленные файлы

  • Прикрепленный файл  To_MAZ.rar (44,26К)
    Количество загрузок:: 130

0

#33 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 04 Октябрь 2013 - 23:49

Немножко был занят. :thank_you2:
Меня вот что смущает.
radix hex
потом
movlw 40 ; загрузим счетчик антидребезговой задержки,
...
movlw 10 ; счетчик удкнопки равен 10 опросам клавиатуры
subwf ch_zalip_key,W ; 10х40мс+ время между опросами клавиатуры в программе


Тогда это не 10 и не 40, а 16 и 64. Хотя может и прокатить.
Там еще звук 100? это 256. Вы же выбрали глобальную 16-ю

Погонял в лабе, естественно только в режиме "удержания" выбор есть. т.е. реакция должна быть.
Смотрите железо.
Во за что и не люблю эти танцы с бубном без отладчика. Чуть сложные внешние условия и ломай голову.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#34 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 04 Октябрь 2013 - 23:54

Привет форумчане!
Отбой панике!!!
Все заработало на ура!!!!!
Уменьшил сопротивлюшки в клаве с 2 ком до 270ом и все заработало!!!!
И клава и ШИМ все работает и регулируется как было задумано!!!
Осталось проверить пищалку, как на зло в наличии оказалась самопищащая.
О Александр, спасибо за внимание, с твоими замечаниями буду разбираться.
И огромное спасибо за труд -КЛАВИАТУРУ!!!

Сообщение отредактировал strannik: 04 Октябрь 2013 - 23:58

0

#35 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 05 Октябрь 2013 - 14:45

Цитата

Уменьшил сопротивлюшки в клаве с 2 ком до 270ом и все заработало!!!!

Так на схеме именно 270. :D
максимум 500 ом
В этом и весь смысл.
А в пищалке надо разобраться с временем. Выше писал.
Труда никого не было. В общем не надрывался :D
Придумал за 2 часа. сделал за час.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#36 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 08 Октябрь 2013 - 15:44

MAZ сказал:

А в пищалке надо разобраться с временем.

Кстати - пищалка работает тоже как написано.
А предписано ей пищать урывками пока нажата кнопка.

По поводу
radix hex
Согласен что глоб 16

поэтому вот так будет правильней
movlw .40 ;
...
movlw .10 ;


Ну вот и можно двигаться дальше.
Задача - подсчет оборотов двигателя, а у меня вот, что осталось по портам,
Прикрепленное изображение: Bee.png
при том, что ШИМ занят тоже - управляет двигателем.
TMR0 и TMR1 тоже заняты.
Прошу совета - как считать и чем считать обороты?
кроме ШИМ порты можно тасовать.
Понимаю, что можно поменять проц - но и у этого ресурсов еще не меряно.
0

#37 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 08 Октябрь 2013 - 18:55

Без проблем считать TMR0 или TMR1. Есть внешние входы.
Считают датчиком. Обычно в народе берут оптопару от старой мыши и не большой усилитель. Таймер считает импульсы за определенное время.
Вот одна из схем предложенная на форуме. сообщение 1147
Ну может быть использовать компаратор и считать его прерывания. Из моего опыта это не очень удобно.
Надо какой нибудь таймер освобождать. Или брать другой камень. Без проблем можно перенести на 876 или 877.

Цитата

но и у этого ресурсов еще не меряно.

Какие там ресурсы :D
Не ну если хочется поломать голову, как все туда втиснуть, то пожалуйста. Но мне как то ничего в голову не приходит.
Да. По схеме. Если применять индикатор с одним светодиодом на сегмент и динамическая индикация, то ключи не нужны.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#38 Пользователь офлайн   Alex 

  • Убиватель МК
  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 891
  • Регистрация: 15 Февраль 11

Отправлено 08 Октябрь 2013 - 20:29

Цитата

Прошу совета - как считать и чем считать обороты?
Освобождайте таймер. Без него - никак. Мало того, нужно будет ещё и внешнее прерывание.
Не говорите что мне делать, и я не скажу куда Вам идти !
0

#39 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 09 Октябрь 2013 - 23:31

Просмотр сообщенияAlex (08 Октябрь 2013 - 20:29) писал:

Освобождайте таймер. Без него - никак. Мало того, нужно будет ещё и внешнее прерывание.


Датчик вращения - оптопара и сегментное колесико щелей на 30. (Точно лежит где-то в хламе, найти не могу. Но найду!)
В двух словах пожалуйста как будем использовать таймер и куда прикрутим прерывание?

А можно ли таймер как нибудь использовать для двух целей - например для ШИМа и подсчета времени или для подсчета времени и для формирования точных интервалов времени?

Сообщение отредактировал strannik: 10 Октябрь 2013 - 00:13

0

#40 Пользователь офлайн   strannik 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 02 Февраль 12
  • ГородКиев

Отправлено 10 Октябрь 2013 - 00:39

Просмотр сообщенияMAZ (08 Октябрь 2013 - 18:55) писал:

Если применять индикатор с одним светодиодом на сегмент и динамическая индикация, то ключи не нужны.

Хочется достигнуть яркого равномерного свечения
"индикатор с одним светодиодом на сегмент" - надеюсь он у меня такой.
Т.е. если горит в разряде восьмерка, то проц в динамике это потянет без ключа?
Схему без ключей представляю, надеюсь понял правильно, а вот бы еще кусочком кода для образца или ссылку где почитать.
0

Поделиться темой:


  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей