51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机技术文章 > 51单片机 > 详细内容
智能光电旋钮的设计
发布时间:2009/6/29  阅读次数:2236  字体大小: 【】 【】【

软件设计

      
智能光电旋钮的软件主要是设计 8031单片机系统的定时器中断,判别遮光片的旋转方向和旋转速率。设计难点在于旋转方向识别。

       旋转方向识别原理

       将两对光电收发器的接收部分近似为A、B两个点,当遮光片旋转时,如图4所示。

  图中,设A、B两点间距为“e”,遮光片的遮光区长度为“d”。旋钮制作时使遮光片的遮光区长度和非遮光区长度相等,且“d”大于“e”。遮光片旋转时,其运动图像可近似为周期性占空比为1:1的矩形脉冲(凸部代表遮光区,凹部代表透光区)。这样,当遮光片向箭头方向移动时,必然循环处于:A、B被完全遮蔽;A 未遮蔽而B被遮蔽两种状态。当遮光片反向移动时,则循环处于:A、B被完全遮蔽;B未遮蔽而A被遮蔽两种状态。

       光电收发器收端处于遮蔽状态时,单稳态触发器输出高电平,反之,则输出低电平。所以,单片机只需定时采集输入的电平,将“检测到A、B被完全遮蔽”作为判决起始点,然后根据是否紧接着出现“A 未遮蔽而B被遮蔽”或“B 未遮蔽而A被遮蔽”这两种状态来判断其旋转方向。

       旋转速率识别原理

       旋转速率的识别实质上是识别“A、B完全遮蔽”和“A、B之一未遮蔽”这两种状态转换的频率。同样,如果将“A、B被完全遮蔽”作为判决起始点,然后根据是否紧接着出现“A 未遮蔽而B被遮蔽”或“B 未遮蔽而A被遮蔽”这两种状态之一,无论哪种状态一出现,都在脉冲输出端产生一脉冲信号。同时,对产生的脉冲信号记数,脉冲的总个数除以脉冲记数的时间,就能得到旋转速率。

       程序流程图

       这种智能光电旋钮的软件并不复杂,用8031汇编语言编写的程序总长不超过50条语句。软件流程示于图5。

结语

      
这种智能光电旋钮,其单片机系统的硬件设计和软件开发都由制作者完成。所以,当需要在控制面板上附加按键及完成液晶显示等功能时,只需设计附加的单片机系统外围电路,而不必再单独设计单片机系统。

       这种智能光电旋钮制作成功后,目前已应用于一些信号解调设备的控制面板。其性能稳定、可靠,达到了同类产品的水平。

  

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号