正在加载图片...
3接收程序:串行输入16个字符,进行奇偶校验。 RECS: MOV SCON, #0D0H;串行口方式3允许接收 MOV TMOD,#20H ;T1方式2定时 MOV TL1,#0F4H 写入T1时间常数 MOV THI,#0F4H SETB TRI 启动T1 MOV R0,#50H ; 设数据指针 MOV R7,#10H 接收数据长度 WAIT: JBC RI,NEXT 等待串行口接收 SIMP WAIT NEXT: MOV A, SBUF 取一个接收字符 JNB P,COMP ; 奇偶校验 JNB RB8,ERR PRB8,数据出错 SJMP RIGHT P=RB8, 数据正确 COMP: B RB8,ERR RIGHT: MOV @R0,A 保存一个字符 INC RO ; 修改指针 DJNZ R7, WAIT 全部字符接收完? CLR FO F0=0, 接收数据全部正确 RETERR: SETB FO ;F0=1, 接收数据出错 RET 3. 接收程序:串行输入16个字符,进行奇偶校验。 RECS: MOV SCON,#0D0H ;串行口方式3允许接收 MOV TMOD,#20H ;T1方式2定时 MOV TL1,#0F4H ;写入T1时间常数 MOV TH1,#0F4H SETB TR1 ;启动T1 MOV R0,#50H ;设数据指针 MOV R7,#10H ;接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收 SJMP WAIT NEXT: MOV A,SBUF ;取一个接收字符 JNB P,COMP ;奇偶校验 JNB RB8,ERR ;P≠RB8,数据出错 SJMP RIGHT ;P=RB8,数据正确 COMP: JB RB8,ERR RIGHT: MOV @R0,A ;保存一个字符 INC R0 ;修改指针 DJNZ R7,WAIT ;全部字符接收完? CLR F0 ;F0 =0,接收数据全部正确 RETERR: SETB F0 ;F0 =1,接收数据出错 RET
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有