реклама на сайте
подробности

 
 
> Программа на Си для ATmega 32, в AvrStudio4
Teille
сообщение Apr 13 2010, 15:55
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 13-04-10
Пользователь №: 56 620



Здравствуйте!
Я только начинаю и не могу разобраться...

Задача такая: написать программу для Атмеги32 в AvrStudio4 на языке Си, чтобы переключатель s2 управлял лампочками LED0 и LED2, s3 управлял LED1 и LED3, s4 --LED2 и LED4,s5 -- LED3 и LED5. Причем тот же переключатель (например s2) мог и выключать и включать лампочки (с использованием оператора XOR)

Спасибо!

Сообщение отредактировал Teille - Apr 13 2010, 16:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Teille
сообщение Apr 15 2010, 18:06
Сообщение #2





Группа: Участник
Сообщений: 5
Регистрация: 13-04-10
Пользователь №: 56 620



Делала так(сначала для двух кнопок):

CODE

#include <avr/io.h>
#define S2 bit_is_clear(PIND, 2) // если S2 нажимаем
#define S3 bit_is_clear(PIND, 3) // если S3 нажимаем
int main(void)
{
DDRB = 0x00; // B-порт output
DDRD = 0x00; // D-порт input
PORTD = 0x00;
while(1)
{
if(S2) // если S2 нажали
PORTB^= 0b0000101;
else
if(S3) // если S3 нажали
PORTB^= 0b00001010;
else // ничего не нажимаем
PORTB = 0x00;
}
}



но не получилось...
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Apr 15 2010, 18:27
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Код
DDRB = 0x00; // B-порт output
DDRD = 0x00; // D-порт input


С таким кодом далеко пойдёте.....
Вас там в где учитесь думать учат?
Не замечаете противоречия в коде?

Для любой atmega DDRx - регистр направления, бит установленный в 1 обозначает выход, бит установленный в 0 - обозначает вход.
PORTx для выходов позволяет установить состояние выхода, для входов - управляет подтяжкой (0 - нет подтяжки к VCC, 1 - есть подтяжка входа к VCC).

Про такие понятия как антидребезг или таймер-счётчик думаю пока что рано вам рассказывать....
Для начала определитесь что у вас вход а что выход (где кнопочки а где светодиоды).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 00:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01389 секунд с 7
ELECTRONIX ©2004-2016