- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串口通信测试方法
1 关于串口通信的一些知识:
RS-232C 是目前最常用的串行接口标准,用来实现计算机和计算机之间、计
算机和外设之间的数据通信。
在 PC 机系统中都装有异步通信适配器,利用它可以实现异步串行通信。而
且 MCS-51 单片机本身具有一个全双工的串行接口,因此只要配以电平转换的
驱动电路、隔离电路就可以组成一个简单可行的通信接口。
由于 MCS-51 单片机的输入和输出电平为 TTL 电平,而 PC 机配置的是
RS-232C 标准串行接口,二者电气规范不一致,因此要完成 PC 机与单片机的
数据通信,必须进行电平转换。
注明:3)RS-232C 上传送的数字量采用负逻辑,且与地对称
逻辑 1:-3 ~-15V
逻辑 0 :+3 ~+15V
所以与单片机连接时常常需要加入电平转换芯片:
2 实现串口通信的三个步骤:
(1) 硬件连接
51 单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以
方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如计算机的串口是
RS232 电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换
电路,我们采用了专用芯片 MAX232 进行转换。我们采用了三线制连接串口,
也就是说和计算机的 9 针串口只连接其中的 3 根线:第 5 脚的 GND、第 2 脚的
1
RXD、第 3 脚的 TXD。电路如下图所示,MAX232 的第 10 脚和单片机的 11
脚连接,第 9 脚和单片机的 10 脚连接,第 15 脚和单片机的 20 脚连接。
使用 MAX232 串口通信电路图(9 孔串口接头)
(2)串行通信程序设计
①通信协议的使用
通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种
约定,通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在 PC
机与单片机之间进行通信,在设计过程中,有如下约定:
0x31:PC 机发送 0x31,单片机回送0x01,表示选择本单片机;
0x**:PC 机发送 0x**,单片机回送0x**,表示选择单片机后发送数据通
信正常;
在系统工作过程中,单片机接收到 PC 机数据信息后,便查找协议,完
成相应的操作。
②串行通信程序设计主要有微机发送接收程序和单片机发送接收程序,微机上的
发送和接收程序主要采用计算机高级语言编写,如 C 语言,因为了能够在计算
机端看到单片机发出的数据,我们必须借助一个 WINDOWS 软件进行观察,这
2
里利用如下图标的一个免费计算机串口调试软件,故而这一块计算机通信的程序
可不写!
在单片机上主要用汇编或 C 编写,在使用串口之前,必须先对串口进行初始
化,主要是设置产生波特率的定时器 1、串口控制和中断控制。具体步骤如下:
(1) 确定定时器 1 的工作方式——编程 TMOD 寄存器(设置波特率);
(2) 确定串口的控制——编程 SCON;
(3) 串口的中断方式,必须开CPU 和源中断——编写 IE 寄存器;
(4) 计算定时器 1 的初值——装载 TH1 ,TL1 ;
(5) 启动定时器 1——编程 TCON 中的TR1 位。
为何串行口的工作方式选择方式 1,这是针对于我们平常最常用的,单纯一块板
对应于我们的私人电脑,所以就无须考虑是哪一块板发来的信息,即无须分清是
数据帧还是地址帧。因为此时属于直通方式,所以无须考虑的。
方式 1 为波特率可变的 10 位异步通讯接口方式,发送或接收一帧信息,包括 1
个起始位 0 ,8 个数据位和一个停止位 1,。其中的起始位和停止位在发送时自动
插入的。
输出:当单片机执行一条指令将数据写入发送缓冲 SBUF 且 TI=0 时,就启动发
送。串行数据从 TXD 引脚输出,发送完一帧数据后,就有硬件置位TI。
输入:在(REN)=1 时,串行口采样 RXD 引脚,当采样到 1 到 0 的跳变时,
确认是串行发送来的一帧数据的开始位 0 ,从而开始接收一帧数据。在接收到附
加的第 9 位数据后,当满足(1)RI=0 (2)SM2=0 或接收到的第 9 位数据为 1
时,第 9 位数据 (停止位)才进入 RB8,8 位数据才
原创力文档


文档评论(0)