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

📄 main.c

📁 proteus中12864液晶的仿真和源程序,直接运行既可用.
💻 C
字号:
		#include <reg51.h>
		#include <absacc.h>
		#define uchar unsigned char
		#define uint unsigned int
		#define CWADDL XBYTE[0x0400]   //写指令代码地址(L)
		#define CRADDL XBYTE[0x0600]   //读指令代码地址(L)
		#define DWADDL XBYTE[0x0500]   //写显示数据地址(L)
		#define DRADDL XBYTE[0x0700]   //读显示数据地址(L)
		#define CWADDR XBYTE[0x0800]   //写指令代码地址(R)
		#define CRADDR XBYTE[0x0a00]   //读指令代码地址(R)
		#define DWADDR XBYTE[0x0900]   //写显示数据地址(R)
		#define DRADDR XBYTE[0x0b00]   //读显示数据地址(R)

		
		uchar code hzt[]={

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\001.bmp  --*/
 		/*--  宽度x高度=16x16  --*/

		0x00,0x00,0x00,0x24,0xC8,0x00,0x74,0x54,0x7C,0x54,0x7C,0x54,0x74,0x04,0x00,0x88,
		0x00,0x00,0x00,0x02,0x1F,0x00,0x14,0x0D,0x05,0x15,0x1D,0x05,0x0D,0x14,0x00,0x11,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\002.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x88,0xE8,0xA8,0xA8,0xAC,0xA8,0xA8,0xE8,0x88,0x88,0x00,0x10,0xF0,0x1C,0xF0,0x10,
		0x10,0x08,0x06,0x02,0x02,0x02,0x1E,0x10,0x10,0x1D,0x00,0x13,0x0A,0x04,0x0B,0x00,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\003.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x10,0x10,0xFC,0x10,0x10,0x10,0x00,0x10,0xF0,0x1C,0xF0,0x00,0xF8,0xA8,0xAC,0xA8,
		0x1F,0x11,0x11,0x11,0x11,0x1F,0x00,0x10,0x0B,0x04,0x0B,0x00,0x1F,0x10,0x0B,0x04,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\004.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		0x0A,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

		//---------------------------------No.1------------------------------------//

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\011.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x00,0x00,0x00,0x10,0x91,0x55,0xF5,0x5D,0x57,0x55,0x55,0xD5,0x11,0x10,0x00,0x11,
		0x00,0x00,0x00,0x01,0x00,0x00,0x07,0x05,0x05,0x05,0x05,0x87,0x40,0x40,0x40,0x84,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\012.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x16,0xF0,0x04,0x14,0x64,0x04,0x04,0xFF,0x04,0x04,0x00,0x20,0x22,0x2A,0xB2,0x62,
		0x82,0x41,0x42,0x44,0x44,0xC5,0x45,0x45,0x44,0x44,0x40,0x82,0x82,0x01,0x80,0x80,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\013.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0xFF,0x62,0xB2,0x2A,0x22,0x20,0x00,0x00,0x1C,0x7E,0x7E,0x1C,0x00,0x00,0x00,0x00,
		0x87,0x80,0x00,0x01,0x02,0x02,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x00,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\014.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		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,

		//-------------------------------No.2--------------------------------------//

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\021.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x10,0x8C,0x82,0x41,0xA0,0x60,0x18,0x80,0x44,
		0x00,0x00,0x00,0x00,0x00,0x01,0x01,0xF1,0x0C,0x02,0x01,0xE0,0x10,0x08,0x09,0x12,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\022.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x22,0x22,0x44,0x80,0x01,0x84,0x42,0x22,0x24,0x40,0x8C,0x30,0x42,0x81,0x80,0x00,
		0x94,0x97,0x2B,0x29,0x28,0x21,0x12,0x14,0x17,0x23,0xC1,0xE0,0x10,0x00,0x00,0x01,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\023.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x00,0x00,0x07,0x78,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		0x03,0x0D,0xF2,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\024.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		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,

		//-------------------------------No.3--------------------------------------//

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\031.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x84,0xC8,0xD0,0x55,0x2A,0x34,0x24,
		0x00,0x00,0x00,0x00,0x00,0x38,0x3C,0x3E,0x37,0x23,0x00,0x07,0x08,0x17,0x2D,0x0D,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\032.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x49,0x49,0x90,0x90,0x93,0x93,0x48,0x48,0x64,0x53,0x40,0x20,0x21,0x50,0xD0,0xC8,
		0x07,0x03,0x01,0x03,0x03,0x01,0x03,0x07,0x0D,0x0D,0x07,0x20,0x10,0x08,0x07,0x00,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\033.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x8C,0x03,0x00,0x3C,0x42,0x99,0x05,0x01,0x02,0x06,0x02,0x01,0x01,0x81,0xFF,0x42,
		0x23,0x37,0x3E,0x20,0x20,0x00,0x01,0x02,0x04,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,

		/*--  调入了一幅图像:C:\Documents and Settings\ADMIN\桌面\pic\034.bmp  --*/
		/*--  宽度x高度=16x16  --*/

		0x99,0x05,0x01,0x02,0x06,0x02,0x01,0x01,0x81,0xC3,0x7E,0x3C,0x00,0x00,0x00,0x00,
		0x00,0x01,0x02,0x04,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

		//-------------------------------No.4--------------------------------------//

		};

		uchar code pic[]={
		/*--  文字:  哇  --*/
		/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/

		0xFC,0x04,0x04,0xFC,0x40,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0x40,0x00,
		0x0F,0x02,0x02,0x47,0x40,0x44,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x40,0x00,

		/*--  文字:  哈  --*/
		/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
		
		0xFC,0x04,0x04,0xFC,0x20,0x20,0x50,0x48,0x44,0x43,0x44,0x48,0x58,0x30,0x10,0x00,
		0x07,0x01,0x01,0x03,0x00,0x00,0x7F,0x21,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,

		/*--  文字:  哈  --*/
		/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
		
		0xFC,0x04,0x04,0xFC,0x20,0x20,0x50,0x48,0x44,0x43,0x44,0x48,0x58,0x30,0x10,0x00,
		0x07,0x01,0x01,0x03,0x00,0x00,0x7F,0x21,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,

		/*--  文字:  !  --*/
		/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/

		0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		
		};

		void delay(uchar del)
		{
		  uchar i,j;
		  for(i=0;i<del;i++)
			for(j=0;j<250;j++)
			  ;
		}

		void busy(uchar LoR)
		{
		 uchar check;
		 if(LoR==0)     //0代表L
 		   { 
		     do{ check=CRADDL&0x80; } while(check==0x80);
		   }
		 else           //1代表R
		   {
		   	 do{ check=CRADDR&0x80; } while(check==0x80);
		   }
		}

		void displayL(uchar page,uchar row,uchar *hzp)  //displayL(页地址(0--7);列地址(0--63);汉字地址)
		{
		  uchar i;
		  busy(0);
		  CWADDL=0x3e;  //关显示
		  busy(0);
		  CWADDL=0xb8+page;  //设置页号
		  busy(0);
		  CWADDL=0x40+row;  //设置列地址
		  
		  for(i=0;i<16;i++)
		  {
		   busy(0);
		   DWADDL=*(hzp++);         //写数据到RAM,汉字的上半面
		  }
		  
		  busy(0);
		  CWADDL=0xb8+page+1;  //设置页号
		  busy(0);
		  CWADDL=0x40+row;  //设置列地址

		  for(i=16;i<32;i++)
		  {
		   busy(0);
		   DWADDL=*(hzp++);         //写数据到RAM,汉字的下半面
		  }

		  busy(0);
		  CWADDL=0x3f;  //开显示
		}


		void displayR(uchar page,uchar row,uchar *hzp)  //displayR(页地址(0--7);列地址(0--63);汉字地址)
		{
		  uchar i;
		  busy(1);
		  CWADDR=0x3e;  //关显示  
		  busy(1);
		  CWADDR=0xb8+page;  //设置页号
		  busy(1);
		  CWADDR=0x40+row;  //设置列地址
		  
		  for(i=0;i<16;i++)
		  {
		   busy(1);
		   DWADDR=*(hzp++);         //写数据到RAM,汉字的上半面
		  }
		  
		  busy(1);
		  CWADDR=0xb8+page+1;  //设置页号
		  busy(1);
		  CWADDR=0x40+row;  //设置列地址

		  for(i=16;i<32;i++)
		  {
		   busy(1);
		   DWADDR=*(hzp++);         //写数据到RAM,汉字的下半面
		  }

		  busy(1);
		  CWADDR=0x3f;  //开显示
		}


		void clearscreen(void)
		{
		  uchar i,j;
		  uchar code cle[32]={
		  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};
		  for(i=0;i<4;i++)
		    for(j=0;j<4;j++)
		    { 
		      displayL(2*j,i*16,cle);
			  displayR(2*j,i*16,cle);
		    }
		  
		}

		void main(void)
		{
		  uchar i,j,dp=0;

		  delay(20);
		  clearscreen();  //清屏
		  
		  for(i=0;i<4;i++)
		    for(j=0;j<4;j++)
		  	  displayL(i*2,j*16,hzt+32*dp++); 

     	  dp=0;
		  for(i=0;i<4;i++)		  
		   displayR(3,i*16,pic+32*dp++);
 
		  for(;;);
		  
		}


		

⌨️ 快捷键说明

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