//********************************************************************** /*  GLCD(SG12864A) PIC16F88 Config=3f50/3fff  2009/9/28 BY M.Kikuchi 2014/11/27 Used ROM 1817 words */ //********************************************************************** // ------------------------------------------------------ // GLCD Picture name: 7916.bmp // GLCD Model: KS0108 128x64 const code char bmp_data[1024] = { 247, 245, 229, 249, 241, 211, 223, 159, 223, 191, 255, 255, 255, 255, 254, 255, 254, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 255, 103, 99, 121, 121, 56, 28, 28, 30, 12, 4, 0, 0, 0, 0, 0, 1, 0, 0, 64, 64, 64, 96, 32, 32, 32, 0, 165, 4, 16, 240, 104, 196, 224, 192, 224, 224, 240, 242, 249, 253, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, 252, 136, 128, 192, 134, 156, 140, 157, 252, 255, 255, 255, 255, 254, 254, 255, 255, 255, 253, 255, 255, 255, 254, 255, 255, 253, 255, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 207, 95, 79, 31, 127, 127, 255, 255, 191, 63, 63, 63, 55, 15, 15, 31, 31, 31, 15, 15, 8, 130, 131, 193, 0, 0, 0, 4, 128, 128, 128, 0, 128, 128, 128, 192, 194, 192, 199, 135, 99, 239, 192, 224, 98, 226, 128, 129, 131, 131, 195, 225, 249, 248, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 252, 255, 255, 254, 255, 223, 223, 207, 205, 237, 238, 96, 108, 12, 8, 192, 192, 64, 152, 144, 2, 2, 2, 2, 195, 195, 254, 255, 251, 255, 255, 255, 251, 255, 255, 255, 255, 254, 191, 255, 252, 238, 252, 223, 191, 189, 222, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 159, 191, 191, 191, 127, 31, 15, 63, 63, 63, 63, 63, 31, 15, 15, 31, 15, 31, 31, 31, 31, 31, 31, 95, 31, 63, 63, 63, 63, 63, 63, 63, 63, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 63, 31, 15, 7, 135, 131, 227, 225, 225, 240, 248, 248, 241, 248, 248, 252, 254, 252, 190, 254, 252, 126, 126, 254, 253, 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 247, 124, 252, 252, 252, 252, 252, 252, 252, 252, 248, 252, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 240, 240, 240, 248, 248, 240, 240, 240, 240, 240, 240, 240, 240, 240, 112, 128, 196, 132, 140, 140, 156, 168, 232, 224, 224, 227, 224, 97, 97, 141, 133, 131, 175, 95, 87, 255, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 192, 128, 128, 128, 255, 131, 128, 128, 128, 128, 128, 128, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 128, 128, 128, 128, 0, 0, 129, 135, 1, 1, 1, 1, 1, 1, 255, 1, 1, 129, 193, 145, 144, 144, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 0, 255, 255, 254, 253, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 15, 143, 141, 61, 61, 61, 61, 61, 61, 60, 60, 60, 188, 31, 31, 31, 31, 31, 31, 63, 31, 31, 61, 61, 61, 61, 61, 61, 57, 61, 60, 60, 60, 61, 63, 62, 191, 159, 22, 23, 13, 21, 31, 159, 31, 31, 31, 159, 29, 189, 189, 189, 189, 253, 189, 189, 189, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 127, 255, 255, 63, 63, 127, 127, 127, 127, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 199, 255, 248, 128, 208, 240, 96, 224, 96, 128, 252, 252, 252, 252, 124, 252, 252, 252, 252, 120, 72, 64, 0, 0, 0, 112, 64, 0, 0, 0, 0, 18, 48, 120, 127, 103, 98, 127, 102, 103, 103, 254, 126, 126, 118, 118, 122, 99, 65, 3, 3, 1, 19, 3, 5, 7, 3, 3, 3, 3, 11, 3, 7, 39, 11, 31, 123, 95, 59, 60, 60, 63, 63, 56, 56, 28, 56, 60, 60, 60, 56, 63, 255, 255, 7, 3, 7, 135, 7, 7, 7, 39, 15, 7, 7, 7, 7, 7, 135, 135, 7, 255, 31, 31, 11, 63, 63, 63, 63, 63, 63, 63, 63, 63, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207 }; // GLCDの初期化 char GLCD_DataPort at PORTB; sbit GLCD_CS1 at RA7_bit; sbit GLCD_CS2 at RA6_bit; sbit GLCD_RS at RA4_bit; sbit GLCD_RW at RA3_bit; sbit GLCD_EN at RA2_bit; sbit GLCD_RST at RA0_bit; sbit GLCD_CS1_Direction at TRISA7_bit; sbit GLCD_CS2_Direction at TRISA6_bit; sbit GLCD_RS_Direction at TRISA4_bit; sbit GLCD_RW_Direction at TRISA3_bit; sbit GLCD_EN_Direction at TRISA2_bit; sbit GLCD_RST_Direction at TRISA0_bit; //********************************************************************** void Next_SW() //SW が押されたらループを抜ける { Delay_ms(100); while (Button(&PORTA, 5, 1, 0) == 0) ; while (Button(&PORTA, 5, 1, 1) == 0) ; Glcd_Fill(0); // Clear } //********************************************************************** void main() { static unsigned char j, k; // OSCCON = 0b01110000; // クロックを8Mhzに設定する。 ANSEL = 0b00000000; // A/D変換は使用しない。 //ポートの設定 TRISA = 0b00100000; TRISB = 0b00000000; PORTA = 0b00000000; PORTB = 0b00000000; // Glcd_Init(&PORTA,7,6,4,3,0,2,&PORTB); // cs1,cs2,rs,rw,rst,en Glcd_Init(); // Glcd_Fill(0xff); // Glcd_Write_Text(" GLCD START 09'09 ",5, 4, 0); // Demo Limit //横/5行目/set bit while (1) { Next_SW(); //テキストを表示 :カナ文字を使うと画面は停止する、エラー /* Glcd_Write_Text("BY M.Kikuchi", 0, 0, 1); for (j = 2; j < 8; j++) { Glcd_Write_Text("JA1HWO", j * 10, j, 1); } Next_SW(); */ //円を表示 Glcd_Circle(15, 31, 12, 1); Glcd_Circle(110, 31, 12, 1); for (j = 4; j < 31; j += 4) { Glcd_Circle(63, 31, j, 1); } Next_SW(); //ドットを表示 for (j = 0; j < 128; j += 10) { for (k = 0; k < 64; k += 10) { Glcd_Dot(j, k, 1); } } Next_SW(); //ドットを表示 Nega type Glcd_Fill(0xff); for (j = 0; j < 128; j += 10) { for (k = 0; k < 64; k += 10) { Glcd_Dot(j, k, 0); Glcd_Dot(j+1, k, 0); Glcd_Dot(j, k+1, 0); Glcd_Dot(j+1, k+1, 0); } } Next_SW(); //BMP display Glcd_Image(bmp_data); } } //**********************************************************************