数码之家

 找回密码
 立即注册
搜索
查看: 1859|回复: 7

[C51] STC32G-使用外中断和一个I/O读取正交编码器-7段虚拟数码管显示

[复制链接]
头像被屏蔽
发表于 2023-5-18 08:48:11 | 显示全部楼层 |阅读模式
提供两个例程:
1、25A-使用外中断INT0和一个I/O读取正交编码器-7段虚拟数码管显示
    正交编码器的A相接INT0(P3.2), 下降沿触发,B相接P3.4(用户可以改为任意IO)。
2、25B-使用外中断INT1和一个I/O读取正交编码器-7段虚拟数码管显示
    正交编码器的A相接INT1(P3.3), 下降沿触发,B相接P3.5(用户可以改为任意IO)。

请先别修改程序, 直接下载"encoder.hex"测试, 主频选择11.0592MHZ. 测试正常后再修改移植.
测试结果通过串口1(P3.0 P3.1)上传到STC-ISP的虚拟数码管显示.
串口1(P3.0 P3.1)设置均为: 115200bps, 1位起始位, 8位数据位, 1位停止位, 无校验.
串口助手发送字符c或C清零当前计数值.
正转读数

反转读数

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2023-5-18 09:44:30 | 显示全部楼层
谢谢分享,玩这个得有技术。
回复 支持 反对

使用道具 举报

发表于 2023-5-18 12:49:59 | 显示全部楼层
请问一下这个使用中断的方式,最高频率可以支持到多少?
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2023-5-18 13:51:34 | 显示全部楼层
flishmen 发表于 2023-5-18 12:49
请问一下这个使用中断的方式,最高频率可以支持到多少?

看芯片的主频的大小,范例用的11.0592M,您也可以改的。
回复 支持 反对

使用道具 举报

发表于 2023-5-18 20:08:45 | 显示全部楼层
疯狂的兔子来了 发表于 2023-5-18 13:51
看芯片的主频的大小,范例用的11.0592M,您也可以改的。

我的意思是编码器的频率,也就是中断响应的最高频率。
假如我用1024线的编码器,转一圈就会触发1024次中断。一秒十转的速度,中的的频率就到10K 了。
MCU 能响应的并及时处理数据的最高频率是多少?
回复 支持 反对

使用道具 举报

发表于 2023-5-28 13:45:39 | 显示全部楼层
让 32位8051,
STC32G12K128-35i-LQFP64/48/32,工作在33.1776MHz, 10K轻松
STC32G8K64-45I-LQFP48/32, 可工作在42MHz
回复 支持 反对

使用道具 举报

发表于 2023-5-29 09:17:23 | 显示全部楼层
钟山风雨起苍黄 发表于 2023-5-28 13:45
让 32位8051,
STC32G12K128-35i-LQFP64/48/32,工作在33.1776MHz, 10K轻松
STC32G8K64-45I-LQFP48/32, 可工 ...

1K 只是我随便巨地一个列子,我们在使用雷尼绍的磁编码器,动不动一圈就有几万个脉冲。
采取这种中断的方式,中断总还要在查询另外一个IO的状态,并判定正反转,再加上还需要串口通信。
我想知道这个中断频率一般放到主频的多少分之一是比较安全的。
目前要实现这种高频率的正交编码器解码,看起来之后ST STM32中的纯硬件模式才能胜任。这种中断的方式速度一块就会丢帧。
回复 支持 反对

使用道具 举报

发表于 2023-5-29 13:37:47 | 显示全部楼层
STC32G系列都有2组独立的硬件 PWMA+PWMB, 硬件支持2组正交编码器


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-3 00:20 , Processed in 0.468001 second(s), 15 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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