ATMEGA128

ATMEGA128, CodeVisonAVR, TWI, I2C, LCD1602

CoyoteUgly 2018. 8. 31. 13:21

ATMEGA128, CodeVisonAVR, TWI, I2C, LCD1602



TWI ( I2C ) 포트를 통해 LCD1602 모듈을 제어합니다.

디버깅 메시지를 위해 UART0 포트를 사용하였습니다.



PORTE.0 : UART RXD0
PORTE.1 : UART TXD0
PORTD.0 : TWI Serial Clock
PORTD.1 : TWI Serial Data


0. 참고 자료


1. 모듈

2. HW 구성

3. Project 파일 추가

Project > Configure


Files > Input Files



4. SW 구성

  • main.c


  • lcd1602.c
  • lcd1602.h
    • unsigned char LCD_SendInternal(unsigned char lcd_addr, unsigned char data, unsigned char flags);
    • unsigned char LCD_SendCommand(unsigned char lcd_addr, unsigned char cmd);
    • unsigned char LCD_SendData(unsigned char lcd_addr, unsigned char data);
    • void LCD_Init(unsigned char lcd_addr);
    • void LCD_SendString(unsigned char lcd_addr, char *str);
  • myI2C.c
  • myI2C.h
    • void TWIInit(void);
    • unsigned char WriteData(unsigned char u8addr, unsigned char *u8data, unsigned char len);
    • unsigned char ReadData(unsigned char u8addr, unsigned char u8reg, unsigned char *u8data);
  • lcd1602_i2c.prj


5. 소스


6. 결과