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

📄 12232.c

📁 自己做的单片机Proteus仿真实例
💻 C
字号:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit E2=P3^5;
sbit E1=P3^6;
sbit A0=P3^7;

/*--  文字:  欢  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code huan[]={0x00,0xA0,0x20,0x10,0xF0,0x00,0x40,0x38,0xA7,0x10,0x50,0x30,0x10,0x00,0x00,0x00,
                   0x10,0x08,0x05,0x02,0x05,0x20,0x10,0x0C,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00};

/*--  文字:  迎  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code ying[]={0x40,0x40,0x44,0xC8,0x00,0xF8,0x08,0x84,0x06,0xF0,0x08,0x88,0xF8,0x00,0x00,0x00,
                   0x08,0x08,0x09,0x0E,0x08,0x09,0x09,0x08,0x10,0x17,0x10,0x30,0x30,0x10,0x10,0x00};

/*--  文字:  访  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code fang[]={0x40,0x40,0x20,0xE2,0x04,0x00,0x20,0x20,0x22,0xE2,0x94,0x90,0x10,0x10,0x10,0x00,
                   0x00,0x00,0x00,0x0F,0x14,0x0A,0x04,0x02,0x11,0x20,0x18,0x07,0x00,0x00,0x00,0x00};

/*--  文字:  问  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code wen[]={0x00,0x00,0xF8,0x02,0x04,0xC0,0x44,0x24,0x24,0xE2,0x02,0x02,0xFE,0x00,0x00,0x00,
                  0x00,0x00,0x1F,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x10,0x3F,0x00,0x00,0x00};

/*--  文字:  安  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code an[]={0x00,0x00,0x00,0x70,0x10,0x10,0xD2,0x0A,0x0C,0x88,0xA8,0x98,0x80,0x80,0x80,0x00,
                 0x02,0x02,0x02,0x22,0x22,0x17,0x15,0x09,0x0D,0x13,0x10,0x20,0x00,0x00,0x00,0x00};
 
/*--  文字:  阳  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code yang[]={0x00,0x00,0xFC,0x42,0x9A,0xE6,0x00,0x00,0xF0,0x88,0x88,0x08,0xF8,0x00,0x00,0x00,
                   0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x0F,0x00,0x00,0x00};

/*--  文字:  师  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code shi[]={0x00,0x00,0xF8,0x00,0xFE,0x00,0xE4,0x24,0x24,0xFC,0x24,0x12,0x12,0xF2,0x00,0x00,
                  0x00,0x10,0x09,0x04,0x03,0x00,0x03,0x00,0x00,0x7F,0x00,0x01,0x02,0x01,0x00,0x00};

/*--  文字:  范  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code fan[]={0x00,0x88,0x28,0x48,0x0E,0x18,0xC8,0x44,0x5C,0x27,0xE4,0x04,0x04,0x00,0x00,0x00,
                  0x00,0x30,0x09,0x06,0x00,0x00,0x1F,0x20,0x21,0x22,0x21,0x20,0x20,0x38,0x00,0x00};

/*--  文字:  学  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code xue[]={0x00,0xC0,0x70,0x22,0x24,0xA0,0x52,0x54,0xD0,0x58,0x17,0x10,0x30,0x10,0x00,0x00,
                  0x00,0x04,0x04,0x04,0x04,0x04,0x24,0x43,0x3E,0x02,0x02,0x02,0x02,0x00,0x00,0x00};

/*--  文字:  院  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
uchar code yuan[]={0x00,0xFC,0x44,0xB4,0xCC,0x20,0x18,0x50,0x4A,0xAC,0xA8,0x88,0x18,0x00,0x00,0x00,
                   0x00,0x3F,0x00,0x20,0x10,0x08,0x05,0x03,0x01,0x1F,0x20,0x20,0x20,0x1C,0x00,0x00};

void writeleft_com(uchar i)
{
   E1=1;
   _nop_();
   _nop_(); 
   A0=0;
   _nop_();
   _nop_(); 
   P0=i;
   _nop_();
   _nop_(); 
   E1=0;
   _nop_();
   _nop_();
}

void writeleft_data(uchar i)
{
   E1=1;
   _nop_();
   _nop_(); 
   A0=1;
   _nop_();
   _nop_(); 
   P0=i;
   _nop_();
   _nop_(); 
   E1=0;
   _nop_();
   _nop_();
}

void writeright_com(uchar i)
{
   A0=0;
   _nop_();
   _nop_(); 
   E2=1;
   _nop_();
   _nop_(); 
   P0=i;
   _nop_();
   _nop_(); 
   E2=0;
   _nop_();
   _nop_();
}

void writeright_data(uchar i)
{
   A0=1;
   _nop_();
   _nop_(); 
   E2=1;
   _nop_();
   _nop_(); 
   P0=i;
   _nop_();
   _nop_(); 
   E2=0;
   _nop_();
   _nop_();
}
void set_page(uchar page0,uchar page1)
{
     writeleft_com(0xB8|page0);
	 writeright_com(0xB8|page1);
}
void set_colunm(uchar colunm0,uchar colunm1)
{
     writeleft_com(colunm0&0x7F);
	 writeright_com(colunm1&0x7F);
}

void clear_screen()
{
     uchar i;
     uchar page;
     for(page=0;page<4;page++)
        {
            set_page(page,page); 
			set_colunm(0,0);
            for(i=0;i<61;i++)
			 {
			      writeleft_data(0x00);
				  writeright_data(0x00);
			 }
        }

}
void lcd_init()
{
   writeleft_com(0XE2);
   writeright_com(0XE2);   //复位指令
   writeleft_com(0XAE);
   writeright_com(0XAE);   //关显示
   writeleft_com(0XA4);
   writeright_com(0XA4);   //正常驱动
   writeleft_com(0XA9);   
   writeright_com(0XA9);	//1/32 占空比
   writeleft_com(0XA1);
   writeright_com(0XA1);	//正向显示
   writeleft_com(0XEE);
   writeright_com(0XEE);   //写模式

   clear_screen();

   writeleft_com(0X00);
   writeright_com(0X00);	//第0列
   writeleft_com(0XC0); 
   writeright_com(0XC0);   //第0行
   writeleft_com(0XAF);
   writeright_com(0XAF);	//开显示
}
/////////////////////////////////////////////////////////
void display(uchar page,uchar colunm,uchar *p,uchar *q)
{
    uchar i;
	set_page(page,page);
	   writeleft_com(0XC0); 
   writeright_com(0XC0); 
	set_colunm(colunm,colunm-14);
	for(i=0;i<16;i++)
	{
	    writeleft_data(p[i]);
		writeright_data(q[i]);
	}
	set_page(page+1,page+1);
	   writeleft_com(0XC0); 
   writeright_com(0XC0); 
	set_colunm(colunm,colunm-14);
	for(i=0;i<16;i++)
	{
	    writeleft_data(p[i+16]);
		writeright_data(q[i+16]);
	}  
}
void main()
{
    lcd_init();

	display(0,30,huan,fang);
	display(0,46,ying,wen);

	display(2,14,an,fan);
	display(2,30,yang,xue);
	display(2,46,shi,yuan);

	while(1);
}










⌨️ 快捷键说明

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