Свежие обсуждения
Микроконтроллеры

Разработка таймера на основе PIC16F628(A) с программой на языке С

1 4 21

Вы можете обьяснить как мы по этой схеме будем определять какая кнопка нажата? Что-то я не понимаю.

 

Кажется начинаю догадываться.... но лучше разъяснить этот вопрос.

 

Я бы подал импульс на RB0 и считывал пины RB4-RB6.

 

Вот только тем же RB0 еще и будить МК можно.

 

A перед этим разбудить любой из трех кнопок.
picmaniac, а почему ты звукоизлучатель подключаешь к обеим ногам ,а не на ногу и землю?

 

В режиме "сон" RB0/INT настроен на вход, на нём лог.1 из-за подтягивающего резистора. RB1-RB7 выходы, на них лог.0. По нажатию кнопки МК просыпается. При индикации RB0 настроен на вход, чтоб не мешать. При опросе кнопок RB4-RB7 переключаются на вход (с подтягивающими резисторами), а RB0 на выход (лог.0). Тогда можно выявить, какая именно кнопка нажата. Я опрос кнопок с отстройкой от дребезга делал, конечно.
Звукоизлучатель подключен к двум ногам чтоб громче орал. Допустим, подаём на него по очереди 01, 10, 01, 10 - получается амплитуда удвоенная. Проверено электроникой! (осциллографом С1-94). Хотя есть там одна хитрость, и я попался поначалу.

 

picmaniac, просто я с твоей елочкой экспериментировал,громкость не понижается, если к одному пину подключить, амплитуда те же 4,5 в на пищалке, а так пин еще один высвободим

 

Candalupsky: амплитуда те же 4,5 в А подумать? А осциллографом смотрел сигналы на пищалке? В данном случае разница ощутима на слух, проверено в железе.
пин еще один высвободим А для чего? Просто так, чтоб был?

 

А почему она удваивается?сигнал в противофазе,но разность-то постоянная.Это ж не биполярное кодирование.В протеусе сейчас включил,посмотрю,что там будет

 

А для чего? Просто так, чтоб был?
Если захочется две независимые нагрузки коммутировать,например одну включить через N минут,а не по окончании интервала.
Тем более,индикация погашена,можно,например за минуту до срока свет зажечь в духовке