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

📄 lcd.c

📁 192*64显示lcd程序
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <reg51.h>   /*19264举例*/
#include <intrins.h>
typedef unsigned char uchar;
typedef unsigned int  uint;

sbit L_E    =  P2^0;  // E:   使能 H ~ L
sbit L_RW   =  P2^1;  // R/W: H读,  L写
sbit L_DI   =  P2^2;  // RS:  H数据,L指令
sbit L_CS2  =  P2^3;  // CSB: 2者结合 选中1个控制器
sbit L_CS1  =  P2^4;  // CSA:
sbit L_SET  =  P2^5;  // RST: 复位 低有效

sbit LED_L  =  0xa6;  // RST: 低 LCD背光
sbit WATCH_DOG  =  P2^6;

sbit  tier0  	= P3^5;
sbit  tier1     = P3^6;
sbit  tier2     = P3^4;

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 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[]={

	0x80,0x80,0x80,0xFE,0x02,0x04,0x20,0x20,0xA8,0xA4,0x26,0x22,0x20,0x20,0xA0,0x40,
		0x08,0x08,0x08,0x11,0x11,0x32,0x54,0x10,0x10,0x10,0x11,0x12,0x10,0x10,0x10,0x10
		};	/*你*/
uchar code X24[]={

	0x00,0xFC,0x08,0x10,0x20,0x20,0x20,0xFE,0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x40,
		0x10,0x11,0x10,0x10,0xFC,0x24,0x24,0x25,0x44,0x64,0x18,0x0C,0x12,0x22,0x42,0x00
		};	/*好*/
uchar code X25[]={

	0x00,0xF8,0x08,0x08,0xF8,0x40,0xFC,0x44,0X44,0X44,0xFC,0x40,0x48,0x44,0x7E,0xC4,
		0x00,0x79,0x09,0x09,0x79,0x40,0x43,0x32,0x7A,0x0A,0x0B,0x08,0x08,0x08,0x28,0x13
		};	/*强*/
uchar code X26[]={

	0x80,0xC0,0x80,0x88,0xFC,0x80,0x80,0x88,0xFC,0x80,0x80,0x80,0x80,0x84,0xFE,0x00,
		0x00,0x10,0x10,0x10,0x1F,0x20,0x20,0x40,0x9F,0x00,0x00,0x00,0x00,0x00,0x7F,0x00
		};	/*生*/
uchar code X27[]={

	0x80,0x02,0x02,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x86,0x02,0x00,
		0x00,0x01,0x06,0x78,0x08,0x08,0x08,0x08,0xFF,0x48,0x08,0x08,0x19,0x08,0x00,0x00
		};	/*生*/
		
uchar code X28[]={

	0x00,0x80,0x10,0xC0,0x10,0x80,0x10,0x88,0x1F,0xFC,0x20,0x80,0x20,0x80,0x40,0x88,
		0x9F,0xFC,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x84,0x7F,0xFE,0x00,0x00
		};	/*生*/	

uchar code X29[]={

		0x00,0x80,0x60,0x1e,0x10,0x10,0x10,0x10,0xff,0x12,0x10,0x10,0x98,0x10,0x00,0x00,
		0x01,0x40,0x40,0x41,0x41,0x41,0x41,0x41,0xef,0x41,0x41,0x41,0x41,0x61,0x40,0x00
		};	/*生*/		
uchar code X30[]={		
		0x00,0x82,0x03,0x02,0x0C,0x42,0x78,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0xFF,0xFE,
		0x08,0x42,0x08,0x42,0x08,0x42,0x08,0xC2,0x18,0x42,0x08,0x06,0x00,0x02,0x00,0x00	
		};	/*生*/	
uchar code X31[]={	
		0x01,0x00,0x11,0x00,0x11,0x00,0x11,0x08,0x3F,0xFC,0x21,0x00,0x41,0x00,0x41,0x00,
		0x81,0x10,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,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++) ;
}
/**********************************
 功能:根据参数flag,往LCD中写命令或数据,写完毕后,将状态设置成读
 输入:1:读写标志;2:数据
 输出:无

***********************************/
void LCD_C_D(bit flag,uchar ldata)          /*flag=1 con flag=0 data*/
{
   
    L_DI = !flag;  //flag=1 指令, flag=0 数据
    L_E = 0;       //复位
    L_RW = 0;      //写
    P1 = ldata;    //数据
    _nop_();       //延时
    L_E = 1;       //
    _nop_();
    _nop_();
    L_E = 0;       //LCD使能
    L_RW = 1;      //读
    L_DI = 1;      //数据
}

/**********************************
 功能:根据参数x_add,y_add往LCD中写1个字
 输入:1: 写到LCD的X、Y坐标;2:数据地址
 输出:无

***********************************/

void dis_one_zi(uchar x_add,uchar y_add,uchar code *po)
{
    uchar i,j,w;
   j = x_add*2+0xb8;     //
	if(y_add<4)
		{
		w=y_add*16+0x40;
		L_CS1=0;  L_CS2=0;
		}
	if((y_add>3)&(y_add<8))
		{
		w=(y_add-4)*16+0x40;
		L_CS1=0;
		L_CS2=1;
		}
	if((y_add>7)&(y_add<12))
		{
		w=(y_add-8)*16+0x40;
		L_CS1=1;
		L_CS2=0;
		}
	 LCD_C_D(1,j);   //X起始坐标
     LCD_C_D(1,w);   //Y起始坐标
    
   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++);
        LCD_C_D(1,0X3F);//显示
    }
  
LCD_C_D(1,0X3F);//显示
}
void CLRLCD(uchar number)
{
    uchar data i,j;
    L_CS1 = L_CS2 = 1;   // 3片均不选中
    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;   // 3片选中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);
    }
}

⌨️ 快捷键说明

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