[an error occurred while processing this directive]
Вот код.... Вроди бы ж повторил точно.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Panas 10 ноября 2006 г. 13:43
В ответ на: весь свой код в студию. бум смотреть. и флудить не нада. уже три раза нафигачил свой мессадж. отправлено eXeC001er 10 ноября 2006 г. 13:36

Да уж три сообщения есть. Но уже второй день бьюсь!!! Крышу рвет

#define ENABLE_BIT_DEFINITIONS
#include
#include
#include
#include

#define A0 PORTB_Bit0
#define RW PORTB_Bit1
#define En PORTB_Bit2
#define CS PORTB_Bit4

#define LIGHT PORTB_Bit5

unsigned int Temp02; // for mDelay variable
unsigned char p;
unsigned char c;
const char Logo122[4][122]=
{
{ 0xFF,0x01,0x01,0x01,0x01,0xC1,0xE1,0xB1,0x11,0x1D,0x1D,0x7F,0x7F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFD,0xF9,0xB1,
0xF1,0xE1,0x81,0x01,0x01,0x01,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,
0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xC1,0xFF
},
{ 0xFF,0xE0,0x7C,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x6F,0x6F,0x07,
0x07,0x06,0x00,0x00,0x03,0x03,0x0F,0x3F,0x07,0x07,0x07,0x03,0x03,0x07,0x0F,0x3B,
0x13,0x80,0x80,0x23,0x9E,0xF8,0xF8,0xF8,0xFC,0xFE,0xFE,0xFE,0xFC,0x00,0x00,0x00,
0x80,0x80,0xE0,0xF8,0xFC,0xFE,0xFE,0xFE,0xFC,0x00,0x00,0x00,0x60,0xF0,0xF8,0xF8,
0x7C,0x3E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x3E,0x3E,0x7E,0xFC,0xF8,0xF0,0xE0,
0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFC,0xFE,
0xFE,0xFE,0xFE,0xFC,0x00,0x1C,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0xFE,0xFE,0xFE,
0xFE,0xFE,0x3E,0x3E,0x3E,0x3E,0x3E,0x3E,0x1C,0xFF
},
{ 0xFF,0x07,0x7C,0xE0,0x80,0x00,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0x0F,0x30,0x38,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0xE0,0xF0,0xFC,0xFF,0xFF,0x3F,0x0F,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFE,0xFF,
0x7F,0x7F,0x1F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x3C,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x3C,0x3C,0x18,0x00,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0x00,0x00,0x80,0xE0,0xF0,0xFC,0xFE,0xFF,0x7F,0x1F,0x07,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
},
0xFF,0x80,0x80,0x80,0x80,0x83,0x86,0x8C,0x98,0xB0,0xB0,0xE0,0xC0,0xC0,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xF8,0xFC,0xFF,0xFF,
0xBF,0x8F,0x87,0x81,0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x83,0x80,
0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x80,0x80,0x86,0x8F,0x9F,0xBF,
0xFE,0xFC,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFE,0xBF,0x9F,0x8F,
0x87,0xE3,0xF9,0xFC,0xFF,0xFF,0xBF,0x9F,0x87,0x81,0x80,0x80,0x80,0x80,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,
0xFF,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF
};

//---------------------------------------------------
void mDelay(unsigned int delay)
{
Temp02 = delay;
TCNT2 = 68; // init Timer 1 -> 68 = ~1 ms
TCCR2 = 0x04; // clk/64
TIMSK |= (1 << TOIE2); // enable Timer2_Ovf int TOIE2=1

while (Temp02 > 0);
TIMSK &= ~(1 << TOIE2); // disable Timer2_Ovf interrupt (TOIE1=0)
}
//---------------------------------------------------
void InitMCU (void)
{ //Direction DDRx -> input =0, output=1
//Pull-Up(for input) PORTx -> Pull-Up=1, No Pull-Up=0
DDRA = 0%11111111;
PORTA = 0x00;
DDRB = 0%00111111;
PORTB = 0%11000100;
DDRD = 0x00;
PORTD = 0%11111111;
DDRC = 0x00;
PORTC = 0%11111111;
}
//---------------------------------------------------
#pragma vector = TIMER2_OVF_vect
__interrupt void Timer2Overflow()
{
TIMSK &= ~(1 << TOIE2); // disable Timer2_Ovf interrupt (TOIE2=0)
TCNT2 = 68;
Temp02--;
TIMSK |= (1 << TOIE2); // enable Timer2_Ovf int TOIE2=1
}
//---------------------------------------------------
void InitDevices (void)
{
A0 = 0;
RW = 0;
En = 1;
CS = 0;
LIGHT = 0;
}
//---------------------------------------------------
void WriteCommandToLCD (unsigned char Command, unsigned char Chip)
{
En = 1;
CS = Chip; //1- ëåâûé, 2- ïðàâûé
PORTA = Command;
RW = 0;
A0 = 0;
mDelay(1);
En = 0;
mDelay(20);
En = 1;
}
//---------------------------------------------------
void WriteDataToLCD (unsigned char Data, unsigned char Chip)
{
En = 1;
CS = Chip;
RW = 0;
A0 = 1;
PORTA = Data;
mDelay(1);
En = 0;
mDelay(20);
En = 1;
}
//---------------------------------------------------
void InitLCD (void)
{
En = 1;
WriteCommandToLCD(0xE2, 1); // Reset Left chip
WriteCommandToLCD(0xE2, 0); // Reset Right chip
WriteCommandToLCD(0xEE, 1); // ReadModifyWrite off
WriteCommandToLCD(0xEE, 0); // ReadModifyWrite off
WriteCommandToLCD(0xA4, 1); // Static Drive =0
WriteCommandToLCD(0xA4, 0); // Static Drive =0
WriteCommandToLCD(0xA9, 1); // Duty Select = 1
WriteCommandToLCD(0xA9, 0); // Duty Select = 1
WriteCommandToLCD(0xC0, 1); // Display Start Line
WriteCommandToLCD(0xC0, 0); // Display Start Line
WriteCommandToLCD(0xA1, 1); // Invert scan RAM
WriteCommandToLCD(0xA0, 0); // NonInvert scan RAM
WriteCommandToLCD(0xAF, 1); // Display =1 (ON)
WriteCommandToLCD(0xAF, 0); // Display =1 (ON)
LIGHT =1;
}
//---------------------------------------------------
void main (void)
{
InitMCU(); // Init I/O
InitDevices(); // Init perepherals device
__enable_interrupt();
InitLCD();

LLLL:
for(p=0; p<4; p++)
{
WriteCommandToLCD (p|0xB8, 1);
WriteCommandToLCD (0x13, 1);
for(c=0; c<61; c++)
{
WriteDataToLCD (Logo122[p][c], 1);
}
WriteCommandToLCD (p|0xB8, 0);
WriteCommandToLCD (0x00, 0);
for(c=61; c<122; c++)
{
WriteDataToLCD (Logo122[p][c], 0);
}
}
goto LLLL;
}

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание