#include <16F648a.h> #include #fuses INTRC_IO,NOWDT,NOLVP,NOPROTECT,NOBROWNOUT #use delay(clock = 4000000) #define LED_1 PIN_B0 #define LED_2 PIN_B1 #define LED_3 PIN_B2 #define LED_4 PIN_B3 #define LED_5 PIN_B4 #define LED_6 PIN_B5 #define LED_7 PIN_A2 #define LED_8 PIN_A3 #define FOT_T PIN_A4 unsigned char const font[256]={ 0b00000000, 0b00000000, 0b00111000, 0b00000100, 0b00111100, 0b01000100, 0b00111010, 0b00000000, 0b01100000, 0b00100000, 0b00111000, 0b00100100, 0b00100100, 0b00100100, 0b00111000, 0b00000000, 0b00000000, 0b00000000, 0b00011100, 0b00100010, 0b00100000, 0b00100010, 0b00011100, 0b00000000, 0b00001100, 0b00000100, 0b00011100, 0b00100100, 0b00100100, 0b00100100, 0b00011010, 0b00000000, 0b00000000, 0b00000000, 0b00011100, 0b00100010, 0b00111110, 0b00100000, 0b00011100, 0b00000000, 0b00001100, 0b00010000, 0b00111000, 0b00010000, 0b00010000, 0b00010000, 0b00111000, 0b00000000, 0b00000000, 0b00000000, 0b00011110, 0b00100100, 0b00011100, 0b00000100, 0b00011000, 0b00000000, 0b01100000, 0b00100000, 0b00100000, 0b00111000, 0b00100100, 0b00100100, 0b01110110, 0b00000000, 0b00010000, 0b00000000, 0b00110000, 0b00010000, 0b00010000, 0b00010000, 0b00111000, 0b00000000, 0b00000100, 0b00000000, 0b00001100, 0b00000100, 0b00000100, 0b00100100, 0b00011000, 0b00000000, 0b01100000, 0b00100000, 0b00101100, 0b00101000, 0b00111000, 0b00100100, 0b01110110, 0b00000000, 0b00110000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00111000, 0b00000000, 0b00000000, 0b00000000, 0b01110100, 0b00101010, 0b00101010, 0b00101010, 0b01101011, 0b00000000, 0b00000000, 0b00000000, 0b01111000, 0b00100100, 0b00100100, 0b00100100, 0b01110110, 0b00000000, 0b00000000, 0b00000000, 0b00111000, 0b01000100, 0b01000100, 0b01000100, 0b00111000, 0b00000000, 0b00000000, 0b00000000, 0b01111000, 0b00100100, 0b00111000, 0b00100000, 0b01110000, 0b00000000, 0b00000000, 0b00000000, 0b00011110, 0b00100100, 0b00011100, 0b00000100, 0b00001110, 0b00000000, 0b00000000, 0b00000000, 0b01111100, 0b00100010, 0b00100000, 0b00100000, 0b01110000, 0b00000000, 0b00000000, 0b00000000, 0b00011100, 0b00100000, 0b00011100, 0b10000010, 0b01111100, 0b00000000, 0b00010000, 0b00010000, 0b00111000, 0b00010000, 0b00010000, 0b00010100, 0b00001000, 0b00000000, 0b00000000, 0b00000000, 0b11011000, 0b01001000, 0b01001000, 0b01001000, 0b00110100, 0b00000000, 0b00000000, 0b00000000, 0b11101110, 0b01000100, 0b00101000, 0b00101000, 0b00010000, 0b00000000, 0b00000000, 0b00000000, 0b11000110, 0b01000100, 0b01010100, 0b00101000, 0b00101000, 0b00000000, 0b00000000, 0b00000000, 0b11011100, 0b01001000, 0b00110000, 0b01001000, 0b11101100, 0b00000000, 0b00000000, 0b00000000, 0b11011100, 0b01001000, 0b00110000, 0b00100000, 0b11000000, 0b00000000, 0b00000000, 0b00000000, 0b01111110, 0b01001000, 0b00010000, 0b00100010, 0b01111110, 0b00000000}; void number(int num); void number2(int num,int i); void draw_font(char moji); void draw_string(char *moji); void main(){ int sw; int sw2; int sw3; int acc=1; int i; long time=0; int time2=0; char aa[]="welcome"; while(1){ while(input(FOT_T)==1) ;//赤外が合わさるまで待つ time++;for(i=0;i<110;i++) delay_us(time);//表示位置の移動 draw_string(aa);//表示 } } void number2(int num,int i){ output_bit(LED_1,font[num]&i); output_bit(LED_2,font[num+1]&i); output_bit(LED_3,font[num+2]&i); output_bit(LED_4,font[num+3]&i); output_bit(LED_5,font[num+4]&i); output_bit(LED_6,font[num+5]&i); output_bit(LED_7,font[num+6]&i); output_bit(LED_8,font[num+7]&i); } void number(int num){ output_bit(LED_1,num&0b10000000); output_bit(LED_2,num&0b01000000); output_bit(LED_3,num&0b00100000); output_bit(LED_4,num&0b00010000); output_bit(LED_5,num&0b00001000); output_bit(LED_6,num&0b00000100); output_bit(LED_7,(num&0b00000010)); output_bit(LED_8,num&0b00000001); } void draw_font(char moji){ int i; int mask=0b10000000; for(i=0;i<8;i++){ number2((moji-'a')*8,mask>>i);//delay_us(10); //number(0); delay_us(1); } } void draw_string(char *moji){ int num;int i; num=strlen(moji); for(i=0;i