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

📄 write_12864.h

📁 自己的平时一些制作 现在整理一下 与大家一起分享
💻 H
字号:
//#define	uchar	unsigned char
//#include	<reg52.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;
#ifndef __WRITE_12864_H__

//软件复位程序
void    IntRst(void)
        {
            uchar  i;
            RST=0;
            i=0;
            i=1;
            RST=1;        //软件复位

        }
//12864发送命令子程序
void	ComSend(uchar	COM)
	{	uchar	i;
        uchar  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(uchar DAT)
	{   uchar	i;
        uchar  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(COM)
	{
		CS2=0;CS1=1;
		ComSend(COM);
		CS1=0;
	}
//左半屏写数据子程序 
void	Left_DaSend(DAT)
	{
		CS2=0;CS1=1;
		DaSend(DAT);
		CS1=0;
	}

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

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

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

//右半屏写一个字节数据程序,
//入口参数为X,Y的起始地址
//以及Y的变址范围(写入的字节数)和写入数据的指针
void	Right_Bytes_DaSend(uchar x,uchar y,uchar *loc,uchar bytes)
		{	uchar	i;			
			Right_ComSend(x|0xB8);		//填入特征位0xB8 ,定位X						
			Right_ComSend(y|0x40);		//填入特征位0x40, 定位Y
			for(i=0;i<bytes;i++)				
				Right_DaSend(*(loc+i));				
		}
//开LCD
void    Lcd_On(void)
        {
             Left_ComSend(0x3F);
             Right_ComSend(0x3F);
        }
//关LCD
void	Lcd_Off(void)
		{
			 Left_ComSend(0x3e);
             Right_ComSend(0x3e);	
		}
//设置Z地址 
void	Lcd_SetZ(uchar z)
		{	
			z=z*8;		
            Left_ComSend(z|0xc0);
            Right_ComSend(z|0xc0);	
		}
//void	Right_Bytes_DaSend(uchar x,uchar y,uchar *loc,uchar bytes)
//void	Left_Bytes_DaSend(uchar x,uchar y,uchar *loc,uchar bytes)
//void	Lcd_SetZ(uchar z)
//void	Lcd_Off(void)
//void   Lcd_On(void)
//void    IntRst(void)
#endif

⌨️ 快捷键说明

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