当前位置:技术文章首页 >> 仪器与仪表 >> Delphi环境下单片机与PC机串口通信的一种实现方法

Delphi环境下单片机与PC机串口通信的一种实现方法

2007-09-21 17:39:21  作者:不详  来源:互联网  浏览次数:1443  文字大小:【】【】【

  摘 要:概述了单片机与PC机间串行口通信的基本原理,介绍了89C51单片机及其外围信号采集电路构成的下位机的原理及程序框图,并详述了在Delphi环境下上位机利用Spcom控件与下位机进行RS232串行口通信的实现。实际中,应用于智能磁滞回线实验仪,效果良好。
  关键词:RS232;串行口通信;单片机;SPComm控件;Delphi

1 概 述
  在PC机与单片机构成的上下位机系统中,经常采用由单片机及其外围电路构成的下位机进行数据采集,然后利用基本三线制的RS232串行口通信将数据传送给PC机,由PC机进行数据的进一步处理。图1为其系统原理图。

  

2 下位机的实现
  下位机程序采用汇编语言编写,主要完成定时数据采集及数据发送工作,其中定时采样的中断频率由定时器0的常数自动装载8 b计数器方式产生;波特率由定时器1的方式1产生;握手信号可以随意选择一常数,如果单片机接收到的数据等于此常数,则表示握手成功,否则重新接受握手数据。图2所示为程序框图。

  

3 上位机软件的实现
  在Windows环境下,Win32 API提供了CreatFile,SetupComm,BulidCommDCB,SetCommState,ReadFile,WriteFile等 I/O函数进行要掌握大量通信知识,优点是可实现的功能更强大,应用面更广泛,更适合于编写较为复杂的低层通信程序。相比较而言,利用SPComm控件则相对较简单,该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作。另外,选择Delphi6.0作为开发工具,由于SPComm控件是一个PAS文件,因此不依赖于Delphi的具体版本,程序的通用性和移植性好。
3.1 SPComm的特点
  (1)属性
  CommName:控件名,可填写COM1,COM2,…等串口的名字,为字符型变量。
  BaudRate:设定波特率,如可为9 600,4 800等,可以在串口打开后更改波特率。
ParityCheck:是否选择奇偶校验。
  ByteSize:字节长度,根据实际情况设定为5,6,7,8等。
Parity:奇偶校验位。
StopBits:停止位的位数。
  (2)方法
  Startcomm:用于打开串口,当打开失败时通常会报错。
StopComm:过程用于关闭串口,没有返回值。
  (3)函数
  WriteCommData(pDataToW rite:PChar;dwSizeof DataTo Write:W ord):boolean
  用于发送一个字符串到写线程,发送成功返回true,执行此函数将立即得到返回值,发送操作随后执行。pDataToWrite是要发送的字符串,dwSizeofDataToWrite是发送的长度。
   (4)事件
  OnReceiveData:procedure(Sender:TObject;Buffer:
Pointer;BufferLength:Word)ofobject
  当输入缓存有数据时,该事件被触发,在这里可以对从串口收到的数据进行处理。Buffer中是收到的数据,BufferLength是收到的数据长度。
3.2 程序关键部分的实现
  以智能磁滞回线实验仪为例,说明上位机软件中通信部分的实现。图3为软件界面。
   (1)打开串行口并进行初始化
 
 

  

   (2)串行口选择
 
 
 
4 结 语

  在实际开发中,SPComm表现了很好的灵活性,在智能磁滞回线实验仪的研制中得以应用。上下位机间的这种串口通信方法具有很强的工程实用性,可广泛应用于测试控制领域。

参考文献

[1]刘 艺.Delphi 5企业级解决方案及应用剖析[M].北京:机械工业出版社,2000.
[2]孙涵芳,徐爱卿.MCS-51(96)系列单片机原理及应用[M].北京:北京航空航天大学出版社,1996.
[3]刘乐善,欧阳星明,刘学清.微型计算机接口技术及应用[M].武汉:华中科技大学出版社,2000.

责任编辑:


相关文章
 

最新文章

更多

· 一种新的高频泛音晶体振...
· 利用热电偶转换器的单片...
· 饱和电抗器特性单片机测...
· 一种基于ARM单片机变压器...
· 单片机在小型空气干燥器...
· Delphi环境下单片机与PC...
· 基于单片机控制的热源自...
· 基于单片机的机床主轴箱...
· 基于单片机和大容量存储...
· 一种基于MSP430单片机的...

推荐文章

更多

· 一种新的高频泛音晶体振...
· 利用热电偶转换器的单片...
· 饱和电抗器特性单片机测...
· 一种基于ARM单片机变压器...
· 单片机在小型空气干燥器...
· Delphi环境下单片机与PC...
· 基于单片机控制的热源自...
· 基于单片机的机床主轴箱...
· 基于单片机和大容量存储...
· 一种基于MSP430单片机的...

热点文章

更多

01-01·[接口与通讯] 红外遥控系统原理及单片机软... (3804)
01-01·[单片机技术] 温度传感器PT100的应用 (2424)
09-17·[可编程逻辑] 基于VHDL语言的智能密码锁设计 (1984)
09-08·[可编程逻辑] 基于FPGA的QPSK调制解调电路... (1973)
09-08·[单片机技术] AT89S52的中文简介及资料下载 (1909)
11-24·[电子基础] 与初学者谈电子制作(电子入门) (1789)
09-09·[电源技术] 基于DSP的三相SPWM波发生软件... (1789)
10-24·[传感与控制] MODBUS RTU通讯协议在S7-200... (1612)
12-01·[单片机技术] 基于ARM智能家居控制器设计与... (1612)
11-24·[单片机技术] 常用LED数码管驱动电路2(单 ... (1601)
09-08·[电源技术] 能延长电池寿命的单节电池升... (1537)
09-11·[仪器与仪表] 应用ADuC847芯片设计压力及温... (1520)