STM32 基于IIC的OLED显示程序
OLED,即有机发光二极管( Organic Light Emitting Diode )。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。 LCD都需要背光,而OLED不需要,因为它是自发光的。这样同样的显示OLED效果要来得好一些。以目前的技术,OLED的尺寸还难以大型化,但是分辨率确可以做到很高。
OLED,即有机发光二极管( Organic Light Emitting Diode )。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。 LCD都需要背光,而OLED不需要,因为它是自发光的。这样同样的显示OLED效果要来得好一些。以目前的技术,OLED的尺寸还难以大型化,但是分辨率确可以做到很高。
如果俩个相位差为90度,这俩个信号称为正交。由于俩个信号相差90度,可以根据俩个信号那个先那个后判断方向,根据编码器的脉冲数量及编码轮的周长可以算出行驶的距离。加上一个定时器去计数单位时间内采集到的编码脉冲数量就可以算出电机的速度。 对于F103系列来说,可以用作编码器模式的有高级定时器TIM1和TIM8,通用定时器有TIM2 TIM3 TIM4 TIM5,且每个定时器只有通道1和通道2能作为正交解码,还要注意一下定时器5和定时器2是32位定时器,装载数值时注意要装载0xffffffff。这是踩坑的主要地方,学的不够深入不了解这一部分的知识。
定时器中断时间计算:Touct=(ARR+1)(PSC+1)/TCLK(系统时钟默认为72M),亲测有效,实验效果跟程序写的一样,每500ms进一次中断,控制LED的状态,熄灭或者点亮。
接线方式 ENA ------------ B6 IN1 ------------ B9 IN2 ------------ B7 GND ----------- GND (外接电源) VCC ------------ 5至12V (逻辑电源)
我们将 led0pwmval 这个值设置为 PWM 比较值,也就是通过 led0pwmval 来控制 PWM 的占空比,然后控制 led0pwmval 的值从 0 变到 300,然后又从 300 变到 0,如此循环,因此 DS0 的亮度也会跟着从暗变到亮,然后又从亮变到暗。
我们将通过 载有的 3 个按钮来控制板上的 2 个 LED(DS0 和 DS1)和蜂鸣器,其中 KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1 控制 DS1,按一次亮,再按一次灭;KEY0 则同时控制 DS0 和 DS1,按一次,他们的状态就翻转一次。
本实验通过代码控制开发板上的DS0和蜂鸣器,DS0闪烁,提示程序运行,而蜂鸣器 则周期性的发出“嘀”的声音,间隔为0.3秒。蜂鸣器为有源蜂鸣器,不可调频
基于STM32寄存器版本的LED流水灯效果,通过内部配置寄存器的来设置GPIO的模式, 可以由软件配置成如下 8 种模式: 1、输入浮空2、输入上拉3、输入下拉4、模拟输入5、开漏输出6、推挽输出7、推挽式复用功能 8、开漏复用功能