当前位置:首页 > 嵌入式 > 嵌入式硬件


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

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

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


  图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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