51单片机串口人机交互调试器 [原创首发]

2020-01-14 18:53发布

本帖最后由 rain73 于 2014-7-13 19:16 编辑

调试51单片机,很多时候需要实时了解各个存储器(寄存器)的值,或者需要修改其中的值,通常的办法是增加调试代码来完成,最后再将其删除。
过程既麻烦又不方便,那么有没有什么好的办法呢?这个串口人机交互调试器就能帮到你。
其原理是通过51单片机的串口与PC通信,PC发送指令,然后单片机执行指令完成相应的功能。目前调试器的代码暂不开源,以库的形式发布给
大家使用。

使用示例
先看一下 help 的内容:
DEBUG51_02.jpg (20.38 KB, 下载次数: 0) 下载附件 2014-7-13 17:53 上传

如没有正确接收到信息,主要跟晶振频率有关,默认的晶振频率是11.0592MHz,这个频率适合于串口通信,如果不能更换晶振,也可以改为其它的
频率。修改 DEBUG51.H 中的 XTAL 值即可,如果是12MHz晶振,最好把波特率同时改为4800,这样误差小一点。

对于命令的使用方法,可随时键入 help 或 ? 即可显示,需注意一点,所有命令及参数都必须小写。

下一步准备开发的功能,可以读写内存块,例如连续读出一个数组,或许还能做到单步执行的功能。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
rain73
1楼-- · 2020-01-17 14:11
wkman 发表于 2016-4-11 11:38
不喜欢用来源不明的所谓 “库”,,,,

这是调试库,不是应用库,有问题也不影响你的程序的,呵呵。
klxx68
2楼-- · 2020-01-17 19:36
 精彩回答 2  元偷偷看……
four_zhg
3楼-- · 2020-01-18 01:05
楼主有意的话,就开放源码,大家一起完善一下
rain73
4楼-- · 2020-01-18 01:41
zhongsandaoren 发表于 2016-4-11 11:36
还是调试仿真好点,或者加显示器直观

你的方法有几个功能看好不好做?
1、连续输出一个页面512字节的数据;
2、输入不同的地址、不同的数据测试函数正确性,测试器件的功能是否正确;
3、省去了键盘的输入与显示的输出,针对核心功能进行开发,提高效率;
运用得好,可以省却很多烧写次数,并轻松测试逻辑的正确性。

通过这个交互程序,我在开发中效率提高不少,并发现了很多器件的细节,对完善程序有很大的好处。
YS126
5楼-- · 2020-01-18 04:24
Is it also suitable for stc-51? Or just only at89s51?  
rain73
6楼-- · 2020-01-18 08:01
YS126 发表于 2016-4-12 01:02
Is it also suitable for stc-51? Or just only at89s51?

其实差别仅在于串口的配置,主楼那个库应适用于所有兼容INTEL 51串口的所有MCU。
如果修改源代码,可适用于所有带串口的MCU,包括STM32。

一周热门 更多>