[7-8]-实验报告六:串口通信实验.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆理工大学实验报告 实验六:串口通信实验 课 程:汇编语言程序设计 学 院:计算机科学与工程 班 级:116039908 学 号:11603990801 姓 名: 詹啟华 并行通信和串行通信有何特点? 并行通信的特点是通信速度快,但传输信号线较多,传输距离较远时线路较复杂,成本高,通常用于近距离运输。 串行通信的特点是传输线少,通信线路简单,通信速度慢,成本低,适合长距离运输。 解释串行通信中的单工、半双工、全双工。 单工方式只有一根数据线,信息只能单向传递。 半双工也只有一根数据线,但信息可以分时双向传递。 全双工方式有两根数据线,在同一个时刻数据双向传递。 分别解释同步串行通信和异步串行通信。 串行异步通信是数据在线路上传输时是以一个字节为单位。未传输时线路处于空闲状态,空闲时约定为高电平。传送时每一个字符前加一个低电平的起始位,然后是数据位,数据位可以是5~8位,低位在前,高位在后,数据位可以带一个奇偶校验位,最后是停止位。 串行同步通信数据在线路上传输时是以一个字符块为单位。传送时必须在前面加上一个或多个同步字符,后面加上检验字符。 详细说明SCON、PCON寄存器 SCON(字节地址为98H):SM0,SM1,SM2,REN,TB8,RB8,TI,RI. SM0SM1为串口工作方式选择位,用于选择串口得4种工作方式。 SM2为多机通信控制位: 在方式2或3接收数据时,若SM2=1,若接受到的第九位数据为0,则输入移位寄存器的接收的数据不能移入到接收数据寄存器SBUF,接收中断标志位RI不置一,接收无效;如果接收到的第九位为1,则输入移位寄存器的接收的数据能移入到接收数据寄存器SBUF,接收中断标志位RI置1,接收才有效;若SM1=0,无论接收到的第九位为1还是0,则输入移位寄存器的接收的数据都能移入到接收数据寄存器SBUF,接收中断标志位RI置1,接收有效。 在方式1时,若SM2=1;则只有接收到有效的停止位,接收才有效。 在方式0时,SM2必须为0. REN:允许接收控制位。若REN=0则禁止接收,若REN=1,则允许接收。 TI:为发送中断标志位。在一组数据发送完成后,由硬件置位。在方式0时,在第八位发送结束后,由内部硬件使TI置位;在方式1,2,3,在停止位开始发送时由硬件置位。 RI:为接收中断标志位。当数据接收有效后后,由硬件置位。在方式0时,在接收数据的第八位后,由硬件使RI置位;在方式1,2,3时,当接收有效时,由硬件置位。 对于串口中断无论是TI还是RI,都触发串口中断。在系统复位时,SCON的所有位都被清零。 PCON是电源控制寄存器。PCON的最高位SMOD称为波特率加倍位。若SMOD=1,则串行口工作方式1,2,3的波特率加倍。 PCON的字节地址为87H,不能进行位寻址。只能按字节访问。 详细解释串口的四种工作方式。 工作方式0 SM0SM1=00,他通常用来外接位移寄存器,用作扩展I/O接口。波特率为Fosc/12,串行数据通过RXD输入和输出,同步时钟通过TXD输出。长度为八位。 工作方式1 SM0SM1=01,为8位异步通信方式。一帧信息为10位。1位为起始位(0),八位数据位和一位停止位(1)。TXD为数据发送端,RXD为接收端。波特率可变。 4工作方式2、3 方式2,方式3都为九位异步通信接口。一帧信息为11位。1位为起始位(0),9位数据位和一位停止位(1)。发送的第九位数据放于TB8中,接收的第九位数据放于RB8中。TXD为数据发送端,RXD为接收端。方式2的波特率只有fosc/12和fosc/64可变。方式3的波特率与方式1的波特率相同,由定时计数器T1的溢出率和电源PCON 中的SMOD位决定。 变成实现实验室指导书中106页中第(3)题的前三个小题,并详细说明程序设计过程和算法。 A:第一步:保证LED灯全部熄灭。P0=0x00; 第二步:串口方式选择。SCON=0x40。 第三步:根据波特率算出T1的初始值并选择工作方式。 TMOD=0x20; TH1=250; TL1=250; 第四步:打开串口。定时器。 EA=1; ES=1; TR1=1; REN=1; 第五步:在串口中断中接收PC端发来的数据并控制LED灯亮灭。 P0=SBUF; B:第一步:串口方式选择。SCON=0x40。 第二步:根据波特率算出T1的初始值并选择工作方式。 还把T0设置为工作方式1. TMOD=0x21; TH1=253; TL1=253; 第三步:打开串口。定时器。 EA=1; ES=1; TR1=1; REN=1; 第四步:判断是RI中断还是TI中断 如果是RI中断时RI=

您可能关注的文档

文档评论(0)

js1180 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档