微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AT89C51的数据采集系统设计新方法

基于AT89C51的数据采集系统设计新方法

时间:11-03 来源:互联网 点击:
2 实验仿真

2.1 Keil C51软件的使用

Keil C51软件是众多单片机应用开发的优秀软件之一。本设计就是在Keil C51环境中编译数据采集程序的。本采集系统的程序主要分成三部分:主程序、A/D转换程序和串行通信程序。图4所示是其软件流程图。其中主程序是总的控制程序,主要实现各单元初始化、控制采样和中断等:A/D转换程序主要完成采样启动、数据保存等功能;串行通信程序则用来在有上位PC通过串行口发送数据到单片机时引发中断响应,也可通过PC机通信地址和本单片机地址是否相符来判断PC机是否和本单片机通信,如果地址相符,则发送A/D采样的结果给上位机,如果不相符,则跳出中断。串行中断和A/D转换部分的程序代码如下:







程序编写完成后,为了便于和proteus联合仿真,还应当在工程目录下生成一个.hex文件。

2.2 proteus仿真

一般情况下,个人配备单片机实验开发系统的成本较高,很多人无法承受。而且一般单片机的实验箱都是成品,学习者很难参与到其中的细节设计中去,动手能力也难以得到训练与提高。Proteus的出现恰好解决了这个矛盾。利用proteus可以随时搭建一个单片机应用系统,并对其进行仿真。proteus仿真软件包含两个应用程序,其中proteus_isis主要用于电路原理图的仿真,另外一个就是proteus_ares,用于直接将proteus_isis的仿真原理图生成pcb。本任务只涉及仿真,所以只用到proteus_isis。操作时,首先应建立一个新的工程文件,然后按照硬件原理图绘制仿真电路。Proteus的仿真电路设计如图7所示。

2.3 串口通信仿真

本设计仿真可在一个PC机上完成,但要用到串口仿真软件。虚拟串口工具VSPD XP就是一个虚拟串口软件,可模拟物理串口,而且使用比较简单。通信时,只要COM3发送数据,COM4就会收到,而COM4发送数据,COM3也会收到。

串口调试软件有很多种,还有串口调试助手等。本设计选用ComMonitor V2.0作为串口调试软件。

虚拟串口工具VSPD XP中COM3和COM4是一对虚拟串口,可以互相通信。本设计把proteus设置为COM3,把ComMonitor设置为COM4,然后在两者之间进行数据传输。对ComMonitor设置的方法如下:

(1)在左上角设置串口号和波特率,并打开串口;

(2)接收数据控制区设置的是十六进制显示,自动清空;

(3)发送区有三个,都选择为十六进制显示,分别写入"50", "1 2"和"45",其中"50"是本设计中单片机系统的地址,"12"和"45"是随意的两个数据(做测试用)。

2.4仿真结果分析

在proteus中点击界面左下角的仿真运行按钮使系统开始工作,然后在ComMonitor中依次发送三个发送区的预设数值,之后便可以看到运行结果:

(1)发送"50"时,由于和单片机地址相符合,根据程序设定,把A/D采样结果通过串行口发送给了主机,即COM4端。

(2')发送"12"和"45"时,单片机接收也同上面一样,并分别显示。

(3)三次发送数据,COM分别收到不同的数据。

实际上,在发送"12"和"45"时,单片机应该不送回数据,但为了仿真结果清晰,本程序中设置了收到除"50"以外的 数据回送功能,以便把收到的数据再发回去,这样,COM4就会依次收到"12"和"45"。

3 结束语

本文从工程角度出发,详细介绍了基于AT89C51单片机的数据采集系统所需的硬件电路配置以及相关的程序设计。同时用基于Proteus和Keil接口的单片机外围硬件电路构成了一个实用的数据采集系统。所得出的仿真结果完整地展示了一个单片机系统新的开发思路。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top