本帖最后由 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 或 ? 即可显示,需注意一点,所有命令及参数都必须小写。
下一步准备开发的功能,可以读写内存块,例如连续读出一个数组,或许还能做到单步执行的功能。
有电脑显示屏多和快?我就是因为LCD显示的内容太少了才另外搞的这个。把 idata, xdata, code 全部读出来都没有问题!
现在用汇编的大部分是C写的程序放不下或C编译器不好用。。
或者把东西升级到ARM上或许还能用用
速度快了你看得过来?就算9600的速率在LCD或LED上显示,就是模糊一片,这有什么意义?串口输出显示可以在屏上留历史数据。
只观察几个变量,直接可以用KEIL的仿真调试就行。如果你用到64K外存,或SD卡之类,要观察这些海量数据,你只能望洋兴叹了吧?
一周热门 更多>