- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]第六章串行通信
数字系统与VHDL程序设计语言 自控系王新刚 方式寄存器TMOD :功能选择位。等于0时,为定时方式 等于1时,为计数方式 :门控位。其功能如下所示。 方式寄存器TMOD不能进行位寻址 M0和M1:方式选择位 例:设定时器1为定时工作方式,要求由软件启动定时器1,按方式2工作。定时器0为计数方式,要求由软件启动定时器0,按方式1工作。则TMOD 中控制字为? 25H 控制寄存器TCON MOV TMOD , #25H MOV TMOD , #25H SETB TR1 SETB TR0 TCON可以位寻址 编程把甲机片内RAM 50H至5F单元中的数据块儿从串行口输出 定义在方式3下发送,TB8作为奇偶校验位。采用定时器1方式2 作波特率发生器,波特率为1200波特,fosc=11.0592,预置值 为TH1=E8H 乙机从甲机接收16个字节数据块,并存入3000H~300FH单元。 接收过程中要求判奇偶校验标志RB8,若出错则置F0标志为0, 然后返回。 * 第六章 串行接口 第一节 串行通信概述 第四节 波特率的设计 第二节 80C51串行口简介 第三节 串行口通信的工作方式 第五节 串行口应用举例 返回总目录 第一节 串行通信概述 一、异步通信和同步通信 1.异步通信 在异步通信中数据或字符是一帧(frame)一帧地传送的 帧定义为一个字符的完整的通信格式,通常称为帧格式。 2.同步通信 在同步通信中数据或字符开始处是用一同步字符来指示 (一般为1~2个字符),以实现发送端和接收端同步, 一旦检测到约定的同步字符,下面就连续按顺序接收数据 与同步通信相比异步通信方式硬件结构简单,还能利用 校验位进行检测,所以异步通信方式应用较为广泛,它 是单片机中主要采用的通信方式。 二、串行通信的数据传送速率 波特率:是异步通信中数据传送速率的单位,其意义 是每秒传送多少位二进制数。 异步通信的传送速度一般在50~9600波特之间,常用 于计算机到CRT终端以及双机或多机之间的通信。 三、串行通信的制式 半双工 全双工 第二节 80C51串行口简介 一、结构与工作原理 MOV SBUF , A MOV A, SBUF SCON 移位寄存器 二、控制寄存器SCON 多机通信控制位 允许串行接收位 发送数据第九位 接收数据第九位 发送中断标志位 接收中断标志位 TI、RI由硬件置1, 但不能自动回零,必 须手动回零 第三节 串行口通信的工作方式 一、方式0 1.输出 先发送最低位,波特率为fosc/12 MOV SBUF , A 2.输入 注意:在方式0中 SM2必须置零 REN=1 0 1 MOV A, SBUF 二、方式1 MOV A, SBUF MOV SBUF, A 发送 1 接收 1 1 三、方式2 1.发送 SETB TB8 1 MOV SBUF , #96H 96 9 6 TB8 1 2.接收 SETB REN 1 0 CLR RI 0 9 6 1 96 MOV A , SBUF 第一种情况 第二种情况 96 SETB REN 1 CLR RI 1 9 6 MOV A , SUBF 0 四、方式3 除波特率外,方式3和方式2完全相同 1.方式0 波特率=fosc/12 2.方式2 第四节 波特率的设计 3.方式1、3 溢出周期 例:已知fosc为11.0592MHz,选用定时器T1工作方式2作波特率 发生器,波特率为2400波特,求初值。 四种串行通信方式总结 多机通信控制位 允许串行接收位 发送数据第九位 接收数据第九位 发送中断标志位 TI、RI由硬件置1, 但不能自动回零,必 须手动回零 一、方式0 传送数据8位一帧,传输速度fosc/12 MOV A , SBUF 输入 MOV SBUF , A 输出 注意:在方式0中 SM2必须置零 二、方式1 SETB REN MOV A, SBUF MOV SBUF, A 传送数据10位一帧,传输速度 输入 输出 三、方式2 传送数据11位一帧,传输速度fosc/32或fosc/64 SETB TB8 MOV SBUF, A 输出 CLR TB8 MOV SBUF, A 输入 SM2=0 SETB REN MOV A,SBUF SM2=1 SETB REN MOV A,SBUF RB8=1 RB8=0 将SBUF中的数清除干净 四、方式3 传送数据11位一帧,传输速度与方式1相同 与方式2相同 第五节 串行口应用举例 例1:多机
文档评论(0)