当前位置:首页 >> 电子/电路 >>

单片机与PC机通讯


N0.4 Aug,2007

微处理机
MICROPROCESSORS

第4期 2007年B月

单片机与PC机通讯
王爽。王鹏 (中国电子科技集团公司第四十七研究所,沈阳110032) 摘要:针对当前硬件设备集成化和自动化菅理的需求,介绍了单片机与PC机之间通信的实 现过程,包括硬件的连接方式,接口芯片的选择以及主机(Pc机)和从机(单片机)两部分通讯软件 的设计方法,技巧和注意事项。 关键词:通讯;串行口;波特牢;数据格式 文章编号:1002—2279(2007)04—0032一02 中图分类号:TN4 文献标识码:B Communication Between Microcontroller and PC
(The

47thResearchInstitute旷ChinaElectronics扎加fD盯咖Corporation,,Shertyan9110032,China)
to

WANG Shuang,WANG Peng

Abstract:Due

the

recent

increasing demand for integration and automation of hardware,This

articleintroduces

process of MCS一51 Single Chip Micro—eontroUer with Pc. the hardware connection style,interface chip selection and communication software design including method,skill,notice of nlaster machine(PC)and slave machine(Micro—controller).

the

communication

Key words:Commumcafiom;COM port;Baud rate;Data flames

1引  



3软件编程 对于不同的应用程序,虽然界面不同,但是如果 采用串口与主机之间通信,对串口的处理方式大致 相似.就是通过串口收发数据.对于通过串1:3接收到 的数据,交给上位机软件处理显示,对于上位机要发 给申121的数据,进行转发。要使双方都能正常工作. 并且双方通信顺利进行,双方必须有一个公认的约 定,包括波特率、数据传输格式等。这也是完成双方 通信工作的重点。PC机与单片机通信的软件部分 包括两部分:单片机(从机)部分与PC机(主机)部 分。下面分别介绍。 MCS一51的编程语言可采用单片机c语言或 汇编语言。在程序开始就应该对单片机进行初始 化。单片机波特率随串行口工作方式的选择不同而 异,除了与系统的振荡频率o,电源控制寄存器 PCON的SMOD位有关外,还与定时器Tl的设置有 关。当串行l it作在方式0时,波特率固定不变,仅 与系统振荡频率k有关,其大小为k/12。当串行 口工作在方式2时,波特率也固定有两种:当SMOD

使用串行通信是各式各样的设备和计算机联机 的最简单的通信方式。在工程应用中,常常由一台 Pc机和一台单片机构成主从式计算机测控系统。 在这样的系统中,以单片机为核心的智能测控仪表 (从机)作为现场测控设备,完成数据采集、处理和 控制各种任务,同时将信息传送给Pc机(主机),Pc 机将这些资料加工处理后,进行显示、打印、报表等, 也可以将各种控制命令传送给单片机.干预单片机 系统的运行,从而充分发挥Pc机的优势。 2硬件连接 PC机与MCS一51单片机最简单的连接方式是 零调制三线经济型(见图1)。这是进行全双工通讯 所必须的最简单的连接方式。由于MSC一51单片 机的输入、输出电平为TrL电平.而PC机配置的是 RS一232标准串行接口,两者的电气规范不一致,因 此要完成Pc机与单片机的数据通讯,必须进行电
平转换。这里选用MAX232作为电平转换的芯片。

=l时,波特率=(2”/“)f。=f。/32。当SMOD
=0时,波特率=(2“”/64)k=f_/64。当申行 口工作于方式1和方式3时,波特率是可变的,波特
图1 PC机与单片机串行通讯接口线路图

率=(2SaOa/32)×定时器Tl的溢出率。为了灵活

作者简介:壬爽(1979一),女,辽宁省兴城市人.助理工程师。主研方向:仿真验证。 收稿日期:2005一傩一25

万方数据

4期

王爽等:单片机与Pc机通讯

?33?

的设置通信波特率,应用中多使用串行1:3工作在方 式1和方式3。所以,为了确定波特率,主要是要计 算定时器T1的溢出率,至于SMOD的设置,只需执
行下面的指令就可以使SMOD为0或1:
MOV MOV

Settings:用于设置初始化参数。以字符串的形 式设置或返回联机速率、奇偶校验、数据位、停止位 等4个参数。
例如:MSComm.Settings=”9600,n,8,1”表示

PCON,a00H;使SMOD=O PCON,#80H;使SMOD=1

没有奇偶校验位,8位数据位,1位停止位,传输速率
位9600bit/s。n可以用大写。

