Кто поможет с куском кода на кнопки вот такие http://www.getchip.net/posts/060-drajjv … ttiny2313/
Если можно то с комментарием.
Пробовал на 16 меге + LCD на одну кнопку для начала, что-то увидеть, ни чего не получил.
'Блок тест MRC-40'
$regfile = "m16def.dat" ' используем ATbanned6
$crystal = 16000000 ' частота установленного кварца 16 mHz
$lib "lcd4.lbx" 'используем 4-х битное подключение дисплея с помощью альтернативной библиотеки
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
'* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
'
'Библиотека lcd4.lbx использует следующее подключение -
'
'LCD = ATmega32
'---------------
'Rs = PortB.0
'RW = PortB.1 в данном варианте не используется - просто подключен (так же его можно подключить на землю)
' E = PortB.2
'E2 = PortB.3 данный вывод используется для подключения некоторых дисплеев с двумя чипами (здесь не используется)
'Db4 = PortB.4
'Db5 = PortB.5
'Db6 = PortB.6
'Db7 = PortB.7
' указываем конфигурацию подключения дисплея к портам МК
'Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
'*******************************************************************************
'*********объявляем переменные******
Dim A As Integer 'переменная которую приравниваем со значением таймера 0
Dim I As Byte 'проверяем эту переменную на число срабатываний, если равно 2 тогда нагрузку включаем/выключаем
'***********конфигурация портов*******************
Config Timer0 = Timer , Prescale = 1 , Capture Edge = Falling 'настройка таймера0,
Config Pind.0 = Output
Config Lcd = 16 * 2 ' экран 16*2 (любой с контроллером HD44780)
Config Lcdpin = Pin , Rs = Portb.0 , E2 = Portb.3 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
'****Reset for Start***********
Stop Timer0
'******Interrupt routline setting****
'ссылки на обработчики прерываний
On Timer0 Res:
'разрешаем все что включили
Enable Timer0
'останавливаем и сбрасываем таймер
Stop Timer0
Timer0 = 0
'****** основной цикл программы ******
Do
Cls ' очистка дисплея
Cursor Off
Lcd " KHOPKA " ' LCD заставка
Waitms 100
Config Pind.0 = Output ' Нога порта D0 на выход
Reset Pind.0 ' Сброс порта D
Config Pind.0 = Input ' Нога порта D0 на вход
Start Timer0 'запускаем таймер0
'Set Portd.4 'зажигаем светодиод
'Waitms 100 'ждем некоторое время, чтобы не ловить эхо
Tik:
If Pind.0 = 1 Then 'если значение порта D0 равно 1, тогда считаем что таймер стоп
Stop Timer0 'останавливаем таймер
A = Timer0 'присваиваем переменной текущее значение таймера0 (для Т0 это может быть от 0 до 65535)
Else 'в противном случае,продолжаем счет
Goto Tik
End If
Goto Prn_lcd
Goto Res
Loop
'******* Сброс таймера **********
Res: 'прерывание от таймера0
Stop Timer0 'останавливаем таймер
Timer0 = 0 'сбрасываем значение таймера0 в 0
'Reset Portd.4 'гасим светодиод
Return
'*********** Смотрим результат ****************
Prn_lcd:
Cls
Cursor Off
Lcd A
Lcd " Pin D"
Locate 1 , 1
Waitms 300
Return
End