本文运用AT89S51和AD678进行A/D转换,根据数据采集的工作原理,设计实现数字电压表,最后完成单片机与PC的数据通信,传送所测量的电压值
数字电压表的设计和开发,已经有多种类型和款式。传统的数字电压表各有特点,它们适合在现场做手工测量,要完成远程测量并要对测量数据做进一步分论文网析处理,传统数字电压表是无法完成的。然而PC通信的数字电压表,既可以完成测量数据的传递,又可借助PC,做测量数据的处理。所以这种类型的数字电压表无论在功能和实际应用上,都具有传统数字电压表无法比拟的特点,这使得它的开发和应用具有良好的前景。
新型数字电压表的整机设计
该新型数字电压表测量电压类型是直流,测量范围是-5~+5V。整机电路包括:数据采集电路的单片机最小化设计。单片机与PC接口电路。单片机时钟电路。复位电路等。下位机采用AT89S51芯片,A/D转换采用AD678芯片。通过RS232串行口与PC进行通信,传送所测量的直流电压数据。整机系统电路如图1所示。
数据采集电路的原理
在单片机数据采集电路的设计中,做到了电路设计的最小化,即没用任何附加逻辑器件做接口电路,实现了单片机对AD678转换芯片的操作。
AD678是一种高档的。多功能的12位ADC,由于其内部自带有采样保持器。高精度参考电源。内部时钟和三态缓冲数据输出等部件,所以只需要很少的外部元件就可以构成完整的数据采集系统,而且一次A/D转换仅需要5ms。
在电路应用中,AD678采用同步工作方式,12位数字量输出采用8位操作模式,即12位转换数字量采用两次读取的方式,先读取其高8位,再读取其低4位。根据时序关系,在芯片选择/CS=0时,转换端/SC由高到低变化一次,即可启动A/D转换一次。再查询转换结束端/EOC,看转换是否已经结束,若结束则使输出使能/OE变低,输出有效。12位数字量的读取则要控制高字节有效端/HBE,先读取高字节,再读取低字节。整个A/D操作大致如此,在实际开发应用中调整。
由于电路中采用AD678的双极性输入方式,输入电压范围是-5~+5V,根据公式Vx10(V)/4096星号Dx,即可计算出所测电压Vx值的大小。式中Dx为被测直流电压转换后的12位数字量值。
RS232接口电路的设计
AT89S51与PC的接口电路采用芯片Max232。Max232是德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2个驱动器。2个接收器和1个电压发生器电路提供TIA/EIA-232-F电平。Max232芯片起电平转换的功能,使单片机的TTL电平与PC的RS232电平达到匹配。
串口通信的RS232接口采用9针串口DB9,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。在实验中,用定时器T1作波特率发生器,其计数初值X按以下公式计算:
串行通信波特率设置为1200b/s,而SMOD=1,fosc=6MHz,计算得到计数初值X=0f3H。在编程中将其装入TL1和THl中即可。
为了便于观察,当每次测量电压采集数据时,单片机有端口输出时,用发光二极管LED指示。
软件编程
软件程序主要包括:下位机数据采集程序。上位机可视化界面程序。单片机与PC串口通信程序。单片机采用C51语言编程,上位机的操作显示界面采用VC++6。0进行可视化编程。在串口通信调试过程中,借助串口调试助手“工具,有效利用这个工具为整个系统提高效率。
[1][2]下一页
PC的数字电压表设计【1116字】:http://www.youerw.com/jixie/lunwen_131147.html