18770|3

6

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

这样自定义51串口缓冲区(汇编)行么? [复制链接]

手头在做一个测试程序,需要将一些数据发送到PC,写了个发送缓冲管道,可怎么看怎么觉得别扭,请各位大侠帮忙看下?或者送我一个也好.设置发送缓冲区为60H~6FH,假设当下发送#58H.发送数据不在中断中 ;系统上电时 MOV R0,#60H MOV R1,#60H ;发送: CLR ES ;禁止串口中断 MOV A,R0 XRL A,R1 JZ loop1 MOV SBUF,#58H MOV A,R0 XRL A,#70H JNZ LOOP3 MOV R0,#60H SJMP LOOP3 LOOP1:MOV A,R0 XRL A,#70H JNZ LOOP2 MOV R0,#60H LOOP2:MOV @R0,#58H INC R0 LOOP3:SEB ES ;串口中断处理,在中断中执行 JB TI,LOOP6 SJMP LOOP10 LOOP6: INC R1 MOV A,R0 XRL A,R1 JZ LOOP10 CJNE R1,#70H,LOOP7 MOV R1,#60H LOOP7: MOV SBUF,@R1 LOOP10: ;其他
此帖出自51单片机论坛

最新回复

一、堆栈保护 二、发送每字节最好有个定时,根据波特率计算一下 三、最好发送序号用个变量,不要轻易用R0,R1,它俩很有用 四、没任何框架,不要就会个LOOP 五、......    本想再说点什么的,可你那程序注解都没有,所以就难得看了。你要记得这不是学校,大家没有任何义务给你免费指导的,都是凭个兴趣,所以你想要让别人给你提供帮助你也就得提别人想想  详情 回复 发表于 2007-9-27 14:58
点赞 关注
 

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

回复:这样自定义51串口缓冲区(汇编)行么?

程序中错误很多,像SEB ES 指令不对 JZ loop1和LOOP1:MOV A,R0 标识符不一样 还有TI也没清过等
此帖出自51单片机论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

回复:这样自定义51串口缓冲区(汇编)行么?

一、堆栈保护 二、发送每字节最好有个定时,根据波特率计算一下 三、最好发送序号用个变量,不要轻易用R0,R1,它俩很有用 四、没任何框架,不要就会个LOOP 五、...... 本想再说点什么的,可你那程序注解都没有,所以就难得看了。你要记得这不是学校,大家没有任何义务给你免费指导的,都是凭个兴趣,所以你想要让别人给你提供帮助你也就得提别人想想
此帖出自51单片机论坛
 
 
 

回复

6

帖子

0

TA的资源

五彩晶圆(中级)

4
 

回复:这样自定义51串口缓冲区(汇编)行么?

2楼提到的标志符不一致,keil里不区分大小写的,都能编译过;SETB写成SEB是笔误,代码是在发送文本框内写的,没编译过,也没仔细校对,只是想说下思路,不好意思 回3楼:一、堆栈保护 堆栈后入先出,而发送数据是管道式的,得先入先出,要是再开个变量觉得有点麻烦 二、发送每字节最好有个定时,根据波特率计算一下 我的目的就是可以抛弃发送的过程和状态,有数据发送请求时只要放进缓冲区,别的不管;允许在一个字节尚未发送完毕的过程中,或者响应TI之前,产生第二个或更多需要发送的数据,只要不超出缓冲区范围. 三、最好发送序号用个变量,不要轻易用R0,R1,它俩很有用 嗯,我也觉得有点奢侈,留了一组R0,R1给串口数据用.
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表