OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6550|回复: 2

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

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-2-11
在线时间
0 小时
发表于 2014-7-13 19:06:57 | 显示全部楼层 |阅读模式
调试51单片机,很多时候需要实时了解各个存储器(寄存器)的值,或者需要修改其中的值,通常的办法是增加调试代码来完成,最后再将其删除。
过程既麻烦又不方便,那么有没有什么好的办法呢?这个串口人机交互调试器就能帮到你。
其原理是通过51单片机的串口与PC通信,PC发送指令,然后单片机执行指令完成相应的功能。目前调试器的代码暂不开源,以库的形式发布给
大家使用。

使用示例
先看一下 help 的内容:



目前有四个指令,getr(读寄存器),setr(写寄存器),geti(读内存),seti(写内存)。
示例:读P0口内容
DEBUG-51> getr p0
p0:FFH

示例:写P1口内容
DEBUG-51> setr p1 0x0F

示例:读0x80内存地址内容
DEBUG-51> geti 0x80
80H:00H

示例:写0x80内存地址内容
DEBUG-51> seti 128 255

调用方法
假设你的主程序是这样的:
#include <REG51.H>
#include "DEBUG51.H"

sbit LED = P0^0;

/* 主函数 */
void main()        {
        UART_Init();        //串口初始化
       
        while (1) {
                LED = ~ LED;
                Delay_1ms();
                debug51();
        }
}

只需加入上面标注为红色的三行代码(debug51()函数必须放在主循环中),就可以调用人机交互调试器了。加入调试器的功能后,不会影响
原有程序的功能,但由于波特率中断的影响,主程序运行将会变慢。
当然还要把库文件放至你的工程项目中,下载后面的附件 DEBUG51.rar ,然后把里面的两个文件(DEBUG51.H, DEBUG51.LIB)解压至你的
项目目录中,再在工程中引用一下DEBUG51.LIB即可:



然后重新编译你的项目,下载至单片机中,就可以使用调试器了!

连接至PC
把单片机与PC间通过串口线连接好后,就可以测试通信状况了。PC端通信软件可以用超级终端,推荐使用SecureCRT,设置好通信参数:
端口(根据串口线连接设置),波特率(9600),数据位(8),奇偶校验(无),停止位(1),数据流控制(全部无)
然后打开刚设置的连接,再上电或复位单片机,如没什么意外,应该可以接收到欢迎信息:



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

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

下一步准备开发的功能,可以读写内存块,例如连续读出一个数组,或许还能做到单步执行的功能。

DEBUG51.rar

4.74 KB, 下载次数: 736

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-7-13 23:20:00 | 显示全部楼层
谢谢分享,不过库都没看到发布哦....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-2-11
在线时间
0 小时
 楼主| 发表于 2014-7-14 00:21:19 | 显示全部楼层
写到一半误击发送了,等待审核,现已补充完整。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 03:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表