找回密码
 立即注册
楼主: 浦江***

STC32G驱动OLED12864,用普通IO模拟SPI或硬件SPI接口方式+双页显示

[复制链接]
  • TA的每日心情
    奋斗
    昨天 10:10
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    3

    主题

    33

    回帖

    137

    积分

    注册会员

    积分
    137
    发表于 2024-5-31 10:23:39 | 显示全部楼层
    浦江一水 发表于 2024-5-31 09:52
    试着回复一下这位坛友的提问...

    截图给出的是三句写命令字节的函数.意思是一样的,以第一句为例:

    是这一句吗?
    #define OLED_CMD  0       
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:31
  • 签到天数: 185 天

    [LV.7]常住居民III

    11

    主题

    124

    回帖

    904

    积分

    高级会员

    积分
    904
     楼主| 发表于 2024-5-31 13:47:52 | 显示全部楼层
    ryj870925 发表于 2024-5-31 10:23
    是这一句吗?
    #define OLED_CMD  0


    不是这句.  这是宏定义, 原文是这样的吧?

    #define OLED_CMD   0                                                //写命令
    #define OLED_DATA 1                                                //写数据

    宏定义的作用是用比较好理解和记忆的用词来代替一些(不太好记忆的、枯燥的、意义不明确的)变量或数值.
    比如有了上述定义后,
    凡是用"OLED_CMD"的地方,  就代表是用数值0;
    凡是用"OLED_DATA"的地方,就代表是用数值1;

    关于写字节数的函数OLED_WR_Byte(); 是 oled.c文件中的那个语句..
    原文是这样的:  (网上流传的)
    //========================================================================
    // 函数名称: OLED_WR_Byte
    // 函数功能: OLED地址/数据写入函数
    // 入口参数: @dat:数据    @cmd:命令
    // 函数返回: 无
    // 当前版本: VER1.0
    // 修改日期: 2023 - 6 - 7
    // 当前作者: ZCF
    // 其他备注:
    //========================================================================
    void OLED_WR_Byte(u8 dat,u8 cmd)
    {
        u8 udat[1] ;
        udat[0] = dat;
        if( cmd==1 )
            IIC_Write_NByte(0X78,0x40,udat,1);
        else
            IIC_Write_NByte(0X78,0x00,udat,1);
    }

    你看它的位置就是写在延时函数之后, 其它函数之前的, 这样其它函数就可直接调用... 而不一定必须要在头文件中申明的.

    这函数的第一个参数dat就是表示所要写入的字节数字,
    第二个参数cmd就是表示所写的是命令呢还是一个数值,是一个标识字。
    当写作"OLED_CMD"时,   其实就是0, 代表第一参数写的是"命令",

    当写作"OLED_DATA"时, 其实就是1, 代表第一参数写的是"数值",


    有的地方写 "OLED_CMD"    就是告诉OLED显示屏, 第一参数dat这是指令, 要执行某个动作了...   

    有的地方写 "OLED_DATA", 就是告诉OLED显示屏, 第一参数dat这是数据, 要写入是数据了...
    比如后边OLED_BuffShow()函数, 就用到了"OLED_DATA"。




    // 入口参数: @dat:数据    @cmd:命令

    这样的写法,可能会使初学者不太好理解.....

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:31
  • 签到天数: 185 天

    [LV.7]常住居民III

    11

    主题

    124

    回帖

    904

    积分

    高级会员

    积分
    904
     楼主| 发表于 2024-5-31 14:02:18 | 显示全部楼层
    科学妞妞 发表于 2024-5-31 09:20
    基于屠龙刀板子
    屏是1.8  128*160  RGB-TFT         ic:ST77358,
    目前,常见的一种显示屏,网络上有很多stc ...

    明白了。 这屏现在是比较常用,我的《新手学用....》第22楼的实验内容,也是7735驱动的,基本是可以参考使用的。


    只要对照屠龙刀电路板的显示屏端口,改一下端口定义就可以了,原文就是这里几句:

    //================================================================
    // 接口定义: 利用LCD1602接口(反相排序)  (根据实际电路板情况定义)
    // 1602:  K- A+  D7  D6  D5  D4  D3  D2 D1 D0 E WR RS Vo VCC GND
    // OLED: GND VCC SCL SDA RES DC  CS  BL      
    //================================================================
    sbit SCL = P0^7;  //时钟端
    sbit SDA = P0^6;  //数据端
    sbit RES = P0^5;  //复位端 0:复位
    sbit  DC  = P0^4;  //0:指令/1:数据
    sbit  CS  = P0^3;  //片选 0:选中
    sbit  BL  = P0^2;  //背光 0:灭 1:亮
    //========================================================


    先试试看。。。


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:12
  • 签到天数: 115 天

    [LV.6]常住居民II

    2

    主题

    276

    回帖

    568

    积分

    高级会员

    积分
    568
    发表于 2024-5-31 19:29:33 | 显示全部楼层
    浦江一水 发表于 2024-5-31 14:02
    明白了。 这屏现在是比较常用,我的《新手学用....》第22楼的实验内容,也是7735驱动的,基本是可以参考 ...

    了解,先学习改改,坐等一水楼主新作更新的到来。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:31
  • 签到天数: 185 天

    [LV.7]常住居民III

    11

    主题

    124

    回帖

    904

    积分

    高级会员

    积分
    904
     楼主| 发表于 2024-6-1 19:53:34 | 显示全部楼层
    科学妞妞 发表于 2024-5-31 19:29
    了解,先学习改改,坐等一水楼主新作更新的到来。

    “基于屠龙刀板子 + 屏是1.8  128*160  RGB-TFT  ic:ST7735”

    手头正好也有这样的硬件配置。就匆匆编写了一段实验程序,供参考。

    工程文件包以及简单说明,上传发布在【LCD12864】版块,有空下载试试看。若有问题,留言即可。

    注意,这块彩色显示屏是8针引脚的,屠龙刀三板子的显示屏接口是7针的,
    彩屏的第8脚是BL背光控制,只要用杜邦线将它连接到Vcc即可。其它针脚全部对上的。


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:12
  • 签到天数: 115 天

    [LV.6]常住居民II

    2

    主题

    276

    回帖

    568

    积分

    高级会员

    积分
    568
    发表于 2024-6-1 20:26:12 | 显示全部楼层
    浦江一水 发表于 2024-6-1 19:53
    “基于屠龙刀板子 + 屏是1.8  128*160  RGB-TFT  ic:ST7735”

    手头正好也有这样的硬件配置。就匆匆编写 ...

    谢谢先行者,对咱们爱好者的支持
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情

    昨天 05:57
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    1

    主题

    78

    回帖

    223

    积分

    中级会员

    积分
    223
    发表于 2024-6-3 20:52:59 | 显示全部楼层
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-6-14 02:15 , Processed in 0.064072 second(s), 52 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表