회원가입 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 전기전자 아무거나 HOT처음으로 전기쪽을 공부해보려합니다.1 미스타코 1027 2018.08.09
432 전기전자 아무거나 HOT전자회로 쉽게 설명한 책 추천 좀4 아크마 1430 2018.07.12
431 전기전자 아무거나 HOTPads 9.0.2 설치중에 에러가 뜹니다. 해결방법 있을까요?3 Regret 1186 2018.02.13
430 전기전자 아무거나 HOT회로를 이해하는 공부를 하고 싶은데1 Octave 1097 2017.12.06
429 전기전자 아무거나 HOT소비전력 계산법 질문3 Bey 1238 2017.09.20
428 전기전자 아무거나 HOT데이터시트 블록도 이해 ??4 sunny781 1100 2017.08.04
427 전기전자 아무거나 HOT전자부품 무상샘플 받는데가 있나요?6 무한계륵 851 2017.06.23
426 전기전자 아무거나 HOT학교에서 배우는 디지틸 관련 질문입니다.1 끼르 1008 2017.06.18
425 전기전자 아무거나 HOTTVS다이오드와 제너다이오드의 동작차이점을 알고싶습니다1 윤동준 1610 2017.04.19
424 전기전자 아무거나 HOTPADs 리눅스 버젼은 없는지요 ?1 지범이 727 2016.12.21
423 전기전자 아무거나 HOTAC 아답터 개발6 젠틀호홍 780 2016.11.11
422 전기전자 아무거나 HOT푸시풀 회로에 대해서 질문합니다2 lmqwlkeqwwe 841 2016.08.26
421 전기전자 아무거나 HOT전자공학 독학에 관해서 질문합니다2 미술쟁이 1200 2016.05.19
420 전기전자 아무거나 HOTPSCAD 책 없을까요??2 김용득 1027 2015.07.22
419 전기전자 아무거나 HOTVGA to HDMI 회로 설계에 대하여2 장예규 879 2015.04.09
418 전기전자 아무거나 HOT항공전자 질문오요1 sstdssz@naver.com 852 2015.04.03
417 전기전자 아무거나 HOT항상 질문만 올리네요...FET화 BJT 제너에 관하여..ㅠㅠ(배터리 충전회로입니다)5 뒷동산쓰레귀 2302 2015.02.26
416 전기전자 아무거나 HOTBuck_Converter 대해서 질문 올립니다2 뒷동산쓰레귀 992 2015.02.24
415 전기전자 아무거나 HOTLED 전원모듈 설계5 란세르트 975 2015.02.09
414 전기전자 아무거나 HOTUSB 허브로 스마트폰 충전에 관하여 질문 드립니다.2 뒷동산쓰레귀 1632 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.