基于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接口的单片机外围硬件电路构成了一个实用的数据采集系统。所得出的仿真结果完整地展示了一个单片机系统新的开发思路。
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接口的单片机外围硬件电路构成了一个实用的数据采集系统。所得出的仿真结果完整地展示了一个单片机系统新的开发思路。
单片机 仿真 电路 电压 CMOS 嵌入式 总线 ADC 传感器 放大器 运算放大器 集成电路 电容 Keil proteus 51单片机 相关文章:
- 单片机智能频率信号装置(11-25)
- 单片机在医学信号检测仪中的应用(02-07)
- 单片机应用编程技巧(02-25)
- DSP与单片机通信的多种方案设计(03-08)
- 单片机与PC机串行通信的实现方法 (02-25)
- 单片机与PC通信的简化接口 (05-11)