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

📄 s6b0724.c

📁 用C语言写的液晶S6B0724的驱动程序
💻 C
📖 第 1 页 / 共 2 页
字号:
  delay_nus(1);
  LCD_E=1;
  delay_nus(1);
  _nop_();
  _nop_();
  LCD_E=0;
  delay_nus(1);
  _nop_();
  _nop_();
  LCD_CS1=1;              //片禁能
  delay_nus(1); 
}
//=====写数据到DDRAM=========
void send_dat(uchar dat) small
{
  check_busy();
  delay_nus(1);
  LCD_RS=1;
  delay_nus(1);
  LCD_RW=0;               //写数据
  delay_nus(1);
  LCD_CS1=0;              //片使能
  delay_nus(1);
  data_bus=dat;
  delay_nus(1);
  LCD_E=1;
  delay_nus(1);
  _nop_();
  _nop_();
  LCD_E=0;
  delay_nus(1);
  _nop_();
  _nop_();
  LCD_CS1=1;              //片禁能
  delay_nus(1); 
}//=======初始化==============
void lcd_initial(void) small
{
/*
  LCD_RES=1;
  LCD_E=0;
  delay_nms(50);
  send_cmd(0xA1);        //反方向(SEG)
  send_cmd(0xC8);
  send_cmd(0xA2);
  send_cmd(0x2C);
  send_cmd(0x2E); 
  send_cmd(0x2F);
  send_cmd(0x25);
  send_cmd(0x81);
  send_cmd(0x14); 
  send_cmd(0xAF);
  send_cmd(0xE0);
  send_cmd(0x40);
*/
  LCD_RST=1;
  delay(50);
  send_cmd(0xE2);
  send_cmd(0xA3);
  send_cmd(0xA0);
  send_cmd(0xC8);
  send_cmd(0x24); 
  send_cmd(0x81);
  send_cmd(0x14);
  send_cmd(0x2C);
  send_cmd(0x2E);
  send_cmd(0x2F);
  send_cmd(0x40);
  send_cmd(0xB0); 
  send_cmd(0x10);
  send_cmd(0x00);
  send_cmd(0xAF);
}

/*void delay(void)
{
    uchar i,j;
    for (i = 0;i != 0xff;i++)
    for (j = 0;j != 0xff;j++) ;
} */

void send2LCM(bit rs,uchar dat )/* rs=0时写入控制指令,rs=1时写入显示数据 */
{
    //uchar i;
	if(rs==0)
	send_cmd(dat);
	else
	send_dat(dat);
    /*_RS = rs;
    _CS = 0;
    for (i=0;i<8;i++)
    {
        CLK = 0;
        if ((dat & 0x80)!=0)
        SID = 1;
    else 
        SID = 0;
        CLK = 1;
        dat = dat<<1;
    }
    _CS = 1;*/
}
void lcdclear(uchar dat1,uchar dat2)/*写测试数据到LCD全屏*/
{
    uchar i,j;
    for(i = 0xb0;i<0xb8;i++)
    { 
        send2LCM(0,i); //写页地址
        send2LCM(0,0x10); //写初始列地址
        send2LCM(0,0x00);
        for(j = 0x00;j<0x41;j++)
        {
            send2LCM(1,dat1); //写显示数据
            send2LCM(1,dat2);
        }
    }
}

void disdig(uchar x_add,uchar y_add,uchar code *p)
{
 uchar i,pag,colh,coll;
 pag = x_add*2+0xb0;
 colh = y_add>>4; /*取y_add的高4位*/
 colh = colh | 0xf0;
 colh = colh & 0x1f;
 coll = y_add & 0x0f; /*取y_add的低4位*/
 send2LCM(0,colh);
 send2LCM(0,coll);
 send2LCM(0,pag);
 for(i=0;i<8;i++)
 {
   send2LCM(1,*p++);
 }
}

void Disp_Digit(uchar x_add,uchar y_add, unsigned char code *hzk)
{   
		unsigned char j=0, i=0,pag,colh,coll;;
        pag = x_add*2+0xb0;
        colh = y_add>>4; /*取y_add的高4位*/
        colh = colh | 0xf0;
        colh = colh & 0x1f;
        coll = y_add & 0x0f; /*取y_add的低4位*/

		for(j=0;j<2;j++)
		{
			send2LCM(0,colh);
			send2LCM(0,coll);
			send2LCM(0,pag+j);
			for(i=0;i<8;i++) 
			{
				send2LCM(1,hzk[8*j+i]);
			}
		}
}

