电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 技术参数 | 设计应用 | 电路图
技术资料
芯片资料 | 技术论坛
  现在位置: 首页 > 技术资料 > 工控技术 > 详细信息
工控技术:驱动20个对数/线性点/柱状LED的微控制器
来源:   时间: 2007-12-20 8:38:38    

  自做模拟电路到LM3914显示驱动为用户提供可编程性。

  美国国家半导体公司的老产品LM3914点/柱状显示驱动器已面市20多年了,但仍被广泛应用。LM3914可以感知模拟电压,并通过点状模式点亮10个LED中的一个,或以柱形图模式逐个点亮LED的方法,显示电压大小。最近,有个应用需要显示模拟输入电压,要求具有线性或对数刻度格式下10个以上等级的LED显示。根据 LM3914的数据手册,可以将多个3914级联,从而获得10个以上LED的显示(参考文献1),但即使这么做,LM3914也只能线性显示输入电压。(编辑注:美国国家半导体还提供 LM3915,这是一款对数型3dB步长版,而LM3916适于音频应用,以音量单位显示输入。)

  本应用的要求超出LM3914提供的灵活性,使用一个基于Atmel AVR系列ATTiny13微控制器电路,其具有1kB程序存储器、一个四通道10位ADC,以及6个通用I/O 口。调整电路固件就可以实现0~5V输入电压范围内的线性或对数型转换。

  图1中电路以20个LED连续显示输入电压。当开关S1关闭时,将显示冻结在其后电流水平的读数上。微控制器6个I/O口中的5个控制着所有20个LED和开关。剩下的I/O口配置成ADC输入通道,接收模拟输入电压。微控制器采用 Charlieplexing的方法(这是一种用I/O口线驱动多达N×(N-1)个LED的方法),只用5个I/O口就可以驱动20个 LED(参考文献2 ~ 4)。

电路以20个LED连续显示输入电压

  固件用C语言编写,并用AVR-GCC编译,这是Windows和Linux版本下C和汇编编译器的免费软件。它使用可自由运
行在中断驱动模式的Tiny13的内部10位ADC,将模拟输入电压转换成数字量。每次转换完成时,ADC 产生一个由子程序读的中断,这个中断将 ADC转换输出结果保存在一个共享变量中。

  为产生无闪烁的显示,一个内部定时器由9.6MHz系统时钟产生一个1875Hz的中断,以大于90Hz的速率驱动多路LED。将ADC计数值除以一个常数得到输入电压的线性显示。用查找表衡量ADC计数产生对数显示。图2表示确定该查找表值的对数转换曲线。用于线性和对数显示的 ATTiny13控制程序版本都可从本设计实例处下载。可对源代码做修改,而只显示0V~5V输入电压中的某个子区间。例如,可以设定1V~3V为线性显示范围,或2V ~ 3V输入电压为对数显示。

 

查找表值的对数转换曲线

相关信息
发表评论
打印本页 关闭本页
维库网友 IP:119.123.62.11   发表时间 2008-8-17 13:20:03
电路不错!
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com