|
我是一个单片机爱好者,玩单片机纯粹是业余爱好,自学而来,期间也遇到过不少问题,这里我想和大家分享几点调试的经验。
玩单片机不可能不遇到问题,之前我也用过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,指示程序执行的情况。
|
评分
-
查看全部评分
|