0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【先楫半导体HPM6750EVKMINI评估板试用体验】+OLED屏的显示驱动

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-18 15:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:jennyzhaojie, 帖子地址:https://bbs.elecfans.com/jishu_2284197_1_1.html

HPM6750EVKMINI是一款外设及接口十分丰富的开发板,它所提供的LCD接口是通过窄间距的线排来连接显示屏,由于手头没有这种显示的显示屏,只好以最小的资源占用为其配置一个I2C接口的显示屏,除了进行视频显示它还是可以满足一般的显示需求的,其显示效果如图1所示。
pYYBAGKWv1KAcg3FAAHS8obJ2Pc833.jpg
图1 显示效果
由图1可知,该显示屏可支持字符串、数值及汉字的显示,且可显示2种字体大小的显示。
为防止引脚使用上的重叠,该显示屏所使用的引脚为扩展接口上的引脚,其连接关系为:
SCL---PB13
SDA---PB14
pYYBAGKWv1qAVojrAAI1y8_liC0774.jpg
图2 引脚位置及名称
将所用引脚配置为输出模式的函数为:


  1. voidapp_init_oled_pins(void)
  2. {
  3. gpio_enable_pin_output(HPM_GPIO0,GPIO_DI_GPIOB, 13);
  4. gpio_enable_pin_output(HPM_GPIO0,GPIO_DI_GPIOB, 14);
  5. }
复制代码

在使用GPIO口模拟I2C通讯的情况下,实现高低电平输出的语句定义为:


  1. #defineOLED_SCLK_Set()gpio_write_pin(HPM_GPIO0, GPIO_DI_GPIOB, 13,1);
  2. #defineOLED_SCLK_Clr()gpio_write_pin(HPM_GPIO0, GPIO_DI_GPIOB, 13,0);
  3. #defineOLED_SDIN_Set()gpio_write_pin(HPM_GPIO0, GPIO_DI_GPIOB, 14,1);
  4. #defineOLED_SDIN_Clr()gpio_write_pin(HPM_GPIO0, GPIO_DI_GPIOB, 14,0);
复制代码

以GPIO口模拟I2C发送字节数据的函数如下:


  1. void Write_IIC_Byte(unsigned char IIC_Byte)
  2. {
  3. unsigned char i;
  4. unsigned char m,da;
  5. da=IIC_Byte;
  6. OLED_SCLK_Clr();
  7. for(i=0;i<8;i++)
  8. {
  9. m=da;
  10. m=m&0x80;
  11. if(m==0x80)
  12. {
  13. OLED_SDIN_Set();
  14. }
  15. else
  16. OLED_SDIN_Clr();
  17. Delay_Us(2);
  18. da=da<<1;
  19. OLED_SCLK_Set();
  20. Delay_Us(2);
  21. OLED_SCLK_Clr();
  22. Delay_Us(2);
  23. }
  24. }
复制代码


由于开发板的工作主频高达816MHz,因此在引脚输出信号时,一定要加适当的延时,否则会影响显示输出。
两种显示字模的结构如下:


  1. unsignedchar F6x8[][6] =
  2. {
  3. 0x00,0x00, 0x00, 0x00, 0x00, 0x00,// sp
  4. 0x00,0x00, 0x00, 0x2f, 0x00, 0x00,// !
  5. 0x00,0x00, 0x07, 0x00, 0x07, 0x00,// "
  6. ...
  7. }
复制代码



  1. unsignedchar F8X16[]=
  2. {
  3. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//0
  4. 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//!1
  5. 0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//"2
  6. ...
  7. }
复制代码

