| | 网站首页 | 电子基础 | 电子应用 | 电子电路图 | 雁过留声 | 软硬件设计 | ET电子商城 | 信息发布 | PDF查询 | 互助社区 | | |
![]() |
![]() |
| 您现在的位置: 迷失者电子网 >> 软硬件设计 >> 单片机 >> 文章正文 |
|
|||||
|
AT89C1051/2051的A/D转换方法01 |
|||||
| AT89C1051/2051的A/D转换方法01 | |||||
作者:佚名 文章来源:网络 点击数: 更新时间:2008-7-27 ![]() |
|||||
|
1 原理 有一线性良好的锯齿波信号,最大幅度为Vmax,正程(0~Vmax)的扫描时间为t2(如图1中的直线OB),在正程扫描期间的某一时刻t所对应的电压Vt为Vmax(t/t2)。图1中的曲线CD为一待测模拟信号,两信号在A点相交,时间为t1,不难理解,线性锯齿波在A点的幅度就是待测的模拟信号的大小,其值Vt1可以表示为:Vt1=Vmax(t1/t2)。这就是说,可以采用一种方法将待测的模拟信号与线性锯齿波进行比较,当线性锯齿波在某一时刻的幅度超过待测模拟信号的幅度时就会引起比较器输出状态的改变。因此,测出比较器输出状态翻转的时间,就能通过计算得到待测模拟信号的大小。 2 电路及A/D转换的过程 图2给出了具有8位分辨率的A/D转换电路。图中,IC1为AT89C2051单片机,其P1.0和P1.1除了具有通用I/O口线的功能外,还是内部模拟比较器的同相输入端和反相输入端,比较器输出的结果在内部连接到P3.6。IC2和IC3为线性锯齿波产生电路,其正程开始扫描的时刻由单片机的P3.7控制。IC3为一双输入与非门缓冲驱动器,这里等效为一个开关。当P3.7=0时,开关断开,C1通过R1、W1充电,线性锯齿波开始正程扫描,同时单片机内部定时器0开始计数,计数脉冲为单片机内部时钟。待测的模拟信号从P1.1输入,因为线性锯齿波电压是从0开始线性递增的,所以在开始正程扫描的时刻,P3.6为0.当锯齿波的电压线性递增到超过待测模拟信号的电压时, 比较器的输出翻转,P3.6为1,此时定时器0的数值就是A/D转换的结果,也就是图1中所示的t1,通过前面的公式就可以得到待测模拟电压的值。其程序框图如图3所示。 3 线性锯齿波电路参数的确定 AT89C2051单片机的定时器0是一个16位计数器,因此这种方法所能达到的最高分辨率为16位,在最高时钟频率下(24MHz)完成一次A/D转换的最长时间约为33ms。在实际应用过程中不一定使用这么高的分辨率,在8位分辨率的情况下完成一次A/D转换的最长时间为128μs。下面以8位分辨率为例介绍锯齿波电路参数的确定方法。 对于图2电路,当P3.7输出为低时,锯齿波正程扫描开始,C1经R1、W1充是,其电压Vc1为: Vc1=Vcc×(1-e-(t/τ)) 其中τ=(R1+Rw1)C1 如果运放IC2:B将Vc1放大10倍,其输出为: Vo1=[1+(R3/R2)]Vc1 =10Vcc(1-e-(t/τ)) 因为IC2:B的输出并不是线性锯齿波,所以增加一级IC2:A用作非线性补偿,其输出电压Vo2可表示为: |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| AT89C1051/2051的A/D转换方法… |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | | |
![]() |
Copyright@ 2005-2008 www.MsZhe.com All rights reserved |