2013-12-26 1 views
0

Я использую микроконтроллер PIC16F882 (28 контактов).4-значный 7-сегментный и 8-и кнопочный пульт с обычной клавиатурой на одном порту (PORTC), если микроконтроллер PIC

У меня есть аппаратное обеспечение, в котором 4-значный семисегмент (общий анод &, подключенный через 4 транзистора через PORT B1 TO B4) и 8 кнопок обычной клавиатуры, подключенных к одиночным контактам PORT (PORT C). Теперь я могу запустить четырехзначный семисегмент без использования каких-либо кнопок. Я должен написать код, в котором, когда я нажимаю кнопку, тогда только дисплей должен загореться и показать какое-то значение.

Теперь моя проблема в том, что для распознавания клавиатуры я должен сделать (инициализировать) порты контактов в качестве входных данных и поместить значение на дисплей, я должен сделать вывод порта (инициализировать) в качестве выходных контактов. Итак, как я могу управлять дисплеем с клавиатуры, подключенной к одному порту.

Я попытался сканировать клавиатуру и отобразить один за другим на 1 мс, но клавиатура не работает. (контроллер не может распознать нажатие клавиши). Выполняя этот процесс сканирования, когда я вижу напряжение на любой клавише, я нашел плавающее значение 1,56 В & 2,65 В (без нажатия клавиши) При нажатии клавиши не меняйте напряжение.

Я не знаю, что мне делать? Мне нужна идея или концепция, которые я могу попытаться реализовать. Пожалуйста, помогите.

Заранее спасибо.

+0

Возможно, вы можете начать с рисования схемы? Знаете, тысяча слов и все такое. – doynax

+0

Определенно нужна схема. Вы говорите, что семисегментный дисплей находится на PORT B ​​и клавиатуре на PORT C, но затем говорят, что они находятся на одном порту. Так что это? –

ответ

0

Я думаю, вам лучше использовать чип, который имеет больше портов для вашего проекта (скажем, pic16F877), чтобы вы могли иметь 7-сегментный дисплей на одном порту (portB) и другом порту (portC) для включения/выключения сегмент, который вам нравится. PortD используется для клавиатуры. Если вы используете отдельный порт, как я упоминал выше, он экономит ваше время, когда вам нужно посмотреть на свою схему, а также на код. Вы можете посмотреть эту ссылку ниже от Trini Robotics, чтобы узнать, как они управляют 7-сегментным дисплеем: http://trinirobotics.com/?p=652

+0

Это немного похоже на спам, хотя я уверен, что это не так. Я бы рекомендовал редактирование, чтобы было ясно, что это подлинный ответ, esp, интегрируя ссылку как содержательную ссылку и затягивая «делая это, это очень ясно и сэкономить ваше время», чтобы быть менее расплывчатым. –

+0

Спасибо за ваш комментарий. У меня есть еще один путь! – user1564533

Смежные вопросы