文章首页 | 基础入门 | 电路原理图 | 濮婎垰鑸伴崶鎯х杽娓氾拷 | PLC閸╄櫣顢�   閵嗗﹤顩ч弸婊冩灘濞嗐垺婀扮粩娆欑礉鐠囬攱瀵� Ctrl+D 閹靛濮╅弨鎯版閿涗焦鍔呯拫銏″亶閻ㄥ嫭鏁幐浣碘偓锟�娑撯偓鐠у嘲顒熸稊鐘辩鐠х柉绻樺銉礉閻㈤潧鐡欏鈧崣鎴犲竾濞嗐垼绻嬮幃顭掔磼.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

閳藉懐鏁哥捄顖氬彆瀵繑澧滈崘宀嬬礉閺堚偓閺傛壆澧楅妴濠勬暩鐎涙劗鏁哥捄顖氬彆瀵繗顓哥粻妤€娅掗妴瀣剁礉閻絻鐭鹃崗顒€绱¢弻銉嚄閹靛鍞� 閻絻鐭鹃崗顒€绱$拋锛勭暬閸c劊鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
閳藉棗宕勬径鈺侇劅娴兼艾宕熼悧鍥ㄦ簚鐎圭偘绶�100 c鐠囶叀鈻� chm閺嶇厧绱¢妴鍌濈カ閺傛瑥鍞寸€圭顕涚紒鍡礉鐟曞棛娲婃笟瀣摍婢舵熬绱濋崘鍛啇楠炶¥鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

ks0107 12864 LCD显示程序(调试通过)

作者:佚名    文章来源:本站原创    点击数:2740    更新时间:2011-6-6

12864 ks0107 LCD显示程序(调试通过)

#include <reg51.h>
#include <intrins.h>
typedef unsigned char uchar;  /*用typedef和下面的#define的定义方法都可以实现所需
要的定义。*/
typedef unsigned int  uint;
/*#define uchar unsigned char*/
/*#define uint unsigned int*/
sbit L_DI   =  P3^7;
sbit L_RW   =  P3^6;
sbit L_E    =  P3^5;
sbit L_CS1  =  P3^4;
sbit L_CS2  =  P3^2;
sbit L_SET  =  P3^3;
/*sbit TEST   =  P3^5;*/
float abc;
uchar code X1[] = {
    0x30,0x50,0xd0,0x90,0xf0,0x30,0x80,0x60,0x3c,0xe8,0x20,0xa0,0xe0,0x70
,0x00,0x00,
    0x04,0x06,0x03,0x11,0x13,0x12,0x18,0x0c,0x07,0x01,0x03,0x06,0x0c,0x1c
,0x18,0x18
        };    /*欢*/
uchar code X2[] = {
    0x40,0x58,0x58,0xd0,0x10,0xf8,0x98,0x08,0x88,0xf8,0xf0,0x10,0xf8,0x70
,0x00,0x00,
    0x0c,0x04,0x04,0x07,0x04,0x05,0x0d,0x0d,0x08,0x1f,0x1b,0x19,0x38,0x38
,0x18,0x18
        };    /*迎*/
uchar code X3[] = {
    0x30,0x30,0xf8,0xf8,0x08,0x10,0xd0,0x50,0x50,0xfc,0xfc,0x50,0xd0,0xf0
,0x10,0x00,
    0x00,0x00,0x1f,0x1f,0x10,0x10,0x13,0x1b,0x0f,0x07,0x05,0x0d,0x09,0x19
,0x38,0x18
        };    /*使*/
uchar code X4[] = {
    0x00,0x00,0x00,0x00,0xfc,0xf8,0x48,0x48,0x48,0xf8,0xf8,0x48,0x48,0x48
,0xfc,0xf8,
    0x10,0x10,0x18,0x1e,0x0f,0x01,0x01,0x01,0x01,0x3f,0x1f,0x01,0x01,0x01
,0x3f,0x3f
        };    /*用*/
uchar code X5[] = {
    0x18,0xfc,0x08,0x48,0x48,0xb8,0xd8,0x58,0xe8,0xb8,0xb8,0x08,0x08,0xf8
,0xf8,0x00,
    0x00,0x1f,0x11,0x11,0x11,0x14,0x15,0x16,0x16,0x10,0x11,0x11,0x11,0x3f
,0x1f,0x00
        };    /*图*/
uchar code X6[] = {
    0xc0,0xc8,0xc8,0xf8,0xf8,0xc8,0xf8,0xf8,0xc8,0xc8,0x00,0x10,0x90,0xd8
,0x48,0x48,
    0x18,0x18,0x0c,0x0f,0x03,0x00,0x1f,0x1f,0x10,0x10,0x11,0x19,0x18,0x0c
,0x04,0x06
        };    /*形*/
