历史上的今天
今天是:2025年06月03日(星期二)
2020年06月03日 | 开发单片机时需掌握的四个基本技巧
2020-06-03 来源:eefocus
在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。

1、如何减少程序中的bug。
对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。
2、如何提高C语言编程代码的效率。
用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
3、如何解决单片机的抗干扰性问题。
防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。
4、如何测试单片机系统的可靠性。
当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:测试单片机软件功能的完善性;上电、掉电测试;老化测试;ESD和EFT等测试。有时候,我们还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。综上所述,单片机已成为计算机发展和应用的一个重要方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。此外在开发和应用过程中我们更要掌握技巧,提高效率,以便于发挥它更加广阔的用途。
史海拾趣
|
印字为4AZAA与55LAK的贴片ic(SOT23-6)是什么型号啊 有2个元件,是6脚的SOT23大小,一个印的白字是 4AZAA,左边第1个第2个A上面有一横, 另一个印字是 55LAK, 且在第2个5及A上面各有一横。请问是什么型号啊?见如下图:… 查看全部问答> |
|
在tornado 2.2下以前的API etherOutput()没有了要怎么办?有类似的函数可以替代吗? etherOutput( ) - send a packet on an Ethernet interface SYNOPSIS STATUS etherOutput ( struct ifnet &nb ...… 查看全部问答> |
|
小弟最近在研究pxa270的电源管理,用的BSP是BVDMAIN,进入WINCE后,点击开始中的“挂起”后,在执行完所有驱动的POWEROFF函数后,开始执行OEMPowerOff(),执行到XllpPmEnterSleep()时发生异常,我查了一下,这个函数是内容都是汇编语言,发生异常 ...… 查看全部问答> |
|
如何将pc中的文件传到Pocket pc 2003 模拟器中的某个文件夹中 我要将PC上的文件传到ppc上安装,请教各位,如何将PC上的文件传到ppc的某个目录下,新手希望具体点,谢谢!… 查看全部问答> |
|
只接触了8962一个月,现在想要实现9B96与FPGA的互联,请教下各位,怎么配置? 用GPIO还是用EPI? 用EPI的话电路怎么连接?有没达人已实现,可否分享下,谢谢了。… 查看全部问答> |