但是要注意,选择SMOD是1还是0要以波特 率的误差最小为准。 定时器T1的溢出率定义为:定时器T1溢出率 =定时器Tl的溢出次数/秒。因为在串行通信中, 一般都使定时器T1工作在模式2,所以TMOD中的 M1M0=10。定时器Tl由两个八位的计数器THI 和TLl构成,当T1工作于模式2时,T1为八位自动 装载定时器,它使用"ILl计数,溢出后,自动将THI 中的数据装人TLl中。通常两个计数器中的初值 是一样的。初值越大,溢出率就越高。所以总结出 的公式为:

PortOpen:设置或返回通信连接端口的状态。 串行通信端口各项功能都是在PortOpen的True和
False之间完成的。

Input:将对方传到缓冲区中的数据读进程序 中,并清除缓冲区中已被读取的数据。 例如:Buffer¥=MSComm.Input将输入缓冲 区中的字符读人Buffer字符串变量中。 Outout:将命令写入输出缓冲区并发送出去。
例如:MSComm.output=“ABCD”

定时器T1的溢出率=U12/(23一N)
我们想得到的就是这个N值。在实际应用中,

Inpuflen:每次执行Input指令由串行端口读人 的字符串长度或字节数。 RTHreshold:用于设置或返回引发接收事件的 字节数,当缓冲区中的字符数达到设置值时引发接 收事件OnCommo MSComm还有一些属性,这里不一一介绍了。
需要注意打开端口是在Form—load事件的一开始完

一般应该是先确定波特率的数值,再判断N值。所 以求N值的最后公式为:

  N=256一(2“oD×k)/(波特率×32 x12)
通过上面的讨论可以写出单片机的初始化程序
如下:
INIT:MOV

成的,而关闭端口则是在退出程序时执行。程序执 行的过程中也可能会更改上述属性的设置。 在实际编程中,由于采用的通信方式和流控不 同,串行口的设置也不同,这就涉及到利用Settings 初始化问题和读写串口等细节问题。所以归纳一下 串行口通信应用程序设计的总体思路(即操作过 程)是:首先,确定要打开的串口名、波特率、奇偶校 验方式、数据位、停止位等;然后,利用InBufferSise

TMOD,#20H;选择定时器Tl模式

2,计时方式
MOV

THI,#NH;设置时间常数N
TRI;启动定时器T1

MOV TLI,#NH SETB

MOV

PCON,#80H;SMOD=1(依实际情况确 SCON,#"30H;串行口方式1工作

定SMOD)
MOV

和OutBufferSise设置串口接收发送数据的缓冲区大
小,串口的设置就基本完成.之后就可以启动读写线
程了。

初始化程序完成后,程序就可以执行到主程序 或原地等待,等到接收到Pc机发送的数据时,程序 产生中断处理数据。 PC机方面的编程语言比较多,由于大多数的应 用都需要有自己的界面,所以应该采用VB或 VC++,这里采用VB进行说明。 用VB编写串口程序是非常方便的。它有一个 专门用于编写串行口程序的控件MSComm。通过对 这个控件的各种属性进行设置就可以完成对串行口 的初始化编程,并不需要了解其它有关的低级操作。 我们要设置的属性有: CommPort:指定所使用的是那一个串行1:3进行 工作。 例如:MSComm.CommPort=l指定使用COMl 进行通信


4结束语
一般来说,串口的读写在OnComm事件中完 成,按照预定好的通信握手方式,正确检测串口状 态,读取发送串口数据。在这期间要注意通信的超 时问题。如果通信由于某种原因而超时(例如通信 线路损坏),程序要有退出读写线程,回到主程序的 功能,这个可以用Timer控件实现。
参考文献:

[1]汪德彪.MCS一51单片机原理及接口技术[M].北京:
电子工业出版社.2003.

[2]张树兵,戴红.陈哲.Visual

Basic

6.0中文版人门与提

高[M].北京:清华大学出版社.2000.

[3]马忠梅,籍顺心,张凯,马岩.单片机c语言应用程序 设计(修订版)[M].北京:北京航空航天大学出版社。

万方数据

单片机与PC机通讯
作者: 作者单位: 刊名: 英文刊名: 年,卷(期): 被引用次数: 王爽, 王鹏, WANG Shuang, WANG Peng 中国电子科技集团公司第四十七研究所,沈阳,110032 微处理机 MICROPROCESSORS 2007,28(4) 0次

参考文献(3条) 1.汪德彪 MCS-51单片机原理及接口技术 2003 2.张树兵.戴红.陈哲 Visual Basic 6.0 中文版入门与提高 2000 3.马忠梅.籍顺心.张凯.马岩 单片机C语言应用程序设计 2001

相似文献(10条) 1.期刊论文 宁伟.梁勇.王道林.郇正良.NING Wei.LIANG Yong.WANG Dao-lin.HUAN Zheng-liang 可复用串行口通 讯构件/构架设计 -辽宁工程技术大学学报(自然科学版)2005,24(6)
为有效提高串行口通讯程序的可复用性和可靠性,进一步缩短程序的开发周期,通过对串行口通讯框架中的各构成构件实现的研究,给出了串行口通讯 接收器的usc case图和串行口通讯发送器的use case图,并设计出相应不同层次的构架结构程序模块,形成了一种新的通用的可复用串行口通讯构架的开 发方法,该方法已在测控技术领域和集成制造系统的异步串行口通讯软件开发中得以应用,且效果较好.

