微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 由串行口接收带偶校验位的ASCII码数据块MCS51汇编程序

由串行口接收带偶校验位的ASCII码数据块MCS51汇编程序

时间:11-29 来源:互联网 点击:
  由串行口接收带偶校验位的ASCII码数据块。 设待接收数据块共10H个字节,接收后拟存于片内RAM的40H~4FH单元;单片机采用的晶振频率、波特率、SMOD位的值等均同上题。则相应的接收程序如下:RSTART:MOV TMOD,#20H ;置定时器/计数器T1工作于方式2定时 MOV TL1,#0E6H ;定时器/计数器T1置初值 MOV TH1,#E6H ;定时器/计数器T1置重装数 MOV R0,#40H ;R0作地址指针,指向拟存放数据块首址 MOV R7,#10H ;R7作循环计数器,置以接收数据字节数 SETB TR1 ;启动定时器/计数器T1 RSTART:MOV TMOD,#20H ;置定时器/计数器T1工作于方式2定时 MOV TL1,#0E6H ;定时器/计数器T1置初值 MOV TH1,#E6H ;定时器/计数器T1置重装数 MOV R0,#40H ;R0作地址指针,指向拟存放数据块首址 MOV R7,#10H ;R7作循环计数器,置以接收数据字节数 SETB TR1 ;启动定时器/计数器T1 LOOP:MOV SCON,#50H ;置串行口工作于方式1并启动串行口接收WAIT:JNB RI,WAIT ;等待接收完毕 MOV A,SBUF ;取已接收字节数据到A MOV C,P ;取奇偶标志,奇为1,偶为0 JC ERROR ;发现有错,转出错处理程序 ANL A,#7FH ;未出错,去掉偶校验位 MOV @R0,A ;存已接收的一个字节 INC R0 ;指向下一存放已接收字节的地址 DJINZ R7,LOOP ;循环接收,直到数据块接收完毕 RET

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top