在以上字库的支持下,实现字符显示的函数为:


  1. void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t Char_Size)
  2. {
  3. unsigned char c=0,i=0;
  4. c=chr-' ';
  5. if(x>Max_Column-1)
  6. {
  7. x=0;
  8. y=y+2;
  9. }
  10. if(Char_Size ==16)
  11. {
  12. OLED_Set_Pos(x,y);
  13. for(i=0;i<8;i++) OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);
  14. OLED_Set_Pos(x,y+1);
  15. for(i=0;i<8;i++) OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);
  16. }
  17. else
  18. {
  19. OLED_Set_Pos(x,y);
  20. for(i=0;i<6;i++) OLED_WR_Byte(F6x8[c][i],OLED_DATA);
  21. }
  22. }
复制代码


实现字符串显示的函数为:


  1. void OLED_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t Char_Size)
  2. {
  3. unsigned char j=0;
  4. while (chr[j]!='')
  5. {
  6. OLED_ShowChar(x,y,chr[j],Char_Size);
  7. x+=8;
  8. if(x>120)
  9. {
  10. x=0;
  11. y+=2;
  12. }
  13. j++;
  14. }
  15. }
复制代码


为实现汉字的显示,需要自行构建一个小型的字库,见图3所示。
poYBAGKWv2SADMVgAAJpTAxaNnQ342.jpg
图3 提取字模
配合该字库的汉字显示函数为:


  1. void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no)
  2. {
  3. uint8_t t,adder=0;
  4. OLED_Set_Pos(x,y);
  5. for(t=0;t<16;t++)
  6. {
  7. OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
  8. adder+=1;
  9. }
  10. OLED_Set_Pos(x,y+1);
  11. for(t=0;t<16;t++)
  12. {
  13. OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
  14. adder+=1;
  15. }
  16. }
复制代码


实现他显示效果的主程序为:


  1. int main(void)
  2. {
  3. app_init_oled_pins();
  4. OLED_Init();
  5. OLED_Clear();
  6. OLED_ShowString(0,2,"HPM6750 EVKMINI",16);
  7. OLED_ShowString(20,4,"OLED test",16);
  8. OLED_ShowString(20,6,"jennyzhaojie",8);
  9. OLED_ShowCHinese(20,0,0);
  10. OLED_ShowCHinese(40,0,1);
  11. OLED_ShowCHinese(60,0,2);
  12. OLED_ShowCHinese(80,0,3);
  13. OLED_ShowCHinese(100,0,4);
  14. while(1);
  15. return 0;
  16. }
复制代码


