⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dy-2n.c

📁 (C51编程)润版系统控制-液晶界面-人机对话-主从机通讯。
💻 C
📖 第 1 页 / 共 4 页
字号:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x02,0x02,0xFE,0x80,
0x40,0x00,0xFF,0x02,0xFA,0x4B,0x4A,0xFA,0x00,0xFF,0x00,0x00,0x00,0x20,0x37,0xAD,
0x3F,0x2D,0x37,0xE0,0xB1,0xB0,0xAB,0xA4,0x2B,0x30,0x10,0x00,0x00,0x00,0x00,0xFF,
0x00,0x00,0x00,0x01,0xFF,0x11,0x10,0x11,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xDF,0x5F,0x5F,0x5F,0x5F,0x5F,0x58,0x5F,0x5F,0x5F,0x5B,0x5C,0x5F,0x5E,0x59,0x5F,
0x5F,0x5D,0x5B,0x5C,0x5F,0x5F,0x5F,0x58,0x5D,0x5E,0x5D,0x5D,0x5E,0x5E,0x5E,0x5F,
0x5F,0x5E,0x5D,0x58,0x5F,0x5F,0x5F,0x5F,0xDF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDF,0x50,0x50,0x50,0x50,0x50,0x50,0x51,0x50,
0x54,0x53,0x50,0x50,0x50,0x50,0x50,0x52,0x54,0x57,0x50,0x50,0x50,0x54,0x54,0x57,
0x54,0x54,0x54,0x57,0x54,0x54,0x54,0x54,0x54,0x54,0x50,0x50,0x50,0x50,0x50,0xDF,
0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFF,0x00,0x00,0x00,0x00,0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,
0xBE,0xC0,0x40,0x40,0x00,0x00,0x10,0x0C,0xA4,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,
0x24,0x14,0x0C,0x04,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x20,0x21,0xEE,0x04,
0x00,0x00,0xFF,0x29,0xA9,0xBF,0xA9,0xA9,0x01,0xFF,0x00,0x00,0x00,0x04,0x74,0xD4,
0xFF,0xD4,0x74,0x04,0x10,0x0C,0xB7,0x44,0xB4,0x0C,0x04,0x00,0x00,0x00,0x00,0xFF,
0x00,0x00,0x00,0x30,0x10,0x10,0xF0,0x10,0x10,0x30,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x10,0x48,0x40,0x20,0x21,0x16,0x08,0x08,
0x16,0x21,0x60,0x20,0x00,0x40,0x20,0x18,0x07,0x08,0x10,0x20,0x7F,0x42,0x42,0x42,
0x42,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x08,
0x44,0x30,0x0F,0x00,0x0F,0x04,0x04,0x2F,0x40,0x7F,0x00,0x00,0x00,0x42,0x43,0x7A,
0x43,0x42,0x43,0x7E,0x4B,0x4B,0x4A,0x4A,0x42,0x43,0x01,0x00,0x00,0x00,0x00,0xFF,
0x00,0x00,0x00,0x00,0x00,0x10,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFD,0x05,0x05,0x05,0x05,0x05,0x05,0x85,0xC5,0xA5,0xB5,0x85,0xC5,0x45,0x45,0x65,
0xC5,0x05,0x05,0x05,0x05,0x05,0x25,0x45,0x85,0xF5,0x85,0x45,0x25,0x05,0x05,0xF5,
0x25,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0xFD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,0x05,0x05,0x05,0x05,0x05,0x45,0x45,0x45,
0x45,0x45,0x45,0xE5,0x25,0x25,0x25,0x25,0x25,0x05,0x05,0x05,0x05,0x45,0x45,0x45,
0x45,0x45,0x45,0x05,0x05,0x05,0xF5,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0xFD,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFF,0x00,0x00,0x00,0x00,0x22,0x22,0x52,0x52,0x2A,0xA6,0x93,0x4A,0x42,0x26,0x2A,
0x92,0xB2,0x62,0x20,0x00,0x21,0x29,0xA5,0xE3,0x3F,0xA3,0x65,0x25,0x08,0x0F,0x31,
0xC1,0x31,0x0F,0x01,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x10,0x12,0x12,0x12,
0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x12,0x12,0x10,0x00,0x82,0xC2,0xB2,0x8E,
0xC2,0x52,0xE2,0x42,0x01,0xC1,0x3F,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x9F,0x90,0x90,0x90,0x90,0x90,0x94,0x94,0x95,0x95,0x94,0x92,0x92,0x92,0x91,0x91,
0x90,0x90,0x90,0x90,0x90,0x94,0x94,0x92,0x92,0x91,0x91,0x92,0x90,0x94,0x92,0x91,
0x90,0x93,0x96,0x92,0x90,0x90,0x90,0x90,0x9F,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x9F,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
0x90,0x92,0x94,0x93,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x91,0x90,0x90,
0x90,0x90,0x94,0x92,0x91,0x90,0x90,0x92,0x94,0x93,0x90,0x90,0x90,0x90,0x90,0x9F,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF};

    void delay (uint day)
    {
        while (--day!=0);
    }
    void trans (void)
    {
        uchar ii;
        mclk=0;
        for (ii=8;ii>0;ii--)
        {
            sdao=wbuf;
            mclk=1;
            _nop_();
            buf45<<=1;
            mclk=0;
            _nop_();
        }
        sdao=0;
    }
    void rdsr (void)
    {
        uchar i;
        dcs=1;
        mclk=0;
        dcs=0;
        cmd45=0x05;
        for (i=8;i>0;i--)
        {
            sdao=cmd;
            mclk=1;
            cmd45<<=1;
            mclk=0;
        }
        sdao=0;
        sdai=1;
        for (i=8;i>0;i--)
        {
            cmd0=sdai;
            mclk=1;
            cmd45=_crol_(cmd45,1);
            mclk=0;
        }
        cmd45=_cror_(cmd45,1);
        dcs=1;
    }
    void wwip (void)
    {
        uchar l;
        l=0;
        cmd0=1;
        while (cmd0 && (++l<=200))
        {
            rdsr ();
        }
    }
    void wren (void)
    {
        mclk=0;
        dcs=0;
        buf45=0x06;
        trans ();
        wwip ();
        dcs=1;
    }
    void wrsr (uchar srmd)
    {
        wren ();
        dcs=1;
        mclk=0;
        dcs=0;
        buf45=0x01;
        trans ();
        buf45=srmd;
        trans ();
        wwip ();
        dcs=1;
    }
    void wrmem (uchar dd,uchar aa)
    {
        wren ();
        dcs=1;
        mclk=0;
        buf45=0x02;
        dcs=0;
        trans ();
        buf45=dd;
        trans ();
        buf45=aa;
        trans ();
        cmd45=0;
        wwip ();
        dcs=1;
        mclk=1;
    }
    uchar rdmem (uchar dd)
    {
        uchar i;
        dcs=1;
        mclk=0;
        buf45=0x03;
        dcs=0;
        trans ();
        buf45=dd;
        trans ();
        for (i=8;i>0;i--)
        {
            _nop_();
            rbuf=sdai;
            mclk=1;
            buf45=_crol_(buf45,1);
            mclk=0;
            _nop_();
        }
        buf45=_cror_(buf45,1);
        dcs=1;
        return (buf45);
    }
    void kcheck (uchar kmod)
    {
        uchar kno1,ki;
        kno=0xff;
        ki=kmod;
        kno1=2;
        keyio=0xff;
        kno=keyio;
        if (kno==0xff)
        {
            goto chkr;
        }
        else
        {
            dcs=0;
            dcs=1;
            kno1=kno;
            delay (5000);
            kno=keyio;
            if (kno!=kno1) goto chkr;
            while (kno!=0xff)
            {
                dcs=~dcs;
                kno=keyio;
                delay(1000);
            }
        }
        switch (kno1)
        {
            case 0xfe: kno=0;
            break;
            case 0xfd: kno=1;
            break;
            case 0xfb: kno=2;
            break;
            case 0xf7: kno=3;
            break;
            case 0xef: kno=4;
            break;
            case 0xdf: kno=5;
            break;
            case 0xbf: kno=6;
            break;
            case 0x7f: kno=7;
            break;
            default: goto chkr;
        }
chkr:;
    }
	void ssend (void)
	{
		uchar ssi,ssum;
        ssum=0;
		TI=0;
        SBUF=0x55;
        while(!TI);
        TI=0;
		for (ssi=0;ssi<9;ssi++)
		{
			SBUF=ssbuf[ssi];
            ssum+=ssbuf[ssi];
			while (!TI);
			TI=0;
		}
        SBUF=ssum;
        while(!TI);
        TI=0;

	}
    void format (void)
    {
        TMOD = 0x21;
        SCON = 0x50;
        TH1 =  0xfd;
        TL1 =  0xfd;
        TR1=1;
        T2CON=0;
        RCAP2H=0xd8; //65136=fe70,62536=f448
        RCAP2L=0xf0;
        TH2=0xd8;
        TL2=0xf0;
        RI=0;
        TI=0;
        PS=1;
        EA=1;
        ES=1;
        delay (1000);
    }
    void LCD_C_D(bit flag,uchar ldata)          /*flag=1 con flag=0 data*/
    {
        L_DI = !flag;
        L_E = 0;
        L_RW = 0;
        lcd_bus = ldata;
        _nop_();
        L_E = 1;
        _nop_();    _nop_();
        L_E = 0;
        L_RW = 1;
        L_DI = 1;
        delay (5);
    }
    void CLRLCD(uchar number)
    {
        uchar 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 busy ()
    {
        lcd_bus=0xff;
        L_E=0;
        L_DI = 0;
        L_RW = 1;
        _nop_();
        L_E=1;
        _nop_();
        bu=sta;
        while (bu)
        {
            bu=sta;
        }
        L_E=0;
    }
    uchar rd_lcd()
    {
        uchar lda;
        busy ();
        lcd_bus=0xff;
        L_E = 0;
        _nop_();
        _nop_();
        L_DI = 1;
        L_RW = 1;
        _nop_();
        _nop_();
        L_E = 1;
        delay (50);
        lda=lcd_bus;
        L_E = 0;
        _nop_();
        return lda;
    }
    void areaqh (void)
    {
        L_CS1 =0;
        L_CS2 =1;
        LCD_C_D(1,fx);
        LCD_C_D(1,0x40);
    }
    void fanse (uchar fsno)  //using 1
    {
        uchar row,col,dot_x,dot_y,fnn;
		uchar freg[40];
        EA=0;
        row=oprow[comno][fsno];    //反色块的行点数X方向
        col=opcol[comno][fsno];    //反色块的列点数Y方向
        dot_x=opx[comno][fsno];    //反色块的起始点X坐标
        dot_y=opy[comno][fsno];    //反色块的起始点Y坐标
        fx=dot_x/8+0xb8;
        fy=dot_y%64;
        fy+=0x40;
        area =(dot_y<64);
        L_CS1 =area;
        L_CS2 =!area;
        fu=dot_x%8;
        if (fu!=0)
        {
            LCD_C_D(1,fx);
            LCD_C_D(1,fy);
            freg[0]=rd_lcd();
            fnn=dot_y;
            for (ft=0;ft<col;ft++)
            {
                if (fnn==64)
                {
                    areaqh();
                    freg[ft]=rd_lcd();
                }
                freg[ft]=rd_lcd();
                wreg2=~freg[ft];
                freg[ft]<<=8-fu;
                freg[ft]>>=8-fu;
                wreg2>>=fu;
                wreg2<<=fu;
                freg[ft]|=wreg2;
                fnn++;
            }
            L_CS1 =area;
            L_CS2 =!area;
            LCD_C_D(1,fx);
            LCD_C_D(1,fy);
            fnn=dot_y;
            for (ft=0;ft<col;ft++)
            {

                if (fnn==64)
                {
                    areaqh();
                }
                LCD_C_D(0,freg[ft]);
                fnn++;
            }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -