- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编码旋钮资料
通过输出波形图可知每个运动周期的时序为顺时针运动逆时针运动A B1 10 10 01 0A B1 11 00 00 1静止状态为11 或00, A异或B的结果为0(注1)单片机可利用定时器中断来检测A和B的状态,中断时间在5~20ms之间均可。当检测到A^B = 0时,表示为静止状态,记下A和B的状态。当检测到A^B = 1时,表示有转动,读取AB的状态,如果AB是从11到01或者是从00到10则为正转,反之如果AB是从11到10或者是从00到01则为反转。此方法比较简单可靠,可以检测转动一格又可以检测快速转动。注1: 异或运算异或的运算方法是一个二进制运算,C语言中用A^B表示A异或B:1^1=00^0=01^0=10^1=1两者相等为0,不等为1.也许是屎上最简单的旋转编码器程序, 占用一个外中断#define ROTATE_A PIND.2#define ROTATE_B PIND.3uchar CW=0;uchar CCW=0;// External Interrupt 0 service routineinterrupt [EXT_INT0] void ext_int0_isr(void){if(ROTATE_A!=ROTATE_B)? ? {? ?? ???CW++;? ? ? ? }? ?? ???else CCW++;}void main(void){? ? ? ? if ((CW|CCW)!=0)? ?? ?? ?? ?{? ?? ?? ?? ?DATA=DATA+CW-CCW;? ?? ?? ?? ?}? ?? ???CW=0;? ?? ???CCW=0;? ?? ?? ???delay_ms(50);}//////////////////////////////////////////占用一个外中断,电平变化触发,CW是顺时针转过的脉冲,CCW是逆时针每50ms处理一下数值,如果想要出错,起码脉冲时间要比50ms/256短才行,手指是没可能达到这速度实际应用中感觉很爽//******************************************************************************//?旋转编码器脉冲计数程序,在8051上通过外部中断0实现//?特别说明:适应于旋转编码器脉冲频率较低的场合(对于12MHz晶体,大致可以支持?4KHz//???????????以下的旋转编码器脉冲频率),若旋转编码器脉冲频率更高,建议采用计数器//???????????T0和T1分别实现正反向计数,此时一般需要附加少量外部电路的配合//?以下代码仅供参考,由此产生的任何后果,本人不承担任何责任//******************************************************************************#include?reg51.hlong?counter=0;??????????????????????//旋转编码器的脉冲计数值,左转为正,右转为负void?main(){??IT0?=?1;?????????????????????????????????????????????????//外部中断0为边沿触发??EX0?=?1;???????????????????????????????????????????????????????//使能外部中断0??EA??=?1;????????????????????????????????????????????????????????????//使能中断??while(1)??{????//????????????????在这里写代码实现你想做的事,比如计数值的进一步处理等等等等??}}//******************************************************************************//?延时函数delay(unsigned?char?dly)//?延时值与晶体频率有关,可以自己调整变量x的值以取得合适的单位延时值//******************************************************************************void?delay(unsigned?char?dly){??unsigned?int?x;??while(dly--)??{????x?=?1000;????while(x--);??}}//******************************************************************************/
您可能关注的文档
- 《越南矿产资源概况.doc
- 《维生素类.doc
- 《越南矿产资源概况2).doc
- 《超高频核心技术专利介绍.doc
- 《越南税制.docx
- 《越南婚礼中稀奇古怪的规矩.doc
- 《越南论文思想政治教育论文.doc
- 《越南银行业的现状与投资机会.docx
- 《维美化妆品店开业活动策划案.doc
- 《越吃越瘦的十种食物让你想胖都难.doc
- 2022年重庆市梁平区小升初语文真题.pdf
- 2022-2023学年辽宁沈阳铁西区五年级上册语文期末试卷及答案.pdf
- 2023-2024年上海六年级上册语文第一次月考试题及答案B卷.pdf
- 2022-2023学年河北省承德市兴隆县四年级上学期期中数学真题及答案.pdf
- 2022下半年湖南教师资格证中学教育知识与能力真题及答案.pdf
- 2022-2023学年福建省厦门市集美区三年级上学期期末语文试卷及答案.pdf
- 2024年福建漳州教师招聘考试模拟题及答案.pdf
- 2022年辽宁成人高考高起点数学(文)真题及答案.pdf
- 2022年宁夏成人高考专升本语文真题及答案.pdf
- 2022-2023学年湖南衡阳耒阳市五年级上册语文期末试卷及答案.pdf
最近下载
- 党员领导干部2024年度民主生活会个人对照检查材料.docx VIP
- 新改版苏教版六年级下册科学全册知识点.doc
- 建设单位管理指南.ppt VIP
- 人力资源管理诊断告及建议.ppt
- 新闻采访与写作.ppt VIP
- 项目1 1.1 植物生产与环境概述(1)(课件)- 《植物生产与环境》(高教版第四版)同步精品课堂.pptx
- (人教2024版)英语七年级下册全册单元知识点讲解+思维导图(新教材).docx
- 2025年临床医师定期考核试题中医知识题库及答案(共300题).doc
- 学校校长2023年度生活会个人对照检查材料.doc VIP
- 2024-2025年度民主生活个人“四个带头”检查发言材料八篇.docx VIP
文档评论(0)