?? lcd.c
字號:
LcmWriteCommandWith1Par( code_cgzf, 0xC4 ); //裝入字符代碼,寫入數據,地址不變
}
//漢字顯示特征設置函數
//x_char=0~29,y_char=0~15
//hz_char=0x08、0x00分別為正常顯示且閃爍、正常顯示且不閃爍
//hz_char=0x0D、0x05分別為負向顯示且閃爍、負向顯示且不閃爍
//hz_char=0x0B、0x03分別為空白且閃爍、空白且不閃爍
void cghz_char(unsigned char x_char,unsigned char y_char,unsigned char hz_char)
{unsigned int address;
//設置左上部
address=y_char*30u+x_char+0x1000; //顯示緩沖區存儲單元地址
LcmWriteCommandWith2Par( (unsigned char)(address),(unsigned char)(address>>8),0x24); //設置顯示存儲器地址
LcmWriteCommandWith1Par( hz_char, 0xC4 );
//設置右上部
LcmWriteCommandWith2Par( (unsigned char)(address+1),(unsigned char)((address+1)>>8),0x24);
LcmWriteCommandWith1Par( hz_char, 0xC4 );
//設置左下部
LcmWriteCommandWith2Par( (unsigned char)(address+30u),(unsigned char)((address+30u)>>8),0x24);
LcmWriteCommandWith1Par( hz_char, 0xC4 );
//設置右下部
LcmWriteCommandWith2Par( (unsigned char)(address+31u),(unsigned char)((address+31u)>>8),0x24);
LcmWriteCommandWith1Par( hz_char, 0xC4 );
}
//字符顯示特征設置函數
//x_char=0~29,y_char=0~15
//hz_char=0x08、0x00分別為正常顯示且閃爍、正常顯示且不閃爍
//hz_char=0x0D、0x05分別為負向顯示且閃爍、負向顯示且不閃爍
//hz_char=0x0B、0x03分別為空白且閃爍、空白且不閃爍
void cgzf_char(unsigned char x_char,unsigned char y_char,unsigned char zf_char)
{unsigned int address;
address=y_char*30u+x_char+0x1000; //顯示緩沖區存儲單元地址
LcmWriteCommandWith2Par( (unsigned char)(address),(unsigned char)(address>>8),0x24); //設置顯示存儲器地址
LcmWriteCommandWith1Par( zf_char, 0xC4 );
}
//顯示"初始化"函數
void Init_Display(void)
{
write_hz(11,48,0); //初
write_hz(13,48,1); //始
write_hz(15,48,2); //化
write_hz(17,48,3); //中
PutChar(19,7,0x0E); //...
PutChar(20,7,0x0E);
PutChar(21,7,0x0E);
write_hz(6,16,4); //三
write_hz(8,16,5); //維
write_hz(10,16,6); //步
write_hz(12,16,7); //進
write_hz(14,16,8); //電
write_hz(16,16,9); //機
write_hz(18,16,10); //控
write_hz(20,16,11); //制
write_hz(22,16,12); //器
}
void Chief_Display(void)
{
CGRAM(30);
write_cghz(1,0,0); //北
write_cghz(3,0,1); //京
write_cghz(5,0,2); //理
write_cghz(7,0,3); //工
write_cghz(9,0,4); //大
write_cghz(11,0,5); //學
write_cghz(13,0,6); //光
write_cghz(15,0,5); //學
write_cghz(17,0,7); //測
write_cghz(19,0,8); //量
write_cghz(21,0,9); //研
write_cghz(23,0,10);//究
write_cghz(25,0,11);//中
write_cghz(27,0,12);//心
write_cghz(1,3,14); //X
write_cghz(3,3,13); //軸
write_cghz(5,3,17); //=
Display(coor,15,3,4,(FLT_read(0x8000))); //從EEPROM的第一扇區的0x8000-0x8003讀取X軸坐標
if(((byte_read(0x8200))&0x01)==0x01) //如果EEPROM0x800中的數據最低位是1則顯示mm,反之顯示度
{
PutChar(26,4,0x4D); //m
PutChar(27,4,0x4D); //m
Librate();
}
else if(((byte_read(0x8200))&0x01)==0x00)
{
PutChar(24,3,0x4F); //度
Rotate();
}
write_cghz(1,5,15); //Y
write_cghz(3,5,13); //軸
write_cghz(5,5,17); //=
Display(coor,15,5,4,(FLT_read(0x8004))); //從EEPROM的第一扇區的0x8004-0x8007讀取Y軸坐標
if(((byte_read(0x8200))&0x02)==0x02)
{
PutChar(26,6,0x4D); //m
PutChar(27,6,0x4D); //m
}
else if(((byte_read(0x8200))&0x02)==0x00)
{
PutChar(24,5,0x4F); //度
}
write_cghz(1,7,16); //Z
write_cghz(3,7,13); //軸
write_cghz(5,7,17); //=
Display(coor,15,7,4,(FLT_read(0x8008))); //從EEPROM的第一扇區的0x8008-0x8011讀取Z軸坐標
if(((byte_read(0x8200))&0x04)==0x04)
{
PutChar(26,8,0x4D); //m
PutChar(27,8,0x4D); //m
}
else if(((byte_read(0x8200))&0x04)==0x00)
{
PutChar(24,7,0x4F); //度
}
PutChar(6,11,0x38); //X
PutChar(8,11,0x33); //S
PutChar(9,11,0x30); //P
PutChar(10,11,0x24);//D
PutChar(11,11,0x0E);//.
PutChar(12,11,0x1D);//=
Display(para,16,11,4,(FLT_read(0x8012))); //從EEPROM的第一扇區的0x8012-0x8015讀取當前速度參數
PutChar(5,12,0x2C); //L
PutChar(6,12,0x29); //I
PutChar(8,12,0x34); //T
PutChar(9,12,0x32); //R
PutChar(10,12,0x36);//V
PutChar(11,12,0x0E);//.
PutChar(12,12,0x1D);//=
Display(para,16,12,4,(FLT_read(0x8016))); //從EEPROM的第一扇區的0x8016-0x8019讀取當前行程參數
PutChar(0,14,0x33); //S
PutChar(1,14,0x34); //T
PutChar(2,14,0x30); //P
PutChar(3,14,0x21); //A
PutChar(4,14,0x1D); //=
Display(para,6,14,1,(FLT_read(0x8020))); //從EEPROM的第一扇區的0x8020-0x8023讀取當前步距角
write_cgzf(8,14,29); //。
PutChar(20,14,0x29);//I
PutChar(21,14,0x2E);//N
PutChar(22,14,0x26);//F
PutChar(23,14,0x31);//Q
PutChar(24,14,0x1D);//=
Display(para,30,14,0,(FLT_read(0x8028))); //從EEPROM的第一扇區的0x8028-0x8031讀取當前INFQ
PutChar(0,15,0x33); //S
PutChar(1,15,0x22); //B
PutChar(2,15,0x24); //D
PutChar(3,15,0x36); //V
PutChar(4,15,0x1D); //=
Display(para,7,15,0,(FLT_read(0x8032))); //從EEPROM的第一扇區的0x8032-0x8035讀取當前細分數
PutChar(9,15,0x32); //R
PutChar(10,15,0x25);//E
PutChar(11,15,0x34);//T
PutChar(12,15,0x1D);//=
PutChar(21,15,0x23);//C
PutChar(22,15,0x2D);//M
PutChar(23,15,0x30);//P
PutChar(24,15,0x34);//T
PutChar(25,15,0x1D);//=
Display(para,30,15,0,(FLT_read(0x8040))); //從EEPROM的第一扇區的0x8040-0x8043讀取當前CMPT
}
//圖形法漢字字庫
const unsigned char code hz_t[]={
0x10,0x00,0x08,0x00,0x08,0x04,0x7E,0xFE,0x04,0x24,0x08,0x24,0x12,0x24,0x34,0x24,
0x58,0x24,0x94,0x24,0x12,0x44,0x10,0x44,0x10,0x84,0x11,0x14,0x12,0x08,0x00,0x00, //初,0
0x10,0x20,0x18,0x30,0x10,0x20,0x10,0x48,0xFC,0x84,0x25,0xFE,0x24,0x84,0x44,0x00,
0x44,0xFC,0x28,0x84,0x18,0x84,0x14,0x84,0x22,0x84,0x42,0xFC,0x80,0x84,0x00,0x00, //始,1
0x08,0x80,0x0C,0x80,0x08,0x88,0x10,0x8C,0x10,0x98,0x30,0xB0,0x50,0xE0,0x90,0xC0,
0x11,0x80,0x12,0x80,0x14,0x80,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x7C,0x00,0x00, //化,2
0x01,0x00,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,
0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, //中,3
0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00, //三,4
0x21,0x00,0x31,0xA0,0x21,0x10,0x43,0xFE,0x4B,0x10,0xF5,0x10,0x11,0xFE,0x21,0x10,
0x41,0x10,0xF9,0xFE,0x01,0x10,0x01,0x10,0x19,0x10,0xE1,0xFE,0x01,0x00,0x01,0x00, //維,5
0x00,0x80,0x00,0x80,0x08,0xF8,0x08,0x80,0x08,0x80,0x7F,0xFE,0x00,0x80,0x08,0x80,
0x08,0x88,0x10,0x8C,0x60,0x90,0x00,0x20,0x00,0xC0,0x07,0x00,0x78,0x00,0x00,0x00, //步,6
0x01,0x10,0x41,0x10,0x21,0x10,0x37,0xFC,0x21,0x10,0x01,0x10,0x01,0x10,0xF7,0xFE,
0x11,0x10,0x11,0x10,0x12,0x10,0x12,0x10,0x14,0x10,0x28,0x00,0x47,0xFE,0x00,0x00, //進,7
0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00, //電,8
0x10,0x00,0x10,0xF8,0x10,0x88,0xFE,0x88,0x10,0x88,0x10,0x88,0x38,0x88,0x34,0x88,
0x54,0x88,0x50,0x88,0x91,0x08,0x11,0x0A,0x12,0x0A,0x12,0x0A,0x14,0x06,0x10,0x00, //機,9
0x10,0x00,0x10,0x20,0x10,0x10,0xFD,0xFE,0x11,0x04,0x10,0x50,0x14,0x8C,0x19,0x04,
0x30,0x00,0xD1,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x53,0xFE,0x20,0x00, //控,10
0x24,0x04,0x34,0x04,0x24,0x24,0x3F,0xA4,0x44,0x24,0x04,0x24,0x7F,0xA4,0x04,0x24,
0x3F,0xA4,0x24,0xA4,0x24,0xA4,0x24,0xA4,0x24,0x84,0x27,0x84,0x05,0x14,0x04,0x08, //制,11
0x3E,0x7C,0x22,0x44,0x22,0x44,0x3E,0x7C,0x01,0x10,0x01,0x08,0xFF,0xFC,0x06,0xC0,
0x18,0x30,0xE0,0x0E,0x3E,0xFC,0x22,0x88,0x22,0x88,0x22,0x88,0x3E,0xF8,0x00,0x00 //器,12
};
//CGRAM漢字字庫
const unsigned char code hz[]={
0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x44,0x04,0x4E,0x7C,0x58,0x04,0x60,0x04,0x40,
0x04,0x40,0x04,0x40,0x0C,0x40,0x34,0x42,0xE4,0x42,0x44,0x42,0x04,0x3E,0x00,0x00, //北,0
0x02,0x00,0x01,0x08,0x7F,0xFC,0x00,0x00,0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,
0x1F,0xF0,0x01,0x00,0x09,0x30,0x19,0x18,0x31,0x0C,0x41,0x08,0x05,0x00,0x02,0x00, //京,1
0x00,0x00,0x03,0xFC,0xFA,0x44,0x22,0x44,0x23,0xFC,0x22,0x44,0xFA,0x44,0x23,0xFC,
0x22,0x44,0x20,0x40,0x23,0xFC,0x38,0x40,0xC0,0x40,0x00,0x40,0x0F,0xFE,0x00,0x00, //理,2
0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00, //工,3
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x80,
0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x04, //大,4
0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,
0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00, //學,5
0x01,0x00,0x21,0x10,0x19,0x18,0x0D,0x10,0x09,0x20,0x01,0x04,0x7F,0xFE,0x04,0x40,
0x04,0x40,0x04,0x40,0x04,0x40,0x08,0x42,0x08,0x42,0x10,0x42,0x20,0x3E,0x40,0x00, //光, 6
0x40,0x02,0x27,0xC2,0x24,0x42,0x84,0x52,0x45,0x52,0x55,0x52,0x15,0x52,0x25,0x52,
0x25,0x52,0x25,0x52,0xC5,0x52,0x41,0x02,0x42,0x82,0x42,0x42,0x44,0x4A,0x48,0x04, //測,7
0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x00,0x00,0xFF,0xFE,0x11,0x10,
0x1F,0xF0,0x11,0x10,0x1F,0xF0,0x01,0x00,0x1F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x00, //量,8
0x00,0x00,0xFD,0xFE,0x10,0x88,0x10,0x88,0x20,0x88,0x20,0x88,0x7B,0xFE,0x68,0x88,
0xA8,0x88,0x28,0x88,0x28,0x88,0x29,0x08,0x39,0x08,0x22,0x08,0x04,0x08,0x08,0x08, //研, 9
0x02,0x00,0x01,0x00,0x7F,0xFE,0x40,0x04,0x12,0x20,0x22,0x10,0x42,0x08,0x1F,0xC0,
0x02,0x40,0x02,0x40,0x04,0x40,0x04,0x42,0x08,0x42,0x10,0x42,0x20,0x3E,0x00,0x00, //究,10
0x01,0x00,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,
0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, //中,11
0x02,0x00,0x01,0x00,0x00,0x80,0x00,0xC0,0x08,0x80,0x08,0x00,0x08,0x10,0x48,0x08,
0x48,0x04,0x48,0x06,0x88,0x04,0x08,0x10,0x08,0x10,0x08,0x10,0x07,0xF0,0x00,0x00, //心,12
0x20,0x20,0x30,0x20,0x20,0x20,0xFC,0x20,0x41,0xFC,0x51,0x24,0x91,0x24,0xFD,0x24,
0x11,0xFC,0x11,0x24,0x1D,0x24,0xF1,0x24,0x11,0xFC,0x11,0x04,0x11,0x04,0x10,0x00, //軸,13
0x00,0x00,0x00,0x00,0x78,0x1E,0x10,0x08,0x08,0x10,0x04,0x20,0x02,0x40,0x01,0x80,
0x00,0x80,0x02,0x40,0x04,0x20,0x08,0x10,0x10,0x08,0x78,0x1E,0x00,0x00,0x00,0x00, // X,14
0x00,0x00,0x00,0x00,0x78,0x1E,0x10,0x08,0x08,0x10,0x04,0x20,0x02,0x40,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x07,0xE0,0x00,0x00,0x00,0x00, // Y.15
0x00,0x00,0x00,0x00,0x1F,0xFC,0x20,0x0C,0x00,0x18,0x04,0x30,0x02,0x60,0x01,0xC0,
0x01,0x80,0x03,0x40,0x06,0x20,0x0C,0x00,0x18,0x04,0x3F,0xFC,0x00,0x00,0x00,0x00, // Z,16
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // =,17
0x00,0x00,0x00,0x00,0x03,0xE0,0x06,0x30,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x0C,0x18,
0x0C,0x18,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x06,0x30,0x03,0xE0,0x00,0x00,0x00,0x00, // 0,18
0x00,0x00,0x00,0x00,0x03,0x80,0x07,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x07,0xE0,0x00,0x00,0x00,0x00, // 1,19
0x00,0x00,0x00,0x00,0x07,0xC0,0x0C,0x60,0x18,0x30,0x10,0x30,0x00,0x20,0x00,0x60,
0x00,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x10,0x1F,0xF0,0x00,0x00,0x00,0x00, // 2,20
0x00,0x00,0x00,0x00,0x1F,0xF0,0x10,0x30,0x00,0x60,0x00,0xC0,0x01,0x80,0x00,0xE0,
0x00,0x30,0x00,0x10,0x00,0x10,0x10,0x30,0x18,0x60,0x0F,0xC0,0x00,0x00,0x00,0x00, // 3,21
0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0xC0,0x03,0xC0,0x02,0xC0,0x06,0xC0,0x0C,0xC0,
0x18,0xC0,0x30,0xC0,0x3F,0xF8,0x00,0xC0,0x00,0xC0,0x01,0xE0,0x00,0x00,0x00,0x00, // 4,22
0x00,0x00,0x00,0x00,0x0F,0xF8,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0F,0xE0,0x0C,0x30,
0x00,0x18,0x00,0x18,0x0C,0x18,0x0C,0x18,0x06,0x30,0x03,0xE0,0x00,0x00,0x00,0x00, // 5,23
0x00,0x00,0x00,0x00,0x03,0xE0,0x06,0x30,0x0C,0x18,0x0C,0x00,0x0C,0x00,0x0F,0xE0,
0x0C,0x30,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x06,0x30,0x03,0xE0,0x00,0x00,0x00,0x00, // 6,24
0x00,0x00,0x00,0x00,0x1F,0xF8,0x10,0x18,0x00,0x30,0x00,0x60,0x00,0xC0,0x01,0x80,
0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00, // 7,25
0x00,0x00,0x00,0x00,0x03,0xE0,0x06,0x30,0x0C,0x18,0x0C,0x18,0x04,0x10,0x03,0xE0,
0x06,0x30,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x06,0x30,0x03,0xE0,0x00,0x00,0x00,0x00, // 8,26
0x00,0x00,0x00,0x00,0x03,0xE0,0x06,0x30,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x06,0x38,
0x03,0xD8,0x00,0x18,0x00,0x18,0x0C,0x18,0x06,0x30,0x03,0xE0,0x00,0x00,0x00,0x00, // 9,27
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //空白,28
0x18,0x00,0x24,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 度,29
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -