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行将这两位设置为高电平和低电平。