51单片机串行通信程序的设计及调试

[09-14 01:26:53]   来源:http://www.88dzw.com  电子制作   阅读:8619

文章摘要:接收入口:CLR C 查询:JBC RI,接收;查询RI,等待接收的数据到达AJMP 查询接收:MOV A,SBUF偶校验: MOV C,RB8ANL C.PSW.O JC保存 MOV C,RB8ORL C,PSW.O JNC 保存 LJMP ERR2;转出错处理 保存:MOVX @DPTR,AINC DPTRDJNZ R7,查询 DJNZ R6,查询 RE7 ERR2:……;出错处理 5、中断方式下串行通信程序的设计 采

51单片机串行通信程序的设计及调试,标签:电子小制作,http://www.88dzw.com

  接收入口:CLR C
      查询:JBC  RI,接收;查询RI,等待接收的数据到达AJMP 
      查询接收:MOV    A,SBUF偶校验:
      MOV C,RB8ANL    C.PSW.O
      JC保存
      MOV    C,RB8ORL    C,PSW.O
      JNC    保存
      LJMP  ERR2;转出错处理
     保存:MOVX   @DPTR,AINC DPTRDJNZ  R7,查询
      DJNZ  R6,查询
      RE7
      ERR2:……;出错处理

      5、中断方式下串行通信程序的设计

      采用中断方式进行串行通信,应在初始化程序中打开串行口中断。若串行口已准备好,可以发送数据时,TI=1,就引发中断,若串行口可靠接收了一个字节的数据后,RI=1,也引发中断。数据的接收与发送是在中断的服务过程中完成的。

  由于RI与TI共用一个中断入口,所以在进入中断服务时必须查询RI或TI,以确定发送数据还是接收数据,此外,由于RI与TI不能自动清除,所以在中断服务程序中还必须清除RI或TI标志。

  下例是发送与接收数据的中断服务程序。设待发送数据在R0所指向的单元中,接收的数据存放在R1所指向的单元中,发送与接收的数据均采用偶校验。

  串行中断入口:JBC  RI,接收;若为RI中断,转接收数据,同时清除RI
       发送:CLR TI;TI中断,清除TI,准备发送数据
       MOV    A,@R0;读取待发送的数据
       MOV    C,P
       MOV TB8,C
       偶校验位传入TB8
       MOV    SBUF,A;
       RETI
       接收:MOV  A,SBUF
        偶校验:MOV  C,RB8
        ANL    C,PSW.0
        JC保存
        MOV    C,RB8
        ORL    C,PSW.0
        JNC    保存

上一页  [1] [2] [3] 


Tag:电子制作电子小制作维修教程知识 - 电子制作