第7章-串行通讯接口.pptVIP

  • 5
  • 0
  • 约9.45千字
  • 约 41页
  • 2019-06-19 发布于四川
  • 举报
第7章 串行通讯接口 7.1.1 串行通讯与并行通讯 SIO:MOV SCON,#控制状态字 ;写方式字且TI=RI=0 ( MOV PCON,#80H ) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;设定波特率 ( MOV TL1,#X ) ( SETB TR1)   ;启动T1 ( SETB EA) ;开串行接口中断 ( SETB ES)  假设数据在内部数据存储器内,  R0指向数据首地址,  数据字节数存储在R1中。 1、查询方式: TRAM: MOV  A,@R0 ;取数据 MOV  SBUF,A ;启动1字节发送命令 JNB  TI,$ ;等待发送结束 CLR   TI ;软件清标志位 INC  R0 ;准备下一次发送 DJNZ  R1,TRAM RET 1.查询方式: WAIT:JNB RI,$ ;查询等待 CLR RI NEXT:MOV A,SBUF ;读取接收数据 MOV @R0,A ;保存数据 INC R0 ;准备下一次接收 DJNZ R1, WAIT RET 发送程序 ORG 0000H LJMP MAIN ;转主程序 ORG 0030H MAIN: MOV SCON, ;置串行口工作方式1,禁止接收 MOV PCON,#00H ;SMOD=0 ★能否用CLR SMOD MOV TMOD,#20H ;定时器1为工作方式2 MOV TH1,#0FDH ;产生9600波特率的时间常数 MOV TL1,#0FDH SETB TR1 ;启动定时器1 MOV DPTR,#2000H ;首地址 MOV R1, #20H ;传送字节数初值 LOOP: MOVX A,@DPTR ;取一个字节待发送 MOV SBUF,A ;启动串行口发送命令 JNB TI,$ ; 等待当前字节发送完 CLR TI ;软件清标志位 INC DPTR ;地址指针加1 DJNZ R1,LOOP ;判断是否发送完毕 SJMP $ 接收程序 ORG 0000H LJMP MAIN ;转主程序 ORG 0030H MAIN: MOV SCON, ;置串行口工作方式1,允许接收 MOV PCON,#00H ;SMOD=0 ★能否用CLR SMOD MOV TMOD

文档评论(0)

1亿VIP精品文档

相关文档