用双色LED指示10种状态的电路

显示光电

94人已加入

描述

  大多数采用微控制器的设备都会有几种工作状态。通常是用按键开关来控制这些状态。为尽量降低成本,很多设计都使用一只开关;通过按压次数来决定微控制器的状态。本文的电路用一只发光LED来指示所选择的状态.

双色LED
图1 只需用一只双色LED和一个按键开关,就可以设定并指示一个微控制器的状态

  市场上有大量可选用的双色LED,有各种形状和颜色,厂家如Kingbright、Optosupply等。这些LED提供了新的机会,仅用一只LED就能指示10种状态。按压一个连接到微控制器外接中断脚的按键开关,就能设定状态(图1)。每次按下时,中断例程都会将设备设定到下一个状态(图2)。

双色LED

  State 0是待机模式,LED熄灭。此时设备在等待按下开关。LED颜色指示出以下的三个状态。例如,Kingbright公司的WP5A9EGW12.3SF LED可发出红、绿、橙颜色。加上闪烁就可指示其余的状态。红色与绿色LED可以分别独立地控制,从而获得六种指示组合(表1)。

表1 10中状态的颜色与闪烁模式
双色LED

  微控制器的内部振荡器作为时钟源,简化了电路,因为振荡器不需要外接元件,其5%的公差足够用于此应用。固件为外部中断输入端设定了内置的上拉电阻。

  时钟速度与预定标器值以及时钟计数器模寄存器共同决定了LED闪烁的速率。内部振荡器产生一个12.8 MHz的时钟,获得3.2 MHz的总线频率,每个循环等于0.3125 μs。将预定标器值选为64,则时间计数器模寄存器就可以计算出一个循环为50倍定时器周期(以毫秒为单位)。例如,要获得1s的闪烁速率,应将时间计数器模设为50000,或十六进制的$C350。

  使用列表而不采用程序轮询的方法,可以大大减少固件的大小。此处可以下载到固件的汇编码。这种方法适用于任何微控制器。甚至可以采用不同的闪烁速率,增加所指示状态的数量。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分