BASIC4MCU | 질문게시판 | LED 잔상 텍스터 플레이
페이지 정보
작성자 박희범 작성일2018-06-11 15:05 조회11,097회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1721
작성일
본문
#include <mega128.h>#include <delay.h>#include <stdio.h>//#define U16 unsigned int#define U08 unsigned char//char hannam[72]={0x00,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0x00,0xFF,0xFF,0x07,0xF3,0xF4,0xF6,0xF6,0xF6,0xF6,0xF4,0xF3,0x07,0xFF,0xFF,0x00,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0x00,0xFF,0xFF,0x00,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0x00,0xFF,0xFF,0x07,0xF3,0xF4,0xF6,0xF6,0xF6,0xF6,0xF4,0xF3,0x07,0xFF,0xFF,0x00,0xFE,0xFd,0xFB,0xF7,0xF7,0xFB,0xFD,0xFE,0x00,0xFF,0xFF};char elec[130]={0x00,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0xFF,0xFF,0xFF,0x00,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0x00,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0x76,0xFF,0xFF,0xFF,0x81,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0xBD,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0xF6,0xF6,0xF6,0xF6,0xF6,0xF6,0xF6,0xF6,0x09,0xFF,0xFF,0xFF,0x81,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x81,0xFF,0xFF,0xFF,0x00,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,0x7E,0x00,0x7E,0x7E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0xBD,0xFF,0xFF,0xFF};char jwl[48]={0xAE,0x56,0x5A,0x5A,0x54,0x54,0x4E,0x5B,0x5B,0xA0,0xFF,0xFF,0xED,0xEA,0xEA,0xEA,0x0A,0xEA,0xEA,0xEa,0xED,0xFF,0xFF,0xFF,0x02,0x4A,0x4A,0x4A,0x4A,0x4A,0x48,0x5F,0x00,0xFB,0xFF,0xFF,0xFF,0xF3,0xE1,0xA0,0x81,0x03,0x81,0xA0,0xE1,0xF3,0xFF,0xFF};char ksl[48]={0x7E,0x7E,0x7E,0x0E,0x7E,0x7E,0x0E,0x7E,0x7E,0x40,0xFF,0xFF,0xEF,0xE7,0xEB,0xED,0x0E,0xED,0xEB,0xE7,0xEF,0xFF,0xFF,0xFF,0x00,0x67,0x67,0x67,0x67,0x67,0x67,0x67,0x6F,0x00,0xFF,0xFF,0xFF,0xF3,0xE1,0xA0,0x81,0x03,0x81,0xA0,0xE1,0xF3,0xFF,0xFF};//char font1[][10]={{0xFF,0xFF,0x81,0x7E,0x7E,0x7E,0x7E,0x81,0xFF,0xFF}, //0{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF}, //1{0xFF,0xFF,0x06,0x76,0x76,0x76,0x76,0x70,0xFF,0xFF},{0xFF,0xFF,0x76,0x76,0x76,0x76,0x76,0x00,0xFF,0xFF},{0xFF,0xFF,0xF0,0xF7,0xF7,0xF7,0xF7,0x00,0xFF,0xFF},{0xFF,0xFF,0x70,0x76,0x76,0x76,0x76,0x06,0xFF,0xFF},{0xFF,0xFF,0x00,0x76,0x76,0x76,0x76,0x06,0xFF,0xFF},{0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0xFF,0xFF},{0xFF,0xFF,0x00,0x76,0x76,0x76,0x76,0x00,0xFF,0xFF}, //8{0xFF,0xFF,0xF0,0xF6,0xF6,0xF6,0xF6,0x00,0xFF,0xFF}, //9{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, //x{0xFF,0xFF,0x03,0xF5,0xF6,0xF6,0xF5,0x03,0xFF,0xFF}, //A{0xFF,0xFF,0X00,0x76,0x76,0x76,0x76,0x89,0xFF,0xFF}, //B{0xFF,0xFF,0x81,0x7E,0x7E,0x7E,0x7E,0xBD,0xFF,0xFF},{0xFF,0xFF,0x00,0x7E,0x7E,0x7E,0x7E,0x81,0xFF,0xFF},{0xFF,0xFF,0x00,0x76,0x76,0x76,0x76,0x76,0xFF,0xFF},{0xFF,0xFF,0x00,0xF6,0xF6,0xF6,0xF6,0xF6,0xFF,0xFF},{0xFF,0xFF,0x81,0x7E,0x7E,0x7E,0xAE,0x0D,0xFF,0xFF},{0xFF,0xFF,0x00,0xF7,0xF7,0xF7,0xF7,0x00,0xFF,0xFF},{0xFF,0xFF,0x7E,0x7E,0x00,0x7E,0x7E,0xFF,0xFF,0xFF},{0xFF,0xFF,0xBE,0x7E,0x80,0xFE,0xFE,0xFF,0xFF,0xFF},{0xFF,0xFF,0x00,0xE7,0xDB,0xBD,0x7E,0xFF,0xFF,0xFF},{0xFF,0xFF,0x00,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF},{0xFF,0xFF,0x00,0xFD,0xFB,0xFB,0xFD,0x00,0xFF,0xFF},{0xFF,0xFF,0x00,0xFD,0xF3,0xCF,0xBF,0x00,0xFF,0xFF},{0xFF,0xFF,0x81,0x7E,0x7E,0x7E,0x7E,0x81,0xFF,0xFF},{0xFF,0xFF,0x00,0xF6,0xF6,0xF6,0xF6,0xF9,0xFF,0xFF},{0xFF,0xFF,0xC1,0xBE,0xBE,0xAE,0x9E,0x41,0xFF,0xFF},{0xFF,0xFF,0x00,0xF6,0xF6,0xF6,0xF6,0x09,0xFF,0xFF},{0xFF,0xFF,0xB9,0x76,0x76,0x76,0x76,0x8D,0xFF,0xFF},{0xFF,0xFF,0xFE,0xFE,0x00,0xFE,0xFE,0xFF,0xFF,0xFF},{0xFF,0xFF,0x80,0x7F,0x7F,0x7F,0x7F,0x80,0xFF,0xFF},{0xFF,0xFF,0xF8,0xC7,0x3F,0x3F,0xC7,0xF8,0xFF,0xFF},{0xFF,0xFF,0x00,0xBF,0xCF,0xCF,0xBF,0x00,0xFF,0xFF},{0xFF,0xFF,0x3E,0xCD,0xF3,0xF3,0xCD,0x3E,0xFF,0xFF},{0xFF,0xFF,0xFC,0xF3,0x0F,0xF3,0xFC,0xFF,0xFF,0xFF}, //Y{0xFF,0xFF,0x3E,0x5E,0x6E,0x76,0x7A,0x7C,0xFF,0xFF} //Z};//U08 uniPhase[]={0x81,0x85,0x84,0x86,0x82,0x8A,0x88,0x89};//U08 num=10;//void LDelay(U16 Dly,float f){ U16 i; float dd; for(i=0; i<Dly; i++)for(dd=0.;dd<f;dd+=0.2); }//void led_hannam(){ static int i=0,c=0; if(PIND==0xFF)c=1; else PORTA=PORTB=0xFF; if(c){ PORTA=PORTB=hannam[i]; if(++i== 71)i=c=0; } LDelay(1,10.8); } // HANNAM문자 함수void led_elec() { static int i=0,c=0; if(PIND==0xFF)c=1; else PORTA=PORTB=0xFF; if(c){ PORTA=PORTB=elec[i]; if(++i==129)i=c=0; } LDelay(1, 7.8); } // ELECTRONIC문자 함수void led_jwl() { static int i=0,c=0; if(PIND==0xFF)c=1; else PORTA=PORTB=0xFF; if(c){ PORTA=PORTB=jwl[i]; if(++i== 47)i=c=0; } LDelay(1,20.6); } // jwl문자 함수void led_ksl() { static int i=0,c=0; if(PIND==0xFF)c=1; else PORTA=PORTB=0xFF; if(c){ PORTA=PORTB=ksl[i]; if(++i== 47)i=c=0; } LDelay(1,20.6); } // ksl문자 함수//void led(U08 n) { static int i=0,c=0; if(PIND==0xFF)c=1; else PORTA=PORTB=0xFF; if(c){ PORTA=PORTB=font1[n][i]; if(++i==9)i=c=0; } LDelay(1,20.6); }//void LED_USART(){U08 c;if((UCSR0A&0x80)==0x80){c=UDR0;if ((c>='0')&&(c<='9'))num=c&0x0F;else if((c>='A')&&(c<='Z'))num=c-'A'+11;else if(c=='-')num=10;else if(c=='=')num=37;else if(c==';')num=38;else if(c==',')num=39;}}//void count(){if (num<= 9)led(num);else if(num==10)led_hannam();else if(num<=36)led(num);else if(num==37)led_elec();else if(num==38)led_jwl();else if(num==39)led_ksl();}//void SDelay(U16 Dly){ while(Dly--); }//void uni_HA_MtrMove(U08 Direction){static int Phase=0; U08 TroquePhase;TroquePhase=uniPhase[Phase];if(Direction){ PORTB=TroquePhase; if(++Phase>8)Phase=0; }TroquePhase&=0xFF;SDelay(800);}//void main(){PORTA=0xFF; DDRA=0xFF;PORTB=0xFF; DDRB=0xFF;PORTD=0xFE; DDRD=0xFE;UBRR0L=8; UCSR0B=0x18;while(1){LED_USART(); count();uni_HA_MtrMove(1);}}저희가 hannam 이아닌KANGWON 이나 숫자 1 , 2, 3,4,5,6,7,8,9 모양을 남기고싶은데 어떻게 해야할까요..?
댓글 2
조회수 11,097master님의 댓글
master 작성일
char hannam[72]={
0x00,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0x00,0xFF,0xFF,0x07,0xF3,0xF4,0xF6,0xF6,0xF6,0xF6,0xF4,0xF3,0x07,0xFF,0xFF,
0x00,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0x00,0xFF,0xFF,0x00,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0x00,0xFF,0xFF,
0x07,0xF3,0xF4,0xF6,0xF6,0xF6,0xF6,0xF4,0xF3,0x07,0xFF,0xFF,0x00,0xFE,0xFd,0xFB,0xF7,0xF7,0xFB,0xFD,0xFE,0x00,0xFF,0xFF
};
폰트를 2진수로 배열하면 무슨 글자인지 알아볼 수 있습니다.
알파벳이나 숫자는 char font1[][10] 에 있으니 사용법만 공부하면 되겠죠?
박희범님의 댓글
박희범
폰트를 2진수르 배열한다는 말이 잘 이해가안가요 ㅜㅜ..