返回首页
当前位置: 主页 > 串行口程序设计 >

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

时间:2014-04-20 11:49来源:未知 作者:牛牛 点击:
由串行口接收带偶校验位的ASCII码数据块。 设待接收数据块共10H个字节,接收后拟存于片内RAM的40H~4FH单元;单片机采用的晶振频率、波特率、SMOD位的值等均同上题。则相应的接收程序如下:RSTART:MOV TMOD,#20H ;置定时器/计数器T1工作于方式2定时 MOV TL
由串行口接收带偶校验位的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
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
推荐内容