点动按键改飞梭设想
51单片机技术懂一点点,但是程序写不了。很多老音响及部分车机的音量和选择电台都是点动按键,很不方便,而有飞梭的比如丰田车机选电台选歌曲等等很方便,舒服的很。能不能高手出来写个51单片机程序把点动按键改为飞梭控制,不是改车机的内部,而是附加在点动按键上飞梭代替按键,还请高手出来说说可行性,谢谢。 首先,无线控制好搞,,,,但是什么是飞梭。。 飞梭是什么? 飞梭是不是带 编码器的那种按钮? 螺旋编码开关 只能理解楼主的想法,但不会做,好久不玩单片机了,本来也就只知皮毛,一个旋转编码器对应至少3个开关,再加上长按短按双击,快拧慢拧,可以替换很多按键开关了,不过你为了老车机按键舒服,大动干戈了。 用旋转编码器,网上找段程序。 用旋转编码器,网上找段程序。 把这段代码放到程序的循环或计时器中可判断编码器的旋转和按键状态,然后执行类似按键的操作就可以了(不带按键的编码器没有按键功能,如需更多功能还要考虑转动快慢、按键长按或短按等,需要增加对应代码)。sbit RA= P1^5; //飞梭接口A
sbit RB= P1^6; //飞梭接口B
sbit KEY = P1^7; //飞梭按键接口
unsigned char r; //编码器返回值:0-无动作,1-向左转,2-向右转,3-按键被按下
bit en; //已旋转标志
if(RB==0&&RA==1&&r==0)en=1; //已转动
if(RB==0&&RA==0&&en==1)en=0,r=1; //向左转
if(RB==1&&RA==1&&en==1)en=0,r=2; //向右转
if(KEY==0&&r==0)r=3; //按键按下
if(r==1){执行按键1操作}
if(r==2){执行按键2操作}
if(r==3){执行按键3操作}
r=0; //执行完操作键值清0
页:
[1]