|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' `2 T' S# S- V, ~+ t9 D摘要:针对 PC机与单片机的通信问题,分别从软硬件方面阐述了PC机与多单片机之间
6 n4 b6 a' q* }( }) A通信的设计思想,提出了用Delphi高级语言在PC机与多台单片机之间通信的新方法.经运行证
& Y9 u: ^3 T0 v+ O& o5 M4 A明,此方法在中小型控制系统中具有较强的应用价值.
: p3 y0 `5 ~$ }0 y* O1 z关键词: Delphi; PC;异步串行通信;单片机
2 I5 ?+ ?+ R6 \% v: o$ N1 ^
' Y7 y$ j5 q- ~( Q随着现代信息技术的发展以及计算机网络的广泛使用,计算机通信技术已经日臻成熟,串行通信作
* u7 O: J& }+ B为一种灵活、方便、可靠的通信方式,仍不失为有效的通信手段,被广泛应用于工业控制中川"在工业生产! R! |0 S7 @$ b3 k4 @( T: ~
实践中.用PC机对工程实现实时监控,通常要PC机能在用户界面上具有数据采集.数据处理以及挖
; M7 \$ H2 D" N+ D+ {制信号的产生与传输等功能4!.在这种特定的环境下,PC机要与过程控制的实时信号相联系.就要求能实
6 z: R* b) P" z/ \4 v: S0 [现对PC机的串行端n直接操作.Borland公司推出的Delphi是-种功能强大的高级编程语言,其具有* K$ I" M. F) Y
可视化面向对象的特性,特别适于在Windows环境下图形界面和用户程序的编制14.51.本文基于Windows( c* S/ K7 v4 ^% [- I. p! I
操作系统用Delphi实现PC机与下层多台单片机之间的串口通信,并已经在实践中得到验证.' p& \6 [1 V1 e' x7 x
e9 x6 B# N: E' e
1通信原理8 A1 i( c* j" H6 Z
当PC与多台单片机通信时,PC机为主机,单片机为从机,主要发送信息可被各个从机接收.而从机
1 v1 P* ]* ?! O! N, I( l) b) g+ b" j; f0 Y$ M9 K! R# j9 c1 J
只能对主机发送信息,从机间不能相互直接通信,主机先选某-从机地址发送给从机,接着才发送数据和命; A8 r9 V( t6 b% U0 H
令.各从机接收到地址,将地址和本机的地址相比较,若不相符,则维持原来状态;若相符,则读后面的数2 Y& d6 D9 ]* _# J+ n/ e
据,并进行相应的服务程序.主机对从机发送过来的数据进行存储、计算、打印等,并可以查询检测从机的
0 {+ T& M9 `* g( Q7 n2 K( e/ }状态.' o5 c* W; V) Q& P j* R z. h/ v
用Delphi开发串行口通信软件一股有两种方法:-是利用Windows的通信APT4|函数;另一种是利用% o# e/ z9 e3 S+ d. N+ k$ K) j' L2 P
Microsoft的MSCommlSI控件.用API函数编写通信程序较为复杂,需要掌握大量的通信知识.而利用
6 c2 N* r# J$ Y% R4 ^MSComm控制则相对简单,该控件具有与串行口通信密切相关的属性及事件,能实现对串行口的各种* K! _. j& m6 R) m9 X
操作.
9 f. t, k% j `. ^; R7 @0 a在Delphi中无法直接使用MSComm控件,MSComm控件是一个VB中的0CX控件,首先将其添加
* n Z3 `' ^0 j+ ]4 @- f8 A- B, x到Delphi中,选择菜单“Component"的"Import ActiveX Control", 在“ActiveX Control" 选项内选择
1 R/ U: M7 R! J& P; M( j+ J3 k"MicrosoftCommControl”,点击“Instal1"安装,安装之后“ActiveX"组件板中出现了MSComm图标,即可8 \/ ?$ \7 J; ^5 m. N
使用.Input和output在Delphi中的Object Inspector 中MSComm控件是不可见的,但它仍然存在,这两
4 ]/ L; ]# F9 N7 P8 x4 j个属性的类型是OleVariant(万能变量,Delphi中的变量类型)。
8 ^8 W4 O6 p, O0 d/ ^ ~/ O4 S O: t& @9 i9 O
2硬件实现
2 ]5 C- M4 X9 k. b" r
% V5 J0 J7 l9 T) C; @( A
. s: [' F7 u }& \* e" [. Q
5 p# L: |' A, r o |
|