uchar code X7[] = {
    0x00,0x00,0x00,0xe0,0xe0,0x40,0x40,0x7c,0x7c,0x58,0x58,0x58,0xd0,0xd0
,0x00,0x00,
    0x10,0x18,0x08,0x0d,0x03,0x19,0x0d,0x01,0x01,0x0d,0x19,0x01,0x07,0x0c
,0x18,0x38
        };    /*点*/
uchar code X8[] = {
    0x08,0xf8,0xf8,0x48,0xe8,0x98,0x90,0xd8,0xf0,0xbc,0xfc,0xd0,0x90,0x90
,0x90,0x10,
    0x00,0x3f,0x1f,0x02,0x03,0x05,0x06,0x07,0x07,0x06,0x3f,0x3f,0x06,0x06
,0x04,0x04
        };    /*阵*/
uchar code X9[] = {
    0x10,0x08,0x1c,0xfe,0x00,0x00,0x00,0x00,0x00,0x30,0x08,0x04,0x04,0x98
,0xf0,0x00,
    0x80,0x80,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0xa0,0xe0,0x90,0x8a,0x83
,0xc1,0x00
        };    /*12*/
uchar code X10[] = {
    0x00,0x78,0xc8,0x84,0x04,0x84,0xf8,0x00,0x00,0x80,0x80,0x00,0x00,0x00
,0x80,0x80,
    0x00,0x78,0x84,0x83,0x83,0x8e,0xfc,0x40,0x00,0x80,0x63,0x17,0x1c,0xf2
,0xc1,0x80
        };    /*8x*/
uchar code X11[] = {
    0x00,0x80,0xe0,0x10,0x08,0x04,0x04,0x00,0x00,0x00,0x80,0x60,0x10,0xf8
,0x00,0x00,
    0x00,0x7f,0xc2,0x81,0x81,0x81,0x7f,0x18,0x00,0x0e,0x09,0x08,0x08,0xff
,0x08,0x08
        };    /*64*/
uchar code X12[] = {
    0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa
,0x55,0xaa,
    0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa
,0x55,0xaa
        };    /*....*/
uchar code X13[] = {
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0xff,0xff
        };    /*全黑*/
uchar code X14[] = {
    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
        };    /*全白*/
uchar code X15[]={
    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
,0x01,0x01,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00
        };    /*上边*/
uchar code X16[]={
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,
    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
,0x80,0x80
        };    /*下边*/
uchar code X17[]={
    0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,
    0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00
        };    /*左边*/
uchar code X18[]={
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0xff,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0xff
        };    /*右边*/
uchar code X19[]={
    0xff,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
,0x01,0x01,
    0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00
        };    /*左上*/
uchar code X20[]={
    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
,0x01,0xff,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0xff
        };    /*右上*/
uchar code X21[]={
    0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,
    0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
,0x80,0x80
        };    /*左下*/
uchar code X22[]={
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0xff,
    0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
,0x80,0xff
        };    /*右下*/
uchar code X23[]={
    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
        };    /*空白*/
#pragma REGISTERBANK(0)
void initcomm(void)
{
    PCON = 0x80;TMOD = 0X21; SCON = 0X50;
    TH1 = 0XFa;TL1 = 0XFa; TR1 = 1;ES = 1;
    TH0 = 0;TL0 = 0;TR0 = 1; ET0 = 1;
    EA =0;
}
void delay(void)
{
    uchar i,j;
    abc = 0.1*5;
    for (i = 0;i != 0xff;i++)
        for (j = 0;j != 0xff;j++) ;
}
void LCD_C_D(bit flag,uchar ldata)          /*flag=1 con flag=0 data*/
{
    uchar data i;
    L_DI = !flag;    L_E = 0;    L_RW = 0;    P0 = ldata;
    _nop_();
    L_E = 1;
    _nop_();    _nop_();
    L_E = 0;    L_RW = 1;    L_DI = 1;
    for ( i = 0; i < 10 ;i++) ;
}