有了OLED屏的显示功能,进行人机交互就方便了许多。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19121

    浏览量

    403607
  • 先楫半导体
    +关注

    关注

    12

    文章

    288

    浏览量

    3382
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    东西协作·芯向未来|半导体亮相2026成都工博会

    2026年3月11-13日,成都|上海半导体科技有限公司(半导体,HPMicro)携全系
    的头像 发表于 03-16 11:50 436次阅读
    东西协作·芯向未来|<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>亮相2026成都工博会

    【媒体视角】“五高一低” 筑核心,半导体助力具身智能行业新突破

    及嵌入式解决方案核心提供商,上海半导体科技有限公司(半导体、HPMicro)紧跟产业浪潮
    的头像 发表于 01-30 09:51 1627次阅读
    【媒体视角】“五高一低” 筑核心,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>助力具身智能行业新突破

    CES2026:半导体隆重推出HPM5E3Y,打造机器人运动控制芯片阵容

    新纪元。作为高性能微控制器产品及嵌入式解决方案提供商,上海半导体科技有限公司 (半导体
    的头像 发表于 01-08 10:38 1362次阅读
    CES2026:<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>隆重推出<b class='flag-5'>HPM</b>5E3Y,打造机器人运动控制芯片阵容

    方案 | LED车尾灯纯硬件高刷新率解决方案

    上海半导体科技有限公司(半导体,HPMicro)基于国产高性能MCUHPM6P00推出纯
    的头像 发表于 12-30 08:31 765次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>方案 | LED车尾灯纯硬件高刷新率解决方案

    重磅更新 | 半导体HPM_APPS v1.10.1发布

    重磅更新 | 半导体HPM_APPS v1.10.1发布
    的头像 发表于 12-26 08:33 1352次阅读
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b><b class='flag-5'>HPM</b>_APPS v1.10.1发布

    解决方案 | 变频器EtherCAT通讯卡+远程IO方案

    半导体推出的基于HPM5E00系列的工业级变频器EtherCAT通讯卡及远程IO解决方案,致力于帮助开发者在以HPM微控制器作为设备从站
    的头像 发表于 12-12 10:35 543次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>解决方案 | 变频器EtherCAT通讯卡+远程IO方案

    半导体荣膺“年度优秀AI机器人创新产品奖” | “芯”动力赋能产业升级

    MCU产品——HPM6E8Y,成功斩获“年度优秀AI机器人创新产品奖”。该奖项旨在表彰在机器人领域具有技术突破性与市场影响力的创新成果,此次获奖既是行业对半导体
    的头像 发表于 11-06 17:06 1705次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>荣膺“年度优秀AI机器人创新产品奖” | “芯”动力赋能产业升级

    半导体完成B+轮融资,中移和创投资加持

    2025年9月10日,上海|国产高性能MCU产品及嵌入式解决方案供应商“上海半导体科技有限公司”(
    的头像 发表于 09-11 08:32 1607次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>完成B+轮融资,中移和创投资加持

    元禾控股投资半导体:国产高性能MCU驶入机器人控制“快车道”

    2025年9月8日,上海|上海半导体科技有限公司(半导体,HPMicro)宣布完成新一轮
    的头像 发表于 09-08 08:35 3568次阅读
    元禾控股投资<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>:国产高性能MCU驶入机器人控制“快车道”

    半导体高性能MCU入驻立创商城,国产芯势力再添新动能

    半导体(HPMicro)宣布其全系列高性能MCU芯片正式上架立创商城(LCSC),标志着国产高端MCU在供应链渠道与生态服务方面迈上新台阶,国产芯势力再添新动能。
    的头像 发表于 07-31 08:32 1378次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>高性能MCU入驻立创商城,国产芯势力再添新动能

    国产“HPM芯”赋能机器人关节,半导体亮相松山湖IC创新论坛

    。高性能微控制器产品及嵌入式解决方案提供商“上海半导体科技有限公司”(半导体,HPMic
    的头像 发表于 05-14 15:53 1548次阅读
    国产“<b class='flag-5'>HPM</b>芯”赋能机器人关节,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>亮相松山湖IC创新论坛

    半导体HPM6E8Y:实时控制芯片驱动的机器人关节“芯”时代

    及产品总监费振东带来了一款实时控制芯片驱动——HPM6E8Y。     据费振东介绍,半导体HPM
    发表于 05-13 11:50 1893次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b><b class='flag-5'>HPM</b>6E8Y:<b class='flag-5'>先</b><b class='flag-5'>楫</b>实时控制芯片<b class='flag-5'>驱动</b>的机器人关节“芯”时代

    重磅更新 | 半导体HPM_APPS v1.9.0发布

    重磅更新 | 半导体HPM_APPS v1.9.0发布
    的头像 发表于 05-13 11:29 2021次阅读
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b><b class='flag-5'>HPM</b>_APPS v1.9.0发布

    【强势上新】HPM5E00:EtherCAT运动控制MCU,半导体再拓工业总线产品新版图

    2025年5月6日 上海 |高性能微控制器及嵌入式解决方案提供商“上海半导体科技有限公司”(半导
    发表于 05-07 14:07 1188次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>再拓工业总线产品新版图

    【强势上新】HPM5E00:EtherCAT运动控制MCU,半导体再拓工业总线产品新版图

    2025年5月6日上海|高性能微控制器及嵌入式解决方案提供商“上海半导体科技有限公司”(半导体
    的头像 发表于 05-06 11:09 1586次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>再拓工业总线产品新版图