单片机的串行口与应用.pptVIP

  • 4
  • 0
  • 约1.65万字
  • 约 62页
  • 2019-09-08 发布于安徽
  • 举报
知识回顾Knowledge Review * MOV TMOD,#20H ;置T1为定时器方式2 MOV TL1,#0FAH;置T1定时常数 MOV TH1,#0FAH SETB TR1 ;启动T1 ………… MOV PCON,#00H ;波特率不倍增 MOV SCON,#40H ;置串行口方式1 MOV SBUF,78H ;输出首地址 * 例6-4 两台单片机进行串行通信,采用查询方式工作。发送单片机为串行工作方式2, TB 8作为奇偶位。待发数据位于片内40H-4FH单元中。 发送方每发送一个字节后紧接着接收回送字节,只有收到标志数据00H后才继续发送下一个数据,同时将发送的数据送往P1口显示,否则停止发送。 接收方也为工作方式2,每接收到一个数据都要进行校验,接收正确则向发送方回送标志数据00H,同时将收到的数据送往P1口显示;接收错误则向发送方回送标志数据FFH,同时将数据FFH送往Pl口显示。 * ORG 0000H LJMP TRS ORG 0030H TRS: MOV R7,#10H MOV R0,#40H MOV A, #0 TRS1: MOV @R0,A INC A INC R0 DJNZ R7,TRS1 MOV SCON, #90H ;设置串行口工作方式2 MOV PCON, #80H;波特率为fosc/ 32 MOV R0,#40H ;设置片内数据指针 MOV R2,#10H ;数据长度 LOOP: MOV A, @R0 ;取数据送A MOV C,P;奇偶位送TB8 MOV TB8,C MOV SBUF, A;启动发送 MOV P1,A ;数据送P1口显示 LCALL DELAY;延时 WAIT: JBC TI,CONT;查询发送标志位 SJMP WAIT CONT: JBC RI,RE ;准备接收回送标志 SJMP CONT RE: MOV A, SBUF ;接收回送标志 CJNE A, #00H, L ;回送标志错误,结束 INC R0 ;回送标志正确,继续 DJNZ R2,LOOP;发送16个数据 L: SJMP L;结束 发送方源程序清单如下: * ;复位入口 ;主程序入口 ;设置串行口工作方式2,允许接收 ;波特率为fosc/ 32 ;查询接收标志位 ;读入一帧数据 ;判接收端奇偶位 ;判发送端奇偶位 ;接收正确 ;送往P1显示 ;延时 ;回送正确标志 ;接收未完,继续 ;接收出错,显示FF ;回送出错标志 ;结束 ORG 000H LJMP REV ORG 0030H REV: MOV SCON, #90H MOV PCON, #80H MOV R7,#10H LOOP: JBC RI,READ SJMP LOOP READ: MOV A, SBUF JNB PSW.0,ONE JB RB8,RIGHT SJMP ERR ONE: JB RB8,ERR RIGHT: SWAP A MOV P1,A LCALL DELAY MOV SBUF, #00H DJNZ R7,LOOP L: SJMP L ERR: MOV P1,#0FFH MOV SBUF, #0FFH LL: SJMP LL 接收方源程序如下: * 多处理机通信方式 在串行口控制寄存器SCON中,设

文档评论(0)

1亿VIP精品文档

相关文档