数字旋转编码开关的原理及使用方法
4页1、数字旋转编码开关的原理及使用方法 在电子产品设计中,经常会用到旋转编码开关,比如数码电位器等,它的英文名翻译过来就是Rotary Encoder Switch。在写这个元件的驱动程序之前,我google、baidu了一些它的使用说明资料,知道了它具有左转、右转和按下三个功能,有五个脚,它的外形如下图所示: (1)1、3脚要外接上拉电阻,一般10K就足矣;(2)2脚一般接地就行;(3)4、5脚是下按键的开关接线(按下时,4脚为低电平);我调试这个元件时的实物接线示意图为:其实它使用起来并不难,我看到网上的资料大都说操作它时判断正转和反转是一个难点,在这里我希望博友在看了我的代码后会觉得这其实只是一个“传说”!我的代码会把这个问题说的清清楚楚、简简单单的!我觉得其实判断正转和反转的关键就是:当BMA为低电平时,BMB的跳变沿是怎样的上升沿表示正转,下降沿表示反转。只要用代码把这个描述清楚就OK了,这个器件就基本可以顺利地操作了。没有多余的再说了,直接附上代码:#include #define uchar unsigned char#define uint unsigned intsbit
2、BMA=P14;sbit BMB=P15;sbit BMC=P16;sbit P27=P27;sbit P26=P26;sbit P25=P25;uchar code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;uchar count=0;uchar flag;uchar Last_BMB_status;uchar Current_BMB_status;/*void delay(uchar z) /大约1ms的延时 uchar x,y; for(x=z;x0;x-) for(y=110;y0;y-);/*void display() /显示子程序 P0=tablecount%10; /个位 P27=0; delay(10); P27=1; P0=tablecount%100/10; /十位 P26=0; delay(10); P26=1; P0=tablecount/100; /百位 P25=0; delay(10); P25=1;/*void main() TMOD=0x01; /定时器0,工作方式1 TH0=0xD
3、8; TL0=0xF0; /给定时器装上初值,10ms中断一次 ET0=1; /打开定时器中断 EA =1; /打开总中断 TR0=1; /启动定时器0 while(1) Last_BMB_status=BMB; while(!BMA) /BMA为低电平时 Current_BMB_status=BMB; flag=1; /标志位置为1说明编码开关被旋转了 if(flag=1) flag=0; /时刻要注意这一点!给标志位清零 if(Last_BMB_status=0)&(Current_BMB_status=1) /BMB上升沿表示正转 count+; if(count=255) count=0; if(Last_BMB_status=1)&(Current_BMB_status=0) /BMB下降沿表示反转 count-; if(count=0) count=255; /*void timer0() interrupt 1 /定时器0的中断服务程序 TH0=0xD8; TL0=0xF0; /再次装入初值 display(); /每隔10ms显示一次 if(!BMC) /按下旋转编码开关则计数清零 count=0;
《数字旋转编码开关的原理及使用方法》由会员公****分享,可在线阅读,更多相关《数字旋转编码开关的原理及使用方法》请在金锄头文库上搜索。
公司标准工程结算书
2023货物买卖协议范文(二篇)
给老师的致歉信优秀范文
人力资源公司2023年度工作计划范本(六篇)
车库坡道吊顶施工方案
初中复习资料语文知识点总结26页
硬化路面技术交底记录簿
幼儿园安全责任追究制度
工会面对面心贴心实打实服务职工在基层活动推进会领导讲话稿
数据结构导论自考题模拟13
XXXX年罐垭乡大调解工作总结
大米委托加工合同
水利工程项目划分范例
火力发电厂设备检修作业危险点控制措施及突发事件应急预案
普通民房租赁合同(8篇).doc
一台计算机要同时访问两个网络
a老鹰山隧道洞身开挖专项施工方案教程文件
儿童保健工作计划标准样本(三篇).doc
幼儿园小班户外活动方案设计方案(三篇).doc
乡镇新型农村合作医疗工作
2023-12-09 8页
2023-01-26 12页
2023-11-24 28页
2023-03-05 8页
2023-01-10 14页
2023-02-22 1页
2023-09-29 27页
2023-08-31 13页
2023-08-08 32页
2022-10-01 14页