推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

获得赏金
20.00元
旋转编码器计次+利用NVIC中断+KEIL_Standard_Library开发

更新时间:2024-06-08 22:19:52 大小:3M 上传用户:mulanhk查看TA发布的资源 标签:旋转编码nvickeil 下载积分:4分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

项目内容:

基于KEIL平台进行源代码编写开发

包含旋转编码器模块的函数编写(详细注释教程)

还有OLED屏的附带驱动函数和显示函数

主函数的逻辑实现语句


实现思路:

利用MCU主控板对于旋转编码器的输出的方波信号进行辨别分析,是正方波还是逆方波。以及计算出编码器旋转的速度。然后在OLED屏将数据处理辨析后的结果显示显示出来。


旋转编码器的工作原理

image.png


按码盘的刻孔方式不同分类编码器可分为增量式和绝对式两类。

增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。

旋转增量式编码器以转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。这样,当停电后,编码器不能有任何的移动,当来电工作时,编码器输出脉冲过程中,也不能有干扰而丢失脉冲,不然,计数设备记忆的零点就会偏移,而且这种偏移的量是无从知道的,只有错误的结果出现后才能知道。

工程配置

源代码

Encoder.c

image.png

开启RCC时钟,同时开启AFIO的时钟(用在外部中断通道上)

对GPIO端口进行初始化,配置输出模式,输出端口和输出速率。

AFIO选择中断引脚,对应的后面就会选择使用什么中断通道

中断通道的选择和配置:


image.png

获取增量值的函数:

image.png

中断回调函数(反转)

image.png

中断回调函数(正转)

image.png

主函数实现

#include "stm32f10x.h"                  // Device header

#include "Delay.h"

#include "OLED.h"

#include "Encoder.h"


int16_t Num; //定义待被旋转编码器调节的变量


int main(void)

{

/*模块初始化*/

OLED_Init(); //OLED初始化

Encoder_Init(); //旋转编码器初始化

/*显示静态字符串*/

OLED_ShowString(1, 1, "Num:"); //1行1列显示字符串Num:

while (1)

{

Num += Encoder_Get(); //获取自上此调用此函数后,旋转编码器的增量值,并将增量值加到Num上

OLED_ShowSignedNum(1, 5, Num, 5); //显示Num

}

}

最终效果实现图

image.png



部分文件列表

文件名大小
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/DebugConfig/
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf7KB
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/Encoder.c6KB
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/Encoder.h
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/Key.c2KB
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/Key.h
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/LED.c3KB
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/LED.h
旋转编码器计次+利用NVIC中断+KEIL_Standard_librabry开发/Hardware/OLED.c8KB
...
  • 21ic小能手打赏了20.00

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载