2022年单片机课件23.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第6章MCS-51串行接口;并行通信是指数据的各位同时进行传送

其优点是传送速度快,其缺点是数据有多少位,就要有多少根数据传送线,同时还必须有必要的控制线。

并行通信协议有SPP、EPP、ECP等;

串行通信指数据是一位一位的按顺序传送的通信方式,它的优

点是只需要很少的传输线,是一种低成本远距离的通信方式。缺点是传送速度较慢。串行通信协议有USB、I2C、RS-232、SPI等

;;同步传送方式的特点是数据是连续

传送的,数据以数据块为单位传送

的。在每个数据块发送之前,先发

送1~2个同步字符。然后紧接着发

送数据,要求接收端和发送端必须

有同步时钟进行同步。;8503:并行扩展芯片8255的控制寄存器地址。

MOVSBUF,A;

ACALLDALAY

JNBRB8,ERR;PSW.

SETBTR1;

单片机与PC机的串行接口

波特率可变(T1溢出率*2SMOD/32)

实际的波特率为2403.

SETBTR1;

本实验板部分数据空间已固定分配:

3现有二台单片机进行异步串行通信。

串行口有四种工作方式,对应三种波特率。

(1)RI=0;

DJNZR7,LOOP;未结束,循环

CPU通过读或写操作来进行区别。;4.波特率;6.2串行通信接口的控制;一、串行口缓冲寄存器SBUF;二、串行口控制寄存器SCON;SM0、SM1:串行口方式选择位。

SM2:在方式2和3中用作多机通信控制位。

REN:允许接收控制位,软件置1允许接收,软件清0禁止接收。

TB8:发送数据第九位。在方式2和方式3中存放发送数据第九位。

RB8:接收数据第九位。在方式2和方式3中存放接收到的第九位数据。

TI:发送中断标志。TI置位表示一帧信息发送结束。

RI:接收中断标志。RI置位表示一帧数据接收结束。;SM0SM1;6.3 串行口的波特率;

;例6.1设两机通信的波特率为2400波特,若晶振为6MHz,串行口工作在方式1,试计算定时器T1的初值。

;6.4 串行口的工作方式及应用;ORG1000H

MOVSCON,#0;设置串行口方式0

MOVA,#0FEH;最右一位发光二极管先亮

MOVSBUF,A;开始串行输出

LOOP:

JNBTI,LOOP;一帧数据未发送完等待

CLRTI

ACALLDALAY

RLA;准备显示下一位

MOVSBUF,A;再一次串行输出

SJMPLOOP

其中DALAY为延时程序,延时时间可取为40ms,;

例:用串行口,工作方式1,波特率2400,晶振fosc=6MHz,编写初始化程序。

由例6.1可知:

当SMOD=1,x=242.98≈243=0F3H;初始化程序:;例6.3现有二台单片机进行异步串行通信。

A机作为发送方,将片内RAM60H~6FH中

的数据从串行口输出,定义为方式2发送。TB8作为奇偶校验位。B机作为接收方,将A机发送来的数据存入片内RAM60H~6FH中,定义为方式2接收,并判奇偶校验RB8标志,若出错,则置出错标志。;TRS:

MOVSCON,#80H;定义方式2

MOVPCON,#00H;波特率为fsoc/64

MOVR0,#60H;设置数据地址指针

MOVR7,#10H;设置数据长度

LOOP:MOVA,@R0;取数据

MOVC,PSW.0;取奇偶校验位

MOVTB8,C

MOVSBUF,A;启动发送

WAIT:JBCTI,NEXT;一帧数据发完否

AJMPWAIT;未完等待

NEXT:INCR0;修改地址指针

DJNZR7,LOOP;未结束循环

RET;B机接收程序;READ:

MOVA,SBUF;读数据

JNBPSW.0,JUDG;PSW.0=0跳转

JNBRB8,ERR;PSW.0=1,RB8=0,出错

SJMPGOOD;两者均为1,正确

JUDG:

JBRB8,ERR;PSW.0=0而RB8=1,出错

G

文档评论(0)

192****4902 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档