회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
433 전기전자 아무거나 처음으로 전기쪽을 공부해보려합니다.1 미스타코 236 2018.08.09
432 전기전자 아무거나 HOT전자회로 쉽게 설명한 책 추천 좀4 아크마 856 2018.07.12
431 전기전자 아무거나 HOTPads 9.0.2 설치중에 에러가 뜹니다. 해결방법 있을까요?3 Regret 600 2018.02.13
430 전기전자 아무거나 HOT회로를 이해하는 공부를 하고 싶은데1 Octave 517 2017.12.06
429 전기전자 아무거나 HOT소비전력 계산법 질문3 Bey 625 2017.09.20
428 전기전자 아무거나 HOT데이터시트 블록도 이해 ??4 sunny781 400 2017.08.04
427 전기전자 아무거나 전자부품 무상샘플 받는데가 있나요?6 무한계륵 292 2017.06.23
426 전기전자 아무거나 학교에서 배우는 디지틸 관련 질문입니다.1 끼르 120 2017.06.18
425 전기전자 아무거나 HOTTVS다이오드와 제너다이오드의 동작차이점을 알고싶습니다1 윤동준 1025 2017.04.19
424 전기전자 아무거나 PADs 리눅스 버젼은 없는지요 ?1 지범이 145 2016.12.21
423 전기전자 아무거나 AC 아답터 개발6 젠틀호홍 226 2016.11.11
422 전기전자 아무거나 푸시풀 회로에 대해서 질문합니다2 lmqwlkeqwwe 266 2016.08.26
421 전기전자 아무거나 전자공학 독학에 관해서 질문합니다2 미술쟁이 353 2016.05.19
420 전기전자 아무거나 PSCAD 책 없을까요??2 김용득 393 2015.07.22
419 전기전자 아무거나 VGA to HDMI 회로 설계에 대하여2 장예규 384 2015.04.09
418 전기전자 아무거나 항공전자 질문오요1 sstdssz@naver.com 171 2015.04.03
417 전기전자 아무거나 HOT항상 질문만 올리네요...FET화 BJT 제너에 관하여..ㅠㅠ(배터리 충전회로입니다)5 뒷동산쓰레귀 1291 2015.02.26
416 전기전자 아무거나 Buck_Converter 대해서 질문 올립니다2 뒷동산쓰레귀 395 2015.02.24
415 전기전자 아무거나 HOTLED 전원모듈 설계5 란세르트 573 2015.02.09
414 전기전자 아무거나 HOTUSB 허브로 스마트폰 충전에 관하여 질문 드립니다.2 뒷동산쓰레귀 435 2015.01.28
Prev 1 2 3 4 5 6 7 8 9 10 ... 25 Next
  • 사랑은 사람들을 치료한다. 사랑을 받는 사람, 사랑을 주는 사람 할것 없이.
    - 메닝거
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.