Micom_Electric/마이컴_원칩 2011. 10. 12. 22:58
이거 아주 웃기는 시츄에이션..

  //4 bit part
_delay_ms(40); // Change from 15 to 40ms
LDP=0xFC; // PORTD ->23  LED output
LCP=0x07;   // High C port for ADC input : PORTC->012 output
LDDR=1<<LCD_D7|1<<LCD_D6|1<<LCD_D5|1<<LCD_D4;
LCDR=1<<LCD_E|1<<LCD_RW|1<<LCD_RS;
    //---------one------
LDP=0<<LCD_D7|0<<LCD_D6|1<<LCD_D5|1<<LCD_D4; //4 bit mode
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(5);
LCP&=~(1<<LCD_E);
_delay_ms(5); // Change from 2 to 5
//-----------two-----------
LDP=0<<LCD_D7|0<<LCD_D6|1<<LCD_D5|1<<LCD_D4; //4 bit mode
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(1);
LCP&=~(1<<LCD_E);
_delay_ms(2);
//-------three-------------
LDP=0<<LCD_D7|0<<LCD_D6|1<<LCD_D5|0<<LCD_D4; //4 bit mode
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
_delay_ms(2);
// ----------------------------------------------------
//LCDsendCommand(0b00101000); 4 bit dual line, font 5x7
  //LCDsendCommand(0b00001100); increment address, cursor shift off
// ------------------ Function set ------------
LDP=0<<LCD_D7|0<<LCD_D6|1<<LCD_D5|0<<LCD_D4; // DL = 4bit mode
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
//LDP=0<<LCD_D7|0<<LCD_D6|1<<LCD_D5|0<<LCD_D4; // repeat
//LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
//_delay_ms(2);
//LCP&=~(1<<LCD_E);
LDP=1<<LCD_D7|0<<LCD_D6|0<<LCD_D5|0<<LCD_D4; // N=1 : 2 line
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
LDP=0<<LCD_D7|0<<LCD_D6|0<<LCD_D5|0<<LCD_D4; // Display off
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
LDP=1<<LCD_D7|1<<LCD_D6|0<<LCD_D5|1<<LCD_D4; // Display on, cursor off
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
/*
LDP=0<<LCD_D7|0<<LCD_D6|0<<LCD_D5|0<<LCD_D4;
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
LDP=0<<LCD_D7|0<<LCD_D6|0<<LCD_D5|1<<LCD_D4; // Display clear
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
LDP=0<<LCD_D7|0<<LCD_D6|0<<LCD_D5|0<<LCD_D4;
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
LDP=0<<LCD_D7|1<<LCD_D6|1<<LCD_D5|1<<LCD_D4; // Entry mode set
LCP=1<<LCD_E|0<<LCD_RW|0<<LCD_RS;
_delay_ms(2);
LCP&=~(1<<LCD_E);
*/

posted by 털보네i
: