标题: 我画pcb的时候将LCD12864的D0-D7反接到了P0.7-P0.0了,驱动应该怎么写,求大佬指点 [打印本页]

作者: 畅6666    时间: 2021-12-14 10:47
标题: 我画pcb的时候将LCD12864的D0-D7反接到了P0.7-P0.0了,驱动应该怎么写,求大佬指点
如题
作者: AUG    时间: 2021-12-14 17:01
比如原先给P0-P7的数据为0xF0,现在则为0x0F; 反过来就好了。
作者: 畅6666    时间: 2021-12-14 17:26
AUG 发表于 2021-12-14 17:01
比如原先给P0-P7的数据为0xF0,现在则为0x0F; 反过来就好了。

好的谢谢
作者: munuc_w    时间: 2021-12-14 17:28
按沙法说的做先将数据高低位交换,再输出。
作者: 畅6666    时间: 2021-12-14 17:32
munuc_w 发表于 2021-12-14 17:28
按沙法说的做先将数据高低位交换,再输出。

好的谢谢
作者: angmall    时间: 2021-12-14 17:48
我给你来个程序试试

  1. unsigned char Switch_bit(unsigned char InChar)
  2. {
  3.         unsigned char bdata B;  //在位寻址区定义字符变量B
  4.         sbit B7=B^7;
  5.         sbit B6=B^6;
  6.         sbit B5=B^5;
  7.         sbit B4=B^4;
  8.         sbit B3=B^3;
  9.         sbit B2=B^2;
  10.         sbit B1=B^1;
  11.         sbit B0=B^0;
  12.         unsigned char bdata C;  //在位寻址区定义字符变量C
  13.         sbit C7=C^7;
  14.         sbit C6=C^6;
  15.         sbit C5=C^5;
  16.         sbit C4=C^4;
  17.         sbit C3=C^3;
  18.         sbit C2=C^2;
  19.         sbit C1=C^1;
  20.         sbit C0=C^0;

  21.         C = InChar;
  22.         B0=C7;
  23.         B1=C6;
  24.         B2=C5;
  25.         B3=C4;
  26.         B4=C3;
  27.         B5=C2;
  28.         B6=C1;
  29.         B7=C0;

  30.         return B;

  31. }

复制代码

作者: mengsiu    时间: 2021-12-14 18:06
重新画一片板。JLC免费打样。
作者: huashanhui20    时间: 2021-12-14 18:53
本帖最后由 huashanhui20 于 2021-12-14 19:08 编辑

来,给你现场码个数据换头程序
unsigned char huantou8(unsigned char val)
{
      unsigned char i,temp=0;
          for (i=0;i<8;i++)
          {  
             temp=(temp<<1)|((val>>i)&0x01);
          }
      return temp;
}
给P0赋值之前调用一下,你自己试试,我现场码的,没测试过
作者: 老愚童63    时间: 2021-12-14 19:04
把屏接到PCB的另外一面




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1