基于PC通信地单片机数字电压表.docVIP

  • 4
  • 0
  • 约3.13千字
  • 约 6页
  • 2017-05-27 发布于贵州
  • 举报
基于PC通信地单片机数字电压表

基于PC智能数字电压表设计 物理与电子工程学院 电子信息科学与技术(应用技术) 2011级 李俊 学号20110520164 指导老师 罗海军 摘要:传统的数字电压表有自己的特点,它们适合在现场做手工测量,而要完成远程测量并对测量的数据做进一步处理,运用传统的数字电压表是无法完成的。为此,本文设计了基于PC 通信的数字电压表,该表既可以完成现场数据的测量与显示,又可以通过串行通信将测量数据传递给PC,从而可借助PC 的强大功能对测量数据做进一步处理。因此,这种类型的数字电压表无论在功能和实际应用中,都具有传统数字电压表无法比拟的优点,这使得它的开发和应用都具有良好的前景。 关键词: 数字电压表;A/D 转换器;PC 通信;单片机 1 实验系统方案介绍 本次实验以单片机作为电路的核心部件,采用软件编程和硬件相结合的方式设计了一种量程可以自动切换且具有高清晰度显示的数字式直流电压表。其硬件电路简单,主要用软件编程的方式检测输入信号的大小来实现数字电压表的量程自动切换功能,在硬件电路上通过发光二极管来显示被测电压所选择的档位。输入的模拟电压通过A/D转换模块将其转换成数字电压,再通过软件编程的方式使其在LED数码显示器上显示出来,实现了数字电压表的数字显示功能。 上位机串口通信利用PC机与AT89C51单片机之间的通信程序设计实现电压显示。并详述了在VC6.0环境下,上位机利用MSCOMM通信控件与单片机之间串口通信实现电压显示。由单片机采集一个电压信号,将采集到的电压信号传送给PC机显示,PC机用VC6.0编写程序,单片机程序用C语言编写。 整机电路包括:数据采集电路的单片机最小化设计、单片机与PC接口电路、单片机时钟电路、复位电路等。上位机采用AT89S51芯片,A/D转换采用ADC0809芯片。通过RS232串行口与PC进行通信,传送所测量的直流电压数据。 本次试验——基于PC机串行通信的数字电压表设计,该系统由硬件和软件两部分构成,硬件主要包括数据采集电路、数据A/D转换电路、单片机与PC通信的接口电路;软件主要有单片机数据采集与显示程序、单片机与上位机通信程序、上位机数据处理程序。根据数据采集的工作原理,运用STC89C52RC单片机和ADC0809进行模/数转换,设计实现智能数字电压表,最后完成单片机与PC机的串行数据通信,传送并显示实时检测到的电压值。系统设计方案框图: 图1 ADC0809是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。 图2 A/D转换流程图 2.1 ADC0808的接口方法 ADC0809的输出引脚(D0-D7) 图VC6.0++来实现编程,上位机与单片机进行通信的程序编写可用VB、VC等软件。由于VB作为面向对象的编程工具不够完全,效率比VC低,提供的命令语言环境较弱,通过串口设备一次最多只能交换16B的数据,对较大数据量的传输存在很大的局限性,很难实现较为复杂的数据处理,VC6.0++是一种功能强大的面向对象的Windows编程开发平台。VC6.0的优点是界面简洁,占用资源少,操作方便。VC++6.0实现可视化界面及与下位机的通信功能。Windows 环境下的串口通信技术方案主要有两种,其一就是使用MSComm 控件,此控件具有丰富的用于串口通信的属性及事件, 提供了一系列标准通信命令的接口,用它可以创建全双工、事件驱动、高效实用的通信程序;另外一种途径就是采用API函数来直接实现与下位机的通信, 但这种方法要涉及很多底层设置。打开VC++6.0,建立一个基于对话框的MFC应用程序,串口通信采用MSComm控件来实现。 3.3 单片机编程方案选择 本单片机的编程选择C语言编写,因为它简洁紧凑、灵活方便、运算符丰富、数据结构丰富、C是结构式语言、C语法限制不太严格,程序设计自由度大、C语言允许直接访问物理地址,可以直接对硬件进行操作、C语言程序生成代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低10へ20%、C语言适用范围大,可移植性好C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。所以我选用C语言来编写此程序。 4 总结 本次试验主要是以AT89C51单片机为核心设计数字电压表。这个基于PC智能数字电压表的最大优点是电路简单,测量精度高,但其中也存在着些不足可以改进,比如本设计的精度不是太高,还可以改进。用C语言程序设计,对单片机、AD转换器、LED数码管都进行程序控制,需要注意的是,单

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档