- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 89C51单片机的串行口及串行通信 本章学习目标 7.1 串行通信的概念 7.1.2 串行异步通信和同步通信 1.异步通信方式 在同步通信中,数据或字符开始处是用一同步字符来指示(一般约定为1~2个字符),以实现发送端和接收端同步,一旦检测到约定同步字符,下面就连续按顺序接收数据。 3 串行通信的波特率 7.1.4 串行通信的过程及通信协议 7.2 单片机串行口及其应用 1、单片机串行口的结构 2、单片机串行口的控制 1)串行口控制寄存器SCON 2)专用寄存器PCON PCON的各位的定义和功能如下: 当SMOD=l时,方式1、2、3的波特率加倍,否则不加倍。 3、 单片机串行口的工作方式 4.串行通信的波特率 7.2.2 单片机串行口的应用 1、 串行口扩展显示器 【例7-1】用8位串入并出移位寄存器74HC164扩展显示器。 功能:把数据从显示缓冲区送到数码管。入口;将要显示的数放在以DIS0为首的8个单元中。出口:把预置的数输出以更新原有的显示。 MOV R2,#08H ;显示8个数码管 MOV R0,#DIS7 ;显示缓冲区未地址送入R0 DL0: MOV A,@R0 ;取要显示数作查表偏移量 MOV DPTR,#TAB ;指向字形表首 MOVC A,@A+DPTR;查表得字形码 MOV SBUF,A ;发送显示 DL1: JNB TI,DL1 ;等待发送完一帧 CLR TI ;清中断标志,准备继续发送 DEC R0 ;更新显示单元 DJNZ R2,DL0 ;重复显示所有数码管 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H;0,1,2,3,4, DB 92H,82H,0F8H,80H,90H;5,6,7,8,9, DB 88H,83H,0C6H,0A1H,86H;A,B,C,D,E, DB 8EH,0BFH,8CH,0FFH;F,-,P,暗 2、 串行口扩展的键盘 在方式0下,串行口作同步移位寄存器用,以8位数据为一帧,先发送或接收最低位,每个机器周期发送或接收一位,故其波特率是固定的,为fosc/12。串行数据由RXD(P3.0)端输入或输出。 CJNE R1,#08,LP1 SJMP RCVIN1: MOV A,R0 ADD A,A JMP @A+DPTR TAB: AJMP OPR0 AJMP OPR1 … AJMP OPR7OPR0:… LJMP STARTOPR7:… LJMP START END ORG 0100H START: MOV R7,#20 MOV R0,#50H MOV DPTR,#TAB RCVI:MOV SCON,#10H JNB RI,$ CLR RI MOV A,SBUF MOV R0,#0 MOV R1,#0 LP1: RRC A JNC N1 INC R0 INC R1 7.3 双机通信 7.3 双机通信 编程使乙机从甲机接收16个字节数据块,并存入片外3000H~300FH单元。接收过程中要求判奇偶校验标志RB8。若出错则置F0标志为1,若正确则置F0标志为0,然后返回。 7.3 双机通信 TRS: MOV A,@R0 ;取数据送至A MOV C,P MOV TB8,C ;奇偶位P送至TB8 MOV SBUF,A ;启动发送 WAIT:JNB TI,$ ;判1帧是否发送完 CLR TI INC R0 ;更新数据单元 DJNZ R7,TRS ;循环发送至结束 7.3 双机通信 MOV TMOD,#20H ;设置定时器1为方式2 MOV TL1,#0E8H ;设预置值 MOV TH1,#0E8H SETB TR1 ;启动定时器1 MOV SCON,#0D0H ;设置串行口为方式3 MOV PCON3,#00H ;SMOD=0 MOV DPTR,#3000H ;设置数据块指针 MOV R7,#10H ;设数据块长度 SETB REN ;允许接收 WAIT:JNB RI,$ ;判1帧是否接收完 CLR RI 7.3 双机通信 MOV A,SBUF ;读入1帧数据 JNB PSW.0,PZ ;奇偶位P为0则跳转
文档评论(0)