durongze 发表于 2025-2-5 18:27:23

官网例子中LCD_DataPortH LCD_DataPortL 的低八位是虚构出来的吗?这个咋理解呢?

STC32G12K128



#defineLCD_DataPortH P6   //高8位数据口,8位模式下只使用高8位
#defineLCD_DataPortL P2   //低8位数据口,8位模式下低8位可以不接线
sbit LCD_RS = P4^5;         //数据/命令切换
sbit LCD_WR = P4^2;         //写控制
sbit LCD_RD = P4^4;         //读控制
sbit LCD_CS = P3^4;         //片选
sbit LCD_RESET = P4^3;      //复位




AI8051U



//IO连接
#defineLCD_DataPortH P2   //高8位数据口,8位模式下只使用高8位
#defineLCD_DataPortL P6   //低8位数据口,8位模式下低8位可以不接线
sbit LCD_RS = P4^5;         //数据/命令切换
sbit LCD_WR = P3^6;         //写控制
sbit LCD_RD = P3^7;         //读控制
sbit LCD_CS = P0^5;         //片选
sbit LCD_RESET = P4^7;      //复位

-------------------------------------------------------------------
官网例子中LCD_DataPortHLCD_DataPortL的低八位是虚构出来的吗?这个咋理解呢?
在STC32G12K128低八位LCD_DataPortL 应该是P几呢?




durongze 发表于 2025-2-5 18:54:34



p6 应该和这个有关

durongze 发表于 2025-2-5 18:59:21




48个引脚好像没有p6口啊,有点迷糊

soma 发表于 2025-2-5 19:43:51

//低8位数据口,8位模式下低8位可以不接线,16位模式下才需要低8位吧,8位模式只需要高8位。

DebugLab 发表于 2025-2-5 20:41:21

8位模式只使用高8位,低8位不接
比如要发16位数据,16位并口1次就发过去了,8位并口就拆成2次发

durongze 发表于 2025-2-5 20:47:20

soma 发表于 2025-2-5 19:43
//低8位数据口,8位模式下低8位可以不接线,16位模式下才需要低8位吧,8位模式只需要高8位。 ...
void LCD_Set_GPIO(void)
{
    //P2口设置成推挽输出
    P2M0=0xff;
    P2M1=0x00;

    //P0.4口设置成高阻输入,P0.5推挽输出
    P0M0=0x20;
    P0M1=0x10;

    //P1.4,P1.5口设置成高阻输入
    P1M0=0x00;
    P1M1=0x30;

    //P6口设置成高阻输入(8bit)
    P6M0=0x00;
    P6M1=0xff;

    //P3.7,P3.6口设置成推挽输出
    P3M0=0xc0;
    P3M1=0x00;

    //P4.7,P4.5口设置成推挽输出
    P4M0=0xa0;
    P4M1=0x00;

    //P5.3口设置成推挽输出
    P5M0=0x08;
    P5M1=0x00;
}

官网的例子设置了p6,我没看懂这个p6是啥?





durongze 发表于 2025-2-5 20:50:59

如果我要在stc32g上用这个例子的话,我必须改:

void LCD_Set_GPIO(void)
{
    //P6口设置成推挽输出
    P6M0=0xff;
    P6M1=0x00;

    //P0.4口设置成高阻输入,P0.5推挽输出
    P0M0=0x20;
    P0M1=0x10;

    //P1.4,P1.5口设置成高阻输入
    P1M0=0x00;
    P1M1=0x30;

    //P6口设置成高阻输入(8bit)
    P6M0=0x00;
    P6M1=0xff;

    //P4.4,P4.2口设置成推挽输出
    // P4M0=0x14;
    // P4M1=0x00;

    //P4.3,P4.5口设置成推挽输出
    // P4M0=0x28;
    P4M0=0x3C;
    P4M1=0x00;

    //P3.4口设置成推挽输出
    P3M0=0x10;
    P3M1=0x00;
}

durongze 发表于 2025-2-5 21:07:57

DebugLab 发表于 2025-2-5 20:41
8位模式只使用高8位,低8位不接
比如要发16位数据,16位并口1次就发过去了,8位并口就拆成2次发 ...

电路图上不是只有8根线么?有16位模式吗? 官网的例子里有个P6端口,但是实际管脚就没有p6呢,有些糊涂。

durongze 发表于 2025-2-5 22:13:23

soma 发表于 2025-2-5 19:43
//低8位数据口,8位模式下低8位可以不接线,16位模式下才需要低8位吧,8位模式只需要高8位。 ...

试验箱上那个低8位压根没用对吧?

durongze 发表于 2025-2-5 22:13:48

DebugLab 发表于 2025-2-5 20:41
8位模式只使用高8位,低8位不接
比如要发16位数据,16位并口1次就发过去了,8位并口就拆成2次发 ...

试验箱上那个低8位压根没用对吧?
页: [1] 2
查看完整版本: 官网例子中LCD_DataPortH LCD_DataPortL 的低八位是虚构出来的吗?这个咋理解呢?