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

📄 12864_operate.h

📁 PC机的串行口通信模拟协议软件
💻 H
字号:
sbit CS1=P2^3;
sbit CS2=P2^4;
sbit RST=P2^5;
sbit DI=P2^0;
sbit RW=P2^1;
sbit ALE=P2^2;
unsigned char  COM;//指令数据寄存器
unsigned char  DAT;//显示数据寄存器

//软件复位程序
void    intrst(void)
        {
            unsigned char  i;
            RST=0;
            i=0;
            i=1;
            RST=1;        //软件复位

        }

//12864发送命令子程序
void	comsend(void)
	{	unsigned char	i;
        unsigned char  temp;
		DI=0;
		RW=1;        
        do {	P0=0xff;
				ALE=1;
                i=0;
				temp=P0;
                ALE=0;
			} while((temp&0x80)==1);	//读BUSY信号
		RW=0;
		P0=COM;
		ALE=1;
		i=0;		//NOP		
		ALE=0;
	}

//12864发送数据子程序
void	dasend(void)
	{   unsigned char	i;
        unsigned char  temp;
		DI=0;
		RW=1;
		do	{P0=0xff;
			ALE=1;
			i=0;
			temp=P0;
            ALE=0;
			}while((temp&0x80)==1);		//读BUSY信号
		DI=1;
		RW=0;
		P0=DAT;
		ALE=1;
		i=0;		//NOP
		ALE=0;
	}

//左半屏写命令子程序
void	left_comsend(void)
	{
		CS2=0;CS1=1;
		comsend();
		CS1=0;
	}

//左半屏写数据子程序
void	left_dasend(void)
	{
		CS2=0;CS1=1;
		dasend();
		CS1=0;
	}

//右半屏写命令子程序
void	right_comsend(void)
	{
		CS1=0;CS2=1;
		comsend();
		CS2=0;
	}


//右半屏写数据子程序
void	right_dasend(void)
	{
		CS1=0;CS2=1;
		dasend();
		CS2=0;
	}

//左半屏写一个字节数据程序,
//入口参数为X,Y的起始地址
//以及Y的变址范围(写入的字节数)和写入数据的指针
void	left_bytes_dasend(unsigned char x,unsigned char y,unsigned char *loc,unsigned char bytes)
		{	unsigned char	i;
			COM=(x|0xB8);		//填入特征位0xB8
			left_comsend();		//定位X
			COM=(y|0x40);		//填入特征位0x40
			left_comsend();		//定位Y
			for(i=0;i<bytes;i++)
				{
				DAT=*(loc+i);
				left_dasend();
				}

		}

//右半屏写一个字节数据程序,
//入口参数为X,Y的起始地址
//以及Y的变址范围(写入的字节数)和写入数据的指针
void	right_bytes_dasend(unsigned char x,unsigned char y,unsigned char *loc,unsigned char bytes)
		{	unsigned char	i;
			COM=(x|0xB8);			//填入特征位0xB8
			right_comsend();		//定位X
			COM=(y|0x40);			//填入特征位0x40
			right_comsend();		//定位Y
			for(i=0;i<bytes;i++)
				{
				DAT=*(loc+i);
				right_dasend();
				}
		}


void    lcdon(void)
        {
             COM=0x3F;
             left_comsend();
             right_comsend();
        }
/*
//关LCD
void	lcdoff(void)
		{
			 COM=0x3e;
             left_comsend();
             right_comsend();	
		}
*/
//设置Z地址
void	lcdz(unsigned char z)
		{
			 COM=(z|0xc0);
             left_comsend();
             right_comsend();	
		}

/*right_bytes_dasend(x,y,*loc,bytes)
left_bytes_dasend(x,y,*loc,bytes)
*/

⌨️ 快捷键说明

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