单元5串行通信教案详解.pptVIP

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例5.1】89S52串行口按双工方式收发ASCII字符,甲机发送的字符从外部RAM的1000H开始,检测到结束字符0AH就结束发送,乙机将接收的字符放在内部RAM的30H开始的空间。要求通信的波特率为9600波特,用中断方式编写通信程序。 主程序: MOV TMOD,#20H ;定时器1设为工作方式2 MOV TLl,#0FDH ;定时器初值 MOV THl,#0FDH ;8位重装值 SETB TRl ;启动定时器1 MOV SCON,#50H ;将串行口设置为方式1, REN=l MOV DPTR,#1000H ;发送数据区首址送 DPTR MOV R0, #30H ;接收数据区首址送R0 SETB ES SETB EA ;开中断 ACALL SEND ;先发送一个字符 L00P: SJMP $ ;等待中断 发送子程序 SEND:CLR TI MOV A,@DPTR ;取发送数据到A INC DPTR ;修改发送数据指针 MOV SBUF,A ;发送ASCII码 CJNE A,#0AH,SEN1 ;是否是结束字符 CLR ES ;关闭串口中断 SEN1:RET ;返回 中断服务程序 ORG 0023H ;串行口中断入口 AJMP RSI ;转至中断服务程序 ORG 0100H RSI:JNB RI, SEN ;TI=1,为发送中断 ACALL REV ;RI=1,为接收中断 SJMP NEXT ;转至统一的出口 SEN:ACALL SEND ;调用发送子程序 NEXT: RETI ;中断返回 接收子程序 REV: CLR RI MOV A, SBUF ;读出接收缓冲区内容 MOV @R0, A ;读入接收缓冲区 INC R0 ;修改接收数据指针 CJNE A,#0AH,RES ;是否是结束字符 CLR ES ;关闭串口中断 RES: RET ;返回 3. 工作方式2 SM1 SM0= 10,串行接口选择工作方式2。 方式2是11位异步通信方式,每帧数据由1个起始位“0”、9个数据位和1个停止位“1”共11构成。其中发送的第9位由SCON的TB8提供,接收的第9位存在SCON的RB8位。其波特率是固定的为fosc/32或fosc/64。 方式2发送:CPU执行一条写入SBUF的指令就启动串行口的发送,并把TB8的内容装入发送寄存器的第9位。首先发送起始位0,此后每经过一个时钟周期产生一个移位脉冲,并且由TXD输出一个数据位,当11位数据全部发送后,使TI置1。 方式2接收:接收过程和方式1类似,当REN=1时,允许串行口接收数据。数据由RXD端输入,接收11位数据。在方式2的接收中,若RI=0, SM2=0或接收到的第9位数据为1,成立则RI=1,8位数据进入SBUF,第九位进入RB8。 若不满足上述两个条件则接收到的信息将丢失,不再恢复,也不置位RI。 【例5.2】设计一个发送程序,将片内RAM30H~3FH中的数据串行发送,串行口设定为方式2状态,TB8作奇偶校验位。在数据写入发送缓冲器之前,先将数据的奇偶位P写入TB8,这时第9位数据作奇偶校验用。 程序清单如下: TRT: MOV SCON,#80H ;方式2设定 MOV PCON,#80H ;取波特率为fosc/32

文档评论(0)

南非的朋友 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档