由串行口接收带偶校验位的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
串行口ASCII码MCS5 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)