STM32f4---OLCD显示实验代码(02)

2018-09-29来源: eefocus关键字:STM32f4  OLCD  显示实验

  OLED_CS=1;   OLED_RS=1;  OLED_RST=0;

  delay_ms(100);

  OLED_RST=1;  

  OLED_WR_Byte(0xAE,OLED_CMD); //关闭显示

  OLED_WR_Byte(0xD5,OLED_CMD); //设置时钟分频因子,震荡频率

  OLED_WR_Byte(80,OLED_CMD);   //[3:0],分频因子;[7:4],震荡频率

  OLED_WR_Byte(0xA8,OLED_CMD); //设置驱动路数

  OLED_WR_Byte(0X3F,OLED_CMD); //默认0X3F(1/64)  

  OLED_WR_Byte(0xD3,OLED_CMD); //设置显示偏移

  OLED_WR_Byte(0X00,OLED_CMD); //默认为 0

  OLED_WR_Byte(0x40,OLED_CMD); //设置显示开始行  [5:0],行数.  

  OLED_WR_Byte(0x8D,OLED_CMD); //电荷泵设置

  OLED_WR_Byte(0x14,OLED_CMD); //bit2,开启/关闭

  OLED_WR_Byte(0x20,OLED_CMD); //设置内存地址模式

  OLED_WR_Byte(0x02,OLED_CMD);  

//[1:0],00,列地址模式;01,行地址模式;10,页地址模式;默认10;

  OLED_WR_Byte(0xA1,OLED_CMD); //段重定义设置,bit0:0,0->0;1,0->127;

  OLED_WR_Byte(0xC0,OLED_CMD);  

//设置COM扫描方向;bit3:0,普通模式;1,重定义模式  COM[N-1]->COM0;N:驱动路数

  OLED_WR_Byte(0xDA,OLED_CMD); //设置COM硬件引脚配置

  OLED_WR_Byte(0x12,OLED_CMD); //[5:4]配置  

  OLED_WR_Byte(0x81,OLED_CMD); //对比度设置

  OLED_WR_Byte(0xEF,OLED_CMD); //1~255;默认0X7F (亮度设置,越大越亮)

  OLED_WR_Byte(0xD9,OLED_CMD); //设置预充电周期

  OLED_WR_Byte(0xf1,OLED_CMD); //[3:0],PHASE 1;[7:4],PHASE 2;

  OLED_WR_Byte(0xDB,OLED_CMD); //设置VCOMH 电压倍率

  OLED_WR_Byte(0x30,OLED_CMD); //[6:4] 000,0.65*vcc;001,0.77*vcc;011,0.83*vcc;

  OLED_WR_Byte(0xA4,OLED_CMD); //全局显示开启;bit0:1,开启;0,关闭;(白屏/黑屏)

  OLED_WR_Byte(0xA6,OLED_CMD); //设置显示方式;bit0:1,反相显示;0,正常显示  

  OLED_WR_Byte(0xAF,OLED_CMD); //开启显示    

  OLED_Clear();

}

接着, 要介绍的是OLED_Refresh_Gram函数。 我们在STM32F4内部定义了一个块GRAM:u8 OLED_GRAM[128][8];此部分 GRAM对应OLED模块上的GRAM。在操作的时候,我们只要修改 STM32F4内部的GRAM就可以了,然后通过OLED_Refresh_Gram函数把 GRAM一次刷新到 OLED  的GRAM上。该函数代码如下:

//更新显存到 LCD     

void OLED_Refresh_Gram(void)

{

  u8 i,n;         

  for(i=0;i<8;i++)   

  {   

    OLED_WR_Byte (0xb0+i,OLED_CMD);    //设置页地址(0~7)

    OLED_WR_Byte (0x00,OLED_CMD);      //设置显示位置—列低地址

    OLED_WR_Byte (0x10,OLED_CMD);      //设置显示位置—列高地址    

    for(n=0;n<128;n++)OLED_WR_Byte(OLED_GRAM[n][i],OLED_DATA);  

  }    

}


