51单片机数字旋转编码器内部原理应用与实现------day5

这篇具有很好参考价值的文章主要介绍了51单片机数字旋转编码器内部原理应用与实现------day5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

51单片机数字旋转编码器内部原理应用与实现
1.数字旋转编码器
可实现按下确认,旋转加减。
不按状态为高电平,按下为低电平。

单片机编码器编程实例,单片机KEIL,51单片机,单片机,stm32
时序图:
单片机编码器编程实例,单片机KEIL,51单片机,单片机,stm32
顺时针 逆时针

A B A B
1 1 1 1
0 1 1 0
0 0 0 0
1 0 0 1

电路原理图如下所示:
单片机编码器编程实例,单片机KEIL,51单片机,单片机,stm32
实现程序如下图所示:效果不错,无丢数情况,很顺畅。功能顺时针加1逆时针减1,按下清0.哈哈哈。挺好玩的,可以试试。使用查询方式。利用边沿检测进行编程:文章来源地址https://www.toymoban.com/news/detail-654594.html

#include<reg52.h>

typedef unsigned char uchar;
typedef unsigned int uint;

/*
 *  定义引脚
 */
/* 595控制数码管时钟信号线引脚定义 */
sbit HC595CLK  = P1^1;
/* 595控制数码管片选信号线引脚定义 */
sbit HC595RCK  = P1^0;
/* 595控制数码管数据输入引脚定义 */
sbit HC595DATA = P1^4;
sbit Pin_Portry_A = P2^0;
sbit Pin_Portry_B = P2^1;
sbit Pin_Poetry_Sd = P2^2;


code unsigned char ucDis_Segmentcode[16] = {
   0x3f,0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/* 位码表 */
code unsigned char ucDis_Bitcode[8] = {
   0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F};
uchar dis_XS[8] = {
   0x3f,0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d};

uchar Last_Bmb_Status;
uchar Current_Bmb_Status;
uchar Sd_Flag = 0;
uchar Sd_Key_Value = 0;

void Send_Data(unsigned int uiDataOne, unsigned int uiDataTwo);
//此段代码为了消除最后一位数码管过亮设计
void display()
{
   
     static uchar i;

     dis_XS[0] = ucDis_Segmentcode[Sd_Key_Value/100]; //百位
 
     dis_XS[1] = ucDis_Segmentcode[Sd_Key_Value%100/10]; //十位	

	 dis_XS[2] = ucDis_Segmentcode[Sd_Key_Value%10]; //个位

	 if(i < 2)
	 {
   
	    i++;
	 }
	 else
	 {
   
	    i = 0;
	 }
     
	 Send_Data(dis_XS[i], ucDis_Bitcode[i]);   
}


/********************************

到了这里,关于51单片机数字旋转编码器内部原理应用与实现------day5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【32单片机学习】(3)霍尔编码器减速直流电机控制及测速

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1.实验现象 2.实验接线及原理图 接线图 原理图  电机接线图 3.代码部分 1.主函数  main.c 2.按键部分   key.c  key.h pwm代码   pwm.c  pwm.h 电机驱动   motor.c   motor.h  OLED显示 oled.c oled.h  编码器

    2024年02月11日
    浏览(54)
  • 旋转编码器原理、选型及编码

    旋转编码器(rotary encoder)也称为轴编码器,是将旋转的机械位移量转换为电气信号,对该信号进行处理后检测位置速度等信号的传感器。检测直线机械位移量的传感器称为线性编码器[1]。一般装设在旋转物体中垂直旋转轴的一面。 旋转编码器用在许多需要精确旋转位置及速

    2024年01月19日
    浏览(39)
  • STM32 EC11 旋转编码器

    代码在最后,复制可直接食用 以及我的电路图 在研究EC11的时序之前首先要了解一点,EC11按旋转的输出动作可以分为两种。一种是转两格,A、B对C端输出一个完整脉冲(转一格就只是由低电平-高电平或由高电平-低电平);另一种就是转一格,A、B对C端输出一个完整脉冲。

    2024年02月02日
    浏览(39)
  • STM32移植LVGL+旋转编码器接口对接

    写在前面:本菜鸟结合了许多大佬的文章,成功实现了基于LVGL的GUI设计,小开心~浅浅记录一下!~ 本文以单片机STM32F103VET6为核心,利用ST7796芯片驱动分辨率为480*320的LCD液晶屏模块,移植LVGL,对接显示接口,对接外部接口——旋转编码器,完成以上两步,就可以实现LVGL的显

    2024年02月10日
    浏览(45)
  • STM32-微项目07-旋转编码器计数及测速

    一、微项目实现目标: 检测旋转编码器模式下,检测旋转编码器的转动计数值及转速。并且区分转向,一侧转动增加cout,转速值为正,一侧转动减少count,转速值为负;   二、微项目硬件配置需求: 1,stm32F103C8T6核心板一块 2,0.96寸OLED显示,用于显示计数 3,旋转编码器,

    2024年02月08日
    浏览(34)
  • 【STM32】HAL库自学记录-旋转编码器的使用

    通过本文可学会两种实现判断旋转编码器正转反转的方法,可根据自己的应用场景来选择使用哪种方法。 1、芯片:STM32F103RCT6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、旋转编码器模块 5、XCOM V1.4串口软件 图中C端为GND。 方向 :A相和B相相差一个相位,一般来说是90°。A相信号在

    2024年02月11日
    浏览(49)
  • 关于stm32旋转编码器计次乱跳问题(消抖)

    旋转编码器A口接GPIOB0,B口接GPIOB1。设置中断类型为上升下降沿均触发。 输出是用0.96寸oled输出 A脚设置为上升下降沿均会进中断,下降上升一个变换周期,判断这个周期的A脚,B脚的始末状态,来判断正反转一次。 A口输出的波形用来中断,B口输出的波形用来判断正转还是反转

    2024年02月16日
    浏览(36)
  • 51单片机数字时钟

    我们学单片机,一般都会写数字时钟编程。它能帮助我们: a. 能够系统性地总结掌握的知识,将单元模块知识有机的结合在一起。 b. 能够充分协调好硬件与软件之间的相互结合,合理设计硬件电路。 c. 掌握单片机 C 语言判断语句、分支语句以及子程序调用等编程知识。

    2024年02月11日
    浏览(41)
  • ESP32蓝牙+EC11旋转编码器实现对电脑音量控制

    ✨本项目基于Arduino开发框架下功能实现。 🛠蓝牙设备添加和连接 ⚡需要有带蓝牙硬件支持的电脑才能实现连接并控制,当然手机也可以连接但是不能实现对手机音量控制, 🌿以 Win10 系统电脑为例。在设置里面找到,添加 蓝牙和其他设备 🌿会搜索到 ESP32-keyboard 设备。 🌿

    2024年01月18日
    浏览(56)
  • (STM32)PWM输出控制电机旋转并且使用编码器读取脉冲数

    目录  前言 一、pwm输出让电机转  1.电机的接线说明 2.驱动的接线说明 3.pwm输出代码  pwm.c pwm.h 4.输出pwm控制电机旋转 二、配置定时器编码器模式 1.定时器编码器模式 编码器原理 编码器相关的概念 2.编码器模式——代码部分 3.获取脉冲数 三、定时读取编码器读取的脉冲数

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包