红领巾 发表于 2020-6-5 22:34 //*************写数据*************// void LCD_DataWrite(unsigned char Data) { cs1=0; rs=0; // 数据读取或写入周期 rd=1; //delay_us(5); BUS = Data;//数据总线 wr=0; //delay_us(5);资料写入 (Data Write) wr=1; //数据读取 (Data Read) cs1=1; wr=0; //delay_us(5); 指令写入(CMD Write) wr=1; //状态读取(Status Read) cs1=1; 这个是写数据函数(8位的),现在只是设置工作窗口,X轴左边、右边,Y轴左边、右边。变量tmp实际应该是8位的,为什么要右移还是搞不懂 |
xuyaqi 发表于 2020-6-5 18:54 谢谢,已经在数据手册中找到答案了 |
你的tmp变量是不是16位的,寄存器应该是8位的。一开始是把tmp变量中的低8位参与LCD_DataWrite()运算,右移8位取出tmp变量中的高8位,再参与LCD_DataWrite()运算 |
你的问题,把数据手册看明白就会解决,我们没有数据手册不好回答。 |
没人回答么,自己顶一下! |