void dishz(uchar x_add,uchar y_add,uchar code *p)
{/*x_add 页地址 y_add 列地址 *p 字模数据地址*/
    uchar i,pag,colh,coll;
    pag = x_add*2+0xb0;
    colh = y_add>>4; /*取y_add的高4位*/
    colh = colh | 0xf0;
    colh = colh & 0x1f;
    coll = y_add & 0x0f; /*取y_add的低4位*/
    send2LCM(0,colh);
    send2LCM(0,coll);
    send2LCM(0,pag);
    for (i=0;i<32;i++)
    { 
        if (i == 16)
        { 
            send2LCM(0,pag+1);
            send2LCM(0,colh);
            send2LCM(0,coll);
        }
        send2LCM(1,*p++);
    }
}
void disbmp(uchar *p)/*显示一幅128*64的图片*/
{
    uchar i,j;
    for (i = 0xb0;i<0xb8;i++)
    { 
        send2LCM(0,i);
        send2LCM(0,0x10);
        send2LCM(0,0x02);
        for (j=0x02;j<0x82;j++)
            send2LCM(1,*p++);
    }
}
void main(void)
{
    uchar code *hzcode;
   WDTCN = 0xde;                       // Disable watchdog timer
   WDTCN = 0xad;
   Port_IO_Init();
   LCD_RST=0;
   OSCILLATOR_Init ();
   LCD_RST=1;
    lcd_initial();
    while(1)
    {
 /*       lcdclear(0x55,0x55);
        delay(10000);
        delay(10000);
        lcdclear(0xff,0x00);
        delay(10000);
        delay(10000);
        lcdclear(0xaa,0x55);
        delay(10000);
        delay(10000); */
        lcdclear(0x00,0x00);
       // hzcode = hz1;
        dishz(0,2,hz1);
       // hzcode = hz2;
        dishz(0,18,hz2);
       // hzcode = hz3;
        dishz(0,34,hz3);
        hzcode = hz4;
        dishz(0,50,hzcode);
        hzcode = hz5;
        dishz(0,66,hzcode);
        hzcode = hz6;
        dishz(0,82,hzcode);
        hzcode = hz7;
        dishz(0,98,hzcode);
        hzcode = hz8;
        dishz(0,114,hzcode);
		hzcode = hz11;
		dishz(2,2,hzcode);
		hzcode = dig010;
		Disp_Digit(2,18,hzcode);
		hzcode = dig001;
		Disp_Digit(2,26,hzcode);
		hzcode = dig002;
		Disp_Digit(2,34,hzcode);
		hzcode = dig003;
		Disp_Digit(2,42,hzcode);
		hzcode = dig004;
		Disp_Digit(2,50,hzcode);
		hzcode = percent;
		dishz(2,58,hzcode);
        delay(10000);
        delay(10000);
        hzcode = bmp;
        disbmp(bmp);
        delay(10000);
        delay(10000);
        delay(10000);
    }
}
uchar code bmp[]=
{
/*-- 调入了一幅图像:D:\WORKSPACE\datab\128642.bmp --*/
/*-- 宽度x高度=128x64 --*/
0xFF,0x01,0x01,0x01,0x21,0x61,0x41,0xC1,0xA1,0xE1,0xB1,0xB1,0xE1,0xA1,0xA1,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0xF1,0xF1,0xD1,0xD1,0xD1,0xD1,0xF1,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0xE1,0xF1,0x61,0x61,0x61,0x61,0x61,0x61,0xF1,0x61,0x01,
0x01,0x01,0x01,0x81,0x81,0x81,0xB1,0x91,0x91,0x91,0x91,0x91,0x91,0xA1,0x81,0x81,
0x81,0x81,0x01,0x01,0xA1,0x71,0x51,0x51,0x71,0xC1,0x01,0x71,0xD1,0x51,0x71,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
0xFF,0x00,0x01,0x81,0x99,0x8A,0x86,0x81,0xBF,0x8A,0x8B,0x85,0x87,0x8B,0x98,0x98,
0x90,0x80,0x80,0x80,0xBE,0x9A,0x9B,0x9A,0xBE,0x80,0xBE,0xBE,0xAB,0xAA,0xAA,0xBE,
0x82,0x80,0x80,0xB0,0x90,0x96,0x95,0x91,0x9F,0x91,0x91,0x9F,0x91,0x95,0xB6,0xB0,
0x90,0x80,0x80,0x81,0x88,0x8C,0x86,0xA2,0xA0,0xBF,0x9F,0x80,0x86,0x84,0x89,0x91,
0x81,0x80,0x80,0x84,0x85,0x9D,0x97,0x97,0x9D,0x89,0x9D,0x9F,0x97,0x97,0xBF,0x84,
0x0C,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x02,0x22,0x62,0x42,0xE2,0x42,0xC2,0xA2,0xB2,0xA2,0xA2,0x22,0xE2,
0xC2,0x02,0x02,0x82,0x82,0x82,0xB2,0x92,0x92,0x92,0x92,0x92,0x92,0xA2,0x82,0x82,
0x82,0x82,0x02,0xC2,0xA2,0xA2,0xE2,0x92,0x92,0xF2,0xF2,0xA2,0xA2,0xA2,0xF2,0x02,
0x02,0x02,0x02,0x02,0x02,0x62,0xE2,0x22,0xA2,0xB2,0x72,0x62,0xA2,0xA2,0x22,0x22,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x01,0x19,0x19,0x0E,0x25,0x27,0x1B,0x1B,0x07,0x0B,0x1B,0x1F,0x20,
0x00,0x00,0x00,0x01,0x08,0x0C,0x06,0x22,0x20,0x3F,0x1F,0x00,0x06,0x04,0x09,0x11,
0x01,0x00,0x00,0x06,0x02,0x1F,0x3F,0x01,0x12,0x15,0x15,0x1F,0x1F,0x15,0x15,0x10,
0x10,0x00,0x00,0x08,0x08,0x0F,0x01,0x02,0x12,0x22,0x23,0x1F,0x02,0x02,0x02,0x06,
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,
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,0xFF,
0xFF,0x00,0x00,0x45,0xC5,0x45,0x05,0x05,0x05,0x05,0x05,0x05,0x85,0x45,0x45,0x45,
0x45,0xC5,0x05,0x45,0xC5,0x45,0x45,0x45,0x85,0x05,0x05,0x05,0x45,0x45,0xC5,0x45,
0x45,0x05,0x05,0x45,0xC5,0x85,0x05,0x05,0x45,0xC5,0x45,0x45,0xC5,0x45,0x05,0x05,
0x05,0x05,0x05,0x05,0x45,0x45,0xC5,0x45,0x45,0x05,0x05,0x45,0xC5,0x85,0x05,0x05,
0x45,0xC5,0x45,0x45,0xC0,0x40,0x40,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x81,
0xFF,0x81,0x80,0x80,0xC0,0x00,0x70,0x88,0x88,0x70,0x00,0x00,0x50,0xA8,0xA8,0xF0,
0x80,0x00,0x70,0x88,0x89,0xFF,0x80,0x00,0x88,0xF9,0x80,0x00,0x00,0x88,0xF8,0x88,
0x08,0xF0,0x80,0x00,0xD0,0xA8,0xA8,0x98,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x80,0x00,0x3E,0xC1,0x00,0x00,0x00,
0x80,0x41,0x00,0x00,0xFF,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0xFF,0x00,
0x00,0x00,0x00,0x00,0xFF,0x01,0x06,0x38,0xC0,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,
0x00,0x80,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x06,0x38,
0xC0,0xFF,0x00,0x00,0xFF,0x04,0x04,0x1F,0x00,0xC0,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,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x01,
0x00,0x00,0x08,0xF9,0x09,0x01,0x01,0x01,0x00,0x00,0x00,0x80,0x99,0x99,0x01,0x01,
0x01,0x00,0x80,0x81,0x01,0x01,0x00,0x80,0x80,0x01,0x00,0x81,0x81,0x81,0x81,0x81,
0x81,0x01,0x00,0x80,0x81,0x81,0x81,0x81,0x81,0x00,0x00,0x01,0x01,0x01,0x00,0x00,
0x00,0x01,0x00,0x71,0x09,0x09,0x09,0x89,0x71,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,
0xE0,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x30,0x08,0x88,0x88,0x48,
0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,
0xE0,0x00,0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0xA0,0xBF,0xA0,0xA0,0xA0,0xA0,0xB0,0x80,0x80,0xA0,0xA0,0xBF,0xA0,0xA0,
0x80,0x80,0x80,0x9F,0xA0,0xA0,0xA0,0x90,0xBF,0xA0,0x80,0xA1,0xB0,0xAC,0xA2,0xA1,
0xB0,0x80,0x80,0xA1,0xB0,0xAC,0xA2,0xA1,0xB0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0xB0,0xA8,0xA4,0xA2,0xA1,0xB0,0x80,0x80,0x8F,0x90,0xA0,0xA0,0x90,
0x8F,0x80,0x80,0x8F,0x90,0xA0,0xA0,0x90,0x8F,0x80,0x80,0x98,0xA0,0xA0,0xA0,0x91,
0x8E,0x80,0x80,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x80,0x8F,0x90,0xA0,0xA0,0x90,
0x8F,0x80,0x80,0x87,0x84,0xA4,0xA4,0xBF,0xA4,0x80,0x80,0x80,0x80,0x80,0x80,0xFF
};

⌨️ 快捷键说明

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