第一范文网 - 专业文章范例文档资料分享平台

MCS51 MCU读写SD卡版(单片机论文) - 图文

来源:用户分享 时间:2025/9/21 3:41:54 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第4章 调试

4.2 软件调试

在硬件还没有准备好的情况下,在Keil下进行了软件的单步跟踪。通过在keil下单步跟踪调试发现一个问题:在SD卡的发送命令函数中,定义了一个无符号型变量,初始值赋值3对其进行自减操作,判断是否大于等于0,如果为假则循环结束。结果导致程序进入死循环,运行不正常。后来跟踪到这里才发现变量为无符号变量,而我却用来进行自减,当变量自减到0时,因为是无符号变量,所以再自减就变为了128,所以进入了死循环,把变量改为符号型变量,问题解决。

4.3 软硬件的联合调试

硬件制作好后,就开始软硬件的联合调试。其中遇到的问题主要有以下几个:

1. 程序里向串口发送中文字符,结果串口调试助手显示为乱码。首先检查程序的波特率是否和串口调试助手的波特率是否一致,检查是一致的,后面我把中文改为英文,正常显示,猜想可能是串口调试助手版本太低,下载高版本串口调试助手问题解决。

2. I/O端口的输入输出设置错误,导致程序一直不运行。MXT8051F04A单片机和普通的51单片机在I/O端口上有点不一致,普通51单片机自动识别输入输出。但MXT8051F04A必须设置其I/O引脚为输入引脚,还是输出引脚。开始程序全部设置为输出引脚了,这样对SD卡的读取全部无效,导致应答命令始终不对,程序始终不工作。

通过以上的调试,程序运行正常。程序流程如下:首先初始化MXT8051F04A单片机串口,然后执行SD卡初始化操作,SD卡初始化完成后,开始往SD卡的7632扇区写入数据(peng yuan zhi),通过串口调试助手显示刚才写入扇区的数据,然后再读取刚才写的扇区的数据,显示结果见图4-1。我们把SD卡从电路板上取下,插入到电脑的5合1读卡器中,通过WinHex软件在电脑上查看数据是否真的写入到了SD卡中的7632扇区,结果如图4-2所示。通过WinHex的观察,数据确实写入了SD卡的7632扇区。

27

电子科技大学成都学院本科毕业设计论文

图4-1 程序运行结果

图4-2 写入SD卡的数据

28

第4章 调试

图4-3和图4-4为制作的实物照片。图4-3为单片机系统和SD卡模块,图4-4为SD卡模块的背面。

图4-3 实物

图4-4 SD卡模块背面

4.4 本章小结

以上简要的叙述了在系统调试过程中遇到的一些问题和使用的一些调试手段,其中包括硬件调试和软件调试的问题,并给出了问题的解决方法,还有许多常见的问题,这些问题大都是由于本人粗心大意造成的,这里不再加以说明。

29

MCS51 MCU读写SD卡版(单片机论文) - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2z98m3bl2x0vngk59eq2_11.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top