BASIC4MCU | 질문게시판 | ATmega128 CLCD 16*2 IAR소스 질문
페이지 정보
작성자 master 작성일2019-12-20 10:36 조회3,486회 댓글0건본문
RS PORTC0
RW PORTC1
E PORTC2
PD0~7 PORTA에 연결하였습니다
몇일동안 구현중인데....초기화가 안 되네요...
Hello라고 출력되는 소스 좀 주세용..ㅠㅠ
//
#define F_CPU 16000000
#include <avr/io.h>
#include <util/delay.h>
#define LINE1 0x80
#define LINE2 0xC0
//데이터=PC, RS=PE7, RW=PE6, E=PE5
// PORTE 76 5
#define CMD_WRITE 0x00 // Rs=0 R/W=0 E=0
#define DATA_WRITE 0x80 // Rs=1 R/W=0 E=0
#define LCD_EN 0x20
void LCD_cmd_write(char cmd){
PORTE=CMD_WRITE; PORTB=cmd;
PORTE^=LCD_EN; _delay_us(10); PORTE^=LCD_EN;
_delay_ms(3);
}
void LCD_data_write(char data){
PORTE=DATA_WRITE; PORTB=data;PORTE^=LCD_EN; _delay_us(10); PORTE^=LCD_EN;
_delay_us(100);
}
void init_LCD(void){
_delay_ms(150);
LCD_cmd_write(0x30); LCD_cmd_write(0x30);LCD_cmd_write(0x30); LCD_cmd_write(0x38);
LCD_cmd_write(0x01); LCD_cmd_write(0x0C);
LCD_cmd_write(0x14); LCD_cmd_write(0x06);
}
void LCD_wr_string(char d_line, char *lcd_str){
LCD_cmd_write(d_line);
while(*lcd_str != '\0'){ LCD_data_write(*lcd_str); lcd_str++; }
}
int main(void){
DDRB=0xFF; PORTB=0xFF; // LCD DATA
DDRE=0xFF; PORTE=0x00; // LCD Control
init_LCD();
LCD_wr_string(LINE1, " circuitsmanual ");
LCD_wr_string(LINE2, " naver.cafe ");
while(1);
return 1;
}AVRStudio 소스지만 IAR 용으로 변환 하는것이 어렵지 않을 겁니다.
참고하세요
댓글 0
조회수 3,486등록된 댓글이 없습니다.