LPC2000 液晶显示器HDG12864L-6 并行控制 +输出汉字

171300_1plk_2452188.jpg

171304_Pgta_2452188.jpg

 void WR_DATA(char dat) //数据输出函数
{
  IO0SET=1<<9;  //当A0为0时表示当前传输的是命令,为1时表示当前传输的是数据
  IO0CLR =0xff; 
  IO0SET =dat;
   
	   IO0CLR = 1<<8; //来一个上升沿发数据
         IO0SET =1<<8; 

}

void WR_CMD(char cmd) //命令输出函数
{   
  IO0CLR=1<<9;  //当A0为0时表示当前传输的是命令,为1时表示当前传输的是数据
 IO0CLR = 0xff;
  IO0SET =cmd;
  
	   IO0CLR = 1<<8; //来一个上升沿发数据
         IO0SET =1<<8; 

}
 void LCD_write_CHchar(unsigned char x, unsigned char y, unsigned char* CHstr)
 {
  	 int i1,j1,i;
	  for(i=0;i<chinese_12_len;i++)
	  {
	     //判断汉字
	     if((*CHstr == chinese_12[i].value[0])&&(*(CHstr+1) == chinese_12[i].value[1]))
	     { 
	  for(i1=0;i1<2;i1++)
          { 
              //汉字屏幕定位
             WR_CMD(0xb0+y+i1); //列
             WR_CMD(0x10+x/16); //行的高四位
             WR_CMD(0x00+x%16); //行的低四位 PS:具体看数据手册
	         for(j1=i1*16;j1<16*(i1+1);j1++)
            {
                WR_DATA(*(chinese_12[i].data+j1));
             } 
           }
	     }   
	  }	
 }
void china(unsigned char x, unsigned char y,unsigned char *string) 
{
  unsigned char l=0;
	  while(*(string+l))
	  {
	   	 LCD_write_CHchar(x,y,string+l);
	     l=l+2;
		 x=x+0x10;
	  }
}
/****************************************************************************
* 名    称:main()
* 功    能:控制LED灯闪烁。
****************************************************************************/
int  main(void)
{  
     PINSEL0=0;      	             
     IO0DIR =0xfff;     
     WR_CMD(0xa1);
     china(0x00,3,(unsigned char *)"电子科技大学");
     return 0;
}


转载于:https://my.oschina.net/wwyyjj/blog/537495

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值