本文主要讨论双积分A/D转换器ICL7135与51系列单片机串行接口电路,并在proteus仿真软件下实现A/D数据转换,并给出了相应的仿真电路和软件程序代码。这一仿真实验设计对于从事单片机教学研究和智能仪器仪表开发研制人员提供快捷、便利的仿真实验平台,节省实验初期硬件搭建、缩短研发周期,特别在单片机AD转换教学程序设计中具有一定参考价值。
【关键词】proteus A/D转换器 ICL7135 接口电路 51单片机
1 引言
在基于单片机实现智能化仪器仪表测试中,模拟量信号的测量常用到AD转换器,在要求转换速度不高的情况下,双积分式ICL7135AD转换器,具有精度高(相当于14位A/D转换),价格低的优点。采用AD转换器输出BUSY端与单片机某一引脚相连,通过测量其输出脉冲宽度来实现输入信号大小的测量,本论文给出PROTEUS仿真软件实现ICL7135与51单片机仿真的基本电路和程序代码,可用于实际的仪器仪表测量中。
2 仿真电路组成及参数设置
U1输入为2V的直流电源,经RV1调整可输出0-2V的直流电压作为AD转换器的输入信号,模拟信号为单端输入时INLO端接地,REF端为基准电压端(1V),CLKIN为时钟输入端(250KHZ),RUN端自动转换/停顿控制输入端,POL端为极性信号输出端,高电平输出极性为正.OVR端为过量程信号输出端,当输入信号超过计数范围时,该端输出高电平。
3 ICL7135串行接口采样时序分析
ICL7135 串行接口AD转换主要分为三个间断,第一间断为自校准阶段,当RUN端由低电平转为高电平时AD进入自校准过程,自校准时长为10001个CLK时钟;第二阶段为正向积分时间阶段,正向积分时长为10000个CLK时钟;第三阶段为反向积分时间阶段,反向积分时长需根据信号大小的来确定,时长范围0-200001个CLK时钟。
当满电压输入时,BUSY宽度为正向积分10000个CP脉冲,反向积分20001个CP脉冲(总计30001个CP脉冲)。在fosc=6MHz情况下,51单片机时钟为6MHz/12=500kHz,比ICL7135时钟频率250kHz大了1倍。在满刻度电压输入时,51单片机定时器计数值应为30001×2=60002,不超过MCS-51的16位计数的最大可计数值65535,故在BUSY高电平期间,计数器计数值除以2,再减去10000,余数就是被测的数值,当根据输入2V时最大输出为20001数值,理论上为2.0001V。
4 主要程序代码
#include
sbit RN=P1^4; //自动转换/停顿控制输入;
sbit POL=P1^5; //极性信号输出,高电平表示极性为正;
sbit OVR=P1^6; //HIGH过量程信号输出端,当输入信号超过计数范围20001时输出高电平;
sbit BUSY=P1^7; //忙信号输出,高电平有效,当正向积分阶段开始时自动变为高电平,反向积分阶段结束时自动变为低低电平;
float sj=0; //采样值数据数据类型
csh() //AD定时器初始化,采用T0定时器做脉冲宽度时钟计数器;
{TMOD=0X01; TH0=0; TL0=0; EA=1 ;ET0=1; TR0=0; RN=1;}
//xs( ) 显示函数根据用户显示接口电路自行设计,由于在采样过程中单片机一直忙于BUSY端状态的判定,只有在采样、数据分析处理后,才输出到显示器件,故采用静态输出数码管或液晶显示电路。
void main (void)
{ csh();
while(1)
{ TH0=0;TL0=0;
while(BUSY==0); TR0=1;//查询方式,也可以采用外部中断。
while(BUSY==1); TR0=0;
sj=(TH0*256+TL0)/2-10000;
//xs();
}
}
参考文献
[1]李华.MCS.51系列单片机使用接口技术[M].北京:北京航空航天大学出版社,1993.
[2]徐爱钧,徐阳著.单片机原理与应用——基于Proteus虚拟仿真技术[M].北京:机械工业出版社,2013.
[3]牟丽娜,陈鸿 ICL7135与单片机接口电路设计[J].科技之友,2007(07).
[4]杨静生,戴柠泽.ICL7135与单片机接口电路[J].辽宁工程技术大学报,2009,28 (2):254-256.
[5]张继华,颜语.ICL7135与单片机接口电路的相关研究[J].自动化技术与应用,2009,28(2):83-85.
作者简介
王忠远(1973-),男,内蒙古自治区呼和浩特市人。大学本科学历。现为内蒙古电子信息职业技术学院高级工程师。研究方向为电子技术、智能控制。
张凤桐(1974-),女,内蒙古自治区呼和浩特市人。大学本科学历。现为内蒙古呼和浩特市三维自动化技术应用研究所高级工程师。研究方向为自动化控制。
作者单位
1.内蒙古电子信息职业技术学院 内蒙古自治区呼和浩特市 010010
2.内蒙古呼和浩特市三维自动化技术应用研究所 内蒙古自治区呼和浩特市 010010
相关热词搜索: 串口 单片机 仿真 软件 PROTEUS