Помогите составить программу.

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
XyLigan_xD
Родился
Сообщения: 9
Зарегистрирован: Вт мар 20, 2012 19:02:25

Помогите составить программу.

Сообщение XyLigan_xD »

Народ,помогите пожалуйста составить программу в Code Vision AVR
Для светодиодов.
Нужно чтобы при нажатии 1 кнопки,загорались 2 светодиода.Когда отпускаешь чтобы тухли
А при нажатие 2 кнопки,загорались следующие 2 светодиода.

У меня так по заданию,что PORT D это выход,а порт B вход, и светодиоды подключение по аноду.
И правильно ли я построил схему?
Вложения
1.rar
Файл Proteus
(14.54 КБ) 135 скачиваний
Cхема 1.jpg
(150.41 КБ) 370 скачиваний
Последний раз редактировалось XyLigan_xD Вс мар 25, 2012 16:08:34, всего редактировалось 1 раз.
Аватара пользователя
SERJ
Мудрый кот
Сообщения: 1815
Зарегистрирован: Пн янв 12, 2009 01:59:20
Откуда: Россия.

Re: Помогите составить программу.

Сообщение SERJ »

XyLigan_xD писал(а):Нужно чтобы при нажатии 1 кнопки,загорались 2 светодиода.
Когда отпускаешь чтобы тухли.
А при нажатие 2 кнопки,загорались следующие 2 светодиода.
Выкиньте МК и соедините так.
Будет очень оригинальное решение и 5-ка Вам обеспечена. :)))

Изображение
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Помогите составить программу.

Сообщение Flasher »

преподы вообще всякий бред начали задавать. И некого учить, и некому...
XyLigan_xD
Родился
Сообщения: 9
Зарегистрирован: Вт мар 20, 2012 19:02:25

Re: Помогите составить программу.

Сообщение XyLigan_xD »

SERJ писал(а):
XyLigan_xD писал(а):Нужно чтобы при нажатии 1 кнопки,загорались 2 светодиода.
Когда отпускаешь чтобы тухли.
А при нажатие 2 кнопки,загорались следующие 2 светодиода.
Выкиньте МК и соедините так.
Будет очень оригинальное решение и 5-ка Вам обеспечена. :)))

Изображение


Да мы так тоже предлогали =))
Но просто у нас курсовая начинается,там тоже через МК подключать надо будет всё.
Вот практичку дала))
Чтобы осваивались
Я примерно знаю как,но у меня почему-то не запускается..
Вот и прошу помочь)
Mytilus G.
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт окт 28, 2010 03:49:33
Откуда: откуда все люди родятся

Re: Помогите составить программу.

Сообщение Mytilus G. »

Код: Выделить всё

ser R16
out DDRD, R16
out PORTB, R16
ldi R17, 0b000001
ldi R18, 0b000011
ldi R19, 0b000100
ldi R20, 0b001100
ldi R21, 0b010000
ldi R22, 0b110000

LOOP:
clr R23
in R16, PINB
and R16, R17
breq STEP1
or R23, R18

STEP1:
in R16, PINB
and R16, R19
breq STEP2
or R23, R20

STEP2:
in R16, PINB
and R16, R21
breq STEP3
or R23, R22

STEP3:
out PORTD, R23
rjmp LOOP
XyLigan_xD
Родился
Сообщения: 9
Зарегистрирован: Вт мар 20, 2012 19:02:25

Re: Помогите составить программу.

Сообщение XyLigan_xD »

Так и не понял зачем Вы предыдущее сообщение процитировали?
Считаете, что мы его должны два раза прочитать?

aen





Это в Code Vision Avr?
Это вроде не язык C
просто мы совсем не так всё делали..
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Помогите составить программу.

Сообщение YS »

преподы вообще всякий бред начали задавать.


Да просто это самое элементарное, что вообще можно задать. Видимо, препод уже разочаровался в своих студентах настолько, что дает такие идиотски-простые задания чтобы иметь хоть какую-то надежду на то, что их выполнят.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
XyLigan_xD
Родился
Сообщения: 9
Зарегистрирован: Вт мар 20, 2012 19:02:25

Re: Помогите составить программу.

Сообщение XyLigan_xD »

Ну у нас такой преподователь..что ничему не учит толком..
Но требует..а всем лень =/

Если вам это легко,помогите пожалуйста)
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Помогите составить программу.

Сообщение pyzhman »

Да, на CV не похоже.
Docendo discimus
XyLigan_xD
Родился
Сообщения: 9
Зарегистрирован: Вт мар 20, 2012 19:02:25

Re: Помогите составить программу.

Сообщение XyLigan_xD »

Всё,написал программу.
Всё работает.
Если вдруг кому надо,могу выложить
maXINa
Открыл глаза
Сообщения: 61
Зарегистрирован: Ср сен 28, 2011 14:23:55

Re: Помогите составить программу.

Сообщение maXINa »

Размести, будет интересно в качестве тренировки.
Я не волшебник, я только учусь!
XyLigan_xD
Родился
Сообщения: 9
Зарегистрирован: Вт мар 20, 2012 19:02:25

Re: Помогите составить программу.

Сообщение XyLigan_xD »

while (1)
{
if(PINB.0==1)
{PORTD.0=1; PORTD.1=1;}
else
{PORTD.0=0; PORTD.1=0;}
if(PINB.2==1)
{PORTD.2=1; PORTD.3=1;}
else
{PORTD.2=0; PORTD.3=0;}
if(PINB.4==1) {PORTD.4=1; PORTD.5=1;}
else
{PORTD.4=0; PORTD.5=0;}
};
}
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Помогите составить программу.

Сообщение YS »

Я бы написал так:

Код: Выделить всё

while (1)
{
  PORTD=(PINB & 0x01) | ((PINB & 0x01) << 1) | (PINB & 0x04) | ((PINB & 0x04) << 1) | (PINB & 0x10) | ((PINB & 0x10) << 1);
}


:wink: Короче же. :)

Ну что за молодежь пошла... Даже элементарное задание по-человечески решить не могут... :)))
Разница между теорией и практикой на практике гораздо больше, чем в теории.
XyLigan_xD
Родился
Сообщения: 9
Зарегистрирован: Вт мар 20, 2012 19:02:25

Re: Помогите составить программу.

Сообщение XyLigan_xD »

Ну нам никто не объяснял...
А нам еще и курсовую писать по этому..
Только там программа намного сложнее..
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Помогите составить программу.

Сообщение Meteor »

еще и курсовую писать по этому..
Только там программа намного сложнее..

В ней будет целых три светодиода! :)))
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Mytilus G.
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт окт 28, 2010 03:49:33
Откуда: откуда все люди родятся

Re: Помогите составить программу.

Сообщение Mytilus G. »

YS писал(а):Я бы написал так:

Код: Выделить всё

while (1)
{
  PORTD=(PINB & 0x01) | ((PINB & 0x01) << 1) | (PINB & 0x04) | ((PINB & 0x04) << 1) | (PINB & 0x10) | ((PINB & 0x10) << 1);
}


:wink: Короче же. :)


Еще короче:

Код: Выделить всё

while (1) PORTD = PINB << 1 | PINB;
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Помогите составить программу.

Сообщение YS »

Mytilus G., это действительно круто! :shock: Я как-то не подумал...
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Mytilus G.
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт окт 28, 2010 03:49:33
Откуда: откуда все люди родятся

Re: Помогите составить программу.

Сообщение Mytilus G. »

Я тоже, когда предлагал вариант на асме. :)
Ответить

Вернуться в «Теория»