关键字:STM32f4  OLCD  显示实验 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/2018/ic-news092941456.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32f4---OLCD显示实验代码(03)
下一篇:STM32f4---OLCD显示实验代码(01)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm32f4启动代码分析(一)
因为使用的开发板是stm32f407discovery,所以启动代码为st公司的官方库文件里的startup_stm32f40_41xxx.s,至于如何去找官方库文件,不在本节讨论的范围内,本节只是初步的分析startup_stm32f40_41xxx.s,其中更深入的东西需要在以后的章节中分析。在startup_stm32f40_41xxx.s中,有一段注释:;* File Name : startup_stm32f40_41xxx.s;* Author : MCD Application Team;* @version : V1.7.0;* @date : 22-April-2016;* Description
发表于 2020-05-08
Keil环境下STM32F4工程创建步骤
Keil环境下STM32F4工程创建步骤自己也是刚刚开始接触STM32,在开发环境配置和工程创建过程就花费了多半天的时间,写下此文以纪念自己入坑,也希望能帮助其他想要入坑的小伙伴儿顺利入坑,好了话不多说,下面请允许我开始我的表演:首先咱们需要安装MDK5和STM32F4库安装包,以及固件库压缩包,打开作者百度网盘链接:https://pan.baidu.com/s/1y4IJX6uMieAMyUXNJt0yLg提取码:nmxi下载完成后双击图标点击Next点击Next点击Next填写信息,完成后点击Nex等待安装完成。安装STM32F4库包双击图标路径会自动添加无需手动,点击Next等待安装完成至此我们的软件安装工作就算完成
发表于 2020-04-22
Keil环境下STM32F4工程创建步骤
stm32F4 配置串口+DMA 接收不定长数据 串口空闲中断
USART1  就可以找到串口1的 接口 DMA配置方面  要去 stm32F4 中文参考手册里面去查找这个在 DMA章节里面会提到 具体的 DMA 数据流和 外设的对应关系我的是在文档的 第205页  如果你下载了文档应该也会在差不多的位置可以找到相应的介绍。如果配置部分没有问题了  就可以继续向下看 终端部分的函数!void USART1_IRQHandler(void)                {  u16 data    if
发表于 2020-04-15
stm32F4 配置串口+DMA 接收不定长数据 串口空闲中断
stm32F4 定时器中断 + 步进电机控制器 控制四线两相步进电机
今天给大家分享一个 初级版本的步进电机的控制方法,用到的步进电机是4线两相的42步进电机 如下图:步进电机驱动选用的是这款   TB6600供电选用了12V的稳压电源  最小系统板供电是从Jlink上直接引出MCU是  stm32F407ZGT6 最小系统板 根据步进电机控制器的资料可以知道 步进电机的速度和转过的角度都是通过 PUL + 和PUL- 来控制的(这里插一段关于步进电机驱动上的六个控制接线端子的使用,将其中的四个+   或者是四根 - 接在一起做成共阳接法或者共阴接法,如果 电平是3.3V 或者 5V 可以不串接电阻 ,如果电压大于5V 需要
发表于 2020-04-15
stm32F4 定时器中断 + 步进电机控制器 控制四线两相步进电机
STM32F4 GPIO八种模式及工作原理详解
1 GPIO简介GPIO,即通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。STM32F407有7组IO。分别为GPIOA~GPIOG,每组IO有16个IO口,共有112个IO口  通常称为 PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。  并且F4系列是基于Cortex-M4内核  GPIO的复用:STM32F4 有很多的内置外设,这些外设的外部引脚都是与 GPIO 共用的。也就是说,一个引脚可以有很多作用,但是默认为IO口,如果想使用一个 GPIO
发表于 2020-03-31
STM32F4 GPIO八种模式及工作原理详解
NRF24L01调试记 (STM32F4,STM32F1,STM8L)
其实网上NRF24L01的资料很多,例程也很多,本不应该有什么大问题,但是确出了各种奇怪的问题,花了不少时间。STM32F103+NRF24L01用最小系统板搭了个平台,加上网上的例程,问题是检查NRF24L01的时候,一直没法找到,读写地址寄存器失败,起初怀疑是引线的问题,自己检查连线以及针脚定义,都没有发现问题,既然针脚没有问题怀疑是SPI通讯的问题,接着检查SPI配置,都没有发现明显的错误,尽管分频到256还是不行,十分不解,检查时序代码,因为是网上现成的代码本来想不应该有问题,但是还真的发现问题了,发现网上时序先是将CSN拉高!发送结束后再拉低!这个明显不符,修改后运行正常,哎,网上人家给的例程未必人家就验证过,切记
发表于 2020-03-03
NRF24L01调试记 (STM32F4,STM32F1,STM8L)
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved