Показать сообщение отдельно
Старый 09.12.2010, 18:51  Вверх  #2
saleich
ЛагуноВед
Освоился
 
Аватар для saleich
 
Регистрация: 18.02.2010
Адрес: г. Тосно Ленинградской обл.
Сообщений: 1,265
По умолчанию

Вход 3 и 2 ( PB4 и PB3 соответственно)
Выходы 5, 6, 7( PB0/PB1/PB2 )

Если на входе 3 лог.ед. -срабатывает выход 7 постоянно (лог.ед.) далее плюс 1секунда выход 6 постоянно (лог.ед.)
Если на выходе 3 лог. ноль срабатывает выход 5 (кратковременно лог.ед. 2сек. Далее лог. 0 ) плюс 1 секунда отключается выход 6 (лог.0) плюс одна секунда выход 7(лог.0)

Если на входе 2 лог. ед.- алгоритм работы по входу 3 (лог.0). т.е. срабатывает выход 5 (кратковременно лог. ед. 2сек. далее (лог.0) плюс 1 секунда выход 6 (лог.0) плюс 1 секунда выход 7(лог.0)
P.S. подразумевается что на входе 3 лог.ед. если на входе 3 лог. 0 то на вход 2 поставить запрет на исполнение

Все что он успел написать:

program Auto
sub procedure Tone1
PINB3_bit=1
Delay_ms(1000)
PINB4_bit=1
Delay_ms(3000)
PINB5_bit=1
Delay_ms(2000)
PINB5_bit=0
end sub

sub procedure Tone2
PINB5_bit=1
Delay_ms(2000)
PINB5_bit=0
Delay_ms(1500)
PINB4_bit=0
Delay_ms(1000)
PINB3_bit=0
end sub

main:
' установка PORTB как вход
DDRB = 0x00
Delay_ms(2000)

' основной бесконечный цикл
while TRUE
' ЕСЛИ (кнопка B.7 нажата) играть Tone1
if (PINB7_bit <> 0) then
Tone1()
' ЕСЛИ (кнопка B.6 нажата) играть Tone2
if (PINB6_bit <> 1) then
Tone2()
wend
end.

Это черновик и алгоритм работы у него немного другой
__________________
Laguna II Phase I, 1,6 (К4М710) 5МКПП, "AUTHENTIQUE", 2001г.в. ксенон, климат, шторки, обновленный салон
saleich вне форума   Ответить с цитированием