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

📄 ym12864r.h

📁 C语言单片机编程的代码及教程文献
💻 H
字号:
//********************************************************//
#include"YM12864.H"
#define TD  5000  
//*******************************************************//
void Delay(uint16 t)
{
while(t--);
}
//液晶写指令子程序
void Send_Com(uint8 com)
{
	LCD_RS=0;
	LCD_RW=0;
	LCD_EA=1;
	Delay(TD);
	LCD_Port=com;
	LCD_EA=0;
	Delay(TD);
}

//液晶写数据子程序
void Send_Data(uint8 dat)
{
	LCD_RS=1;
	LCD_RW=0;
	LCD_EA=1;
	Delay(TD);
	LCD_Port=dat;
	LCD_EA=0;
	Delay(TD);
}

            

//行line=[0..3],列row=[0..7]
void YM12864R_Dis_Str(uint8 line,uint8 row,uint8 *p)
{
  switch (line)
  {  
    case 0:Send_Com(0x80+row);break;
    case 1:Send_Com(0x90+row);break;
    case 2:Send_Com(0x88+row);break;
    case 3:Send_Com(0x98+row);break;
	default:break;
  }
  while(*p!='\0')
  {
   Send_Data(*p++);
  }
}

//在第Line行的第Row位置开始显示P数组的前coun个字节的图形
/*void YM12864R_Dis_Array(uint8 Line,uint8 Row,uint8 Coun,uint8 *p)
{
/*
	uint8 temp;
	Send_Com(0x36);//基本指令集,关闭绘图显示功能
	Send_Com(Row+0x80);//发送水平地址
	Send_Com(Line+0x80);//发送垂直地址
	for(temp=0;temp<Coun;temp++)//发送数据
		{
		Send_Data(*(p+temp));
		}
	Send_Com(0x30);//打开绘图显示功能

uint8 i,j,xx,yy;
  if(Row>2) 
  {
	   xx=Line+0x87;
  	   yy=((Row-3)<<4)+0x80;
  }
  else
  {
   		xx=Line+0x7f;  
   		yy=((Row-1)<<4)+0x80;
  }

  Send_Com(0x36);              //扩展指令模式,形图开关开
  for (i=0;i<10;i++)           //一行处理显示
  { 
   	Send_Com(yy++);
   	Send_Com(xx); 
   for (j=0;j<2;j++)
   	{ 
		Send_Data(*p++);
	}
  }  
  Send_Com(0x30);              //基本指令模式
}	*/
//**********************************************************//
//清除第line行第StartAdd列到EndAdd列的内容
void YM12864R_Clr(uint8 line,uint8 StartAdd,uint8 EndAdd)
{
	uint8 RowTemp;
	for(RowTemp=StartAdd;RowTemp<=EndAdd;RowTemp++)
	{
		YM12864R_Dis_Str(line,RowTemp,"  ");	
	}
}
//*********************************************************//
//初始化YM12864R
void YM12864R_Init()
{
/*	uint8 i,j;
  uint8 dis0[32]={
				  0,0,0,0,0,0,0,0,
				  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0
				 };	*/
 	Send_Com(0x01);//清除显示屏,清除DRAM
  	Send_Com(0x30);//设置成基本指令集
  	Send_Com(0x02);//DRAM地址计数器复0
  	Send_Com(0x04);//启动地址字增
  	Send_Com(0x0c);//打开显示,紧张游标
  	Send_Com(0x01);//清除显示
 	Send_Com(0x80);//DRAM地址复位 
/*	for(i=1;i<=4;i++)
	//	for(j=1;j<=8;j++)
		YM12864R_Dis_Array(j,i,2,dis0);  */    
}        

⌨️ 快捷键说明

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