2.学位论文 成欢欢 基于Windows CE的移动通讯技术的研究及实现 2008
从手机的发展来看,手机技术的发展方向是将计算机、通信产品、消费电子产品进行融合,将互联网、电信网、广电网进行融合。本文作者根据目 前手机的发展趋势,论述了一种基于Arm9的微处理器和Windows CE操作系统的移动通讯设备的实现方法,该设备能够实现手持终端、个人计算机和互联 网的融合,详细介绍了Windows CE操作系统向开发板的移植和移动通讯设备系统的开发。 本文作者所做的主要研究工作及创新性可体现在以下几个方面: 1) 首先作为一种嵌入式软件的开发,需要一定的硬件支持,本文作者采用杭州立宇泰公司的ARMSYS2410-B开发板,为了方便对本系统GPRS模块的扩 展,采用接口技术对西门子MC55,明基M22两种GPRS模块分别进行了实现,其次采用Platform Builder 4.2定制需要的Windows CE操作系统,采用 C#.net进行应用程序的编写,通过ActiveSync将定制好的系统和编写好的程序下载到开发板的Nand Flash中。 2) 实现了移动通讯设备通过GPRS网络与Internet上的计算进行通讯。计算机用户只需要下载一个计算机端的软件,就可以通过Internet进行与移动 通讯设备进行通讯,中国移动最新出现的飞信是通过GSM方式发送短信,只能进行少量信息的发送,本系统是采用TCP协议传输,可以发送多个字节。 3) 本文作者所选用的开发板有三个串行口,但开发包中仅提供一个串口的驱动,而且是一个调试串口,由于GPRS模块与开发板控制器之间通过串行 口进行通信,故本文作者实现了第二个串口驱动的开发。 4) 对短信内容和与计算机进行通讯的内容进行DES加密,有助于个人隐私的保护。 本文作者阐述了基于Windows CE嵌入式应用程序开发的过程,特点和技术,通过对Windows CE的研究,结合本人的开发经验,开发出一个具有基本 智能手机功能的移动通讯设备,并在对通讯内容进行DES加密和实现与Internet上的计算机进行通讯方面有了一些深入的探讨。

3.期刊论文 张斌.胡波.林锦国 Windows环境下利用多线程技术实现计算机与单片机的串行口通讯 -南京化工大学 学报(自然科学版)2001,23(5)
基于32位Windows98环境开发了计算机与单片机间进行串行口通讯的软硬件系统,其中采用了多线程技术模拟中断机制,并利用同步事件确保线程间资 源共享的同步,从而有效地克服了传统串行口通讯中的迟滞性和不可靠性.

4.会议论文 徐茵.王新怀.向建勇.袁胜春 基于Camera Link的串行口通讯编程方法 2008
Camera link[1]是一种高速数据通讯协议,广泛应用于高精度、高速数字相机。本文介绍了Camera link串口通讯协议及其编程方法,并在Visual C++6.0环境进行了实现,成功应用于自主研发的高速CCD线阵相机。

5.学位论文 吴刚 用莫尔条纹进行远距离测量的研究 1998
莫尔条纹是一项历史悠久的技术.该文作者提出以成象式莫尔条纹方法进行远距离测量,并在测量技术中融入现代光纤技术与计算机技术,成功地实现 了自动化测量,给莫尔条纹这一技术注入了新的活力.该文作者的工作主要在以下几个方面:1.提出以成象式莫尔条纹法进行远距离测量,并成功地付诸实 践.2.将光纤技术引入测量系统中,使得光学探测系统与光电处理部分相互独立,两者可以分开较远距离而不影响结果的正确性.3.在测量中成功地实现计 算机与测量系统的数据传递.并能对测量数据进行实时处理.利用串行口通讯技术使计算机与测量系统进行远距离通讯,监测测量结果.利用并行通讯可以 实现即时监测,依靠计算机的内部时钟,可以对测量对象的周期、速度等参数进行自动监测.

6.会议论文 贾云峰 利用串行口作仪表的二次开发 1999
利用仪表提供的串行口与计算机通讯,实现计算机的数据采集与管理是一个很大的应用领域.本文结合实践,给出了衡器仪表与计算机串行口的接口方 法,并重点介绍了通讯程序的开发.

