Page 196 - 2
P. 196
char three, two, one, four;
void wind();
void windstrong();
void windweek();
void windmiddle();
void AppInventor();
void stop();
void temData();
void init_LCD();
void LCD_KEY_DISP();
void LCD_String(char flash str[]);
void LCD_TEMDATA();
void sleepmode();
void ADC_fan();
void LCD_cmd_write(char cmd) // LCD 의 기능 수행을 위한 함수
{
PORTG = CMD_WRITE; // LCD E(Enable)=1, RS=0 기능 선택
PORTC = cmd; // 기능 입력 기능 수행.
PORTG = PORTG^LCD_EN; // LCD E(Enable) 해지
delay_ms(2);
}
void LCD_data_write(char data) // LCD 의 문자 표현 수행을 위한 함수
{
PORTG = DATA_WRITE; // LCD E(Enable)=1, RS=1 문자 표현 선택
PORTC = data; // 문자 입력
PORTG = PORTG^LCD_EN; // LCD E(Enable) 해지
delay_ms(2);
}
void LCD_String(char flash str[]) // 문자열을 받아 한문자씩 표시하도록 하는 함수
{
char flash *pStr = 0;
pStr = str;
while(*pStr) LCD_data_write(*pStr++); // 내용이 없을 동안 문자 표현 함수를 호출
}
void system_init()
{
DDRE=0x0f;
DDRA=0xff;
DDRF=0x00;
DDRB=0xff; // 모터
DDRD=0x00; // 인터럽트
DDRC=0xff; //LCD
DDRG=0xff; //LCD
EIMSK=0b01111111;
EICRA=0b10101010;
- 196 -