void dis_one_zi(uchar x_add,uchar y_add,uchar code *po)
{
    uchar i,j,w;
    j = x_add*2+0xb8;
    w = (y_add < 4 ? y_add : y_add-4)*16+0x40;
    L_CS1 =  (y_add < 4);
    L_CS2 = !(y_add < 4);
    LCD_C_D(1,j);
    LCD_C_D(1,w);
    for (i = 0; i < 32;i++)
    {
        if (i == 16)
        {
            LCD_C_D(1,j+1);
            LCD_C_D(1,w);
        }
        LCD_C_D(0,*po++);
    }
    L_CS1 = L_CS2 = 0;
}
void CLRLCD(uchar number)
{
    uchar data i,j;
    L_CS1 = L_CS2 = 1;
    for (i = 0xb8; i < 0xc0;i++)
    {
        LCD_C_D(1,i);
        LCD_C_D(1,0X40);
        for (j = 0; j < 0x40; j++)
            LCD_C_D(0,number);
    }
    L_CS1 = L_CS2 = 0;
}

void main(void) using 0
{
    uchar data i,j,number;
    uchar code *p;
    initcomm();
    L_SET = 0;
    for ( j = 0; j != 0xff; j++);
    L_SET = 1;
    for ( j = 0; j != 0xff; j++);
    LCD_C_D(1,0X3E);    /**/
    LCD_C_D(1,0XC0);    /**/
    LCD_C_D(1,0X3F);    /**/
    CLRLCD(0);
    while(1)
    {
        CLRLCD(0);
    LCD_C_D(1,0X3E);
    p=X15;/*上下左右*/
        for (number=1;number<7;number++)
        {    dis_one_zi(0,number,p);        }
    p=X16;
        for (number=1;number<7;number++)
        {    dis_one_zi(3,number,p);        }
    p=X17;
        for (number=1;number<3;number++)
        {    dis_one_zi(number,0,p);        }
    p=X18;
        for (number=1;number<3;number++)
        {    dis_one_zi(number,7,p);        }
    /*四个角*/
    p=X19;    dis_one_zi(0,0,p);
    p=X20;    dis_one_zi(0,7,p);
    p=X21;    dis_one_zi(3,0,p);
    p=X22;    dis_one_zi(3,7,p);
    /*欢迎使用*/
    p=X1;    dis_one_zi(1,1,p);
    p=X2;    dis_one_zi(1,2,p);
    p=X3;    dis_one_zi(1,3,p);
    p=X4;    dis_one_zi(1,4,p);
    /*图形点阵*/
    p=X5;    dis_one_zi(2,5,p);
    p=X6;    dis_one_zi(2,6,p);
    p=X7;    dis_one_zi(1,5,p);
    p=X8;    dis_one_zi(1,6,p);
    /*128X64*/
    p=X9;    dis_one_zi(2,1,p);
    p=X10;    dis_one_zi(2,2,p);
    p=X11;    dis_one_zi(2,3,p);
    p=X23;    dis_one_zi(2,4,p);

    LCD_C_D(1,0X3F);
        delay();        delay();
    CLRLCD(0);
    LCD_C_D(1,0X3E);
    p=X12;
        for (number=0;number<4;number++)
        {
          for (i = 0; i < 8;i++)
          {    dis_one_zi(number,i,p);    }
        }
    LCD_C_D(1,0X3F);
    delay();        delay();
    CLRLCD(0);
    LCD_C_D(1,0X3E);
    p=X13;
        for (number=0;number<4;number++)
        {
          for (i = 0; i < 8;i++)
          {    dis_one_zi(number,i,p);    }
        }
    LCD_C_D(1,0X3F);
    delay();        delay();
    CLRLCD(0);
    }
}


