找回密码
 注册
关于网站域名变更的通知
查看: 333|回复: 2
打印 上一主题 下一主题

[毕业设计] WINDOWS环境下PC机与单片机的通信

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-5-12 13:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
摘要:本文介绍了当前自动控制系统中PC机与单片机之间
7 g% s; n5 c1 B1 G+ G1 {$ k$ p# v3 h常用的几种通讯方法,如基于串口RS-232和RS-485、基于
* g) ?" r/ b* s1 z- W5 DUSB接口与PC机的通讯。文中给出了部分程序6 M# F6 {% i2 I4 v
关键词: PC机;单片机;通讯接口;VC++) M( ]3 K7 w, o4 z$ j
在自动控制系统中,PC机与单片机组成上位机和下位机,# X- P; H: G* w+ \& t5 R% E: x
其基本构成是:下位机(单片机系统)完成信号检测、A/D转换和
" \" @+ v. W  |' D( R简单的控制功能,通过系统总线(如RS--232、RS--485、USB)与上% Y4 v2 l' D- }0 J
位机(PC机)相连进行监测、控制,形成主从式结构。下面就上
. A, }* Q5 I, O" B位机和下位机之间目前几种常用的通讯方法作--些介绍。0 {+ {2 ~, O8 {- `
1RS-232的串行通讯
: L: t7 E3 P+ x: \在工业控制中,串口是常用的计算机与外部串行设备之间
6 s2 }' T- ?( ~$ z' `的数据传输通道,由于串行通信方便易行,成本低,且完全能满
( P! t2 |$ S" I" \足要求,所以应用广泛。
9 z& M; i3 q8 ?: c5 Q1.1、利用VC++的标准通信函数. f! P: y' @2 a2 u* ?
利用VC+t的标准通信函数-inp和._outp可实现串口通信。$ z' k& l5 B$ B; V
下面是一一个串口初始化的程序:% Y3 ?$ T: t+ j7 r/ l1 L* H

% Y# Z! Y8 H) p0 t1.2、使用串行通倍控件MSComm) k& k# P: d0 {- v. b( W6 ]
MSCOMM控件,即Microsoft Communication Control, 是Mi-
1 k' ?! X! f/ ?3 Z: ~crosoft为简化Windows下串行通信编程而提供的ActiveX控件。7 D. R' x' M$ l% q8 w) h
它提供了- -系列标准通信命令的使用接口,利用它可以建立与
6 T* g" k3 ]7 Z. f' f- G6 W串口的连接,并可以通过串口连接到其他通信设备(如调制解调5 x9 g* I5 H0 S3 W! |% N7 k4 Y& P" @
器),发出命令,交换数据以及监视和响应串行连接中发生的事.+ J$ a/ G( e9 F2 U3 w' p* ^8 _2 V
件和错误。MSCOMM控件可用于创建电话拨号程序、串口通信
. f% U$ e* Y" X* S2 J7 ]- q程序和功能完备的终端程序。+ M# i) N/ G$ M2 v6 z

0 Q8 D! ?7 H2 T0 ~) O5 ?: S) e6 Y串行通信控件MSComm32.0CX提供了使用RS--232来进行" B8 I$ ~' C* Z. S8 e
数据通信的所有协议,VC编程语言为该控件提供了标准的事件" i5 T' [; _) l$ u
处理函数过程,并通过属性和方法提供了串行通信的设置。它, T$ P+ {, k% T5 q" ?  E
使用户能够方便地访问Windows串行通信驱动程序的大多数特0 G- k7 V1 N( ~4 D
性,包括输入输出缓冲区的大小及决定何时使用流控制命令挂5 i0 k  ]- h  E" t4 \
起数据传输等。: D0 e7 a) K+ J% e7 }$ A( z
在ClassWizard中为新创建的通信控件定义成员对象(CM-
2 M  g" J/ e% {  H3 J% a9 b7 S! lSComm m. Serial), 通过该对象便可以对串口属性进行设置,0 T& H# [9 f8 _0 i8 Q/ w
MSComm控件共有27个属性。如果需要通过多个串行口与多台
, D7 I% O2 B+ x7 F4 a9 s, |设备通信,那么每一个串行口对应于一个单独的MSComm控
" D, `, O+ s; [! F0 o4 `件。串行口的设置参数既可以在对话框编辑器里设定,也可以在
" x/ u4 |$ g$ ]+ Z8 v) Z: e$ k) A1 p程序代码中通过调用CMSComm类的成员函数设定。例如,我们
3 r- }& w! o2 s. R( e! m可以在MyCOMDIg类的OnInitDialog成员函数中初始化
4 N+ S7 n2 x1 s0 ?MSComm控件的参数,代码如下:, D. h* B8 p$ j6 P5 P8 P1 r
* p3 p7 Q/ i9 P; K, g# ^9 P7 Z
- z) [: I; E4 L7 x2 C! ^; e1 S5 G
9 X( [- D; N- O5 m, t
附件下载:
游客,如果您要查看本帖隐藏内容请回复

& ]2 K! ~3 \4 K7 N7 s# G( j% ?
. P) _; j7 I( W4 i1 u; k

该用户从未签到

2#
发表于 2020-5-12 13:40 | 只看该作者
在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道

该用户从未签到

3#
发表于 2020-5-13 07:40 | 只看该作者
MSCOM vs. API.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-27 23:12 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表