7.学位论文 吴锡生 发酵罐微机集散控制系统 1990
该文主要论述了酶制剂发酵灌的集散控制系统.详细研究并设计了总体方案及各级微机的任务、功能和实现方式等.并对其中二级微机的研制和实施 作了软硬件介绍,并有具体的线路及软件流程图.为集散系统的国产化作了一些尝试,该系统的性能价格比较高,且具有较好的移植性.系统对各控制参数采 用了时间最优的复式Bang-Bang控制,兼顾到了大偏差与小偏差情况,以及改变设定值时的控制质量.并对影响发酵的主要因素温度进行了PID参数的辨识自 整定,使控制质量得到了进一步提高.用RS-422串行通讯口实现了各级机之间的通讯,它成本较低,实现方便可靠,是通讯距离在二公里以内时的较好方式.

8.期刊论文 肖素梅.殷国富.马德毅 集成制造软件的异步串行口通讯软件设计 -组合机床与自动化加工技术 2003,""(9)
介绍了用VC+ +开发的挂接五种集成制造系统的异步串行口通讯软件设计.以编程导向方式进行示教编程,并且对实现Intranet局域网模式的服务器与 50台PC机的实时监控及PC机与数控设备之间的调度通讯软件的设计作了简略介绍.

9.期刊论文 陈柏金 通过串行口访问Modbus现场控制网络 -微计算机信息(测控仪表自动化)2003,""(1)
简要介绍了Modbus控制网络的特点、Modbus协议、错误校验方法及与串行口的连接方式,对主要功能及其实现方法和技术进行了具体阐述,并简要分 析了Modbus命令的响应时间.

10.期刊论文 贺玉珍.张海江.HE Yu-zhen.ZHANG Hai-jiang 串行口数据通过调度数据网通道传输的研究应用 -电 力学报2009,24(6)
为了达到传输生产业务数据的需要,采用Nport串口服务器,实现了在调度数据网上传输串行口数据包的功能,提高了数据传输的可靠性和实时性,同时 节约了分站改造的串行口输出接口的通讯服务器的费用.通过运行检验,各项运行指标满足无人值班变电站的要求.

本文链接:http://d.g.wanfangdata.com.cn/Periodical_wclj200704012.aspx 授权使用:南昌大学图书馆(wfncdxtsg),授权号:f61aa530-6d26-4b36-8243-9db400c0607d 下载时间:2010年7月15日


相关文章:
单片机与PC机的串口通信_毕业论文
单片机与PC机的串口通信_毕业论文 - 引言 安徽矿业职业技术学院 毕业课题(设计)任务书 (2015 届) 题目 指导教师 院专班学姓系业级号名 20 年 月 ...
PC机与单片机的无线通信
PC机与单片机的无线通信 - 摘要:本文重点介绍了 pc 机与单片机的无线通信系统。该系统通过无线收发模块 rf418 实现 pc 机与单片机之间的数据异步串行无线传输,可...
单片机与PC机串口通信实现正文_图文
毕业设计(论文)课题: 单片机与 PC 机串口通信实现 学生: 孙波 班级: 通信 1301 指导教师: 童华 系部: 通信工程 学号: 2013120325 装订交卷日期: 2016 年 x ...
单片机与电脑USB通信
编号: 课程设计说明书 题 目: 单片机与电脑 USB 通信 院 (系) :专业: 学生姓名: 学号: 指导教师: 2013 年 12 月 1 日 桂林电子科技大学课程设计(论文)...
PC机与单片机实时通信系统的设计与实现_图文
PC 机与单片机实时通信系统的设计与实现 PC 机与单片机实时通信系统的设计与实现摘要:本系统分为上位机和下位机两个部分。下位机最要由六个部分组成:单片机控制...
单片机与PC机通信设计
单片机与PC机通信设计_计算机硬件及网络_IT/计算机_专业资料。课程设计报告书 目录一. 摘要 二. 简介 三. 系统概述 3.1 单片机的发展 3.2 MCS-51 系列单片机 ...
单片机与PC机通讯
单片机与PC机通讯 - 课学姓班 外号: 名: 级: 实 践 报 告 实践所属课程: 实践地点:指导教师: 实践完成时间: 年 月 日 单片机与...
单片机与PC机通信程序
单片机与 PC 机通信程序 设计单片机与 PC 机通信程序,程序功能为:当计算机通过键盘输入方式发送一个字符后, 单片机收到此字节并立即回发原字节。 ORG 0000H LJMP...
实验单片机与PC机串口通信
实验单片机与PC机串口通信 - 实验 单片机与 PC 机串口通信(C51 编程)实验 要求: 1、 掌握串行口的控制与状态寄存器 SCON 2、 掌握特殊功能寄存器 PCON 3、 ...
PC机与单片机之间的串口通信分析
PC机与单片机之间的串口通信分析 - 中山火炬职业技术学院 毕业综合实践项目 项目名称: 作学系专者: 号: 别: 业: PC 机与单片机之间的串口通信分析 刘世浩 ...
更多相关标签: