Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Периферия » Работа с клавиатурой 3x4


Работа с клавиатурой 3x4

Сообщений 1 страница 6 из 6

1

Добрый день. Есть такая задача: необходимо чтоб код нажатой кнопки сохранялся на выводах PD3-PD6, а при появлении импульса на PD2 этот код сбрасывался с выходов мк. Порт B использую для опроса клавиатуры.
По идее всё должно работать,  но в протеусе и реально не работает.
Делаю так

Код:
$regfile = "attiny2313.dat"
$crystal = 8000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40

Config Kbd = Portb
Config Pind.6 = Output
Config Pind.5 = Output
Config Pind.4 = Output
Config Pind.3 = Output
Config Pind.2 = Input
config INT0 = FALLING                          
On Int0 Res

Dim Key As Byte , Oldkey As Byte
Enable INTERRUPTS                                         
Enable Int0                                                 

Do
 Key = Getkbd()
 If Key <> 16 Then Oldkey = Key
 If Key = Oldkey Then
  Shift Oldkey , Left , 4                                   'сдвиг на 4 знака влево
  Portd = Oldkey
  End If
Loop

Res:
Portd = 0
Return

End

http://s1.uploads.ru/t/7Iofj.jpg
Что делаю не так?

0

2

В "Протеус" клавиатуру лучше делать из отдельных
кнопок "BUTTTON", эти глючат.
По клавиатуре и выводу уже была тема
Управление МК с клавиатуры

0

3

Добавил Config Kbd = Portb , Debounce = 20 , Delay = 10, повесил резисторы на столбцы и строки и всё заработало как в протеусе так и в реале.

0

4

А подтяжкой внутренней, не тянет?

0

5

Не пробовал, в железе поставил без резисторов - работает.

0

6

Обычно при использовании матричной клавиатуры линии входов через диоды завязаны на одно из прерываний, чтобы не пропустить момент нажатия кнопки

0


Вы здесь » Программирование ATMEL в BASCOM. » Периферия » Работа с клавиатурой 3x4