void Send_Str(char *str){
   Busy_Check();  //비지체크

   while(*str){    //NULL 문자만날때까지 반복
    P0 = *str;      //str이 가리키는 상위4비트 출력
    RS = 1;         //데이터
    RW = 0;        //라이트
    EN = 1;
    DELAY(100);
    EN = 0;

    P0 = ((*str) << 4);      //str이 가리키는 값에서 4비트를 좌로 쉬프트한값을 출력
    EN = 1;
    DELAY(100);
    EN = 0;
    str++;  //다음값으로 이동
   }
}

이부분이 LCD에 문자열을 출력하려고하는 함수부분인데요

한글자를 출력하는함수는 되는데

왜 위에처럼 문자열을 보내려고하면안되는거죠?ㅠㅠ

LCD에 D4부터 D7까지가 P0_4~7까지 붙어있구요

RS,RW,E는 P2_4~6까지 붙어있습니다

실제로 저함수를 써서 화면에 출력을해보면 왠이상한 문자들이 나오네요 ㅠㅠ

도와주세요 부탁드립니다 ㅠㅠ