[MSP-EXP432P401R] MSP432P401R SSH1106 OLED基础显示例程

  [复制链接]

4

主题

16

帖子

868

积分

单晶硅锭

Rank: 3Rank: 3

积分
868
楼主
查看: 4574回复: 4 发表于 2021-4-23 20:32:39   只看该作者
第2题:基本的显示(包括但不限于各种显示屏的驱动)
1.完整硬件的照片、显示效果图片
2.引脚连接图等电路图(如板卡和显示板的连接示意图)
3.驱动芯片的手册资料等信息
4.要求循环显示以下内容(如屏幕不支持,可跳过部分):
——a.显示整数 2021
——b.显示小数 8.4
——c.显示字符 NUEDC Contest
——d.显示汉字 全国大学生电子设计竞赛培训网
——e.显示图片 电赛的徽章LOGO
——f.根据屏幕显示特色信息(改成和电赛相关的)
*****************************************************************************
1.硬件
开发板:MSP432P401R LaunchPad
显示屏:1.3寸SSH1106 OLED显示屏



2.硬件连接
//              ----------------------------------------------------------------
//              GND    电源地
//              VCC   接3.3v电源
//              SCL   P4.0(时钟)
//              SDA   P3.2(数据)
//              ----------------------------------------------------------------



3.显示效果
* 初始状态,OLED黑屏,
* OLED循环显示
* “ 2021 ”,

* “ 8.4 ”,

* “ NUEDC Contest ”,

* “ 全国大学生电子设计竞赛培训网 ”,

* “ 全国大学生电子设计竞赛徽章 ”,

* “ https://www.nuedc-training.com.cn/ ”。




4.代码
*main.c   循环显示内容
*oled.c   OLED用到的函数定义
*oled.h   OLED用到的头文件、宏定义和函数声明
*oledfont.h  OLED的字符库和汉字库
*bmp.h    OLED的图片库
*汉字和图片需自己用PCtoLCD.exe取模
  1. main.c
  2. #include <ti/devices/msp432p4xx/driverlib/driverlib.h>
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include"oled.h"
  6. #include"bmp.h"

  7. int main(void)
  8. {
  9.     init();                      //OLED端口定义
  10.     OLED_Init();                 //OLED初始化
  11.     MAP_SysCtl_enableSRAMBankRetention(SYSCTL_SRAM_BANK1);//Enabling SRAM Bank Retention
  12.     MAP_WDT_A_holdTimer();     //关闭看门狗

  13.     //进入循环
  14.     while (1)
  15.     {
  16.         OLED_Clear();                  //清屏
  17.         OLED_ShowString(48,2,"2021");  //显示
  18.         delay_ms(500);

  19.         OLED_Clear();
  20.         OLED_ShowString(48,2,"8.4");
  21.         delay_ms(500);

  22.         OLED_Clear();
  23.         OLED_ShowString(16,2,"NUEDC Contest");
  24.         delay_ms(500);

  25.         OLED_Clear();
  26.         OLED_ShowCHinese(0,2,0);      //全
  27.         OLED_ShowCHinese(18,2,1);     //国
  28.         OLED_ShowCHinese(36,2,2);     //大
  29.         OLED_ShowCHinese(54,2,3);     //学
  30.         OLED_ShowCHinese(72,2,4);     //生
  31.         OLED_ShowCHinese(90,2,5);     //电
  32.         OLED_ShowCHinese(108,2,6);    //子
  33.         OLED_ShowCHinese(0,4,7);      //设
  34.         OLED_ShowCHinese(18,4,8);     //计
  35.         OLED_ShowCHinese(36,4,9);     //竞
  36.         OLED_ShowCHinese(54,4,10);    //赛
  37.         OLED_ShowCHinese(72,4,11);    //培
  38.         OLED_ShowCHinese(90,4,12);    //训
  39.         OLED_ShowCHinese(108,4,13);   //网
  40.         delay_ms(500);

  41.         OLED_Clear();
  42.         OLED_DrawBMP(0,0,128,8,BMP1);  //电赛徽章LOGO显示
  43.         delay_ms(500);

  44.         OLED_Clear();
  45.         OLED_ShowString(8,0,"https://www.");
  46.         OLED_ShowString(8,2,"nuedc-training.");
  47.         OLED_ShowString(8,4,"com.cn/");
  48.         delay_ms(500);

  49.     }
  50. }
复制代码





5.工程文件及SSH1106资料
SSH1106_OLED_display.zip (5.16 MB, 下载次数: 531)


打赏

参与人数 11赫兹币 +55 收起 理由
bly + 5
lithiumice + 5
mei187 + 5
hu158 + 5
fu188 + 5
zombiejbt + 5
csj0710 + 5
RHAnthony + 5
blueblues + 5
JTao + 5
hw123456 + 5

查看全部打赏

73

主题

469

帖子

1005

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1005
沙发
发表于 2021-4-27 13:46:41   只看该作者
感谢分享~

0

主题

1

帖子

67

积分

一粒轻沙

Rank: 1

积分
67
板凳
发表于 2021-7-9 20:09:31   只看该作者
你好,我问一下,我也在使用i2C调OLED屏幕,看到你的代码我想问一个问题,你为什么没有使用MSP432P401R的EUSCI的I2C模块,是这个模块有问题吗?

0

主题

5

帖子

57

积分

一粒轻沙

Rank: 1

积分
57
4#
发表于 2021-7-14 20:09:12   只看该作者
请问我下载下来的代码压缩包,解压后,project项目文件无法打开,咋弄呀C:\Users\kmm1314\Desktop

0

主题

1

帖子

107

积分

二氧化硅

Rank: 2

积分
107
5#
发表于 2021-7-27 20:51:30   只看该作者
kmm1314 发表于 2021-7-14 20:09
请问我下载下来的代码压缩包,解压后,project项目文件无法打开,咋弄呀

你需要导入工程到工作空间
快速回复 返回顶部 返回列表