|
|
easyprobe8052F单片机仿真开发系统简介 |
▲ 双CPU架构,全开放设计,不占系统资源。
▲ 完全实时仿真,最高速度可达40MHz。
▲ 轻巧实用,可以不使用仿真电缆而直接插入用户目标板,便于现场调试。
▲ 以115200bps通过RS232串口与主机通信。
▲ 支持8X31/32/51/52/54/58及78C31/32/51/52/54/58等芯片。
▲ 28kB仿真存储区,包括64kB程序存储区和64kB数据存储区。
▲ 可按下列属性进行映射:-Overlay(Internal):内部,Target(External):外部。 | |
MCS-51单片机与高精度A/D转换器ICL7135的接口电路
| 作者:刘春元 王福奎 |
ICL7135具有±20000个数的分辨率,而且有BCD码和STB选通信号输出,与微机接口十分方便,因此有很多文章介绍ICL7135作为微机的高精度A/D接口电路。本篇文章与其他文章不同之处是利用ICL7135的“busy”输出信号与单片机MCS-51衔接。
在小型化仪表中,应该以最少的元件完成尽可能多的任务,8031需外接EPROM,剩下的16个I/O口是十分宝贵的。如果利用ICL7135的BCD码和STB选通信号就要占5个I/O口,而利用ICL7135的“busy”端,只要一个I/O和8031内部的一个定时器就可以把ICL7135的数据送入单片机。
为了便于读者理解,首先介绍ICL7135的“busy”端的功能。ICL7135是以双积分方式进行A/D转换的电路。每个转换周期分为三个阶段: |
[1].自动调零阶段
[2].被测电压积分阶段
[3].对基准电压进行反积分阶段
以输入电压Vx为例,其积分器输出端(ICL7135的4脚)的波形如图1所示。“busy”输出端(ICL7135的21脚)高电平的宽度等于积分和反积分时间之和。ICL7135内部规定积分时间固定为10001个时钟脉冲时间,反积分时间长度与被测电压的大小成比例。如果利用单片机内部的计数器对ICL7135的时钟脉冲计数,利用“busy”作为计数器门控信号,控制计数器只能在busy为高电平时计数,将这段busy高电平时间内计数器的内容减去10001,其余数便等于被测电压的数值。 |
|
|
图2是MCS-51定时器的逻辑框图,如果我们把T0规定为模式1定时器方式。定时器控制端(8031的12脚)接ICL7135的“busy”端。这样就能实现计数器由“busy”控制对单片机1/12时钟频率的计数要求。
|
图3是ICL7135与单片机MCS-51通过“busy”接口的电路图。若8031的时钟采用6MHz晶体,在不执行MOVX指令的情况下,ALE是稳定的1MHz频率,经过4分频可得到250kHz的稳定频率,传给ICL7135时钟输入端,使ICL7135的转换速率为每秒6.25次,选取这一转换速率,一方面照顾ICL7135A/D转换的精度,另一方面为了尽量少占用8031的资源。定时器为16位计数器,最大计数值65535。在6.25次/秒转换速率条件下,满度电压输入时,busy宽度为30001个时钟脉冲。再结合图1和图2可知,8031内部定时器的输入频率是500kHz,比ICL7135的时钟频率(250kHz)高1倍,在满度电压输入时,定时器计数值为30001x2=60002。不超过定时器最大值。在“busy”高电平期间定时器的数值除以2,再减去10001,余数便是被测电压的数值。具体程序如下:
|
摘自何立民主编《单片机应用技术选编》(二) |
|