15.4.2 数据操作子函数

数据操作子函数用于向液晶显示控制器写入各种操作数据。数据操作子函数程序示例如下。

01:void Dat(unsigned char ddata)


02:{

03:unsigned char q;

04:R_W=1;

05:D_I=0;//读状态指令

06:Loop:

07:P1=0xFF;

08:E=1;//使能

09:q=P1;10:E=0;

11:if(q&0x80)//判忙

12:{

13:goto Loop;14:}

15:D_I=1;//送数据指令

16:R_W=0;

17:P1=ddata;

//写入数据

18:E=1;

//使能信号开

19:E=0;

//使能信号关

20:}


程序中,首先从P1端口读入液晶显示控制器的状态,并判断屏幕是否忙。如果忙则等待,如果不忙则执行写入数据。程序中,数据由参数dcode传递,并通过E来实现使能信号的开关。

提示从表15.1可知道,当D_I为高电平(即为1),R_W为低电平(即为0)时,写数据到数据寄存器(DR)。因此,第15、16行将这两位设置为高电平和低电平。