yejing.txt

来自「本人所做项目中用51系列单片机(STC89C58RD)对OCMJ8*15B液晶屏」· 文本 代码 · 共 87 行

TXT
87
字号
/*--------------写命令或数据---------------*/
void send(uchar dat)
	{
	  while(busy==1);  //等到busy==1条件不成立继续执行命令

	  PA8255=dat;
	  delay2(2);
	  req=1;
	  delay2(2);
	  while(busy==0);
	  req=0;
	}
/*---------------汉字传送----------------*/
void hz_tran(unsigned char x,unsigned char y,unsigned char *hz_p)
    {
     while((*hz_p)!=0)
	    {
		 send(0xf0);
		 send(x);
		 send(y);
		 send(*hz_p-0xa0);
		 hz_p++;
		 send(*hz_p-0xa0);
		 hz_p++;

		 if(x<16)
 		    x++;
		 else
		    {
			 x=0x00;
			 y++;
			}
		}
	}

/*--------------单个8*8ASCII字符传送(x:00h~1dh;y:00h~7fh)---------------*/
void asc_trans(unsigned char x,unsigned char y,unsigned char ad)
    {
		 send(0xf1);
		 send(x);
		 send(y);
		 send(ad);
	 }
/*--------------多8*8ASCII字符传送(x:00h~1dh;y:00h~7fh)---------------*/
void asc_tranc(unsigned char x,unsigned char y,unsigned char *asc_p)
    {
	 while((*asc_p)!=0)
	    {
		 send(0xf1);
		 send(x);
		 send(y);
		 send(*asc_p);
		 asc_p++;
		 if(x<0x13)
		   x++;
		 else
		   {
		    x=0x00;
			y++;
		   }
		}
	 }
/*--------------8*16ASCII字符传送(xx:00h~1dh;yy:00h~7fh)---------------*/
void write_ASCII(unsigned char xx,unsigned char yy,unsigned char da)
{
    send(0xf9);
    send(xx);
    send(yy);
    send(da);
}
/*--------------画点函数(x:00h~0efh;y:00h~7fh)---------------*/
void pset(unsigned char x,unsigned char y)
     {
	  send(0xf2);
	  send(x);
	  send(y);
	 }

/*-----------------------汉字区位码方式单个显示--------------------*/
void hz_tran1(uchar x,uchar y,uchar xx,uchar yy)
    {
        send(0xf0);
        send(x);
        send(y);
        send(xx);
	send(yy);
    }

⌨️ 快捷键说明

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