您的位置: 嵌入式在线 > 解决方案 > 电源管理 > 电压表的微控制器

电压表的微控制器

2007-09-17      嵌入式在线      收藏 | 打印

        图1中的电路是以前一个设计实例的扩展(在无内置ADC的微控制器中如何使用模拟输入),并参考了另一篇设计实例(不用外接开关晶体管如何驱动一个七段LED显示屏)介绍的技巧(参考文献1和参考文献2)。

        本电路增加了一个串行连接,只需要一个双绞线对就可以向一台兼容PC发送每个测量值。串行连接采用微软的HyperTerminal作测试,其配置是:115200波特;8、N、1;无数据流控制。

 

图1使用共阳极和共阴极七段LED显示器无需增加外接元件就可以用一只微控制器的I/O端口驱动显示器

  简单地说,软件每次通过RA0和RB7两根线,驱动一只七段 LED 显示器。将RA0输出设为高,RB7作为输入,可激活共阳极显示器DS3。设RA0输出为低,RB7作为输入,激活共阴极显示器 DS2。用RA0作输入时,设RB7输出为高,可激活共阳极显示器DS1,而设RB7输出为低,则激活共阴极显示器DS0。当依次地激活一个显示器时,只有RB0~RB6 的一条线被置为输出,驱动一个LED段。这种设计不再限于3V或更低的 VDD,因为LED是并行反向连接,因此一个二极管的正向电压限制了另一个二极管的反向电压。使用的红色二极管显示需要1.6V。

 

图2通过复用添加的晶体管电路就可以扩展图1中测得的电压数


  图2是这个设计实例的一个新发展。Q1、R5和R6用作一个等

         效可变电阻RX,为电容C3充电。此时不是将RX接地,而是连接到微控制器的一个I/O(例如RB0)。如果RB0 是低态输出,则第一个模拟通道激活,而测量例程计算出充电高至 66% VDD的脉冲,然后,用一个查寻表将这个时间延迟转换为一个三位数字的毫伏值。如果要扩展模拟输入的数量,可以用并行方式,连接最多七个可变电阻器电路,即每个都连接到C3和一个I/O线上(RB1 ~ RB7)。值得注意的是,I/O线连接到显示器,也激活或不激活模拟通道。当一个模拟输入通道被输出为低的一个I/O线激活时,其它线为高阻抗输入,所有其它通道不激活。同时,显示被关闭。

        图1电路亦在不增添元件情况下增加了一个简单的串行连接。如果你将两条I/O线RA1和RA2作输出,连接到一个RS-232连接器的RXD(2 脚)和GND(5脚)上,则可以通过软件,复制出相对PC的RS-232端口地的正、负电压。当RA1为高,RA2为低时,RXD有相对于PC的RS-232端口地的+5V电压。当RA1为低,RA2为高时,RXD则有相对于PC RS-232 端口地的-5V 电压。

        参考文献

        1. Benabadji, Noureddine, “Microcontroller, JFET form low-cost, two-digit millivoltmeter,” EDN, June 22, 2006, pg 71. 
        2. Benabadji, Noureddine, “Ultralow-cost, two-digit counter features few components,” EDN, Aug 17, 2006, pg 69.

 

本文来源:EDN    作者:Noureddine Benabadji University of Sciences and Te

隐藏原文↑


查看原文↓

验证码:  看不清?换一张

 

快乐大本营
工程师之星
高福东
擅长嵌入式开发及单片机应用开发
  • 王波涛  熟悉单片机及其接口技术
  • 朱伟平  熟悉51单片机系统LCD驱动程序编写及调试。
热门招聘
论坛热贴