Tags:12864 LCD显示程序,单片机  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章:
  • 请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
        没有任何评论
    閻㈤潧鐡欏鈧崣鎴犵秹閿涙碍鐪归梿鍡欐偅閸氬牆鎮囩猾鑽ゆ暩鐎涙劕鍩楁担婊€绗岄悽浣冪熅閸ュ墽娈戠純鎴犵彲閿涘lc瀹搞儲甯堕幎鈧張锟�,濡紕鏁搁弫鎵暩閻儴鐦�,閸楁洜澧栭張绡岲A缁涘鐡戦敍浣藉疮閽€鍐暩鐠侯垰娴樼純鎴犵彲缁儳宕曢敍灞艰礋瀹搞儳鈻肩敮鍫濆灡闁姳鐜崐绗衡偓鍌涱偨鏉╁骸鍙у▔銊ヤ簳娣団€冲彆娴兼褰块敍姘辨暩鐎涙劕绱戦崣鎴犵秹閿涳拷
    最新推荐
    鐠у嫭鏋¢崠鍛瑓鏉烇拷
     [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂備礁鎲¢妵鐐电矆娓氣偓婵″灚寰勭仦绋夸壕婵炴垵纾槐鎵磼閸欐ê宓嗙€规洩绻濆鎾偐瀹割喗姣堥梻浣告惈閻楀棝骞栭锔藉仾闁告洦鍓涢悷褰掓煥閻曞倹瀚�100 c闂佽崵濮村ù鍕箯閿燂拷
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]濠电偞鍨堕幐鎼佀囩€圭姰浜圭紒鈧悜鐫犻梺璇插閸愯崵绱撳鍗炲К闁告洦鍓涢々鐑芥偣閹帒濡介柛鈺佸€垮鍫曟倻閸℃浠у┑鐐叉-閺侇煝-TR
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM324闂佸搫顦弲婊堝礉閺嶎厼妫橀柨鐕傛嫹4~20mA闂佸搫顦遍崕鎴﹀箯閿燂拷1~5V闂備焦鐪归崹褰掓倶濮樿京鐭堥柨鐕傛嫹
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM386濠碉紕鍋涘﹢杈╁垝椤栫偞鍊垫い鎺嶇劍婵挳鏌熼幑鎰靛殭妞ゆ柨锕弻娑滅疀閹垮啫鍓跺銈冨劜閹瑰洤顕i妸鈺佺畾鐟滃绂嶉敐澶嬬厱闁挎繂鍟俊濂告偨椤栥倖瀚�
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]936闂備胶绮敮鎺楁晝閵堝牄浜归柟缁㈠枟閸嬨劌霉閿濆懎鏆熼柣鏂挎嚇閺屾稑螣閻撳孩鐏侀梺璇″枛閿曨亜鐣烽崼鏇熸櫢闁跨噦鎷�
     [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂佺儵鍓濈敮鎺楀箠鎼淬劍鏅柟閭﹀厴閺嬫牠鏌曡箛銉х?闁靛牊鎸抽幃褰掓偖鐎涙ê顏�+婵犵數鍋為幐鎾疾濞戞埃鍋撻惂鍛婂+闂備胶顢婄紙浼村磿閹绢噮鏁嗛柣鏂垮悑閸庡秹鏌涢弴銊ヤ簻缂佲偓閿燂拷
     [闂傚倷绶¢崑鍛潩閵娾晛鏋侀柕鍫濐槹閸嬨劑姊婚崼鐔恒€掗柟钘夌Ч閹鎷呴悷鎵槰濡炪倖鎸搁幉鈥翅缚椤忓牜鏁嶆繛鍡樺姦閸嬶拷]S7-200PLC闂備焦鐪归崝宀€鈧凹浜為幐鎺楀閵堝棗鍓抽梺缁樻⒐濡叉帡骞忛鈷氬綊鎮崨顔碱伓 S7_2
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]S7-200闂佸湱鍘ч悺銊╁箰婵犳艾鍑犻柛鎰ㄦ櫇椤╃兘鎮规担鍛婅础缂佲偓閸曨垱鐓曢煫鍥风悼閸樻粎绱掗幉瀣,STEP7
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]ModbusPoll闂備礁鎲$划宀勵敆閻栧獛busSalve闂備胶枪妤犲繘骞忛敓锟�
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]STEP7婵犵妲呴崹顏堝礈濠靛牃鍋撳顓犳噰闁哄苯鐭佺粻娑㈠棘鐠恒劍鈻屽┑鐐差嚟婵即宕愰弴鐘哄С闁跨噦鎷� Smart_
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modbus闂佽崵濮撮鍛村疮閹惰姤鍎婃い鏍ㄧ矊閸ㄦ繈鏌涢幘妤€鍊荤憴锟� v1.024 缂傚倸鍊风欢銈夊箯閿燂拷
     [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modscan32闂備礁鎲$划宀勵敆閻栧獛sim32,modb
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]89c51闂備胶枪缁绘劙藝闁秵鍋熸繛鎴欏灩濡﹢姊洪锝囶灱闂傚棗缍婇弻锝夘敂閸℃鐝㈢紓浣介哺閻涱槝otues
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]濠电偞鍨堕幐绋棵洪妶澶婄濡わ絽鍟崒銊╂煕閻愭潙袨otues濠电偛顕慨鎯р枖閺囩儑鑰块柨娑樺閻瑩鎮楅敐搴濈敖缁炬澘绉电换婵婎槼闁告梹顨婇幃銉╂晸閿燂拷
     [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]51闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬鏌涘┑鍡楊仼闁秆冿功缁辨帞鈧綀鍩栫€氾拷 protues濠电偛顕慨鎯р枖閺囩儑鑰块柨鐕傛嫹
    閺堚偓閺傜増鏋冪粩锟�
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询