회원가입 ID/PW 찾기
AA

안녕하세요.

 

ATMEGA128 mcu를 이용하여 LC4041 4bit 제어를 하려고 하는 도중 문제가 해결되지 않아 질문 드립니다.

회로구성, 출력포트 맵핑, 딜레이타임 은 정확하게 검증 하였으며 데이터시트를 참조하여 타이밍차트, 초기화 설정 등등..

설계 하였는데 LCD 초기화 조차 되지 않네요.

mcu -> output 출력단은 not gate를 통과하여 풀업처리 되어 있습니다.

 

소스는 아래와 같이 설계 하였으며 인터넷에 LC4041을 이용하여 4bit 구현 예제를 찾지 못하여 애를 먹고 있습니다.

소스에서 문제점이나 혹은 LC4041을 이용하여 4bit 제어 해보신분의 조언을 구하고자 합니다!!

 

#첨부

   LC4041 DataSheet

 

void Lcd_4Bit_Data_Hi(UINT8 Hidata)
{
    // gnd ctrl
    PORT_LCD_DATA7 = ~((Hidata & 0x80) >> 7);
    PORT_LCD_DATA6 = ~((Hidata & 0x40) >> 6);
    PORT_LCD_DATA5 = ~((Hidata & 0x20) >> 5);
    PORT_LCD_DATA4 = ~((Hidata & 0x10) >> 4);
}

void Lcd_4Bit_Data_Lo(UINT8 Lodata)
{
    // gnd ctrl
    PORT_LCD_DATA7 = ~((Lodata & 0x08) >> 3);
    PORT_LCD_DATA6 = ~((Lodata & 0x04) >> 2);
    PORT_LCD_DATA5 = ~((Lodata & 0x02) >> 1);
    PORT_LCD_DATA4 = ~(Lodata & 0x01);
}

 

void LCD_Set(UINT8 character0)
{
    _delay_ms(1);
    RS = OUTPUT_OFF;
    RW = OUTPUT_OFF;


    EN1 = OUTPUT_ON;
    EN2 = OUTPUT_ON;
    Lcd_4Bit_Data_Hi(character0);    
    EN1 = OUTPUT_OFF;
    EN2 = OUTPUT_OFF;

 

    EN1 = OUTPUT_ON;
    EN2 = OUTPUT_ON;
    Lcd_4Bit_Data_Lo(character0);
    EN1 = OUTPUT_OFF;
    EN2 = OUTPUT_OFF;

 

    RW = OUTPUT_ON;
}

 

void LCD_data(UINT8 character1)
{
    UINT8 PosSelect = 0;

    if(g_yPos == 0 || g_yPos == 1){ PosSelect = 0; }
    else { PosSelect = 1; }

 

    _delay_ms(1);
    RS = OUTPUT_OFF;
    RW = OUTPUT_ON;
    if(PosSelect == 0){ EN1 = OUTPUT_ON; }
    else{ EN2 = OUTPUT_ON; }
    Lcd_4Bit_Data_Hi(character1);
    EN1 = OUTPUT_OFF;
    EN2 = OUTPUT_OFF;

 

    if(PosSelect == 0){ EN1 = OUTPUT_ON; }
    else{ EN2 = OUTPUT_ON; }
    Lcd_4Bit_Data_Lo(character1);
    EN1 = OUTPUT_OFF;
    EN2 = OUTPUT_OFF;
    RW = OUTPUT_OFF;
}

 

void LCD_Position(UINT8 x, UINT8 y)
{
    UINT8 pos = 0;

    if (x > 39) x = 39;

    if (y == 0) pos = x + 0x80;
    else if (y == 1) pos = x + 0xc0;
    else if (y == 2) pos = x + 0x80;
    else pos = x + 0xc0;

    g_yPos = y;

    LCD_Set(g_yPos);
}

 

void LcdInit(void)

{

    _delay_ms(30);
    LCD_Set(0x28);
    LCD_Set(0x0c);
    LCD_Set(0x01);
    LCD_Set(0x04);

}

댓글 1

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
2567 자유주제 등업좀ㅠㅠ4 slykid 65 2016.06.17
2566 자유주제 등업이 너무 하고 싶네요 대담한사나이 55 2016.06.15
2565 자유주제 등급업 하고싶다!!6 나늠 65 2016.06.15
2564 자유주제 등급 올리려면 어떻게 하는게 제일 좋을까요?8 스플릿자켓 88 2016.06.14
2563 자유주제 에어컨은 틀고싶은데 전기세의 압박이,,,2 티모티모해 72 2016.06.13
2562 자유주제 비도 내리고 참.. 후덥지근하네요...2 긍정가이 57 2016.06.12
2561 자유주제 ㅠㅠ 생각보다 많이 어렵네요6 Fluch 74 2016.06.06
2560 자유주제 HOT날씨가 많이 덥네요...11 마리오니 524 2016.05.31
2559 자유주제 HOT[재업] 꿀팁 납(Point) 갑부가 되는 방법26 아크마 556 2016.05.25
2558 자유주제 HOTPCB Artwork/SI&PI시뮬레이션/PCB제작&조립의 PCB 토탈솔루션 업체(아트워크설계지원) 나비71548 435 2016.05.13
2557 자유주제 어린이날 맞이 아크마 51 2016.05.05
2556 자유주제 새해 복 많이 받으세요4 아크마 75 2016.01.06
2555 자유주제 HOT2015년 8월 29일, 전 세계를 누빈 앱 개발 파티 ‘Tizen Devlab’ 서울 상륙!1 보란듯이 716 2015.08.20
2554 자유주제 날씨가 많이 덥습니다.1 아크마 139 2015.07.22
2553 자유주제 질문 합니다!! 투털쟁이 105 2015.05.28
2552 자유주제 HOTFPGA 및 MCU 설계, 각종 Analog와 Digital 혼성회로, 고속 회로 및 Signal Processing 등 하드웨어 전반에 걸쳐 설계 검증 및 제작1 bobby 744 2015.05.08
2551 자유주제 감사합니다.13 branden 170 2015.03.18
2550 자유주제 새해 복 많이 받으세요.(홈피 기능개선 포함)4 아크마 335 2015.02.19
2549 자유주제 회원님이 글쓴것을 보는 방법이 따로 있나요??4 180 2015.02.15
2548 자유주제 설 명절을 맞이하여 납(Point)선물을 선착순10분께 20납씩 드립니다^^16 om 375 2015.02.15
Prev 1 2 3 4 5 6 7 8 9 10 11 ... 135 Next
  • 아름다움은 영원한 기쁨이다.
    - 키츠
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.