0x80在计算机内部表示为1000 0000,汉字编码区别于其他编码的标志就是汉字编码的最高位是1,0xc0是指十六进制。你附的程序里write_com(),write_data()两个函数的具体代码也没给,怎么判断?
这是不好的代码。表达隐晦、混乱,难于理解。所以楼主不理解不是错。错在写代码的人。
write_com(com); //在哪行怎么表示?? 从实参上判断,0x80 和 0xC0 是定位的
//从代码质量上看,你们使用的不是大液晶,所以,这个0x80 和 0xC0应该是
//液晶光标值(CSR)。你需要看write_com()才知道,这是个定标函数。
另外,这句话
for(i=0;i<16;i++)
{
write_date(p[i]);
}
非常危险。不管p的实参是数组还是指针,都很容易越界。
从你的提问上看,你在看别人的代码。你似乎目前有认为,写代码的人(在编程上)比你强。但我提示LZ:看这样的代码不利于你的成长,你走入二百五程序员的风险非常大。要有所建树,找个规范一点的师傅吧。身边无人,就看书吧。
建议少看国人的书。谭 教授贻害众生。勿拍砖
十六进制的数据吧。