BASIC4MCU | 디스플레이 | LCD | ATmega128 AVRstudio CLCD(4비트 인터페이스) 구구단
페이지 정보
작성자 master 작성일2018-03-18 09:13 조회70회 댓글0건관련링크
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-03-18 오전 9:12:46// by Ok-Hyun Park#include <avr/io.h>#include <stdio.h>#define F_CPU 16000000UL#include <util/delay.h>///* PC.0=RS PC.1=RW PC.2=E1 PC.4=D4 PC.5=D5 PC.6=D6 PC.7=D7 *///void LCD_cmd(char c){PORTC=(c&0xF0)|4; _delay_us(1); PORTC^=4; _delay_us(1);PORTC=(c<<0x4)|4; _delay_us(1); PORTC^=4; _delay_ms(2);}void LCD_data(char d){PORTC=(d&0xF0)|5; _delay_us(1); PORTC^=4; _delay_us(1);PORTC=(d<<0x4)|5; _delay_us(1); PORTC^=4; _delay_us(40);}void LCD_clr(){ LCD_cmd(0x01); }void LCD_str(char c,char *s){ LCD_cmd(c); while(*s)LCD_data(*s++); }//void LCD_init(void){DDRC=0xFF; _delay_ms(50);LCD_cmd(0x28); LCD_cmd(0x0C); LCD_cmd(0x06); LCD_clr();}//int main(void){char str[30]; int a,b;LCD_init();LCD_str(0x80,"times table");while(1){for(a=2;a<=9;a++){for(b=1;b<=9;b++){sprintf(str,"%d * %d = %2d ",a,b,a*b); LCD_str(0x40,str); _delay_ms(500);}}}}
댓글 0
조회수 70등록된 댓글이 없습니다.