ATS单片机串行口.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文档。上传文档
查看更多
* 图7-19中的SN75176芯片内集成了一个差分驱动器和一个差分接收器,且兼有TTL电平到RS-485电平、RS-485电平到TTL电平的转换功能。 此外常用的RS-485接口芯片还有MAX485。 7.5.2 串行通信设计需要考虑的问题 单片机的串行通信接口设计时,需考虑如下问题。 (1)首先确定通信双方的数据传输速率。 (2)由数据传输速率确定采用的串行通信接口标准。 * * (3)在通信接口标准允许的范围内确定通信的波特率。为减小波特率的误差,通常选用11.0592MHz的晶振频率。 (4)根据任务需要,确定收发双方使用的通信协议。 (5)通信线的选择,这是要考虑的一个很重要的因素。通信线一般选用双绞线较好,并根据传输的距离选择纤芯的直径。如果空间的干扰较多,还要选择带有屏蔽层的双绞线。 (6)通信协议确定后,进行通信软件编程,请见下面介绍。 * * 7.5.3 双机串行通信软件编程 串行口的方式1~3是用于串行通信的,下面介绍双机串行通信软件编程。 应当说明的是,下面介绍的双机串行通信的编程实际上与上面介绍的各种串行标准的硬件接口电路无关,因为采用不同的标准串行通信接口仅仅是由双机串行通信距离、传输速率以及抗干扰性能来决定的。 * * 1.串行口方式1应用编程 【例7-?4】 采用方式1进行双机串行通信,收、发双方均采用6MHz晶振,波特率为2?400bit/s,一帧信息为10位,发送方把以78H、77H单元的内容为首地址,以76H、75H单元内容减1为末地址的数据块通过串口发送给收方。 发送方要发送的数据块的地址为2000H~201FH。先发地址帧,再发数据帧;接收方在接收时使用一个标志位来区分接收的是地址还是数据,然后将其分别存放到指定的单元 * 中。发送方可采用查询方式或中断方式发送数据,接收方可采用中断或查询方式接收。 (1)甲机发送程序 中断方式的发送程序如下: ORG 0000H ;程序初始入口 LJMP MAIN ORG 0023H ;串行中断入口 LJMP COM_INT ORG 1000H * MAIN: MOV SP,#53H ;设置堆栈指针 MOV 78H,#20H ;设发送的数据块首、末地址 MOV 77H,#00H MOV 76H,#20H MOV 75H,#40H ACALL TRANS ;调用发送子程序 HERE: SJMP HERE TRANS:MOV TMOD,#20H ;设置定时器/计数器工作方式 MOV TH1,#0F3H ;设置计数器初值 MOV TL1,#0F3H MOV PCON,#80H ;波特率加倍 * * SETB TR1 ;接通计数器计数 MOV SCON,#40H ;设置串行口工作方式 MOV IE,#00H ;先关中断, 用查询方式发送地址帧 CLR F0 MOV SBUF,78H ;发送首地址高8位 WAIT1:JNB TI,WAIT1 CLR TI MOV SBUF,77H ;发送首地址低8位 WAIT2:JNB TI,WAIT2 CLR TI MOV SBUF,76H ;发送末地址高8位 WAIT3:JNB TI,WAIT3 CLR TI * * MOV SBUF,75H ;发送末地址低8位 WAIT4: JNB TI,WAIT4 CLR TI MOV IE,#90H ;打开中断允许寄存器, ;采用中断方式发送数据 MOV DPH,78H MOV DPL,77H MOVX A,@DPTR MOV SBUF,A ;发送首个数据 WAIT: JNB F0,WAIT ;发送等待 RET * * COM_INT: CLR TI ;关发送中断标志位TI INC DPTR ;数据指针加1, 准备发送 :下个数据 MOV A,DPH ;判断当前被发送的数据 ;的地址是不是末地址 C

文档评论(0)

smartxiaohuli + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档