找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2862|回复: 3
打印 上一主题 下一主题
收起左侧

经验之谈:单片机调试的几点技巧

[复制链接]
跳转到指定楼层
楼主
       我是一个单片机爱好者,玩单片机纯粹是业余爱好,自学而来,期间也遇到过不少问题,这里我想和大家分享几点调试的经验。
       玩单片机不可能不遇到问题,之前我也用过proteus仿真,但现在基本不用,都是直接写芯片;当然,这得感谢STC的低价和方便,我也没有买所谓的开发板、学习板,只买了块51最小系统板,焊上插针,就是端口全开放的开发板了,需要做什么样的实验就用5X7洞洞板焊接一块电路板,如DS1302、74HC595、4X4按键、MAX232等,LCD1602、12864也焊上插针,象搭积木一样用杜邦线连接,也有点硬件模块化的意思。
      好了,废话少说,步入正题,遇到问题一般我都是尽量自己想办法解决,不会做伸手党一股脑发帖子求教。首先,采用模块化编程,先编译和调试基本模块(最小化)通过后再逐步加入各个模块,分步调试直至完成;而不是象有些初学者那样一次性写完所有函数,一经编译出现问题大堆,无从下手;以LCD1602+DS1302+DS18B20+KEY电子钟为例:我把程序分为main.c、LCD1602.c、DS1302.c、DS18B20.c、KEY.c模块(对应同名.h头文件),先调试main.c并加入LCD1602,在指定位置正确显示字符和数字后,再加入DS1302.c模块,时间日期显示正常后再加入DS18B20.c模块,最后加入KEY.c模块设置调节时间值。其次,在程序节点插入LED指示,了解程序执行的情况。由于业余条件下没有在线仿真器,无法在线监控程序运行状况,完成编程写入芯片后,程序没有按照预想的情况执行,也不知道执行到哪一步了?至此,不少初学者感到不知所措,其实我们可以在某些节点人为插入LED指示灯,利用LED来指示程序执行情况,例如KEY.c,可以在按下、释放及各个键值处插入LED,指示程序执行的情况。
   

51.jpg (247.61 KB, 下载次数: 55)

51.jpg

评分

参与人数 2黑币 +65 收起 理由
1109 + 15 很好的经验,谢谢楼主的分享!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶3 踩
回复

使用道具 举报

沙发
ID:427256 发表于 2020-3-12 11:47 来自手机 | 只看该作者
有一个问题,在一个电子数字钟里呢,用什么软件仿真,对那些参数仿真
回复

使用道具 举报

板凳
ID:89217 发表于 2020-3-12 13:13 | 只看该作者
直接搭硬件电路开干,软件模拟只能看能不过不能运行 测不出问题所在
回复

使用道具 举报

地板
ID:695749 发表于 2020-3-12 22:19 | 只看该作者
模块化,逐个通过,非常受益,谢谢分享!
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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