首页
学习
活动
专区
工具
TVP
发布

51单片机少犯错误,成为高手的个人经验

硬件也学的差不多了,单片机C语言也差不多了,开发板也玩的没兴趣了,自己觉得应该是高手了。其实有一些细节要特别注意,下面将自己的一些经验分享给大家。

代码要分开,不要所有代码全部放在一起,这样维护起来,很累。比如最开始是12864液晶屏代码,接着是18B20温度传感器代码,接着又是DS1302时钟代码,如果要修改某一个代码,要不停的查找。每种代码用.H和.C文件来写,比如LCD.H,LCD.C,DS18B20.H,DS18B20.C,DS11302,H,DS11302,C,main.c;这样区分出来,要修改哪个文件,直接到哪个文件里面去修改,效率会快很多,程序的可读性也会大大增加。

注意在写头件时,有的人会把""或""""这二个搞混,比如说:#include ,#include "DS1302.h",一般""的是编译器中自带的文件,而""""是自己定义的头文件。

尽量使用宏定义#define,但是有一点要注意,宏定义不是C语句,结尾不加分号,很多人都经常犯这个错误。

#define ERR 1//错误标识

这样代码的可读性就可好的多。

条件语句if(a==b),经常会写成if(a=b),这样是不会报错,只是警告,如果代码比较大,查找起来也花时间,所以一定要记住,这种错误少犯。

再来说一下硬件,单片机的晶振线路要尽量短,靠近单片机,晶振旁边不要走容易干扰的线路,尽量用地线包住。晶振下面也是,铺地,不要走线路。

以前做过一个项目,A/D或者D/A变换器的线路经过下面了,转换出来的结果总是不准确,一直怀疑代码有问题,最后才找出来是经过晶振旁边了,受干扰了。

所以布线的时候要处理干扰,避免单片机受到干扰,处理好干扰源。电路板合理分区,如数字、模拟信号。尽可能把干扰源与敏感元件远离。

原创文章,禁止转载和抄袭。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191004A03H9F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券