查看: 1057|回复: 0

十速科技MCU驱动OLED

[复制链接]
  • TA的每日心情
    擦汗
    2024-1-30 09:58
  • 签到天数: 1491 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2014-11-19 10:10:03 | 显示全部楼层 |阅读模式
    分享到:
    这几天工作上在测试个十速科技公司的MCU,这个公司大家很陌生吧,不多说,避免打广告嫌疑。
    先从IO口开始学起,正好前段时间得到个SAM4S的套件,然后就把OLED屏小板用上,来学习下这颗MCU。把SAM4S里面的SSD1306程序移植到这颗MCU上来。
    先看看OLED的接口控制信号,直接用IO口来模拟SPI

    OLED板的外观

    OLED部分的原理图

    本OLED是128*32点阵的。字库ASCII码就用5*8的,可以显示4行。汉字库用16*16的,可以显示2行。SAM4S里的ASCII字库是不等宽的,使用了指针数组,移植到51MCU上不方便,直接把所有字库都搞成5*8等宽的,为了字符分开点,在两个字符字符之间再增加一个空行。
    OLED板和十速开发板直接用跳线连接,顺便再控制一个LED。连线图

    显示效果


    部分程序
    void main(void)
    {
      unsigned char hz[8];
      unsigned char i;
      char *str;
      TM52F2260Demo_Init();  //Demo上电初始化
      ssd1306_init();
      ssd1306_clear();
      for (i = 0; i < 4; i ++)
      {
      hz = i;
      }
      Display_Hanzi_Buf (LINE1, 32, hz, 4);
      str = "Welcome to";
      Display_Text (LINE3, (128 - strlen(str) * 6) / 2, str);
      str = "www.eeboard.com!";
      Display_Text (LINE4, (128 - strlen(str) * 6) / 2, str);
      while(1)  //主程序循环
      {
      LED = 0;
      Delay_Nms(500);
      LED = 1;
      Delay_Nms(500);
      }
    }
    //显示一个5*8的ASCII字符
    void Display_ASCII (unsigned char num)
    {
      unsigned char i;
      unsigned char show_data;
      for (i = 0; i < 5; i ++)
      {
        show_data = *(ASCII_TAB + num * 5 + i);
      ssd1306_write_data(show_data);
      }
    }
    //显示字符串
    void Display_Text (unsigned char line, unsigned char cloume, char *string)
    {
      if (line > 4)  //保证在显示范围内
      {
      line = 4;
      }
      ssd1306_set_page_address(line);
      ssd1306_set_column_address(cloume);
      while (*string != 0)
      {
      if (*string < 0x7F)
      {
      Display_ASCII (*string - 32);
      }
      ssd1306_write_data(0x00);  //每一个字符后增加一个空列
      string ++;
      }
    }
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 13:47 , Processed in 0.113416 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.