Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » Вопросы чайника

Страниц (17): В начало « ... 9 10 11 12 13 14 15 16 [17]
 

241. zatmenie - 24 Июня, 2011 - 21:58:42 - перейти к сообщению
mihail пишет:
Соблюдайте правила того языка на котором пишите!
Спасибо. Постараюсь сделать как надо
(Добавление)
Вообще что то не разобрался я с этими массивами. Как пример я взял программу описанную в книге "Самоучитель разработчика устройств на микроконтроллере AVR" пример 8"Семь нот". В итоге сделал по деревенски. Зато работает.
CODE:
#include <tiny2313.h>

void main(void)
{
unsigned char i;
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;

// Port D initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTD=0x7F;
DDRD=0x00;

ACSR=0x80;

while(1)
{
i=0x11;
if(PIND.6==0) PORTB=i;
i=0x12;
if(PIND.6==0) PORTB=i;
i=0x13;
if(PIND.6==0) PORTB=i;
i=0x1A;
if(PIND.6==0) PORTB=i;
i=0x1B;
if(PIND.6==0) PORTB=i;
i=0x1E;
if(PIND.6==0) PORTB=i;
i=0x22;
if(PIND.6==0) PORTB=i;
i=0x23;
if(PIND.6==0) PORTB=i;
i=0x2A;
if(PIND.6==0) PORTB=i;
i=0x2B;
if(PIND.6==0) PORTB=i;
i=0x2E;
if(PIND.6==0) PORTB=i;
i=0x33;
if(PIND.6==0) PORTB=i;
i=0x3A;
if(PIND.6==0) PORTB=i;
i=0x3B;
if(PIND.6==0) PORTB=i;
i=0x3E;
if(PIND.6==0) PORTB=i;
i=0xAA;
if(PIND.6==0) PORTB=i;
i=0xAB;
if(PIND.6==0) PORTB=i;
i=0xAE;
if(PIND.6==0) PORTB=i;
i=0xBB;
if(PIND.6==0) PORTB=i;
i=0xBE;
if(PIND.6==0) PORTB=i;
i=0xEE;
if(PIND.6==0) PORTB=i;

}
}
242. mihail - 25 Июня, 2011 - 00:34:34 - перейти к сообщению
#include <tiny2313.h>

unsigned char tabkd[36] = {0x11, 0x12, 0x13, 0x1A, 0x1B, 0x1E,
0x21, 0x22, 0x23, 0x2A, 0x2B, 0x2E,
0x49, 0x32, 0x33, 0x3A, 0x3B, 0x3E,
0xA1, 0xA2, 0xA3, 0xAA, 0xAB, 0xAE,
0xB1, 0xB2, 0xB3, 0xBA, 0xBB, 0xBE,
0xE1, 0x62, 0x63, 0xEA, 0xEB, 0xEE};

void main(void)
{
unsigned char i;

// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;

// Port D initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTD=0x7F;
DDRD=0x00;

while(1)
{
for(i=0; i<36; i++)
{
if(PIND.6==0)
PORTB=tabkd[i];
}
}
}
243. zatmenie - 25 Июня, 2011 - 15:19:03 - перейти к сообщению
Да точно. Спасибо. Что бы я без вас делал?