找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5106|回复: 4
打印 上一主题 下一主题
收起左侧

OLED花样显示之显示菜单的STM32源程序

[复制链接]
跳转到指定楼层
楼主
本帖最后由 837877663 于 2019-6-12 08:58 编辑

用STM32驱动0.96寸OLED显示屏显示界面的程序,让大家的界面更规则好看

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"         
  6. #include "usmart.h"        
  7. #include "OLED_I2C.h"
  8. extern unsigned char BMP1[];

  9. struct PAGE
  10. {
  11.         u8 page;                        //页码
  12.         u8* name1;                //字符串名
  13.         u8* name2;                //字符串名
  14.         u8* name3;                //字符串名
  15.         u8* name4;                //字符串名        
  16. };

  17. struct PAGE page_one,page_two,page_three;

  18. //创建三个页面
  19. void Creat_Page()
  20. {
  21.         page_one.page=1;
  22.         page_one.name1="name";
  23.         page_one.name2="age";
  24.         page_one.name3="height";
  25.         page_one.name4 ="birthday";
  26.         
  27.         page_two.page=2;
  28.         page_two.name1="number";
  29.         page_two.name2="weight";
  30.         page_two.name3="quality";
  31.         page_two.name4 ="date";
  32.         
  33.         page_three.page=3;
  34.         page_three.name1="choose";
  35.         page_three.name2="judge";
  36.         page_three.name3="blanks";
  37.         page_three.name4="Short answer";
  38. }

  39. void Show_Page(u8 a)
  40. {
  41.         if(a==1)
  42.         {
  43.                 OLED_CLS();
  44.                 OLED_ShowNote(0,0,page_one.name1,2);
  45.                 OLED_ShowNote(0,2,page_one.name2,2);
  46.                 OLED_ShowNote(0,4,page_one.name3,2);
  47.                 OLED_ShowNote(0,6,page_one.name4,2);        
  48.         }
  49.         if(a==2)
  50.         {
  51.                 OLED_CLS();
  52.                 OLED_ShowNote(0,0,page_two.name1,2);
  53.                 OLED_ShowNote(0,2,page_two.name2,2);
  54.                 OLED_ShowNote(0,4,page_two.name3,2);
  55.                 OLED_ShowNote(0,6,page_two.name4,2);        
  56.         }
  57.         if(a==3)
  58.         {
  59.                 OLED_CLS();
  60.                 OLED_ShowNote(0,0,page_three.name1,2);
  61.                 OLED_ShowNote(0,2,page_three.name2,2);
  62.                 OLED_ShowNote(0,4,page_three.name3,2);
  63.                 OLED_ShowNote(0,6,page_three.name4,2);        
  64.         }
  65. }

  66. //LED状态设置函数
  67. void led_set(u8 sta)
  68. {
  69.         LED1=sta;
  70. }
  71. //函数参数调用测试函数
  72. void test_fun()
  73. {
  74.         OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP1);
  75. }         
  76. int main(void)
  77. {        
  78.          u8 h=0,y=0;
  79.         delay_init();                     //延时函数初始化         
  80.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  81.         uart_init(115200);                 //串口初始化为115200
  82.          LED_Init();                             //LED端口初始化
  83.         I2C_Configuration();
  84.         OLED_Init();
  85.         usmart_dev.init(SystemCoreClock/1000000);        //初始化USMART        
  86.         OLED_CLS();
  87.         Creat_Page();        
  88.          Show_Page(1);
  89.   while(1)
  90.         {        
  91.                 OLED_ShowStr(120,h,"<",2);               
  92.                 delay_ms(800);
  93.                 OLED_ShowStr(120,h," ",2);
  94.                 h=h+2;
  95.                 if(h>=8)
  96.                 {
  97.                         h=0;
  98.                         y++;
  99.                         if(y>=4)y=1;
  100.                         Show_Page(y);                        
  101.                 }
  102.         }                        
  103. }
复制代码

所有资料51hei提供下载:
显示界面.7z (208.94 KB, 下载次数: 149)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:239620 发表于 2019-11-7 16:35 | 只看该作者
下载下来看一看
回复

使用道具 举报

板凳
ID:306573 发表于 2019-11-8 17:02 | 只看该作者
下载学习学习。
回复

使用道具 举报

地板
ID:480037 发表于 2019-12-16 20:18 | 只看该作者
下来看看
回复

使用道具 举报

5#
ID:286070 发表于 2020-6-2 22:16 | 只看该作者
感谢分享                  
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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